Broken downloads and likes

Every level has 300 downloads by default, and 100 likes, and the correct amount gets added to that.

Fixed by changing the default values for both to 0.


[CAL-34961] Adds styling for events/{uuid}

Changes

added CSS stying for events/{uuid}

(Please let me know if it's just ugly...)
Story
https://calendlyapp.atlassian.net/browse/CAL-34961 subtask 36106

Thank you for approving!!


[WIP] Named endpoints

Per discussion in apiaryio/api-blueprint#196.
For some reason it keeps parsing the section as copy instead of resource. No idea why thought, would appreciate some fresh :eyes: on it.

@LinusU Hey, thanks for the submission!
I think you want to check the sectionType() method here https://github.com/LinusU/snowcrash/blob/named-endpoints/src/ResourceParser.h#L196 – it is basically used to figure out whether a markdown node is recognized as a resource section (= you want to match the REGEX there)

Ahhh, one line! :laughing:
@@ -207,6 +204,7 @@ namespace snowcrash {
                 TrimString(subject);

                 if (RegexMatch(subject, NamedResourceHeaderRegex) ||
+                    RegexMatch(subject, NamedEndpointHeaderRegex) ||
                     RegexMatch(subject, ResourceHeaderRegex)) {
                     return ResourceSectionType;
                 }

Thanks for the help! :beers:
I'm pushing a rebased version now

@LinusU also can you add tests for edge cases like
# Endpoint 1  [GET /e1]

Sure, I'll add them now!

Done and done, was that how you meant?

Ahh, I read your comment in the other thread now. Do you want it to merge it all into one resource with three actions?

Should be good to go :+1:

Thanks for the merge :tada: :v:


ability to disable recursively evaluation of jinja and yaql expressions.

add the ability to disable the feature of recursively evaluation of jinja and yaql expressions by setting the environment variable ENABLE_RECURSIVELY_EVALUATION to false.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Morad Faris seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@Moradf90 please sign the cla

This PR seems to break a lot of unit tests.


Macros

Hi
Can you allow this module to be called by a macro?
Thank you.

Yeah sure thing. Will try and get that added to my next patch.

Yeah sure thing. Will try and get that added to my next patch.

@brunocalado
Let me know if the macro updates work for you and was what you were hoping for.
I've outlined some info in the readme

@brunocalado Let me know if the macro updates work for you and was what you were hoping for. I've outlined some info in the readme

Thank you very much.
Is it possible to add a simple description to:
+
-
*
/

=, ==, ===, eq
>, gt
>=, gte
<, lt
<=, lte


Publish to npm

Thank you for adapting basscss for less. I'm currently using it in a project, and it looks ready to publish.

You are welcome. I will publish it soon.

I've had no problems with<EMAIL_ADDRESS>I have not tried 3.0.0


ARROW-17382: [C++] open_dataset doesn't ignore BOM in csv file when header's with quotes

Hi @pitrou, could you help review this pr?

@ZMZ91 I could, but the first step would be to get the CI runs fixed.
In addition, since this claims to fix a bug, there should be a unit test added somewhere.

Thanks @pitrou. I've pushed a new commit and still got 2 ci failures. I'm not sure it's related with my change. Could you help check?

You are right, the failing CI checks are unrelated.

@ZMZ91 There is already some logic in the CSV reader to skip the BOM: https://github.com/apache/arrow/blob/fe9ca423f7f2684d70e0cf0cff8f48a0175c0fdf/cpp/src/arrow/csv/reader.cc#L109-L121
Instead of adding the same logic in the CSV parser, you should instead try to find out what that logic (in the CSV reader) isn't sufficient here.

I saw the code in reader.cc @pitrou. But it seems work on the entire csv file while the parser only takes a block of csv data and delimits rows and fields. And the data for each function are read respectively. Correct me if I'm not right.

That is why your approach is wrong: the BOM is only expected at the beginning of the file, not at the beginning of each CSV cell.

CI failures are unrelated.


Fix dependencies

Fixed dependencies for #92

@kylef I make some fixes of dependencies for apiary-client

@abtris :+1:

Does this close https://github.com/apiaryio/apiary-client/issues/91 and https://github.com/apiaryio/apiary-client/issues/92, too?

@hj no, this fixes only development dependencies


Adding default attribute to immediate child group

Contact Details
No response
What happened?
Adding a child group to the \@default attribute of a current group.

NXdata group will be prioritized on the other groups like instrument.
Root of the file will be any of the entry if there are multiple entries.
Entry default is a NXdata group which do not need to be set manually if there are no any extra requirements.

Relevant log output
No response

So when you set /@default it doesn't work right now?

It works. I meant /@default needs to be set by hard coding. It is problematic when to set /@default to the following child group which are not known before running the reader. As you know there are required or optional groups, So, if a reader set a default plot or group which might be a optional and does not exist in template, this functionality will find a existing plot or group in the nexus file and replace by valid plot or group.


faet(open meetings): add functionality to add additional links

Description
This PR adds the functionality to open meetings to publish also additional links, cause it is not possible in the description
e.g.

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[X] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[ ] Copyright and license header are present on all affected files

@SebastianBezold @FaGru3n this merge would be needed before #686 because than I could solve your change request @FaGru3n


SSM Target fix Values instead of Value

The SSM Target Property only support "Values" not "Value"
Source:
http://docs.aws.amazon.com/ssm/latest/APIReference/API_Target.html

👍 I just faced this problem and was about to open a PR

Thanks!


Facilitate predictable overlay merging

In the below imports, the overlays are applied in reverse order:
            imports = [
              {
                overrides = self: super: {
                  aeson = super.aeson-backup;
                };
              }
              {
                overrides = self: super: {
                  aeson-backup = super.aeson;
                  aeson = null;
                };
              }
            ]

The last overlay is applied first, and then the first one is applied next. This is how it is as of https://github.com/NixOS/nixpkgs/commit/bbf77421ac51a7c93f5f0f760da99e4dbce614fa - but there is no guarantee that this order will not change.
Currently when multiple overlays are in use, haskell-flake will print this warning:
trace: WARNING[haskell-flake]: Multiple haskell overlays are applied in arbitrary order.

But still, this can be surprising and annoying to deal with.
We want something like https://github.com/NixOS/nixpkgs/issues/215486 - or at least something to allow the current project overrides take priority (even if the overlays of dependencies themselves, when imported, are applied in arbitrary order).

For this, however, the project overlay (the one below imports) are applied last. As if the module system applies the imports first, before merging the options in the module doing the importing.
            imports = [
              {
                overrides = self: super: {
                  aeson-backup = super.aeson;
                  aeson = null;
                };
              }
            ];
            overrides = self: super: {
              aeson = super.aeson-backup;
            };


Gross Consumption seems high?

How is the Consumption (gross) tab calculated? Seems awfully high.
Charging via Tesla Wall Connector @ 240V/48A, displays 1 phase. Not sure if that is correct or associated with the high consumption (gross) value. Thanks

The consumption (gross) is the calculated consumption (per 100 mi/km) since the last charge.
It's calculated as follows:
range_loss = (Range after last charge) - (Range before this charge)
energy = range_loss * (efficiency factor of the vehicle)

energy / distance_driven * 100


Release v1.37.0

Release summary
Version number: v1.37.0
Release details
AEA:

Replaces cosmpy with open-aea-cosmpy

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the main branch (left side), from develop
[ ] Lint and unit tests pass locally and in CI
[ ] I have checked the fingerprint hashes are correct by running (aea packages lock --check)
[ ] I have regenerated the latest API docs
[ ] I built the documentation and updated it with the latest changes
[ ] I have added an item in HISTORY.md for this release
[ ] I bumped the version number in the aea/__version__.py file.
[ ] I bumped the version number in every Docker image of the repo and published it. Also, I built and published them with tag latest
(check the READMEs of aea-develop
and aea-user)
[ ] I have pushed the latest packages to the registry.
[ ] I have uploaded the latest aea to PyPI.
[ ] I have uploaded the latest plugins to PyPI.

Further comments
Write here any other comment about the release, if any.

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (f13c94d) 92.35% compared to head (e306b91) 92.36%.

:exclamation: Current head e306b91 differs from pull request most recent head 17891d4. Consider uploading reports for the commit 17891d4 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #655   +/-   ##
=======================================
  Coverage   92.35%   92.36%
=======================================
  Files         370      370
  Lines       29600    29600
=======================================
+ Hits        27338    27340    +2
+ Misses       2262     2260    -2

Flag
Coverage Δ

unittests
92.36% <100.00%> (+<0.01%)
:arrow_up:

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

Files Changed
Coverage Δ

aea/__version__.py
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

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


Link not working

Hello link is not working. Can you please have a look?
 QuickText(
                            'This is [link](https://www.google.com).',
                            style: const TextStyle(
                              color: Colors.white,
                              fontSize: 13,
                              height: 1.3,
                            ),
                            textAlign: TextAlign.center
                        ),

Hi @delfme
Thanks for letting me know.
Ensure you are using v1.0.3 and that internet permissions are properly configured for Android and iOS. After verifying, perform a full flutter run, as Hot Reload or Hot Restart may not reflect changes.


Deprecated dependencies warnings (move to Smithy)

Not a bug neither a feature request.
Current Behavior
$ npm install aws-sdk-v3-proxy

npm WARN deprecated<EMAIL_ADDRESS>This package has moved to @smithy/node-http-handler
npm WARN deprecated<EMAIL_ADDRESS>This package has moved to @smithy/protocol-http

Expected Behavior
No warnings about deprecated packages.
Steps to Reproduce the Problem

npm install aws-sdk-v3-proxy
Observe the warnings.

Environment

Version: 2.1.2
Platform: Linux
Node.js Version: v20.12.2

is there any ETA for this fix?

Thanks for the contribution @rogerweb . I've opened #30 to address this issue, but it will require someone from AWS to approve and merge since I no longer work there and don't have permissions.

cc: @smguggen

Will get on this today, thank you @ryansonshine and @rogerweb


Register new offenses for

Adds missing offenses for remove_columns and remove_index methods.
This is my first Rubocop contribution, so please review carefully!

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] If this is a new cop, consider making a corresponding update to the Rails Style Guide.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

I added shared_context for Rails 6.1 to master branch.
https://github.com/rubocop-hq/rubocop-rails/commit/159eef021279532312af9b7b89331bd44a7eeb9d
Can you rebase with the latest master branch and add spec for Rails 6.0 and Rails 6.1 context behaviours?
The following is an example:
https://github.com/rubocop-hq/rubocop-rails/blob/master/spec/rubocop/cop/rails/inverse_of_spec.rb#L91-L108

@koic done!


cmd/link: missing debug_frame section if package plugin is imported

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version devel +00587e8 Fri Jan 26 23:55:04 2018 +0000 linux/amd64

but this also happens with the latest release candidate for 1.10.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/a/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/a/n/go/"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build091711191=/tmp/go-build -gno-record-gcc-switches"

What did you do?
Compile anything that imports plugin:
package main

import (
	"plugin"
	"fmt"
)

func main() {
	test := plugin.Plugin{}
	fmt.Println(test)
}

The executable used to have .debug_frame in 1.9 but has eh_frame now.
Was this done intentionally?
(originally reported as https://github.com/derekparker/delve/issues/1118)

.eh_frame is a red herring; I'm fairly certain that the external linker is adding that because .debug_frame is missing and it doesn't know where to put its own stuff. The real issue is that .debug_frame is missing entirely in 1.10.
Bisects to 24e4a128c9a038a221789fb8ff40530acde31501, which I think may have been a little overzealous; we could have kept some of the DWARF. But it's not going to be a good debugging experience regardless.
cc @crawshaw

Got it, thanks for looking into it. I see now that it doesn't really have a debug_info section either.

Is there any workaround for this?

I  encountered this problem .  project really have a plugin package. Which version is good?

There is no workaround other than to remove the plugin dependency, sorry. The Go 1.11 freeze was a week ago, so the CLs above will have to wait for 1.12.

Thanks

no fix for this problem? I also encountered such problem under ubuntu 16.4

any update for thsi bug?

As I said above, there will be no updates until the 1.12 development cycle opens. That will be in August; see https://github.com/golang/go/wiki/Go-Release-Cycle.

Please prioritize this as it blocks debugging applications with plugins.

@vladbarosan We'll do our best but to be honest we have few resources to improve the plugin development experience.  Go is an open source project, and this is an area where external contributions would be very valuable.

@ianlancetaylor
I've encountered same problem. Is this issue solved? then which go version should I use for debugging plugin?

@juhwany  This issue is reportedly closed on tip.  Would you be able to try that out and see?

OK let me try. But which Go version should I use for testing?

Having the same problem after upgrading from golang10.0 to golang11.1

How about to solve this problem?

I solved this problem by downgrading my GO version from 1.11 to 1.10.4.  I'm on Ubuntu 16.4, and I fixed this problem by I deleting my /usr/local/go directory, downloading 1.10.4, then extracting with tar -C /usr/local -xzf go1.10.4.linux-amd64.tar.gz.  IntelliJ debugger worked fine afterwards.  Hope this helps.

Nothing about this bug was supposed to change, certainly not get worse, with the upgrade to 1.11. Importing the plugin package should have disabled debugging in both. If you have a program that uses plugins that is debuggable in 1.10 but not in 1.11, please give precise instructions to reproduce the problem here. If the program doesn't use plugin, it's not this issue, and it would help to file a new one, again with a reproducer. Thanks.

Why is this issue closed?  Seems like it is still a problem no?

I just try 1.9 works fine 1.10 and 1.11 has this kind of problem

@wenjun001 Please see my comments in https://github.com/golang/go/issues/23733#issuecomment-425184449. Nobody can do anything to help without more detail.


Adding code coverage CI

(Testing a new CI pipeline for code coverage)

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@f4861fc). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #341   +/-   ##
=======================================
  Coverage        ?   62.24%
=======================================
  Files           ?       66
  Lines           ?     7992
  Branches        ?        0
=======================================
  Hits            ?     4975
  Misses          ?     3017
  Partials        ?        0

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


fix string width

utf8.RuneCountInString is not width of strings.

Thanks for this - I thought I covered all bases with multi-byte characters but I guess not.  Thanks @mattn !


arcan: <IP_ADDRESS> -> 0.7-pre

NixOS is pegged to a version that is now one year old. I have verified the proposed pre-release works on Linux x86_64 and aarch64 with durden, pipeworld and several custom arcan appls.
This version is used by upstream devs as a daily driver and provides the following improvements over <IP_ADDRESS>
Lua

inbound events now have a 'frame' tag for pairing with verbose-frame notification util:random_interval(low,high) added for CSPRNG non-biased interval RNG util:random_bytes(len) added for CSPRNG byte string target_input long messages are now marked as multipart convey tui/tpack state in resize events
target_anchorhint added for informing clients about positioning and hierarchy video_displaymode expose eotf / coordinates for primaries and contents light levels open_nonblock can now adopt an existing iostream into a target vid input_remap_translation overloaded form for serializing backing keymap clockreq no longer forwarded for frameserver event handler image_metadata added for annotating a vid used when streaming/sharing/scanout HDR contents functions creating files now apply a separate WRITEMASK (split from USERMASK)

Core

respect border attribute in text rasteriser
added frame_id to external events that pairs with shmif-SIGVID signals optional tracy build for profiling (-DENABLE_TRACY) frameserver clock(stepframe) event handling extended (see shmif)

Tui

nbio asynch type confusion fix (function becomes pcall:userdata) nbio close without explicit flush
dock subtype exposed for bar/tray like integration add 'swallow' request for new windows
cursor(caret) style and color override controls
readline: add completion style control (border)
readline: allow attached popup to replace in-band completion readline: history traversal early-stop fixed
fixes for screencopy on proxy window
refactored deprecated tsm-screen away out of tui (1/2)

Net

allow h264 passthrough, sidestepping local encode
re-add afsrv_net, have it support directory, source and sink access modes. split a12:// into a12:// and a12s:// ARCAN_CONNPATH with the former permitting connecting to unknowns add interactive accept/reject/trust for arcan-net use reserve 'outbound' domain for interactively added outbound keys enforce domain separation for allowed pubkeys
directory mode now splits out into sandboxed worker processes directory mode can now specify permissions per tag-group directory mode dynamic push appl from client with permission directory mode notification of appl updates and sources coming / leaving directory mode registration of dynamic sinks
directory mode sourcing dynamic sinks (sink-inbound only)

Terminal

SGR reset fix, add CNL / CPL
Add interp=st for suckless terminal based state machine

Platform

paths: prioritise _APPL_TEMP over _APPL in load order audio: engine audio split out into platform bit
audio: stub platform added
egl-dri: evict streams
egl-dri: default to atomic over legacy
egl-dri: retain device tracking for unmapped display egl-dri: add hdr infoframe metadata to platform

Shmif

add audio only- segment type
wire up ext venc resize for compressed video passthrough extend hdr vsub with more metadata
dropped unused rhints and rename hdr16f (version bump) CLOCKREQ extended with options for latching to specific msc/vblank events

Decode

defer REGISTER until proto argument has been parsed, let text register as TUI libuvc path now uses FFMPEG for h264 and mjpeg
Package / Build
console: added binding for shutdown
builtin/mouse: bugfixes to two-sample mode

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Since it was already updated in https://github.com/NixOS/nixpkgs/pull/261321/commits/e677c606d57604c39a068e85b99067feb1b99c90, I  will close this.


[wip] tpv production rules

Conversion of tool_destinations.yml to new rules.  There are some #todos in the script, the script needs to convert tool ids, there needs to be a default tool and rules for destinations and roles.

Additions needed for tools/destination *_auto.yml for production:
add default, pulsar_preferred from the dev vortex_config (debate pulsar_preferred vs explicit schedule key for all tools that go to pulsar)
pulsar-paw destination requires pulsar-paw tag
pulsar-nci-training destination accepts training tag
slurm accepts training tag
pulsar-paw compatible tools accept pulsar-paw tag
Assume for now that interactive_pulsar tools are still handled from the job conf, adjust script to not include this

The tools that will go to pulsar currently have prefer: pulsar but they should have accept: pulsar instead, otherwise they will never go to slurm regardless of free space.

The tools that will go to pulsar currently have prefer: pulsar but they should have accept: pulsar instead, otherwise they will never go to slurm regardless of free space.

Is that a bug? Shouldn't it go to slurm once we have the rank function hooked in?

It's not a bug. The current ranking function has
candidate_destinations.sort(key=lambda d: (-1 * d.score(resource), cpu_by_destination.get(d.id)))

If it sorts by score before availability, a preferred destination will always be returned at the front of the list even if an accepted destination has higher availability. The sorting could be updated.


ci: filter branches that trigger a build on push

@jcfr, @henryiii,
I guess I'm not allowed to disable the project in AppVeyor which fails here. Can one of you disable the project there ?
Thanks

If you rebase I think AppVeyor will go away.


Allow user-defined Makefile to optimize compiling

Our project has about 100 application source files and 50 test files. When I repeatedly run the tests (with no changes) on my local machine they take about 3-1/2 minutes. About half of that time is spent determining what files to compile and what include directories to use and the other half of that time is spent doing the compiling (one file at a time).
When (re)building a large project programmers typically use a tool like make to keep track of dependencies and avoid recompiling files that have not changed. Of course, there is a cost to maintaining the Makefile but it is typically worth it.
With this change we allow the user to provide a Makefile that considerably shortens the process (my project takes 10 seconds to rerun all tests if there are no changes; 15 seconds if there is a change to one test file; and 25 seconds if there is a change to an application file).
If the user does not provide a Makefile then the prior behavior is preserved. Note that this is disabled on Windows (I don't know enough about the build environment; does it support g++?).

@Ian, We've been using this for a number of months based on my fork and I'd like to pull it into here so we can return to using this upstream project. Other than adding a test for the new behavior, the substance of the change is at lib/arduino_ci/cpp_library.rb:543-548. Let me know if you have any concerns; if not, I'll go ahead and merge it.

@Ian, We've been using this for a number of months based on my fork and I'd like to pull it into here so we can return to using this upstream project. Other than adding a test for the new behavior, the substance of the change is at lib/arduino_ci/cpp_library.rb:543-548. Let me know if you have any concerns; if not, I'll go ahead and merge it.


Question: compilation time

Hi,
Sorry for bothering you with trivial question. What is the expected compilation overhead?
I tried to use it but when I add git_testament!(TESTAMENT), as recommended, my cargo check jumps from 1s to 2 minutes.
Is this expected? What are the factors that can affect compilation speed?

Hi @luben,
Thanks for your question, and there's no need to apologise, it's fine.
I'd say that the expected overhead (once git-testament is compiled itself) would be pretty short.  I invoke git a few times, but not for anything particularly complex to compute:
Once to compute the .git directory: git rev-parse --show-toplevel
Once to compute the HEAD SHA: git rev-parse HEAD
Once to get the committer information for that SHA: git show SHA-FROM-ABOVE
Once (or possibly twice) to compute the branch name: git symbolic-ref -q HEAD (and perhaps git name-rev --name-only HEAD)
Once to get the tag information: git describe --tags --long SHA-FROM-ABOVE
And once to get the status information for the working tree: git status --porcelain --untracked-files=all --ignore-submodules=all
The only one of those which could take any significant time at all would be the status call, which might need to spend a lot of time if you have a significantly large git repository, though it ought to end up cached.
Can you please try each of the commands in turn and see if it's anything other than the status taking a long time?  (for reference, it added about 10ms to my builds of rustup.rs so 2 minutes is definitely bad)
Also can you tell me what the platform you're using is?  I have a skewwed perspective on the cost of some things since my development systems have lots of RAM and fast SSDs and run Linux.
Thank you for trying git_testament and I hope I can resolve your problem :D
D.

Hi,
I am using Linux on pretty decent laptop (16G RAM, SSD). The git version is 2.7.4. The above commands are quite fast. The only problem I could see is:
$ git describe --tags --long bf628d10e81ce9143bddfc31a6a2514f186516ef
fatal: No names found, cannot describe anything.

but I think it's because there are no tags in the repo. The repo itself is also quite small, ~25 commits, 50 files and 10k lines, no sub-modules or anything unusual.
I will try again and profile where it spends its time.
Regards,
luben

BTW, here is where rustc spends its time when the only change was adding git_testament!(TESTAMENT); :
$ cargo rustc --bin fluxcli -- -Ztime-passes
   Compiling fluxpump v0.1.0 (...)
  time: 0.002; rss: 53MB        parsing
  time: 0.000; rss: 53MB        attributes injection
  time: 0.000; rss: 55MB        garbage collect incremental cache directory
  time: 0.000; rss: 55MB        recursion limit
  time: 0.000; rss: 55MB        crate injection
  time: 0.000; rss: 55MB        plugin loading
  time: 0.000; rss: 55MB        plugin registration
  time: 0.000; rss: 55MB        pre ast expansion lint checks
  time: 0.024; rss: 87MB        background load prev dep-graph
    time: 76.587; rss: 638MB    expand crate
    time: 0.000; rss: 638MB     check unused macros
  time: 76.587; rss: 638MB      expansion
  time: 0.000; rss: 638MB       maybe building test harness
  time: 0.026; rss: 638MB       AST validation
  time: 0.000; rss: 638MB       maybe creating a macro crate
  time: 0.369; rss: 656MB       name resolution
  time: 0.023; rss: 656MB       complete gated feature checking
  time: 0.000; rss: 656MB       blocked while dep-graph loading finishes
  time: 0.204; rss: 865MB       lowering ast -> hir
warning: unused import: `render_testament`
 --> src/bin/fluxcli.rs:2:36
  |
2 | use git_testament::{git_testament, render_testament};
  |                                    ^^^^^^^^^^^^^^^^
  |
  = note: #[warn(unused_imports)] on by default

  time: 0.118; rss: 865MB       early lint checks
    time: 0.288; rss: 1120MB    validate hir map
  time: 1.372; rss: 1120MB      indexing hir
  time: 0.001; rss: 1120MB      load query result cache
  time: 0.000; rss: 1122MB      dep graph tcx init
    time: 0.000; rss: 1122MB    looking for entry point
    time: 0.000; rss: 1122MB    looking for plugin registrar
    time: 0.000; rss: 1122MB    looking for derive registrar
  time: 0.067; rss: 1125MB      misc checking 1
  time: 0.109; rss: 1129MB      type collecting
  time: 0.000; rss: 1129MB      impl wf inference
    time: 0.000; rss: 1131MB    unsafety checking
    time: 0.000; rss: 1131MB    orphan checking
  time: 0.003; rss: 1131MB      coherence checking
  time: 0.843; rss: 1309MB      wf checking
  time: 62.010; rss: 2020MB     item-types checking
  time: 0.006; rss: 2024MB      item-bodies checking
    time: 1.634; rss: 2033MB    rvalue promotion + match checking
    time: 0.072; rss: 2033MB    liveness checking + intrinsic checking
  time: 1.706; rss: 2033MB      misc checking 2
  time: 0.000; rss: 2033MB      borrow checking
    time: 0.000; rss: 1592MB    solve_nll_region_constraints(DefId(0/0:25 ~ fluxcli[72f0]::TESTAMENT[0]))
  time: 4.671; rss: 1593MB      MIR borrow checking
  time: 0.000; rss: 1593MB      dumping chalk-like clauses
  time: 0.000; rss: 1593MB      MIR effect checking
  time: 0.000; rss: 1593MB      layout testing
    time: 0.013; rss: 1593MB    privacy access levels
    time: 0.020; rss: 1593MB    private in public
    time: 0.000; rss: 1593MB    death checking
    time: 0.020; rss: 1593MB    unused lib feature checking
      time: 1.896; rss: 1602MB  crate lints
      time: 0.337; rss: 1602MB  module lints
    time: 2.233; rss: 1602MB    lint checking
    time: 0.449; rss: 1602MB    privacy checking modules
  time: 2.735; rss: 1602MB      misc checking 3
  time: 0.001; rss: 1602MB      resolving dependency formats
    time: 0.000; rss: 1605MB    write metadata
      time: 0.000; rss: 1605MB  collecting roots
      time: 0.285; rss: 1490MB  collecting mono items
    time: 0.285; rss: 1490MB    monomorphization collection
    time: 0.006; rss: 1490MB    codegen unit partitioning
    time: 0.000; rss: 1491MB    write allocator module
    time: 0.000; rss: 1496MB    llvm function passes [2lslih5d4r63le1f]
    ...
    time: 0.009; rss: 1581MB    codegen passes [27x53so02a7uijzs]
  time: 1.224; rss: 1581MB      LLVM passes
            time: 0.000; rss: 1581MB    encode_query_results for rustc::ty::queries::type_of
            time: 0.000; rss: 1581MB    encode_query_results for rustc::ty::queries::generics_of
            time: 0.000; rss: 1581MB    encode_query_results for rustc::ty::queries::predicates_of
            time: 0.000; rss: 1581MB    encode_query_results for rustc::ty::queries::used_trait_imports
            time: 0.098; rss: 1606MB    encode_query_results for rustc::ty::queries::typeck_tables_of
            time: 0.000; rss: 1606MB    encode_query_results for rustc::ty::queries::codegen_fulfill_obligation
            time: 0.410; rss: 1657MB    encode_query_results for rustc::ty::queries::optimized_mir
            time: 0.000; rss: 1657MB    encode_query_results for rustc::ty::queries::unsafety_check_result
            time: 0.000; rss: 1657MB    encode_query_results for rustc::ty::queries::borrowck
            time: 0.000; rss: 1657MB    encode_query_results for rustc::ty::queries::mir_borrowck
            time: 0.000; rss: 1657MB    encode_query_results for rustc::ty::queries::mir_const_qualif
            time: 0.000; rss: 1657MB    encode_query_results for rustc::ty::queries::const_is_rvalue_promotable_to_static
            time: 0.000; rss: 1658MB    encode_query_results for rustc::ty::queries::symbol_name
            time: 0.000; rss: 1658MB    encode_query_results for rustc::ty::queries::check_match
            time: 0.000; rss: 1658MB    encode_query_results for rustc::ty::queries::codegen_fn_attrs
            time: 0.001; rss: 1658MB    encode_query_results for rustc::ty::queries::specialization_graph_of
          time: 0.510; rss: 1658MB      encode query results
        time: 0.533; rss: 1662MB        serialize query result cache
      time: 0.575; rss: 1662MB  persist query result cache
          time: 0.003; rss: 1662MB      getting serialized graph
          time: 0.007; rss: 1662MB      encoding serialized graph
        time: 0.010; rss: 1662MB        encode dep-graph
      time: 0.013; rss: 1662MB  persist dep-graph
    time: 0.588; rss: 1662MB    serialize dep graph
  time: 2.165; rss: 1662MB      codegen
  time: 0.000; rss: 1649MB      serialize work products
    time: 3.824; rss: 1649MB    running linker
  time: 3.825; rss: 1649MB      linking
    Finished dev [unoptimized + debuginfo] target(s) in 2m 37s

Compared to compile where I have commented the git_testament! line, what jumps out is:
time: 76.587; rss: 638MB      expansion
...
time: 62.010; rss: 2020MB     item-types checking

I will continue digging around.

Additional clue, doing cargo clean reduced the cargo check from 2 minutes to 8-9 seconds - still not on par with not using git_testament! that finishes in 0.4 sec.

Hmm, that is a good clue!  Is your target directory in .gitignore ?

Hi,
Sorry for the late reply - I was offline for a week. Indeed adding target to .gitignore solved the issue.
Thanks helping me

That's quite alright, I'm glad that solved it for you.  I shall give some thought to extra documentation to that effect.


181 contribution add aws directory service issue

Thanks!
This has been merged in https://github.com/wiz-sec/open-cvdb/pull/185  but not yet released. see https://github.com/wiz-sec/open-cvdb/blob/main/vulnerabilities/aws-directory-service-passrole.yaml

@benbridts not sure I follow - #185 was merged a few days ago (https://www.cloudvulndb.org/aws-directory-service-passrole) and this PR is a duplicate so we intended to close it - are these two different issues?

okay - so I'm closing this as a duplicate


Make CacheDirective public

This is needed to allow compilation of Iron's static as far as I can see, but maybe @reem has an alternative?

Looks like an oversight. Thanks for the PR.


Content for EFS Lab

Issue #, if available:
Description of changes:
Added new content for deploying stateful services with EFS.
Also, made a couple of simple changes in the Fargate lab.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@vijayansarathy thanks for submitting this PR. I'll be reviewing it this week and I'll follow up if required.

Paavan,
I have made all the changes you requested and have pushed them to the master branch on my fork. Can you please take a look? Thanks!


(feat) Client Hints prototype for adaptive code serving

This is a follow-up to #38, which explores using Client Hints for adaptive code loading. Rather than just using CH for deciding whether low or high quality resources should be sent down to the client, we will use them to decide what JavaScript bundles should be served.
The idea we want to enable is the following:

A user arrives on the site and is served an experience
If they are on 2G/3G (ECT), a lightweight experience is served
If they have low-memory, a lightweight experience is served
All other users are given the "full" experience

What will differ between this example and others is that we really want to stress the difference possible between a lightweight version vs. heavy. A heavy version could include more than one component pulling in a number of different JavaScript dependencies.
Let's brainstorm what the best demo for this should be.

Some ideas (that could form part of an app):

Sortable Animated List in React: https://codesandbox.io/s/r5qmj8m6lq?from-embed server-render a version that doesn't use animations for users on low-memory devices and one with animations if not (requires two different bundles to be generated and on the server we decide which to send down)
Animated List: https://github.com/aholachek/react-animation-comparison (two versions, one with animations and one without)
Slightly animated cards. Server-render the cards and if your device has a lot of memory then load in JS to progressively enhance them with the animated experience https://codepen.io/candroo/pen/wKEwRL
YouTube React: https://github.com/productioncoder/youtube-react - explore how much less we can serve to users on a slow device/connection
App where users on slow networks/with low memory get a version of the bundle that uses Preact instead of React (to trim things down a little). e.g we could potentially do this with something like a Grocery app https://sivadass.github.io/react-shopping-cart/ (https://github.com/sivadass/react-shopping-cart)

Maybe this is similar with your idea...
How about image gallery?
We can test animation version for low memory device.
And also we can test loading low quality resource with network hint and DPR.

@addyosmani
https://server-adaptive-loading-js.firebaseapp.com/
Glitch Source

Link to Glitch App
Link to Project on Glitch

GitHub

https://github.com/anton-karlovskiy/node-server-adaptive-loading-js-bundle

Could you please check this demo?
It's an attempt to demonstrate https://github.com/GoogleChromeLabs/adaptive-loading/issues/39
JS bundle adaptive loading based on Client Hints.
Here react-magnifier package is a JS chunk and it's loaded when ECT is 4g and memory is greater than 4GB.
So we can switch the light and heavy experience just by throttling the network quality in Chrome DEV tools.
Firebase app is build version and Glitch app is dev version.
Thanks to create-react-app webpack configuration, I think we can split the package as a chunk and conditionally load the JS chunk based on Client Hints.

@addyosmani  a developer might wonder why the heavy chunk is so small
It's because the heavy component is distributed into heavy component chunk and react-magnifier chunk.
So we can think of both heavy component and react-magnifier as a real heavy chunk.
That's why heavy chunk is smaller than light chunk.


updated docs

Description
Documentation updates

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[x] Documentation update
[ ] Other

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

[x] Read the Contributing Guidelines.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[ ] 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.

Codecov Report

Merging #186 (a8c5202) into master (e1add15) will decrease coverage by 0.13%.
The diff coverage is 50.00%.

:exclamation: Current head a8c5202 differs from pull request most recent head c98cf51. Consider uploading reports for the commit c98cf51 to get more accurate results

@@            Coverage Diff             @@
##           master     #186      +/-   ##
==========================================
- Coverage   79.89%   79.76%   -0.14%
==========================================
  Files         125      126       +1
  Lines       11621    11660      +39
  Branches     1211     1211
==========================================
+ Hits         9285     9301      +16
- Misses       2336     2359      +23

Flag
Coverage Δ

unittests
79.76% <50.00%> (-0.14%)
:arrow_down:

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

Impacted Files
Coverage Δ

packages/lib/components/image/image-overlay.tsx
30.76% <0.00%> (-1.24%)
:arrow_down:

packages/lib/components/text/text.tsx
40.00% <40.00%> (ø)

packages/lib/components/card/card.tsx
100.00% <100.00%> (ø)

packages/lib/components/common/overlay.tsx
87.98% <100.00%> (ø)

packages/lib/components/drawer/drawer.tsx
95.08% <100.00%> (ø)

packages/lib/components/image/image.tsx
85.86% <100.00%> (+0.07%)
:arrow_up:

packages/lib/components/index.ts
100.00% <100.00%> (ø)

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


Modernize the Gradle build

Hi!
This pull request improves the Gradle build in different manners:

it makes it cacheable, so that the code generation step is typically cached and doesn't need to be re-executed always
it migrates to the maven-publish plugin in preparation for the Gradle 7 upgrade
it configures as much as possible lazily, in order to make the builds faster (but the release plugin unfortunately configures many things eagerly)

Here are a few build scans showing the result:

Initial clean build (test) executed in 1m 49s : https://scans.gradle.com/s/zreseb3bobn5m
Subsequent fully up-to-date build executed in <1s: https://scans.gradle.com/s/gk7zeabuhnjzm
Clean cached build (test) executed in <1s: https://scans.gradle.com/s/ffpfbf673cova

Please take a look at each commit message for details about the migration path.

Codecov Report

Merging #2644 (99d6a8f) into master (2fe9895) will increase coverage by 2.27%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2644      +/-   ##
============================================
+ Coverage     92.89%   95.16%   +2.27%
+ Complexity     5368     4465     -903
============================================
  Files            89       59      -30
  Lines         12785     9821    -2964
  Branches       1619     1393     -226
============================================
- Hits          11876     9346    -2530
+ Misses          720      316     -404
+ Partials        189      159      -30

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/io/vavr/concurrent/FutureImpl.java
73.68% <0.00%> (-1.51%)
27.00% <0.00%> (ø%)

src/main/java/io/vavr/Value.java
93.60% <0.00%> (-0.23%)
145.00% <0.00%> (ø%)

src/main/java/io/vavr/collection/Queue.java
95.70% <0.00%> (-0.06%)
202.00% <0.00%> (ø%)

src/main/java/io/vavr/control/Try.java
96.44% <0.00%> (-0.03%)
103.00% <0.00%> (ø%)

src/main/java/io/vavr/collection/Vector.java
99.37% <0.00%> (-0.01%)
211.00% <0.00%> (ø%)

...rc/main/java/io/vavr/collection/PriorityQueue.java
99.10% <0.00%> (-0.01%)
131.00% <0.00%> (ø%)

...rc/main/java/io/vavr/collection/BitMappedTrie.java
100.00% <0.00%> (ø)
72.00% <0.00%> (ø%)

...n/java/io/vavr/collection/HashArrayMappedTrie.java
97.01% <0.00%> (ø)
1.00% <0.00%> (ø%)

...c/main/java/io/vavr/collection/JavaConverters.java
91.66% <0.00%> (+0.54%)
1.00% <0.00%> (ø%)

src/main/java/io/vavr/collection/RedBlackTree.java
93.99% <0.00%> (+0.56%)
23.00% <0.00%> (ø%)

Continue to review full report at Codecov.

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

Thanks for the review, @danieldietrich ! I am however afraid I won't make the (important) changes you are requesting on this, because I don't have the bandwidth to do it. The PR as is it is what I, as a Gradle representative, think what represents a state of the art, idiomatic Gradle build. It's best practices aimed at reducing the mental overhead for future readers and maintainers. As such it's the result of several years of experience, both in developing the tool obviously, but also reading comments from people who are pro and anti-Gradle.
In particular:

I think it is very important to split the build-logic from the main build script. This is the most important thing to do, as it helps keeping the main build file declarative instead of having a mix of build logic and build configuration. This is also important because it means that readers of the build can immediately see what is relevant, rather than having to understand what the custom logic does, like I had to do when migrating. You can read my blog post about this topic or watch my 10 minutes video about Authoring Gradle plugins for readability, maintainability and user experience
I'm fine if the ammonite plugin is externalized, but it's not worth the effort as you mentioned. The performance benefit was extremely important for me, especially because I have a slow internet connection. Benefiting from the build cache was important. You can keep it in build-logic and it's perfectly fine, that's precisely the role of custom build logic and why it must not live in the main build.gradle file.
putting generating files in checked in sources is considered a bad practice. It's confusing because, in most (all?) projects you only check in generators, not generated sources, so there's a mental overhead in figuring out why it's there. It also unnecessarily increases reviews, IMO, since you see code you shouldn't care about. If the intent is to see what is generated just by reading a review, I can understand the benefit but it's IMO not worth the cost. Also you should probably have tests for generated code or generate it locally before merging because you can never know if what is submitted by a user is actually the result of the modified code.

I understand that you do not want to create builds that look dirty in your eyes, that is perfectly ok. I would do the same.
Vavr's build script is just 140 LOC without whitespace and comments and even only 103 LOC without lines that only contain closing braces '}'. That's nothing. To me, it is overkill to explode this simple script to 7 files and multiple directories:

# before
8.0K	build.gradle

# after
4.0K	build.gradle
 28K	build-logic

Personally, I use (and love) Gradle because I am able to write my build in one (small) script. I want to keep it that way in such a small project. The build is blazing fast. Even code generation takes nearly no time on my machine. The most time consuming part are the tests (which can't be made faster by the build).

... because you can never know if what is submitted by a user is actually the result of the modified code.

Sure, we can know that! Our CI build generates the sources and overwrites the generated files that where checked in. After that, the CI build checks the git status. It returns 0, if no files were changed and 1, if generated files changed. The latter is a clear sign that the user manually changed generated files. In 7 years of Vavr, no user ever changed the output directories (which are listed in a central place).

If you want to get some feedback by me, I think you are a bit too dogmatic in what you do. Sometimes it is good to be pragmatic and choose a compromise. I tried to do that by outlining a build strategy for Vavr. I really appreciate your help & your work. I think I am able to improve the build based on your changes.
Thank you Cédric

I don't think that comparing the number of lines of code is fair here, for multiple reasons:

the new build supports caching, including of downloaded toolchains, making it much faster. I get that you don't think it's important and definitely disagree here: it's both faster to execute and configure, making it a pleasure to work with the codebase
it adds an extension to make the declaration of ammonite configuration declarative, which wasn't the case before. You could get rid of this easily, even if I think it's not a good idea :)
goal shouldn't be to have the minimal number of lines of code, but to be maintainable and readable
changing configuration wouldn't invalidate the build with those changes, while any change to any configuration would invalidate the whole build in your setup
I'd be glad to show the vavr build as an example of what an idiomatic build should look like if i was implemented as in this PR, but not if everything is put in a build.gradle file

So I don't think I'm dogmatic here: the changes have been made for a very good reason. Not caring about performance isn't, IMO, and I see dogmatism in another direction ;)

the new build supports caching, including of downloaded toolchains, making it much faster.

That's effectively not the case for the following reasons:
On the CI server, the whole toolchain needs to be built from a clean state. Every time. Because of the additional Gradle plugins, it got slower.

goal shouldn't be to have the minimal number of lines of code, but to be maintainable and readable

That right and that's exactly the reason why I stick to one build.gradle file in this case. It is so easy at the moment that the mental load of viewing one small file is less effort than switching between different files. For bigger projects, you are absolutely right but Vavr is super simple.

changing configuration wouldn't invalidate the build with those changes, while any change to any configuration would invalidate the whole build in your setup

Changing configuration isn't a typical use case. 99% of the time, we change code.

I will apply some of your goodies to the build now. I really appreciate your suggestions.
I think this PR can be closed now, I want to take the build in a different direction - best of both worlds: apply improvements where possible, without exploding the structure.
Thx!

On the CI server, the whole toolchain needs to be built from a clean state. Every time. Because of the additional Gradle plugins, it got slower.

Right. However it's much faster locally. Note that if you use GH actions, you can use https://github.com/eskatos/gradle-command-action to restore the cache and avoid rebuilding.

Just for the protocol: let me thank you, I have learned much about best practices from you PR! I'm sure I will apply them in other projects.

My pleasure :)


Allow slim 5.x

Detailed description
This allows slim 5.x.
To do
n/a
Related issues
n/a

@zor-el The Gemfile specifies the version that is used for development/testing; Nanoc still works with Slim 4.x (but Nanoc is only tested with Slim 5.x rather than 4.x now).
In hindsight, the PR title “Allow slim 5.x” is wrong regardless: it should’ve said “Run tests with Slim 5.x rather than 4.x”

Thanks @denisdefreyne, I'm aware that the Gemfile only affects contributors. My concern was that this meant support for Slim <4 is being phased out. But if I understood you correctly, it doesn't. 👍

BTW, I've been very impressed by the mostly backward compatibility preserving development of this project, which is why I find myself coming back to it over and over.

Generally, only the latest version of dependencies (such as Slim etc) is tested against. It is possible to run against more than one version (e.g. with the appraisals gem) but it’s not particularly straightforward to set up.

Just out of curiosity, is the reason why Gemfile.lock isn't under version control as Bundler recommends connected to this? 🤔


Make the use of Spring Retry optional when using Feign

Fixes #1708

Codecov Report

Merging #1709 into master will increase coverage by 0.09%.
The diff coverage is 89.13%.

@@            Coverage Diff             @@
##           master    #1709      +/-   ##
==========================================
+ Coverage   75.06%   75.16%   +0.09%
==========================================
  Files         198      199       +1
  Lines        6180     6204      +24
  Branches      775      776       +1
==========================================
+ Hits         4639     4663      +24
+ Misses       1202     1200       -2
- Partials      339      341       +2

Impacted Files
Coverage Δ

...feign/ribbon/CachingSpringLoadBalancerFactory.java
100% <100%> (+23.52%)
:white_check_mark:

...ign/ribbon/FeignRibbonClientAutoConfiguration.java
75% <100%> (+1.66%)
:white_check_mark:

.../cloud/netflix/feign/ribbon/FeignLoadBalancer.java
68.33% <55.55%> (-8.81%)
:x:

...tflix/feign/ribbon/RetryableFeignLoadBalancer.java
96.42% <96.42%> (ø)

...a/server/EurekaServerInitializerConfiguration.java
72.41% <ø> (-6.9%)
:x:

...ork/cloud/netflix/feign/support/SpringEncoder.java
64.28% <ø> (-0.84%)
:x:

...loud/netflix/ribbon/RibbonLoadBalancerContext.java
84.61% <ø> (+15.38%)
:white_check_mark:

Continue to review full report at Codecov.

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


Confusing :missing search modifier

Describe the bug
If I understand the :missing modifier specification https://www.hl7.org/fhir/search.html#missing right, setting missing true should return all resources without that parameter.
If i create ChargeItem without a subject reference on the HAPI FHIR Server ( using docker image), and then search using HAPI FHIR client with org.hl7.fhir.r4.model.ChargeItem.SUBJECT.isMissing(true) these resources are not returned. If i search with org.hl7.fhir.r4.model.ChargeItem.SUBJECT.isMissing(false) these resources are returned, and no subject reference is set.
The Java doc of the HAPI client also states that setting missing false should return resources with this value missing.

Sets the :missing qualifier for this parameter. Set this to true to indicate that the server should return resources with this value

populated

. Set this to false to indicate that the server should return resources with this value missing.

But the FHIR specification states that the value should be true.
To Reproduce
Steps to reproduce the behavior:

Start HAPI FHIR Server docker container hapiproject/hapi:latest
Use HAPI FHIR client to create ChargeItem with missing subject reference
Use HAPI FHIR client to query ChargeItem with date and SUBJECT.isMissing(true)
Use HAPI FHIR client to query ChargeItem with date and SUBJECT.isMissing(false)

Expected behavior
I expected the ChargeItem query to include the ChargeItem with SUBJECT.isMissing(true). And to not include the ChargeItem with SUBJECT.isMissing(false).
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

HAPI FHIR Version 6.10.4
OS: Linux

The server needs to be configured to index for the :missing parameter. See here:
https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/e1d902c90388cacc837365be58c37827a26be1ce/src/main/resources/application.yaml#L120


Rework DNS optimization for SNI support

I've found a way to fix this issue. I have to try it out and benchmark it to see how effective it is. I feel like this issue should be higher priority on zenhub, @ahmadnassri .

there's been no reports or questions regarding this (yet) so it is no likely affecting many people.


change some todos to notes

todos are displayed in the documentation.
We should hide these.
To do that, change them to notes

I can do these for some things, but I think this is a multi-person issue to work on.

might not be needed, pending https://github.com/microbiomedata/nmdc-schema/issues/1495


Improve uber jar creation speed

Codecov Report

Merging #20438 into release-stage will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release-stage   #20438   +/-   ##
==============================================
  Coverage          15.21%   15.21%
==============================================
  Files                 50       50
  Lines               1341     1341
  Branches             208      208
==============================================
  Hits                 204      204
  Misses              1121     1121
  Partials              16       16

Continue to review full report at Codecov.

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

Need to revisit this approach as it increases the jar size. Hence closing it.


Fix space and time complexity table and update divide and conquer section

I would like to update the Divide and Conquer page, specifically the following:

Link the example algorithms (Quicksort, Merge Sort, Closest Pair of Points,..) to existing pages.
Add the inversion problem as an overall example of Divide and Conquer algorithms.

@aheaton22 sure.

As I was working on this issue I noticed that the 'Merge Sort Time and Space Complexity' section on the Merge Sort page is a bit hard to read.  I was going to fix it but I wonder if I should do it in a separate issue.

@aheaton22 you can submit pull request no need to create new issue.

Thanks, I'll do that

changes have been merged in


Refactor: BaseBot separated from StaffBot

Addresses some forgotten comments in: https://github.com/unlimitedlabs/orchestra/pull/231

Coverage decreased (-24.2%) to 68.069% when pulling 82b60d9178b73874072d4207911d500efa3ebd15 on staffbot-refactor into 33cc44877cd99726f23d4ea0f084d2e18b102025 on master.

Coverage increased (+0.01%) to 92.329% when pulling 8b6aedc367130ecfd0f9acea85da83e867143a32 on staffbot-refactor into 33cc44877cd99726f23d4ea0f084d2e18b102025 on master.

Coverage increased (+0.009%) to 92.327% when pulling 8b6aedc367130ecfd0f9acea85da83e867143a32 on staffbot-refactor into 33cc44877cd99726f23d4ea0f084d2e18b102025 on master.


Allow filters to go through spoiler tags

Allow an option for this, like the whitespace squeeze filter feature.

I do not understand what the desired behavior is. Can you please elaborate on what is being suggested here?

@Yoshiyuka right now you can trivially bypass the filter by spoilering part of the word. For instance, if "apple" was filtered, you could write app||le|| (which appears as app██), as the | characters prevent substring matching.


Request: Aerox 3

Whould it be possible to add Aerox 3  mouse support? I will try to reverse engineer it in a few days. Will add lsusb output later.

lsusb output: Bus 001 Device 006: ID 1038:1836 SteelSeries ApS SteelSeries Aerox 3

There is also a wireless version ID 1038:1838 SteelSeries ApS SteelSeries Aerox 3 Wireless

Would be very interested in support for this and happy to provide testing! (will take a look at adding it myself when I have some spare time but that may not be for a while)

@flozz https://flozz.github.io/rivalcfg/contributing.html mentions reverse-engineering protocols - and I'd like to give it a go. What methods / tools do you use?

@fluffynuts Hello,
Basically, I use Wireshark and a Windows VM with the SteelSeries Engine 3 installed on it.
I do not had time to write a documentation in English, but I wrote two articles (in French) on my blog:

https://blog.flozz.fr/2016/03/27/steelseries-rival-100-reverse-engineering-dun-peripherique-usb/
https://blog.flozz.fr/2020/05/25/reverse-engineering-recuperer-le-niveau-de-batterie-du-casque-sans-fil-steelseries-arctis-7/

Maybe Google Translate could help you :)

@flozz thanks, I'll see what I can figure out (:

@flozz after a quick look through a translated one - nice articles! I think that I'll be able to figure it out. I have a windows machine here so I can skip the VM part, but otherwise, excellent. Thanks!

@flozz ok, I've had a look, and so far I can see:
setting colors by zone, data packets:
zone 1: 21 01 00 RR GG BB
zone 2: 21 01 01 RR GG BB
zone 3: 21 01 02 RR GG BB
Setting any of the fancy effects results in a lot of chatter that looks like this, so it looks like breath and rainbow and so forth may set up by the software? But when one receives the mouse or when it reverts to "default", I see the overall rainbow effect, no breathing, so I'm not sure how that's accomplished in the light of watching other effects applied.
For my immediate use, I just want solid colors - I want to do an orange-to-red gradient from the front of the mouse back, to match my rig, so I figure this is as good a time as any to start on a profile.
This is where the wheels fall off a bit - I have this so far:
from .. import usbhid

profile = {
    "name": "SteelSeries Aerox 3",
    "models": [
        {
            "name": "SteelSeries Aerox 3 Wireless - USB Wired",
            "vendor_id": 0x1038,
            "product_id": 0x183A,
            "endpoint": 0 # ? not sure what to set here
        }
    ],
    "settings": {
        "z1_color": {
            "label": "Strip top LED color",
            "description": "Set the color of the top LED of the strip",
            "cli": ["--strip-top-color", "--z1"],
            "report_type": usbhid.HID_REPORT_TYPE_OUTPUT,
            "command": [0x21, 0x01, 0x00],
            "command_suffix": [0x64], # not sure what to put here: the observed frames are 00 all the way after the location indicator and color
            "value_type": "rgbcolor",
            "default": "red"
        },
        "z2_color": {
            "label": "Strip middle LED color",
            "description": "Set the color of the middle LED of the strip",
            "cli": ["--strip-middle-color", "--z2"],
            "report_type": usbhid.HID_REPORT_TYPE_OUTPUT,
            "command": [0x21, 0x02, 0x00],
            "command_suffix": [0x64], # not sure what to put here: the observed frames are 00 all the way after the location indicator and color
            "value_type": "rgbcolor",
            "default": "red"
        },
        "z1_color": {
            "label": "Strip bottom LED color",
            "description": "Set the color of the bottom LED of the strip",
            "cli": ["--strip-top-color", "--z3"],
            "report_type": usbhid.HID_REPORT_TYPE_OUTPUT,
            "command": [0x21, 0x03, 0x00],
            "command_suffix": [0x64], # not sure what to put here: the observed frames are 00 all the way after the location indicator and color
            "value_type": "rgbcolor",
            "default": "red"
        },
    }

This is for the aerox 3 as plugged in directly on usb; the device id changes to 1838 for the wireless dongle, so I guess I'd add a "model" for that?
What I'm missing:

how to figure out the parts I've marked with comments (endpoint, command_suffix)
the "save" command - issuing a save from the steelseries software, i only saw the color setting commands as above, which were being issued during the live preview phase too.
if I can get this to work (scratch my personal itch), I'll look into the other parts (button mappings, etc)

In wired version I noticed that Engine is constantly sending packets to mice. Is this also a thing on wireless version? I'm just curious

I'm just assuming so - I connected my aerox in wireless state and it didn't seem to make much difference in the chatter

@imLinguin that's why I don't think this mouse can do the effects "natively" - I saw constant updates being sent (color-wise) when I had an effect enabled in the engine. As far as solid colors go, it looks like that's remembered until the mouse changes connection or powers off. BUT I see that other mice have a "save" packet, and I haven't seen that when testing against this (yet) - though I could just be missing it. When I click "save" in Engine, I haven't seen any different packets going to the mouse, so either I'm missing it or "save" means "save to Engine storage and keep applying as required".
If the latter is the case, I'd probably recommend to not use effects if you want the most out of your Aerox 3 - that chatter is quite noisy & can't come for free, surely.

additional data from @imLinguin :)

https://github.com/imLinguin/Aerox3

I started to implement the support of the

Aerox 3
Aerox 3 Wireless (wired mode)

on the aerox3branch and I need you to test on both devices.

Here is the implemented commands:
SteelSeries Aerox 3 Options:
  -s SENSITIVITY, --sensitivity SENSITIVITY
                        Set sensitivity preset (DPI) (up to 5 settings, from 200 dpi to 8500
                        dpi, default: '800, 1600')
  -p POLLING_RATE, --polling-rate POLLING_RATE
                        Set polling rate (Hz) (values: 125, 250, 500, 1000, default: 1000)
  --top-color Z1_COLOR, --z1 Z1_COLOR
                        Set the color of the top LED (e.g. red, #ff0000, ff0000, #f00, f00,
                        default: red)
  --middle-color Z2_COLOR, --z2 Z2_COLOR
                        Set the color of the middle LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: lime)
  --bottom-color Z3_COLOR, --z3 Z3_COLOR
                        Set the color of the bottom LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: blue)
  -l LED_BRIGHTNESS, --led-brightness LED_BRIGHTNESS
                        Set the brightness of the LEDs (from 0 to 100, default: 100)

To test, first get / setup the project:
sudo apt install python3-venv

git clone https://github.com/flozz/rivalcfg.git rivalcfg-aerox3
cd rivalcfg-aerox3

python3 -m venv __env__
source __env__/bin/activate

pip install -e .

then you can test with command like:
python -m rivalcfg ...

example:
python -m rivalcfg --z1 red --z2 lime --z3 blue

Please test all commands on both devices, it will help
NOTE: I used the information from the Aerox Wireless (wired) for the colors, but it seems slightly different from the non Wireless one, so please test the three zones and repports me any errors / incoherence :)

Also can you provide screenshot of your SS Engine for each mice to help me to understand available settings? :)

Finally, once we will be done with de basic configuration,

we will work to see if there is a save command and if it work for both devices,

we will see if there is some "effects" available in the mouse like the Rival 3

:)

Here are the screenshots from SSE. Aerox 3 non-wireless version

On linux, the mouse (wireless) doesn't appear to fully "see" the mouse:
if I run, eg python -m rivalcfg --help, there's no device-specific help, and python -m rivalcfg -z1 red errors
however, python -m rivalcfg --print-debug prints out:
RIVALCFG
========
Version: 4.3.0
udev rules installed: True
udev rules up to date: True
Installation path: /home/daf/code/opensource/rivalcfg/rivalcfg

OPERATING SYSTEM
================
OS: Linux
Platform<EMAIL_ADDRESS>Version: #4 SMP Sat Aug 14 20:35:58 SAST 2021
Distribution issue: This is \n.\O (\s \m \r) \t

PYTHON
======
Python version: 3.9.6
HIDAPI version: 0.10.1

PLUGGED STEELSERIES DEVICES ENDPOINTS
=====================================
1038:1838 | 00 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 01 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 02 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 03 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:1838 | 04 | SteelSeries Aerox 3 Wireless (firmware v0)

I also don't get -z1 to work when running the mouse wired, though the output from --print-debug differs slightly as the mouse presents as a different device:
RIVALCFG
========
Version: 4.3.0
udev rules installed: True
udev rules up to date: True
Installation path: /home/daf/code/opensource/rivalcfg/rivalcfg

OPERATING SYSTEM
================
OS: Linux
Platform<EMAIL_ADDRESS>Version: #4 SMP Sat Aug 14 20:35:58 SAST 2021
Distribution issue: This is \n.\O (\s \m \r) \t

PYTHON
======
Python version: 3.9.6
HIDAPI version: 0.10.1

PLUGGED STEELSERIES DEVICES ENDPOINTS
=====================================
1038:183a | 00 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:183a | 01 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:183a | 02 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:183a | 03 | SteelSeries Aerox 3 Wireless (firmware v0)
1038:183a | 04 | SteelSeries Aerox 3 Wireless (firmware v0)

it's not impossible that I'm just Doing Something Wrong. I followed the steps from above tho:

clone
git checkout aerox3
python3 -m venv env
source env/bin/activate
pip install -e .

I've also tried python3 -m rivalcfg --update-udev just in case - no change

@fluffynuts try changing endpoint value here: https://github.com/flozz/rivalcfg/blob/aerox3/rivalcfg/devices/aerox3.py#L17
Changing it to 3 worked for my non-wireless Aerox3. Try finding which works for you.

a friend on windows is achieving the same non-result so either we're both doing the same Wrong Thing, or there's something more interesting at play here...

ah, will give it a go @imLinguin

eh, tried endpoints 0-4, no luck ):

one thing I noticed is that when I run with --print-debug, the report includes device id 1038:1838 which isn't in the models list (tho adding doesn't seem to have helped much, tbh)

You might also need to reboot if you just updated udev rules.

I'm assuming you are in wireless mode, because of productId mismatch @fluffynuts

I only implemented the wired mode yet, not the wireless mode with the dongle :)

I separated profiles for the Aerox 3 and the Aerox 3 Wireless.
@fluffynuts, let's continue in #167 for your device :)

@imLinguin everything should now work out of the box for the Aerox 3
I also added a, option on enable the rainbow effect:
  -e LIGHT_EFFECT, --light-effect LIGHT_EFFECT
                        Set the light effect (values: rainbow-shift, default: rainbow-shift)

you can try it with:
python3 -m rivalcfg -e rainbow-shift

Also can you try to change value from 0xFF to something else (like 0x00 and other random values) to see if there is other effects available?

Firmware version command:
90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Mouse response:
00 69 ba ae ea 94 ff ff 43 01 84 04 01 00 2d 00
c7 48 1e 61 00 00 00 00 b2 1d 0f 00 00 00 00 00
40 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
01 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00
90 31 2e 30 2e 31 31 20 2b 66 62 35 33 36 37 62
64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

version starts after 0x90

Been following this thread and it just worked for me for the first time with the latest changes, though the -e/--light-effect flag doesn't appear to work nor does its description show up in the --help menu, is there I might be missing to get that working? Logs below:
❯ sudo python3 -m rivalcfg -e rainbow-shift
usage: rivalcfg [-h] [--list] [--version] [--no-save] [--update-udev] [--print-udev]
                [--print-debug] [-s SENSITIVITY] [-p POLLING_RATE] [--top-color Z1_COLOR]
                [--middle-color Z2_COLOR] [--bottom-color Z3_COLOR] [-l LED_BRIGHTNESS]
                [-r]
rivalcfg: error: unrecognized arguments: -e rainbow-shift

❯ sudo python3 -m rivalcfg --help
usage: rivalcfg [-h] [--list] [--version] [--no-save] [--update-udev] [--print-udev]
                [--print-debug] [-s SENSITIVITY] [-p POLLING_RATE] [--top-color Z1_COLOR]
                [--middle-color Z2_COLOR] [--bottom-color Z3_COLOR] [-l LED_BRIGHTNESS]
                [-r]

optional arguments:
  -h, --help            show this help message and exit
  --list                List supported devices and exit
  --version             show program's version number and exit
  --no-save             Do not persist settings in the internal device memory
  --update-udev         Updates udev rules (Linux only, requires to be run as root)
  --print-udev          Prints udev rules and exit
  --print-debug         Prints debug informations and exit

SteelSeries Aerox 3 Wireless (wired mode) Options:
  -s SENSITIVITY, --sensitivity SENSITIVITY
                        Set sensitivity preset (DPI) (up to 5 settings, from 200 dpi to
                        8500 dpi, default: '800, 1600')
  -p POLLING_RATE, --polling-rate POLLING_RATE
                        Set polling rate (Hz) (values: 125, 250, 500, 1000, default:
                        1000)
  --top-color Z1_COLOR, --z1 Z1_COLOR
                        Set the color of the top LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: red)
  --middle-color Z2_COLOR, --z2 Z2_COLOR
                        Set the color of the middle LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: lime)
  --bottom-color Z3_COLOR, --z3 Z3_COLOR
                        Set the color of the bottom LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: blue)
  -l LED_BRIGHTNESS, --led-brightness LED_BRIGHTNESS
                        Set the brightness of the LEDs (from 0 to 16, default: 16)
  -r, --reset           Reset all settings to their factory default

Please report any bug on Github: https://github.com/flozz/rivalcfg/issues

Been following this thread and very excited to see it just worked for me for the first time with the latest changes, though the -e/--light-effect flag doesn't appear to work nor does its description show up in the --help menu, is there I might be missing to get that working? Really appreciate what you're doing with this, looking forward to having control of my mouse even on linux!
Logs below:
❯ sudo python3 -m rivalcfg -e rainbow-shift
usage: rivalcfg [-h] [--list] [--version] [--no-save] [--update-udev] [--print-udev]
                [--print-debug] [-s SENSITIVITY] [-p POLLING_RATE] [--top-color Z1_COLOR]
                [--middle-color Z2_COLOR] [--bottom-color Z3_COLOR] [-l LED_BRIGHTNESS]
                [-r]
rivalcfg: error: unrecognized arguments: -e rainbow-shift

❯ sudo python3 -m rivalcfg --help
usage: rivalcfg [-h] [--list] [--version] [--no-save] [--update-udev] [--print-udev]
                [--print-debug] [-s SENSITIVITY] [-p POLLING_RATE] [--top-color Z1_COLOR]
                [--middle-color Z2_COLOR] [--bottom-color Z3_COLOR] [-l LED_BRIGHTNESS]
                [-r]

optional arguments:
  -h, --help            show this help message and exit
  --list                List supported devices and exit
  --version             show program's version number and exit
  --no-save             Do not persist settings in the internal device memory
  --update-udev         Updates udev rules (Linux only, requires to be run as root)
  --print-udev          Prints udev rules and exit
  --print-debug         Prints debug informations and exit

SteelSeries Aerox 3 Wireless (wired mode) Options:
  -s SENSITIVITY, --sensitivity SENSITIVITY
                        Set sensitivity preset (DPI) (up to 5 settings, from 200 dpi to
                        8500 dpi, default: '800, 1600')
  -p POLLING_RATE, --polling-rate POLLING_RATE
                        Set polling rate (Hz) (values: 125, 250, 500, 1000, default:
                        1000)
  --top-color Z1_COLOR, --z1 Z1_COLOR
                        Set the color of the top LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: red)
  --middle-color Z2_COLOR, --z2 Z2_COLOR
                        Set the color of the middle LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: lime)
  --bottom-color Z3_COLOR, --z3 Z3_COLOR
                        Set the color of the bottom LED (e.g. red, #ff0000, ff0000, #f00,
                        f00, default: blue)
  -l LED_BRIGHTNESS, --led-brightness LED_BRIGHTNESS
                        Set the brightness of the LEDs (from 0 to 16, default: 16)
  -r, --reset           Reset all settings to their factory default

Please report any bug on Github: https://github.com/flozz/rivalcfg/issues

Thank you for your feedback @mewtlu

We are talking about two different devices in this thread:

The Aerox 3, that supports

a wired USB connection

The Aerox 3 Wireless, that supports

a wired USB connection
a wireless 2.4 GHz connection (using an USB dongle)
a wireless Bluetooth connection

The -e option is only for the Aerox 3 and you seems to have the Aerox 3 Wireless, that's why you do not have it.
To avoid confusion (as the devices are different and use a slightly different protocol), there is an other issue dedicated to the wireless version of the Aerox 3 → #167

I updated the Aerox 3 (not the wireless one) with the following options:
  -e RAINBOW_EFFECT, --rainbow-effect RAINBOW_EFFECT
                        Set the rainbow effect (can be cleared by setting a color) (values:
                        all, bottom, middle, top, bottom-middle, middle-top, bottom-top,
                        default: all)
  -b BUTTONS_MAPPING, --buttons BUTTONS_MAPPING
                        Set the mapping of the buttons (default: buttons(button1=button1;
                        button2=button2; button3=button3; button4=button4; button5=button5;
                        button6=dpi; scrollup=scrollup; scrolldown=scrolldown;
                        layout=qwerty))

I still have to implement the firmware reading code, then the support of this device should be complete. :)
(and once this one finished, i will continue working on the Aerox 3 Wireless, there is a lot to do on it :) )

There is also Reactive tab in SSE which I documented in my repo as Reactive Effect. It's wave looking, one color effect from top to bottom, being triggered when you press any mouse button. It can be either set to some color or disabled.

Update: I added the reactive color option:
  -a REACTIVE_COLOR, --reactive-color REACTIVE_COLOR
                        Set the color of the LEDs in reaction to a button click (e.g. off,
                        disable, red, #ff0000, ff0000, #f00, f00, default: off)

can you check it works? :)

Works perfectly

I am back on the project :)
The Aerox 3 Support seems ok, just need to write some test before merging it to master.

The Aerox 3 support is now on master :)


new design to calculator

Is your feature request related to a problem? Please describe.
no, its looks will get better
Describe the solution you'd like
features like basic mode advanced mode and scientific mode calculation
Describe alternatives you've considered
design and look of it
Additional context
basic mode advanced mode and scientific mode
Steps Followed✅
Check the box with [x] If you followed all the steps.

[x] Is your feature request related to a problem? Please describe.
[x] Describe the solution you'd like
[x] Describe alternatives you've considered
[x] Additional context

Code of Conduct✅

[x] I agree to follow this project's Code of Conduct.
[x] I checked the current issues for duplicate problems.
[x] I have gone through the project README.

@NOiR-07 assign me

@NOiR-07 assign me

sure


Architecture diagram?

As a developer
I would like a diagram of the project architecture (including planned components)
so that I can quickly and visually comprehend the project design
Is there any diagram, even a simple drawing, depicting the initial design plans for this project? I have found the diagrams in the I'm working on Clyde IO blog post useful, but lacking in architectural detail.

What kind of diagram do you need? Which things do you need to be reflected?
On its base clyde is simply a app that read a configuration and connects a set of middlewares in the specified order. It is up to you to decide which middlewares (filters) execute for each request.

Perhaps a basic diagram listing all the different filters, base compobent(s), and other relevant components such as routing, storage adapters, etc.
On 17 September 2015 17:02:09 EEST, acanimal<EMAIL_ADDRESS>wrote:

What kind of diagram do you need? Which things do you need to be
reflected?
On its base clyde is simply a app that read a configuration and
connects a set of middlewares in the specified order. It is up to you
to decide which middlewares (filters) execute for each request.

Reply to this email directly or view it on GitHub:
https://github.com/clydeio/clydeio/issues/22#issuecomment-141095990

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Yes, I need to improve much more the documentation. I will do once finished the configuration module.
As a summary the filters (middlewares) contains all the functionalities: cache, rate limiting, authentication, etc, Clyde core is only the engine that runs them in the right order.


fix: upgrade catalog

also add vault-kapp and BBS test

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gsm
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gsm
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm

vault
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gsm
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm

vault
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault

kube
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test kube

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gsm
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm

vault
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault

kube
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test kube

gsm-kapp
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gsm
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm

vault
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault

kube
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test kube

gsm-kapp
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm-kapp

vault-kapp
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gsm
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test gsm

vault
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault

vault-kapp
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault-kapp

gsm-kapp
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test gsm-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault

vault-kapp
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault-kapp

gsm-kapp
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test gsm-kapp

gsm
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
1f5bcd07e7d37f58e6f191d096f9dd97a24ffafa
link
/test vault

gsm-kapp
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test gsm-kapp

gsm
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test gsm

vault-kapp
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test vault-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/retest

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault-kapp
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test vault-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/test vault-kapp

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault-kapp
c50287bdd3e8a90ee00f8bd12206051462a3ba49
link
/test vault-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


Make 'Max' button on bid screen work with a users current dkp standings

The 'Max' button on the bid screen is based on the maximum dkp cost configured for an item in Ascending auction mode. However, the default value for this, and probably most commonly used(?), is 0, in order to not set a max bid value, but rather let users bid as much as they want/have. In this situation, a user might expect the 'Max' button to auto-bid with all their DKP. In reality, sets the value to/tries to bid 0.
As a solution to this, I believe it would be better if the button worked as such:
if ( item_max = 0) bid_value = user_dkp
else bid_value = min(item_max, user_dkp)
I.e., make the max bid work with the user's current dkp standings, and, if a max value has been defined, restrict the bid within the allowed range.
This would also go a bit along the way to deal with #76 .

++ would be nice

This description is re-described behavior that I have implemented and was then incorporated in CommunityDKP. That was a solution that i find very unclear as it would bid different value for different item settings thus button behavior changes dynamically. We will be reworking the GUI soon thus will think about incorporating max current dkp in the bid window in some way.

Max and Base buttons will be disabled if related value is set to 0 (disabled)


Broken link - error in redirection

In number 4 of the section "Apply labels directly to files" there is a link at the end that says "For more information about how Cloud App Security and Azure Information Protection work together, see [Protect data against user mistakes] (https://docs.microsoft.com/enterprise-mobility-security/solutions/protect-data-user-mistake)."
However, the link does not go to the actual article but to "https://docs.microsoft.com/enterprise-mobility-security"
Can you please correct this or provide with the working link for the link of [Protect data against user mistakes]
Thank you
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d87a9a6d-db50-50ca-755b-ce28631c30ac
Version Independent ID: 8656b0a3-ab7e-76ec-2d89-8c1aa643c9fa
Content: Integrate Azure Information Protection with Cloud App Security
Content Source: CloudAppSecurityDocs/azip-integration.md
Service: cloud-app-security
Product: ****
Technology: ****
GitHub Login: @shsagir
Microsoft Alias: shsagir

@gesmyrli Thanks for your feedback. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow. Please let us know if there's anything more we can do for you. To follow up on this issue, leave us a comment with an @mention.


Handle Arrow decoder errors gracefully

:notebook_with_decorative_cover: Description
This fixes a crash when encountering an issue with the on-disk format of serialized Arrow Record Batches or Arrow Schemas.
:memo: Checklist

[x] All user-facing changes have changelog entries.
[x] The changes are reflected on docs.tenzir.com/vast, if necessary.
[x] The PR description contains instructions for the reviewer, if necessary.

:dart: Review Instructions
Change random bytes from a segment and export contained table slices until you get the IOError from Arrow and notice that VAST doesn't crash anymore.

How can this be tested?

How can this be tested?

Change random bytes from a segment and export contained table slices until you get the IOError from Arrow and notice that VAST doesn't crash anymore.

Rebased onto master.

Shouldn't we do extra checking in L588 and L597?


cmd/go mishandles build metadata separator

What version of Go are you using (go version)?

$ go version
go version go1.11 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/micellis/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/micellis/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.11/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.11/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/5n/cs1hx8q170v2741s2whxhc10pnl463/T/go-build108446644=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

go get<EMAIL_ADDRESS>
Note the build metadata is not ignored when attempting to retrieve the info file.
What did you expect to see?

go: finding example.com/foo/bar v1.0.0
go: finding example.com/foo v1.0.0
go: finding example.com v1.0.0
go get<EMAIL_ADDRESS>unexpected status (http://localhost:8000/example.com/foo/bar/@v/v1.0.0.info): 404 File not found

What did you see instead?

go: finding example.com/foo/bar v1.0.0+meta.sha256
go: finding example.com/foo v1.0.0+meta.sha256
go: finding example.com v1.0.0+meta.sha256
go get<EMAIL_ADDRESS>unexpected status (http://localhost:8000/example.com/foo/bar/@v/v1.0.0+meta.sha256.info): 404 File not found

The issue is due to the internal/semver/semver.go package not recognizing the separator character '.' in the parseBuild function.
Have a small fix, just want to confirm this isn't expected (doesn't appear to be look at the function and similar function parsePrerelease)

@mellis The behavior here changed again recently in #31713.
It would be interesting to hear if you now see behavior that works for you if try tip. (An easy way to get tip is go get golang.org/dl/gotip && gotip download).
Also, did you have an example of a public repository where this was a problem, or was it a private repo where you first saw this as a problem?

I originally noticed the behaviour when experimenting with module support for our internal repositories and build system.
We've changed strategies since then though, so this particular issue isn't affecting us any more.


Implement execution reservations

Leftover issues:

[x] Improve the distribution of reserved executions, currently the process whose query reserves all of them, even if it can't handle them.
[ ] Tune batch execution reservation in C# FabricService for performance.
[ ] Think of ways to avoid having O(active executions * active processors) threads dedicated to operating the IgniteLock-s; maybe using an IgniteQueue somehow?
[x] Currently, running 5 MultiProcessAgent-s at once deadlocks Fabric within ~5 minutes; yet Ignite remains alive and the Fabric GRPC service continues to accept connections. It is like none of the ScanQuery/ContiniousQuery-s work anymore.

Going to merge as-is since it is functioning already; we can solve the performance issues once we have more data about how the feature is used.


migrate sqlite db users table to a per-maildir "password" file

[x] set/read passwords from a "password" file in maildir
[x] set/read passwords for echobot from a special password file created by the echobot
[x] track last_login for a user as the "mtime" of the password file
[x] migration script for sqlite database to files (moving the old passdb.sqlite to passdb.sqlite.old)
[x] new "User" object for manipulating passwords and last-login timestamp for a user with tests

supersedes #354  (this PR is based on it, but it's better to merge it all in one go, to not have partial db->file migrations)

Can you maybe change the HEAD this PR is to be merged into to #354? It would be easier to review then - first we could review #354, then this one, then merge this, and then (possibly without further review) #354. Breaks it up into smaller chunks

Can you maybe change the HEAD this PR is to be merged into to #354? It would be easier to review then - first we could review #354, then this one, then merge this, and then (possibly without further review) #354. Breaks it up into smaller chunks

I re-targeted the branch to merge with hpk/last-login which was already reviewed.
Note btw, that even though there is a large "migrate_from_db_to_maildir" script with a large test,
this PR cuts out lines because all the sqlite-handling is gone.


Fix build failures due to Jason's cleanup.

The Java->Scala conversion broke, so the server side objects needed a bit of massaging

@apurvam LGTM, thanks for fixing this. Just one nit: we typically avoid the parenthesis for non-mutating methods with no arguments in Scala. So you can use records.entries.asScala instead of records.entries().asScala.

Thanks.. Will fix!

On Jan 5, 2017, at 19:10, hachikuji<EMAIL_ADDRESS>wrote:
@apurvam LGTM, thanks for fixing this. Just one nit: we typically avoid the parenthesis for non-mutating methods with no arguments in Scala. So you can use records.entries.asScala instead of records.entries().asScala.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.