5 send data to the front end

Description
Please include a summary of the feature being added or updated. Explain why this feature is necessary and what problem it solves.

Related Issue: #5
Feature Name: Send Data to the Front-end

This feature adds GET endpoints to retrieve patient data categorized by specific data types.  This is necessary for the front-end to visualize patient data using graphs.
Postman tests were added to the request in the project to helps checking for code errors and integration into CI/CD for automated testing

Type of Change

[x] New feature (non-breaking change which adds functionality)
[x] Enhancement (non-breaking improvement to an existing feature)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?
Please describe the tests that you ran to verify the feature. Provide instructions so others can replicate these tests. Include any relevant details like the test environment, test cases, and scripts.

Tested On:

[x] Local machine
[ ] CI Pipeline
[ ] Staging environment

Test Description:

[x] Unit tests
[ ] Integration tests
[x] Manual testing

Checklist

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code where necessary.
[ ] I have added documentation explaining what this feature does and how to use it.
[x] I have added tests to cover my changes.

[x] I have checked for any security concerns or performance impacts.

Impacted Areas in the Project
Please specify which areas of the project this feature might affect.

Components/Files Affected:
The simulateDataService.ts in the server/src/service is a temporary document. When the Data Decryption feature is developed, it can be replaced.
Other features or services impacted:
All requested patient IDs are currently replaced with 1, for example:
https://localhost:5000/api/v1/patients/1/data
https://localhost:5000/api/v1/patients/1/__header__
Avoid errors on the frontend when requesting

Additional Information
Add any additional context or concerns that may be relevant to this feature, including dependencies, potential risks, or rollout plan.

I added **/decoded/ and **/converters/ in Gitignoor. It is to avoid uploading the decoding code and files in my own computer to GitHub, which is not necessary for the project.

Reviewer’s Guide:
Please ensure:

Code is clean and properly documented.
The feature works as expected and doesn’t introduce any regressions.

Amazing job @YingchaoJiStone. I have read all the code and checked all the tests manually using postman and everything works. However, I must mention that the newman thing does not work. But that is not related to this issue and will be done with setting up the Github Actions. Great job. The code was well commented and readable.

Amazing job @YingchaoJiStone. I have read all the code and checked all the tests manually using postman and everything works. However, I must mention that the newman thing does not work. But that is not related to this issue and will be done with setting up the Github Actions. Great job. The code was well commented and readable.

Thanks for your review! The problem you have with newman is a connection error? If it is that is because the current test requires starting the server and then running the test in another terminal, it cannot be started and tested with npm run test. In the next stage we can configure wait-on to fix him.


[DevOps] Build release pipeline for pypi

Build release pipeline for PyPI.

[x]  Code
[x] Tests

Fixed


StaticFixtureSplitter: don't use SmartFileSystem->dump() for performance reasons

doing less file-IO in StaticFixtureSplitter->createTemporaryFileInfo().
SmartFileSystem->dump gives us some gurantees like atomic file writes which protect writing files from race conditions when writing to the same file-path in parallel. this is not necessary for the StaticFixtureSplitter, and therefore using simpler primitives is faster.
with this change I can see a improvement of 2-3 seconds

refs https://github.com/symplify/symplify/issues/3437

at best we would not need file-IO at all for this StaticFixtureSplitter. this is beeing discussed in https://github.com/symplify/symplify/pull/3439

Thank you

Any ETA on the next release so we can have a look how the changes affect rector CI performance?

We cannot release packages for testing purposes. That would affect lot of users with WIP fixes that might crash somethign else :)
Instead, we're testing the commit of dev-main#xxxx that we want to verify. This can reveal 2-3 more bugs, so we're saving ourselves and our users some stress.


Revert "feat: port Mathlib.Data.Real.CauSeqCompletion (#1440)"

This reverts commit 0a713e2f48eb0380645a59f937d887edbf67f290.
The motivation is to allow leanprover-community/mathlib#18122 to generate pre-port mathport output in the mathlib3port CI. Once that is done, I will unrevert this and merge in the changes it suggests.

Thanks :tada:
bors merge


Issue: custom metadata sent to RemoteRunnable(...).with_config(metadata={...}).{invoke,stream,etc}() is not provided to the runnable in langserve.api_handler.APIHandler._get_config_and_input

Issue you'd like to raise.
Via discord thread in langsmith-support-forum here:

I have both the context that calls RemoteRunnable(...).with_config(metadata={"my_key": "my_val"}).invoke(...) and the LangServe API target running the LCEL runnable correctly wired up with langsmith; all runs are getting recorded by both. I'm observing that the metadata I put in gets recorded to the RemoteRunnable run, but not to the api invocation run on the LangServe server. Do I need to set up my add_routes some way to pass through additional metadata?

I can see that when I drop a breakpoint in langserve.api_handler.APIHandler._get_config_and_input inside of invoke(), the config that's passed here does have a metadata key with some auto-added keys from langserve...
but my custom key is not here anymore.

I can verify that (await request.json())['config']['metadata']['my_key'] shows the correct value in that method, though.

To my eyes, it looks like the _unpack_request_config called in that method returns a user_provided_config that only contains the configuration, not the metadata I supplied.

Expected Behavior
If metadata is supplied to RemoteRunnable(...).with_config(metadata={...}).{invoke,stream,etc}(), then the LangServe endpoint should supply that metadata to the configuration of the Runnable before running it.
Actual Behavior
If metadata is supplied to RemoteRunnable(...).with_config(metadata={...}).{invoke,stream,etc}(), then the LangServe endpoint is not suppling that metadata to the configuration of the Runnable before running it.
Other information
I'm on LangSmith Plus organization with 7+ seats
langserve version: 0.2.2
Suggestion:
Please ensure metadata passed to RemoteRunnable is added to the configuration of the runnable on the server before invoking the Runnable.

I accidentally opened this in this repo; it should be in langserve. I've opened an issue there. https://github.com/langchain-ai/langserve/issues/694


galaxy subparser parity with cwl

they support foo.py --generate and foo.py foo --generate which does just a single subparser named foo rather than all. Need to figure out what they're doing differently and perhaps unify the code.

Very well could be. I'll probably refactor my half to match y'all's whenever I find time for it.

E.g. there's some significant overlap that could probably be refactored into something cleaner. https://github.com/erasche/argparse2tool/blob/master/argparse/init.py#L133 which I borrowed from https://github.com/erasche/argparse2tool/blob/master/argparse/init.py#L84

https://github.com/hexylena/argparse2tool/pull/65 writes subparsers to separate xml files if --directory parameter is given.
foo.py foo --generate still does not work .. but I would find it not very handy to generate xml this way from the command line since one does not know the names of the subparsers.

@bernt-matthias agreed, with --directory is good enough. I didn't consider the "have to enumerate submodules" case.


Add manual pyinstaller workflow

We develop a manual packaging script so that we do not have to fight with GitHub actions.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.531%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4

Relevant Lines:
753

💛  - Coveralls


What is the "Z" in your equa 10

Hello, could you please tell me what is the Z in equ10? Thanks

Hi
Before starting explanation, I just found a minor error on equ (9).
In equ (9), sigma should be out of sqrt operation, because it is gaussian distribution.

I'm sorry about that. But, it is only error on equ (9) and equ (10) is correct.

The Z is normalizing constant.
Since the margin is expectation value over negative responses, conceptual form of equ (9) is

The Z is denominator

Numerator value is calculated as

Combining these two values become equ (10)


Check translation of "Link to data source"

The translation for "Link to data source" possibly has "Target name" wrongly inserted into it. If it does, delete it from en_burm_trans.csv and the coressponding .yml file (I don't know which).

I searched for "Link to data source" in the repo and only found these results.

I can't see any Burmese translations and I don't think the problem that I thought might be occurring is occurring.

@jwestw how did you end up finding that there was an incorrect translation here - could there be anymore?
Looking at word file, this term was translated: ဒေတာရင်းမြစ်ကိုဖော်ပြသည့်လင့်ခ် - when I put into Google Translate it translates as expected


Revised articles with numeric conversion tables

I think it's fine to leave it as is, even though it's rather technical; I'm generally disinclined to send people to the spec out of necessity; my sense is that people only really want to go there out of interest.


Error on generating raid with female only xenotypes

So I used Xenotype Spawn Control to add my female only xenotype to a faction, and whenever I get a raid from that faction I would sometimes get this error, and the raid will fail to generate:
Tried to set Koala with gender Female as Opossum's father.
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

Error while generating pawn. Rethrowing. Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.PawnRelationWorker_Sibling.CreateRelation (Verse.Pawn generated, Verse.Pawn other, Verse.PawnGenerationRequest& request) [0x000bc] in <cd7169108ea74757aa50c5b33d275c15>:0
  at Verse.PawnGenerator.GeneratePawnRelations (Verse.Pawn pawn, Verse.PawnGenerationRequest& request) [0x0012f] in <cd7169108ea74757aa50c5b33d275c15>:0
  at Verse.PawnGenerator.TryGenerateNewPawnInternal (Verse.PawnGenerationRequest& request, System.String& error, System.Boolean ignoreScenarioRequirements, System.Boolean ignoreValidator) [0x00366] in <cd7169108ea74757aa50c5b33d275c15>:0
  at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.GenerateNewPawnInternal_Patch5(Verse.PawnGenerationRequest&)
  at Verse.PawnGenerator.GenerateOrRedressPawnInternal (Verse.PawnGenerationRequest request) [0x00188] in <cd7169108ea74757aa50c5b33d275c15>:0
  at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.GeneratePawn_Patch2(Verse.PawnGenerationRequest)
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

Exception while generating pawn group: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.PawnRelationWorker_Sibling.CreateRelation (Verse.Pawn generated, Verse.Pawn other, Verse.PawnGenerationRequest& request) [0x000bc] in <cd7169108ea74757aa50c5b33d275c15>:0
  at Verse.PawnGenerator.GeneratePawnRelations (Verse.Pawn pawn, Verse.PawnGenerationRequest& request) [0x0012f] in <cd7169108ea74757aa50c5b33d275c15>:0
  at Verse.PawnGenerator.TryGenerateNewPawnInternal (Verse.PawnGenerationRequest& request, System.String& error, System.Boolean ignoreScenarioRequirements, System.Boolean ignoreValidator) [0x00366] in <cd7169108ea74757aa50c5b33d275c15>:0
  at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.GenerateNewPawnInternal_Patch5(Verse.PawnGenerationRequest&)
  at Verse.PawnGenerator.GenerateOrRedressPawnInternal (Verse.PawnGenerationRequest request) [0x00188] in <cd7169108ea74757aa50c5b33d275c15>:0
  at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.GeneratePawn_Patch2(Verse.PawnGenerationRequest)
  at RimWorld.PawnGroupKindWorker_Normal.GeneratePawns (RimWorld.PawnGroupMakerParms parms, RimWorld.PawnGroupMaker groupMaker, System.Collections.Generic.List`1[T] outPawns, System.Boolean errorOnZeroResults) [0x002a0] in <cd7169108ea74757aa50c5b33d275c15>:0
  at RimWorld.PawnGroupKindWorker.GeneratePawns (RimWorld.PawnGroupMakerParms parms, RimWorld.PawnGroupMaker groupMaker, System.Boolean errorOnZeroResults) [0x00011] in <cd7169108ea74757aa50c5b33d275c15>:0
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

Probably not a common issue but I'm also using RimWar, so it is very noticeable for me (the entire warband would just disappear)
:( pls fix i want my catgirl tribe

Hey man thanks for the response
Sad to hear that my game thinks girls can't be fathers :( even when theres girl pp in the game

I tried spawning raids through the debug menu with basically only RJW + Xenotype Spawn Control + your mod active, and the error still happens, so I think it happens with just vanilla raids
With 1000 raid points (around ~10 people) I would say it happens roughly half the time, but I am not too sure. In my game it would happen around half the time also.

Hope this helps~


Travis JDK 11 Experiment

Curious what breaks when building with JDK 11.  Also the oss parent pom is now deprecated.

Something we need to look out for. SNI + TLS 1.3 + session resumption is broken in early versions of JDK 11.
https://bugs.openjdk.java.net/browse/JDK-8211806

Request peol

Request people upgrade. It's fixed in 11.02.


The on_load function for module prometheus_process_collector returned :error

[info] GET /metrics
[warn] The on_load function for module prometheus_process_collector returned {:error,
 {:load_failed,
  'Failed to load NIF library: \'dlopen(/Users/cba28/projects/superaggro/_build/dev/lib/prometheus_process_collector/priv/prometheus_process_collector.so, 2): no suitable image found.  Did find:\n\t/Users/cba28/projects/superaggro/_build/dev/lib/prometheus_process_collector/priv/prometheus_process_collector.so: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00\''}}

[warn] The on_load function for module prometheus_process_collector returned {:error,
 {:load_failed,
  'Failed to load NIF library: \'dlopen(/Users/cba28/projects/superaggro/_build/dev/lib/prometheus_process_collector/priv/prometheus_process_collector.so, 2): no suitable image found.  Did find:\n\t/Users/cba28/projects/superaggro/_build/dev/lib/prometheus_process_collector/priv/prometheus_process_collector.so: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00\''}}

[error] #PID<0.457.0> running Superaggro.Endpoint terminated
Server: <IP_ADDRESS>:4000 (http)
Request: GET /metrics
** (exit) an exception was raised:
    ** (UndefinedFunctionError) function :prometheus_process_collector.collect_mf/2 is undefined (module :prometheus_process_collector is not available)
        (prometheus_process_collector) :prometheus_process_collector.collect_mf(:default, #Function<1.49806622/1 in :prometheus_text_format.registry_collect_callback/3>)
        (prometheus) /Users/cba28/projects/superaggro/deps/prometheus/src/prometheus_collector.erl:157: :prometheus_collector.collect_mf/3
        (prometheus) /Users/cba28/projects/superaggro/deps/prometheus/src/prometheus_registry.erl:58: :prometheus_registry."-collect/2-lc$^0/1-0-"/3
        (prometheus) /Users/cba28/projects/superaggro/deps/prometheus/src/prometheus_registry.erl:58: :prometheus_registry.collect/2
        (prometheus) /Users/cba28/projects/superaggro/deps/prometheus/src/formats/prometheus_text_format.erl:74: :prometheus_text_format.format/1
        (prometheus) /Users/cba28/projects/superaggro/deps/prometheus/src/metrics/prometheus_summary.erl:231: :prometheus_summary.observe_duration/4
        (superaggro) lib/prometheus_exporter.ex:2: Superaggro.PrometheusExporter.scrape_data/0
        (superaggro) lib/prometheus_exporter.ex:2: Superaggro.PrometheusExporter.call/2
        (superaggro) lib/superaggro/endpoint.ex:1: Superaggro.Endpoint.phoenix_pipeline/1
        (superaggro) lib/plug/debugger.ex:123: Superaggro.Endpoint."call (overridable 3)"/2
        (superaggro) lib/superaggro/endpoint.ex:1: Superaggro.Endpoint.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4

This is from an Elixir 1.3.2 application, calling Prometheus.Registry.register_collector(:prometheus_process_collector) inside the application start function definition.

Unfortunately Windows support isn't there yet (but it's coming, stay tuned!). If you run Linux on your servers you can use :os.type to register collector only when running on Linux:
iex(1)> :os.type
{:unix, :linux}

Hi @deadtrickster - I'm running this locally from macOS Sierra, is that also unsupported?
iex(1)> :os.type
{:unix, :darwin}

Yeah not yet :-) It basically parses procfs stuff. Contributions are welcome ;-)

Does not prometheus_process_collector work at MacOS?

I get the same error running in a docker container using elixir/latest image on osx.

Guys, readme explicitly says this lib is linux-only currently. Sorry about that. But you can deploy on Linux. @cschiewek could you please tell me more about your elixir/latest usage? Do you use it as a base for deployment images?

Works on FreeBSD now, probably should be working on MacOS. I don't have it so can't test.

Tried to have a look but unfortunately getting a build error on macosx:
iex(apples@<IP_ADDRESS>)1> 15:21:51.657 request_id=ft8b6or2ia98kj0qovnsbjuelm9n65d3 [info] GET /metrics
15:21:51.670 [warn] The on_load function for module prometheus_process_collector returned:
{:error,
 {:load_failed,
  'Failed to load NIF library: \'dlopen(/Users/pfiddes/Projects/apples/_build/prod/lib/prometheus_process_collector/priv/prometheus_process_collector.so, 2): image not found\''}}

15:21:51.672 [error] #PID<0.410.0> running ApplesWeb.Endpoint terminated
Server: localhost:8101 (http)
Request: GET /metrics
** (exit) an exception was raised:
    ** (UndefinedFunctionError) function :prometheus_process_collector.collect_mf/2 is undefined (module :prometheus_process_collector is not available)
        (prometheus_process_collector) :prometheus_process_collector.collect_mf(:default, #Function<1.30220082/1 in :prometheus_text_format.registry_collect_callback/3>)
        (prometheus) /Users/pfiddes/Projects/apples/deps/prometheus/src/prometheus_collector.erl:169: :prometheus_collector.collect_mf/3
        (prometheus) /Users/pfiddes/Projects/apples/deps/prometheus/src/prometheus_registry.erl:78: :prometheus_registry."-collect/2-lc$^0/1-0-"/3
        (prometheus) /Users/pfiddes/Projects/apples/deps/prometheus/src/prometheus_registry.erl:78: :prometheus_registry.collect/2
        (prometheus) /Users/pfiddes/Projects/apples/deps/prometheus/src/formats/prometheus_text_format.erl:74: :prometheus_text_format.format/1
        (prometheus) /Users/pfiddes/Projects/apples/deps/prometheus/src/metrics/prometheus_summary.erl:257: :prometheus_summary.observe_duration/4
        (apples) lib/apples/prometheus.ex:19: Apples.PrometheusExporter.scrape_data/1
        (apples) lib/apples/prometheus.ex:19: Apples.PrometheusExporter.call/2

And on a docker container that previously worked (linux with elixir and phoenix deps installed):
15:51:37.043 request_id=pv4q4fsh4k02me870cvgpckun0de1q9n [info] GET /metrics
apples_1      | 15:51:37.050 [warn] The on_load function for module prometheus_process_collector returned {:error,
apples_1      |  {:load_failed,
apples_1      |   'Failed to load NIF library: \'Error relocating /app/_build/prod/lib/prometheus_process_collector/priv/prometheus_process_collector.so: __sprintf_chk: symbol not found\''}}
apples_1      |
apples_1      | 15:51:37.051 [error] #PID<0.574.0> running ApplesWeb.Endpoint terminated
apples_1      | Server: apples:80 (http)
apples_1      | Request: GET /metrics
apples_1      | ** (exit) an exception was raised:
apples_1      |     ** (UndefinedFunctionError) function :prometheus_process_collector.collect_mf/2 is undefined (module :prometheus_process_collector is not available)
apples_1      |         (prometheus_process_collector) :prometheus_process_collector.collect_mf(:default, #Function<1.12788421/1 in :prometheus_protobuf_format.registry_collect_callback/3>)
apples_1      |         (prometheus) /app/deps/prometheus/src/prometheus_collector.erl:169: :prometheus_collector.collect_mf/3
apples_1      |         (prometheus) /app/deps/prometheus/src/prometheus_registry.erl:78: :prometheus_registry."-collect/2-lc$^0/1-0-"/3
apples_1      |         (prometheus) /app/deps/prometheus/src/prometheus_registry.erl:78: :prometheus_registry.collect/2
apples_1      |         (prometheus) /app/deps/prometheus/src/formats/prometheus_protobuf_format.erl:45: :prometheus_protobuf_format.format/1
apples_1      |         (prometheus) /app/deps/prometheus/src/metrics/prometheus_summary.erl:257: :prometheus_summary.observe_duration/4
apples_1      |         (apples) lib/apples/prometheus.ex:19: Apples.PrometheusExporter.scrape_data/1
apples_1      |         (apples) lib/apples/prometheus.ex:19: Apples.PrometheusExporter.call/2

(ignore the apples_1 -> just docker-compose output)
I may have something wrong in my set-up, I did some funny stuff so that prometheous deps would (should) only build on mix.env ==prod (to get around mac issue).
Although I look in the container and I can see the file I'm being warned about as present:
/app # ls -ltr /app/_build/prod/lib/prometheus_process_collector/priv/
total 16
-rwxr-xr-x    1 root     root         15656 Oct 23 15:24 prometheus_process_collector.so
/app # ls -ltr /app/_build/prod/lib/prometheus_process_collector/priv/prometheus_process_collector.so
-rwxr-xr-x    1 root     root         15656 Oct 23 15:24 /app/_build/prod/lib/prometheus_process_collector/priv/prometheus_process_collector.so

Which makes me assume I've got something wrong in here (mix.exs):
defmodule Apples.Mixfile do
  use Mix.Project

  def project do
    [
      app: :apples,
      version: "0.0.1",
      elixir: "~> 1.5",
      elixirc_paths: elixirc_paths(Mix.env),
      compilers: [:phoenix, :gettext] ++ Mix.compilers,
      start_permanent: Mix.env == :prod,
      aliases: aliases(),
      deps: deps(Mix.env)
    ]
  end

  # Configuration for the OTP application.
  #
  # Type `mix help compile.app` for more information.
  def application() do
    [
      mod: {Apples.Application, []},
      extra_applications: extra_applications(Mix.env)
    ]
  end

  defp extra_applications(:prod) do
    extra_applications(:everything) ++ [
      :prometheus_ex,
      :prometheus_ecto,
      :prometheus_phoenix,
      :prometheus_plugs,
      :prometheus_process_collector
    ]
  end

  defp extra_applications(_) do
    [
      :logger,
      :runtime_tools,
    ]
  end

  # Specifies which paths to compile per environment.
  defp elixirc_paths(:test), do: ["lib", "test/support"]
  defp elixirc_paths(_),     do: ["lib"]

  # Specifies your project dependencies.
  #
  # Type `mix help deps` for examples and options.
  defp deps(_) do
    [
      {:phoenix, "~> 1.3.0"},
      {:phoenix_pubsub, "~> 1.0"},
      {:phoenix_ecto, "~> 3.2"},
      {:postgrex, ">= 0.0.0"},
      {:phoenix_html, "~> 2.10"},
      {:phoenix_live_reload, "~> 1.1.3", only: :dev},
      {:gettext, "~> 0.11"},
      {:cowboy, "~> 1.0"},
      {:prometheus_ex, "~> 1.0"},
      {:prometheus_plugs, "~> 1.0"},
      {:prometheus_ecto, "~> 1.0"},
      {:prometheus_phoenix, "~> 1.0"},
      {:prometheus_process_collector, "~> 1.0"},
    ]
  end

  # Aliases are shortcuts or tasks specific to the current project.
  # For example, to create, migrate and run the seeds file at once:
  #
  #     $ mix ecto.setup
  #
  # See the documentation for `Mix` for more info on aliases.
  defp aliases do
    [
      "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
      "ecto.reset": ["ecto.drop", "ecto.setup"],
      "test": ["ecto.create --quiet", "ecto.migrate", "test"]
    ]
  end
end

Tried to built at specifically 1.0 for 'prometheus_process_collector' but it still goes with latest 1.21.
Also the following may be relates, got warning on elixir_make:
** (Mix) Could not compile dependency :elixir_make, "/root/.mix/rebar3 bare compile --paths "/app/_build/test/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile elixir_make", update it with "mix deps.update elixir_make" or clean it with "mix deps.clean elixir_make"

dep from process_coillector:
├── prometheus_process_collector ~> 1.2.1 (Hex package)
│   ├── elixir_make ~> 0.4 (Hex package)
│   └── prometheus ~> 3.4 (Hex package)

this fixed it for me, incase anyone else gets the same (follow what the error says basically):
mix deps.update elixir_make

Actually just to confirm, I've definitely gone back on a couple of dependencies:
{:prometheus_process_collector, "1.1.0"}

Full List
  defp deps(_) do
    [
      {:phoenix, "~> 1.3.0"},
      {:phoenix_pubsub, "~> 1.0"},
      {:phoenix_ecto, "~> 3.2"},
      {:postgrex, ">= 0.0.0"},
      {:phoenix_html, "~> 2.10"},
      {:phoenix_live_reload, "~> 1.1.3", only: :dev},
      {:gettext, "~> 0.11"},
      {:cowboy, "~> 1.0"},
      {:prometheus_ex, "~> 1.0"},
      {:prometheus_plugs, "~> 1.0"},
      {:prometheus_ecto, "~> 1.0"},
      {:prometheus_phoenix, "~> 1.0"},
      {:prometheus_process_collector, "1.1.0"},
    ]
  end

I'm now working again:
apples_1      | 16:16:47.543 request_id=dco9jocgj7je4bjsdgui1spdaf0r3ccu [info] GET /metrics
apples_1      | 16:16:47.561 request_id=dco9jocgj7je4bjsdgui1spdaf0r3ccu [info] Sent 200 in 17ms

Once i get this working reliably I plan to put this demo project on github for others to use, but its essentially a blank phoenix app with the prometheus deps... that im using to test before integrating to our applications.

Hi, unfortunately I pushed 1.2.1 with object files. Again (sigh). I don't even remember OS I built them on (I suspect FreeBSD), no wonder you have unknown symbol.
Updated to 1.2.2. Please try it!
Personally I use https://github.com/deadtrickster/slackin.ex as prom/plugs/phoenix playground. Maybe you'll find it useful as well.
Thanks for the report!

thanks @deadtrickster - nice to know it wasn't me being silly. Will take a look at that project.
So it seems to build locally on macosx now, however I am getting this warning:
===> Compiling prometheus_process_collector
src/prometheus_process_collector.erl:23: Warning: behaviour prometheus_collector undefined

When I'm running locally, can't get the /metrics endpoint. I think it's probably not starting up, not sure if it needs starting before my application?
Also it no longer builds in my docker container (linux, alpine 3.6.2) at mix compile stage:
===> Compiling prometheus_process_collector
make: Entering directory '/app/deps/prometheus_process_collector/c_src'
cc -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes -fPIC -I /usr/lib/erlang/erts-8.3/include/ -I /usr/lib/erlang/lib/erl_interface-3.9.3/include  -c -o /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_nif.o /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_nif.c
In file included from /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_nif.c:5:0:
/app/deps/prometheus_process_collector/c_src/prometheus_process_collector.h:8:24: fatal error: sys/sysctl.h: No such file or directory
 #include <sys/sysctl.h>
                        ^
compilation terminated.
make: *** [Makefile:67: /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_nif.o] Error 1
make: Leaving directory '/app/deps/prometheus_process_collector/c_src'
===> Hook for compile failed!

==> apples
** (Mix) Could not compile dependency :prometheus_process_collector, "/root/.mix/rebar3 bare compile --paths "/app/_build/test/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile prometheus_process_collector", update it with "mix deps.update prometheus_process_collector" or clean it with "mix deps.clean prometheus_process_collector"

Tried the obvious fixes of clean, update and compile, unfortunately not that simple of a fix though.

so we are marking progress :-). can you please try master now? and share your alpine docker file if possible
Thanks!

Ok so on mac failing at the mix test (when it's compiling deps):
==> prometheus_process_collector
cc -O3 -std=c99 -arch x86_64 -finline-functions -Wall -Wmissing-prototypes -fPIC -I /usr/local/Cellar/erlang/20.1.2/lib/erlang/erts-9.1.2/include/ -I /usr/local/Cellar/erlang/20.1.2/lib/erlang/lib/erl_interface-3.10/include  -c -o /Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.o /Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:19:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:29: warning: implicit declaration of function 'kinfo_getproc' is invalid in C99 [-Wimplicit-function-declaration]
  struct kinfo_proc *proc = kinfo_getproc(pid);
                            ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:22: warning: incompatible integer to pointer conversion initializing 'struct kinfo_proc *' with an expression of type 'int' [-Wint-conversion]
  struct kinfo_proc *proc = kinfo_getproc(pid);
                     ^      ~~~~~~~~~~~~~~~~~~
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:253:6: warning: implicit declaration of function 'get_process_open_fd_totals' is invalid in C99 [-Wimplicit-function-declaration]
  if(get_process_open_fd_totals(pid, &pids_total)) {
     ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:260:6: warning: implicit declaration of function 'get_process_limit' is invalid in C99 [-Wimplicit-function-declaration]
  if(get_process_limit(pid, RLIMIT_NOFILE, &rlimit)) {
     ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:267:53: error: incomplete definition of type 'struct kinfo_proc'
  prometheus_process_info->start_time_seconds = proc->ki_start.tv_sec;
                                                ~~~~^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:10: note: forward declaration of 'struct kinfo_proc'
  struct kinfo_proc *proc = kinfo_getproc(pid);
         ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:270:3: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
  time(&now);
  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:271:55: error: incomplete definition of type 'struct kinfo_proc'
  prometheus_process_info->uptime_seconds = now - proc->ki_start.tv_sec;
                                                  ~~~~^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:10: note: forward declaration of 'struct kinfo_proc'
  struct kinfo_proc *proc = kinfo_getproc(pid);
         ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:273:48: error: incomplete definition of type 'struct kinfo_proc'
  prometheus_process_info->threads_total = proc->ki_numthreads;
                                           ~~~~^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:10: note: forward declaration of 'struct kinfo_proc'
  struct kinfo_proc *proc = kinfo_getproc(pid);
         ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:275:43: error: incomplete definition of type 'struct kinfo_proc'
  prometheus_process_info->vm_bytes = proc->ki_size;
                                      ~~~~^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:10: note: forward declaration of 'struct kinfo_proc'
  struct kinfo_proc *proc = kinfo_getproc(pid);
         ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:277:43: error: incomplete definition of type 'struct kinfo_proc'
  prometheus_process_info->rm_bytes = proc->ki_rssize * pagesize();
                                      ~~~~^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:10: note: forward declaration of 'struct kinfo_proc'
  struct kinfo_proc *proc = kinfo_getproc(pid);
         ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:279:30: error: incomplete definition of type 'struct kinfo_proc'
  struct rusage rusage = proc->ki_rusage;
                         ~~~~^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:244:10: note: forward declaration of 'struct kinfo_proc'
  struct kinfo_proc *proc = kinfo_getproc(pid);
         ^
6 warnings and 6 errors generated.
make[1]: *** [/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.o] Error 1
could not compile dependency :prometheus_process_collector, "mix compile" failed. You can recompile this dependency with "mix deps.compile prometheus_process_collector", update it with "mix deps.update prometheus_process_collector" or clean it with "mix deps.clean prometheus_process_collector"
==> apples
** (Mix) Could not compile with "make" (exit status: 2).
Depending on your OS, make sure to follow these instructions:

  * Mac OS X: You need to have gcc and make installed. Try running the
    commands "gcc --version" and / or "make --version". If these programs
    are not installed, you will be prompted to install them.

  * Linux: You need to have gcc and make installed. If you are using
    Ubuntu or any other Debian-based system, install the packages
    "build-essential". Also install "erlang-dev" package if not
    included in your Erlang/OTP version. If you're on Fedora, run
    "dnf group install 'Development Tools'".

FYI, Osx Sierra - 10.12.6
➜  apples git:(process-collector-update) ✗ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
➜  apples git:(process-collector-update) ✗ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

alpine
dockerfile is part of an entire build system, but essentially for test stage, we run off a precompiled base with the relevant build tools etc.
Simplified out something like the following (note not sure the test run here when i run locally, but compile seems to work)
FROM elixir:1.5.2-alpine

WORKDIR /app

ENV MIX_ENV="test"

RUN apk --update add build-base git && rm -rf /var/cache/apk/*

RUN mix local.hex --force && mix local.rebar --force

ADD mix.exs /app
ADD mix.lock /app

RUN mix deps.get

ADD config /app/config
ADD lib /app/lib
ADD priv /app/priv
ADD test /app/test
ADD Makefile /app

RUN mix compile

CMD ["make","test"]

seems to run through ok but noticed a couple of potential warnings on compile:
=> prometheus_process_collector
cc -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes -fPIC -I /usr/local/lib/erlang/erts-9.1.2/include/ -I /usr/local/lib/erlang/lib/erl_interface-3.10/include  -c -o /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_nif.o /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_nif.c
cc -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes -fPIC -I /usr/local/lib/erlang/erts-9.1.2/include/ -I /usr/local/lib/erlang/lib/erl_interface-3.10/include  -c -o /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.o /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c
cc /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_nif.o /app/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.o -shared -L /usr/local/lib/erlang/lib/erl_interface-3.10/lib -lerl_interface -lei -o /app/deps/prometheus_process_collector/c_src/../priv/prometheus_process_collector.so

Pushed one more commit, I hope this enough for Mac. (essentially enabling headers from freebsd)
What warnings or Alpine?

Down from 6 to 1 error on mac:

just ran on alpine container with a more basic build and it's working perfectly on linux again (from master that is)

Pushed one more time, no need for libutil.h now. Please check out master again.

Tried again and different errors at least:
==> prometheus_process_collector
cc -O3 -std=c99 -arch x86_64 -finline-functions -Wall -Wmissing-prototypes -fPIC -I /usr/local/Cellar/erlang/20.1.2/lib/erlang/erts-9.1.2/include/ -I /usr/local/Cellar/erlang/20.1.2/lib/erlang/lib/erl_interface-3.10/include  -c -o /Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.o /Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:19:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:264:13: error: no member named 'ki_structsize' in 'struct kinfo_proc'
  if (kipp->ki_structsize != sizeof(*kipp))
      ~~~~  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:266:13: error: no member named 'ki_pid' in 'struct kinfo_proc'
  if (kipp->ki_pid != pid)
      ~~~~  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:286:6: warning: implicit declaration of function 'get_process_open_fd_totals' is invalid in C99 [-Wimplicit-function-declaration]
  if(get_process_open_fd_totals(pid, &pids_total)) {
     ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:293:6: warning: implicit declaration of function 'get_process_limit' is invalid in C99 [-Wimplicit-function-declaration]
  if(get_process_limit(pid, RLIMIT_NOFILE, &rlimit)) {
     ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:300:55: error: no member named 'ki_start' in 'struct kinfo_proc'
  prometheus_process_info->start_time_seconds = proc->ki_start.tv_sec;
                                                ~~~~  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:304:57: error: no member named 'ki_start' in 'struct kinfo_proc'
  prometheus_process_info->uptime_seconds = now - proc->ki_start.tv_sec;
                                                  ~~~~  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:306:50: error: no member named 'ki_numthreads' in 'struct kinfo_proc'
  prometheus_process_info->threads_total = proc->ki_numthreads;
                                           ~~~~  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:308:45: error: no member named 'ki_size' in 'struct kinfo_proc'
  prometheus_process_info->vm_bytes = proc->ki_size;
                                      ~~~~  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:310:45: error: no member named 'ki_rssize' in 'struct kinfo_proc'
  prometheus_process_info->rm_bytes = proc->ki_rssize * pagesize();
                                      ~~~~  ^
/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.c:312:32: error: no member named 'ki_rusage' in 'struct kinfo_proc'
  struct rusage rusage = proc->ki_rusage;
                         ~~~~  ^
3 warnings and 8 errors generated.
make[1]: *** [/Users/pfiddes/Projects/apples/deps/prometheus_process_collector/c_src/prometheus_process_collector_backend.o] Error 1
could not compile dependency :prometheus_process_collector, "mix compile" failed. You can recompile this dependency with "mix deps.compile prometheus_process_collector", update it with "mix deps.update prometheus_process_collector" or clean it with "mix deps.clean prometheus_process_collector"
==> apples
** (Mix) Could not compile with "make" (exit status: 2).
Depending on your OS, make sure to follow these instructions:

  * Mac OS X: You need to have gcc and make installed. Try running the
    commands "gcc --version" and / or "make --version". If these programs
    are not installed, you will be prompted to install them.

  * Linux: You need to have gcc and make installed. If you are using
    Ubuntu or any other Debian-based system, install the packages
    "build-essential". Also install "erlang-dev" package if not
    included in your Erlang/OTP version. If you're on Fedora, run
    "dnf group install 'Development Tools'".

Sorry I'm, not much help with C.

Ok, this means more works has to be done for macos support.
I'll post an update on this.

Cool, thanks for the help still 👍  -> a few steps closer.
I'm good with using it in container anyway as all ours end up on linux, Mac support is just helpful for our team's setup.

@hawksight
Should work on master now. Please try!

Hey, so I added this to mix.exs:
{:prometheus_process_collector, git: "git@github.com:deadtrickster/prometheus_process_collector.git", branch: "master", override: true},

But getting this:

Hmm, why prod environment? anyway deleting mix.lock should help...

yer tried that, and all the options in the output.
Ok so changed it back to: `` and everything worked normally (with hex anyway)
So the moment I change to git: {:prometheus_process_collector, git: "https://github.com/deadtrickster/prometheus_process_collector.git"}
mix deps.get outputs:
Dependencies have diverged:
* prometheus_process_collector (https://github.com/deadtrickster/prometheus_process_collector.git)
  the dependency prometheus_process_collector in mix.exs is overriding a child dependency:

  > In mix.exs:
    {:prometheus_process_collector, [env: :prod, git: "https://github.com/deadtrickster/prometheus_process_collector.git", manager: :mix]}

  > In deps/prometheus_plugs/mix.exs:
    {:prometheus_process_collector, "~> 1.1", [env: :prod, hex: "prometheus_process_collector", repo: "hexpm", optional: true]}

  Ensure they match or specify one of the above in your deps and set "override: true"
** (Mix) Can't continue due to errors on dependencies

So I override the dep: {:prometheus_process_collector, git: "https://github.com/deadtrickster/prometheus_process_collector.git", override: true}
mix deps.get works but mix deps.compile or mix test breaks -> the unchecked dependency error. Tried cleaning, compiling, removing locks and still comes back to the same thing.
Does seem weird that is mentioning prod, but when I tried with 1.2.5 hex build it all worked fine.

Kind of guessing here - but when i got into deps/prometheus_process_collector i pulled down the latest deps, then tried to compile the deps and got the following:
➜  prometheus_process_collector git:(caf3876) ✗ mix compile
** (Mix) The task "compile.elixir_make" could not be found. Did you mean "compile.elixir"?

just looking here I can see why elixir_make is commeneted out, it complains about make instalaltion if you bring it in.
Just wondering if the dep is failing to build because of the call to compile.elixir_make?

I pushed 1.3.0 to hex.pm. Please try it. should resolve all mix issues (hex package doesn't have mix.exs at all and treated as plain rebar dependency)

That worked so beautifully I had to screenshot it for you.

And console

Thank you very much, this is awesome, really handy for me!

Huh :-). Please let me know if you find any value is off. I'm still far from being MacOS X expert.
And of course huge thank you (and others of course) for the help.
Finally closing this!

Getting the same issue on the silicon Mac books.
Could you help please:
The on_load function for module prometheus_process_collector returned:
{:error,
{:load_failed,
'Failed to load NIF library: 'dlopen(/_build/dev/lib/prometheus_process_collector/priv/prometheus_process_collector.so, 2): no suitable image found.  Did find:\n\t/_build/dev/lib/prometheus_process_collector/priv/prometheus_process_collector.so: mach-o, but wrong architecture\n\t/_build/dev/lib/prometheus_process_collector/priv/prometheus_process_collector.so: stat() failed with errno=35''}}
Request: GET /metrics
** (exit) an exception was raised:
** (UndefinedFunctionError) function :prometheus_process_collector.collect_mf/2 is undefined (module :prometheus_process_collector is not available)
(prometheus_process_collector 1.6.0) :prometheus_process_collector.collect_mf(:default, #Function<1.18125299/1 in :prometheus_text_format.registry_collect_callback/3>)
(prometheus 4.8.1) src/prometheus_collector.erl:156: :prometheus_collector.collect_mf/3
(prometheus 4.8.1) src/prometheus_registry.erl:86: :prometheus_registry."-collect/2-lc$^0/1-0-"/3
(prometheus 4.8.1) src/prometheus_registry.erl:87: :prometheus_registry.collect/2
(prometheus 4.8.1) src/formats/prometheus_text_format.erl:71: :prometheus_text_format.format/1
(duffel_web 0.0.1) lib/web/plugs/metrics_exporter_plug.ex:2: Duffel.Web.MetricsExporterPlug.scrape_data/1
(duffel_web 0.0.1) lib/web/plugs/metrics_exporter_plug.ex:2: Duffel.Web.MetricsExporterPlug.call/2
(duffel_web 0.0.1) lib/web/endpoints/metrics_endpoint.ex:1: Duffel.Web.MetricsEndpoint.plug_builder_call/2
(duffel_web 0.0.1) lib/web/endpoints/metrics_endpoint.ex:1: Duffel.Web.MetricsEndpoint.call/2
(phoenix 1.6.2) lib/phoenix/endpoint/cowboy2_handler.ex:43: Phoenix.Endpoint.Cowboy2Handler.init/4
(cowboy 2.9.0) /deps/cowboy/src/cowboy_handler.erl:37: :cowboy_handler.execute/2
(cowboy 2.9.0) /deps/cowboy/src/cowboy_stream_h.erl:306: :cowboy_stream_h.execute/3
(cowboy 2.9.0) /deps/cowboy/src/cowboy_stream_h.erl:295: :cowboy_stream_h.request_process/3
(stdlib 3.16.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3


Gift Entry for Single Gifts [NEW]

This is for the new product. Doesn't include template setup.
https://powerofus.force.com/s/article/NPSP-Enter-Gifts-In-Gift-Entry
https://docs.google.com/document/d/1h_xe2gPRdABS8Fh4SwcIr1igKXLjcg353OjcvDOXq0Y/edit

@Billflorio @barbarachristensen I promise that if I don't work on this before, I'll definitely get this written during the Sept sprint!

@barbarachristensen please give<EMAIL_ADDRESS>access to this google doc.

We completed the first draft of this today. I think it's ready for review!

Great!
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: CJ Wilkerson @.>
Sent: Thursday, October 21, 2021 5:15:42 PM
To: SFDO-Community-Sprints/NPSP-Videography @.>
Cc: Bill Florio @.>; Mention @.>
Subject: Re: [SFDO-Community-Sprints/NPSP-Videography] Gift Entry for Single Gifts [NEW] (#75)
We completed the first draft of this today. I think it's ready for review!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/SFDO-Community-Sprints/NPSP-Videography/issues/75#issuecomment-949009011, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACZIISU5L22GAV5PGKOSKBLUIB7HPANCNFSM453RF75A.

@barbarachristensen this looks good. There are a few grammar errors that I couldn't correct as I only had view access, but they'll get sorted during voice recording I'm sure.


MQTT cover component: Retain messages are not working.

Home Assistant release (hass --version):
0.28.2
Python release (python3 --version):
Python 3.4.2
Component/platform:
cover MQTT
Description of problem:
MQTT cover component: Retain messages are not working.
If i click the buttons on the home Assistant front-end it does not produce a retained message. Only send a normal message.
I've tested the switch mqtt component with a similar config and it does send a retained message.
So this must be a bug introduced when component code was migrated from rollershutter to cover.
Expected:
The MQTT messages to be retained
Problem-relevant configuration.yaml entries and steps to reproduce:
1- Create this cover
my config is

cover Blinds:
  - platform: mqtt
    name: "Room 1"
    command_topic: "blinds/control/room1"
    qos: 1
    retain: true
    payload_open: "UP"
    payload_stop: "STOP"
    payload_close: "DOWN"

2- execute mosquitto command to subscibe to all messages
mosquitto_sub -h <IP_ADDRESS> -v -t '#'
3- Click on the cover button (up, down, or stop)
4- The message appears on the mosquitto command, but if we CTRL+C the command and run again. It should appear again because the message was supposed to be retained. And it's not :(
Note: MQTT switch component works fine, so you can follow the behaviour configuring one MQTT switch
Additional info:

I have a fix and will make a PR as soon as tests are written.

Great. Thx Martin

The underlying cause was that the retain key had been duplicated in the voluptuous validation schema, when extending the schema, which is a bug in voluptuous:
https://github.com/alecthomas/voluptuous/issues/219


Intro to DataLad notebook section 6 does not run completely on mybinder

https://www.datalad.org/  links to a mybinder instance running the [Intro to DataLad notebook].(https://github.com/datalad/tutorials/blob/master/notebooks/intro_to_datalad.ipynb)
Section 6 of the notebook does not run completely because:

for the datalad run cell, pandas and other packages are not installed in the mybinder configuration
for the datalad rerun 71cb8c5 cell, I am stuck with the user prompt and cannot enter "yes" to proceed:

[INFO   ] run commit 71cb8c5; (analyze iris data...)
[INFO   ] Making sure inputs are available (this may take some time)
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.ons/s]
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

This is not a big deal, since I can see what was intended, but I am creating an issue for awareness.

for the 1. - filed https://github.com/datalad/datalad-binder/pull/10
for the 2. - filed https://github.com/adswa/myanalysis/pull/12 for @adswa  .

the binder instance has been updated: 65e0d62b78e7e5c988467e1d865f6af3d084dbfc


Remove id from Session message

What does this Pull Request accomplish?

Having both name and id is somewhat confusing
It makes using the session in interactive tools like bloom RPC difficult, since oneof is a little complex to use.

I don't think ID should ever be used.  There are a lot of advantages to keeping the data on the wire "time invariant" or independent on server state.  For example, we are trying to do batching to improve throughput when doing "cloud-based measurements" as part of various LTIs and hopefully products.
Even if we remove id we can still maintain the current behavior by generating a name if the client does not specify. Clients who use name should not need to make any changes to their code. The wire format does not break for clients who use name, so we don't even need to require clients change. The wire format does not really break for clients that use id since they can't set it and our server will stop setting it. Clients who use id should be treating Session as an opaque structure since there is nothing they can do with name.
Why should this Pull Request be merged?
General improvement to grpc-device.
What testing has been done?
Existing test suite updated.

This change is not quite ready for review.  I wanted to get the builds running and test suite running to see where things are at.

Ready for review.

It looks (to me) like all of the examples are OK. Either way, there should be a release task to run all the examples, especially with some major changes this release. This is something that mypy should catch, so another case for expanding which drivers pass mypy so we can validate_examples on them on the CI.
Nothing needed for this PR. @reckenro can you see if there's a good place to track that release task?

Yeah, I'm starting an email thread with our PO (Harsha) for where to track this among other tasks with the next release. I'm guessing it'll become a sustaining item in our backlog but whatever the case I'll capture this along with that Release related work.


Add multi threading support for downloading files

Feature request Checklist

[x] I have searched for a similar issue in the project and found none

Feature request
Multi-threaded downloads are always good for a better downloading experience.

see https://github.com/flutterchina/dio/issues/1323


vested DOT paid to Polkadot, not AssetHub

Cleaning up the template after legal seems to only be able to pay vested DOT to Polkadot native addresses in order for the funds to remain eligible for staking.
Line 17 should also somehow include that it's necessary to list a Polkadot address in the application. Suggestions welcome :)

@PieWol is this (DOT vesting) implemented on the relay chain? If yes, LGMT, but IDK the technicalities here.

is this (DOT vesting) implemented on the relay chain? If yes, LGMT, but IDK the technicalities here.

Yes. I thought we could transfer the DOT on AssetHub, but you can't vest on AssetHub.


Sc/converters coupling

Interface coupling through converter functions. This feature extends the already existing coupling functionality by allowing the user to write converter functions. Those convert values from one system to the other and vice versa. Those converted values are then used as Dirichlet boundary condition of the system. This makes it possible to couple systems that do not share variables, but offer the option of converting variables, like Vlasov and MHD.
Nota Bene:
Currently the coordinate values on the nodes can differ by machine precision when simulating the mesh and when splitting the mesh in multiple domains. This is an issue coming from the coordinate interpolation on the nodes. As a result, running a simulation in a single system and in two coupled domains may result in a difference of the order of the machine precision. While this is not an issue for most practical problems, it is best to keep this in mind when comparing test runs.

Does this get some docs?

Yes. It just got some documentation.

Here are a few test elixir to reproduce the binary differences between the plain and coupled simulations. The source for the differences is a machine precision error in the calculation of the coordinates. The file compare_binary.jl can be adapted to fit the needs. It computes the plain and the coupled simulations and compares the result.
binary_test_coupled.zip

This PR has a few spurious memory allocations that need to be fixed. Running the example elixir examples/structured_2d_dgsem/advection_coupled.jl the memory allocation test returns:
julia> t = sol.t[end]; u_ode = sol.u[end]; du_ode = similar(u_ode); @allocated Trixi.rhs!(du_ode, u_ode, semi, t)
25056

A few places have been identified that cause memory allocation in semidiscretization_coupled.jl:

foreach(index -> call_rhs!(u_ode, du_ode, index, t, semi), eachsystem(semi)) in rhs!.
mesh, equations, solver, cache = mesh_equations_solver_cache(semi.semis[other_semi_index]) in copy_to_coupled_boundary!.
The loop for cell in cells in copy_to_coupled_boundary!.
The loop for element_id in eachnode(solver) in  copy_to_coupled_boundary!.

This PR has a few spurious memory allocations that need to be fixed. Running the example elixir examples/structured_2d_dgsem/advection_coupled.jl the memory allocation test returns:
julia> t = sol.t[end]; u_ode = sol.u[end]; du_ode = similar(u_ode); @allocated Trixi.rhs!(du_ode, u_ode, semi, t)
25056

A few places have been identified that cause memory allocation in semidiscretization_coupled.jl:
1. `foreach(index -> call_rhs!(u_ode, du_ode, index, t, semi), eachsystem(semi))` in `rhs!`.

2. `mesh, equations, solver, cache = mesh_equations_solver_cache(semi.semis[other_semi_index])` in `copy_to_coupled_boundary!`.

3. The loop `for cell in cells` in `copy_to_coupled_boundary!`.

4. The loop `for element_id in eachnode(solver)` in  `copy_to_coupled_boundary!`.

This old memory bug has been fixed. There are now spurious memory allocations now.

@ranocha @efaulhaber Would you like to review this again or are you ok with the responses to your previous reviews?

I guess I'm okay.

I don't know whether I chekced everything since that has been quite some time ago. We can merge this if you think it's fine, @sloede - there is no need for me to review it from my point of view if you're satisfied


Test triggering packit command without config file

Triggering packit command without config file should cause feedback to user that he is doing bad things.

\packit build

/packit build

/packit build

No config file found in packit/hello-world on ref '0eb6b2b578c2d6d9be87f9a022eba1a9bcb74dca'

@nikromen I am just thinking about the formatting to make it clickable like this: 0eb6b2b578c2d6d9be87f9a022eba1a9bcb74dca
And maybe mention commit since that's what it is, or can this be something else like a branch name? WDYT?

I am just thinking about the formatting to make it clickable like this: 0eb6b2b578c2d6d9be87f9a022eba1a9bcb74dca

@lachmanfrantisek  this is a good idea - it looks much cleaner.

And maybe mention commit since that's what it is, or can this be something else like a branch name?

I am not sure what you exactly think. I think mentioning exact clickable commit is descriptive enough because we give this particular message to user only when they don't have config file in their repo. So I think if message is something is missing they will know. But I am thinking whether users will know what is missing. It may be better to give them example what is missing (packit.yaml)
So the error message may look like this:
No config file for packit (e.g. packit.yaml) found in packit/hello-world on ref 0eb6b2b578c2d6d9be87f9a022eba1a9bcb74dca
But we need to get rid of displaying this exception as raw text to make it in this case clickable so that means other exceptions won't be displayed as raw text too and I am not sure if this is what we want to do in the other cases when something bad with config file happens

But we need to get rid of displaying this exception as raw text to make it in this case clickable so that means other exceptions won't be displayed as raw text too and I am not sure if this is what we want to do in the other cases when something bad with config file happens

Can we differentiate between bad config and missing config?

So the error message may look like this:
No config file for packit (e.g. packit.yaml) found in packit/hello-world on ref 0eb6b2b

Looks good. I was just not sure about ref if commit isn't better....

Can we differentiate between bad config and missing config?

I think we can... at least it should be easy to do so.

Looks good. I was just not sure about ref if commit isn't better....

Aha, yes this sounds better. I can create an issue (to not forget :D) and will do it later (next Friday I guess) since this will be probably easy to do.

/packit build

/packit build

/packit build

/packit rebuild-failed


fix(material): ambient light is not working with diffuse

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix
What is the current behavior? (You can also link to an open issue here)
With ambient light whose color is rgb(255, 255, 255) and intensity is 1.0, material diffuse color is rgba(126, 115, 212, 255):

What is the new behavior (if this is a feature change)?
With the same properties, the result is:

This is not a bug, it looks white because the color value is saturated


Update PDF Generator standard template

Intro
There's a project run by ADSP, PDF Generator. It uses templates to describe the visual layout of each PDF generated using the service. These templates are customizable but are not starting from a good place. Our job is to modify these templates so they start from our design.
Finalized PDF template Figma design
Acceptance Criteria:

This is the repo you need to work in.
The templates are located here
Set them up to match the design we're given
The templates currently feature heavy documentation, which is there to help others use these templates. Maintain this level of documentation when making your changes, this is important.

Notes
Test that our components can work as is in the templates
Final Steps

Once work is done, submit a PR and let me and @chrisolsen know that it exists.

Moving to Blocked status. This is being followed up by the ADSP team and can be checked here

Follow-up story for this in design


Changed Button

Solves issue #227
Changed the inpur bar to this:

From this:

Please check this and let me know if this needs any change.

@nksmanya Let us review it then you will be informed.

@nksmanya there are some conflicts, please do resolve them and commit your changes again


Fix text preset default values

Summary
Improves default values for text presets, particularly font size, line height and font weight.
Relevant Technical Choices
Cleans up text presets a little bit to add stricter prop type checking and help separate preset data and element data.
To-do

User-facing changes

Changes minimum font size for text presets to 1.2em / roughly 16px.

Fixes a bug where the subheading preset did have an invalid font weight of 600, whereas Roboto only supports 500 or 700, nothing in-between

Testing Instructions

Insert new text elements from the text presets, including the "quick action" via the ➕ icon in the tab.
Verify that "body text" and the element added via "quick action" show a font size of 16 and a line  height of 1.5.
Verify  that the "subheading" element shows "Medium" for the font weight instead of "Multiple"

Fixes #2665

Also fixes #2041, right?

Also fixes #2041, right?

Indeed it does! Didn't realize there was a ticket for that.


Show SCXML parse errors in a Problems panel

Hand-editing XML can easily produce invalid markup. We know about this markup and log to the debug console in a stream of errors.
Instead, we should show errors in the Problems panel, and clear those errors when complete.

https://stackoverflow.com/a/38308063/405017
https://code.visualstudio.com/api/references/vscode-api#DiagnosticCollection


Support additional functional impact columns in Genome Nexus

Add sift/polyphen output to transcript consequence summary.
Signed-off-by: Angelica Ochoa<EMAIL_ADDRESS>

Related PR for java api client: https://github.com/genome-nexus/genome-nexus-java-api-client/pull/8

One issue I see is that there is a failing unit test (maybe integration?)
Please check nnotationIntegrationTest.testGenomicLocationSNVPOST and see if the expected output has changed @ao508

thanks! I will look into the failing integration test


fs/filepreview: reuse component

This is a follow-up PR to https://github.com/keybase/client/pull/11661
I'm realizing pure() isn't actually needed; just need to reuse the component. Also it seems in latest master, the pure way isn't working (not sure why!). But this works.

Ah nvm I think this will need a refactor for the mime type change. Sorry!


Merge with Main + update on resource-request based on review feedback

After this merge we should be ready for a PR against Main (don't forget to apply a hold on that PR what it is created!).

/cc @chenz4027


dataset_versioning

when I run modern-data-warehouse-dataops/e2e_samples/dataset_versioning/infra$ ./setup.sh
with input:
Enter value: rg-terraformzxb stterraformzxb kv-terraformzxb eastus2
Creating 'rg-terraformzxb' resource group.
Creating 'stterraformzxb' storage account.
Creating 'kv-terraformzxb' keyvault.
Storing tf state storage key to keyvault.
Creating service principal scoped to 'rg-terraformzxb' resource group.
/resourceGroups/rg-terraformzxb'role assignment under scope '/subscriptions/37964c62-4257-45db-a9dc-92b15e36d97d
WARNING:   Role assignment creation failed.
' not found. Check the spelling and casing and try again.
how to fix this?

Closing as this sample is now archived


Add docs section "When to use it"

The section should give information to

In which circumstances is tailwind-merge a good choice (e.g. small teams, fast development velocity needed, lots of freedom in development possible, design systems)
In which circumstances is tailwind-merge a bad choice (e.g. big teams with lots of inexperienced devs, when API surface needs to be contained, when bundle size needs to be small)
Alternatives to using tailwind-merge (e.g. using Tailwind's important modifier, simpler props like paddingClasses)

Context for when not to use it: https://github.com/tailwindlabs/tailwindcss/discussions/1446#discussioncomment-5559261

Personally I've always treated this problem as a sign that the component has opinions baked into it that should be external, or that there is a subcomponent to extract that can have less opinions. It's definitely possible I just haven't run into a super compelling motivating problem though.

Also a lot of good pro and contra arguments in replies to this Tweet: https://twitter.com/dan_abramov/status/1550479848476483585

More context – Devs dealing with overrides in Tailwind CSS: https://github.com/tailwindlabs/tailwindcss/discussions/8462

Good addition to add to docs: https://twitter.com/simonswiss/status/1663721037949984768


Update sideEffectFlow collection recommendations

Thanks for the report @mochadwi.
launchWhenX methods in Android drop events received when the lifecycle suspends the collecting coroutine and then it gets destroyed over a configuration change. Thread. This is a corner case, but could lead to some potentially important events being dropped.
There's nothing we can do in core Orbit to prevent it. We need to update our samples and documentation to use new Google APIs that do not suffer from this problem as per this article.

@Rosomack do we have a preferred implementation?
The options are either, 1:
lifecycleScope.launch {
    lifecycle.repeatOnLifecycle(Lifecycle.State.RESUMED) {
        viewModel.container.sideEffectFlow.collect { handleSideEffect(it) }
    }
}

or 2:
lifecycleScope.launch {
    viewModel.container.sideEffectFlow.flowWithLifecycle(this, Lifecycle.State.STARTED).collect { handleSideEffect(it) }
}

I personally prefer 2. It's worth noting that it is recommended to use flowWithLifecycle with Jetpack Compose.

Yeah agreed, 2 seems nicer.

I would prefer this implementation:
viewModel.container.sideEffectFlow
                                .flowWithLifecycle(lifecycle)
                                .onEach { handleEffect(it)}
                                .launchIn(lifecycleScope)


Enable building AviSynth+ plugin on non-Windows

Possible to-do: hook in pkgconfig so that autotools won't fail if only one of either VapourSynth or AviSynth+ is present.

Thank you for this contribution!
Would you mind including avisynth.h and the content of the src/avs subfolder in Makefile.am too?

Done.

Thanks!


Runtimewarning: division by zero in SoftImpute

https://github.com/iskandr/fancyimpute/blob/ac23bebf341718e0ea276a2bf20d1b30ac7a1e99/fancyimpute/soft_impute.py#L99-L100
If old_missing_values is an array of zeros, a RuntimeWarning: division by zero is raised. This always happens at the first iteration when init_fill_method="zero" which is the default value.

Thanks for the report.
@iskandr this looks fairly benign?

This will be fixed in #76.


[PDI-10678] Checkpoints in Sub-Jobs to be respected

:white_check_mark: Build finished in 28m 35s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3822, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

:x: Build failed in 40m 49s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:no_entry: Failed Tests
:cloud_with_lightning_and_rain: 3 test(s) failed:
TEST-org.pentaho.di.trans.step.mqtt.MQTTClientBuilderTest.xml.[empty] (click to expand)

TEST-org.pentaho.di.trans.step.mqtt.MQTTConsumerTest.xml.[empty] (click to expand)

TEST-org.pentaho.di.trans.step.mqtt.MQTTStreamSourceTest.xml.[empty] (click to expand)

Tests run: 3806, Failures: 3, Skipped: 7    Test Results

Errors:
Filtered log (click to expand)

script returned exit code -2

:information_source:  This is an automatic message

:white_check_mark: Build finished in 29m 22s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3822, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


variable value not provided

You used the variable $ctx for the storage context but did not provide/declare the variable with the value.

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

ID: b04a28c3-81d7-123d-5b16-6642636c07a8
Version Independent ID: 2179498b-00e8-1c9d-bd11-4a903ae3ad52
Content: Azure Quickstart - Create a blob in object storage using Azure PowerShell
Content Source: articles/storage/blobs/storage-quickstart-blobs-powershell.md
Service: storage
GitHub Login: @roygara
Microsoft Alias: rogarana

Indeed, they are missing this command:
$ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $Key

Thanks.

@thomaslp86, Thank you for reporting this issue, we will get this document updated as appropriately. @xXxOlivierxXx, Thank you for sharing the command that worked for you.


Response manipulation

Hi,
I'm having troubles following this documentation:
https://www.krakend.io/docs/endpoints/response-manipulation/
https://www.krakend.io/docs/backends/data-manipulation/
I'm trying to aggregate a response from two backends from different api's. I can use all documented attributes (e.g. blacklist, whitelist, group...) but the complete response only comes the first time I request it or, sometimes, some requests later. In most cases I receive the response from one api and the other times the one from the other api.
I tried it many ways. I removed all cache and timeout definitions, reduced my configurations, etc. I don't know what more can I try.
Can someone help me?
Thanks in advance.

hi @gerardoman and welcome to the KrakenD community.
in order to get a better idea of what your problem could be, can you share the configuration of the endpoint?
Also, what are the backend logs saying?

Hi,
These are the configurations I'm using:
{
"version":2,
"name":"gateway",
"port":"8090",
"host":[
"http://localhost:8080",
"http://localhost:8088",
],
"extra_config":{
"github_com/devopsfaith/krakend-cors":{
"allow_origins":[],
"allow_methods":[
"GET",
"HEAD",
"POST",
"PUT",
"DELETE",
"CONNECT",
"OPTIONS",
"TRACE",
"PATCH"
],
"allow_headers":[
"Origin",
"Authorization",
"Content-Type",
"Access-Control-Allow-Origin",
"Locale",
"Accept",
"X-Requested-With",
"Cache-Control",
"Postman-Token",
"X-Tenant",
"X-User-Id",
"X-Correlation-Id",
"X-Lang"
],
"allow_credentials":true,
"max_age":"1s",
"expose_headers":[
"Origin",
"Authorization",
"Content-Type",
"Access-Control-Allow-Origin",
"Locale",
"Accept",
"X-Requested-With",
"Cache-Control",
"Postman-Token",
"X-Tenant",
"X-User-Id",
"X-Correlation-Id"
]
}
},
"endpoints":[
{
"method": "GET",
"endpoint": "/api/v1/labels/{id}",
"headers_to_pass": [
"X-Tenant",
"X-User-Id",
"X-Correlation-Id"
],
"backend": [
{
"url_pattern": "/api/v1/labels/{id}",
"encoding": "json",
"host": [
"http://localhost:8088"
]
},
{
"url_pattern": "/api/v3/users/46036d05-8602-48b8-9283-4f45c92cbfca",
"encoding": "json",
"blacklist": [
"id",
"name"
],
"host": [
"http://localhost:8080"
],
"group": "user"
}
],
"extra_config": {
"github.com/devopsfaith/krakend-jose/validator": {
"alg": "HS256",
"jwk-url": "http://localhost:8080/jwk",
"disable_jwk_security": true
}
}
},
{
"method": "GET",
"endpoint": "/api/v3/users/{id}",
"headers_to_pass": [
"X-Tenant",
"X-User-Id",
"X-Correlation-Id",
"X-Lang"
],
"backend": [
{
"host": "http://localhost:8080",
"url_pattern": "/api/v3/users/{id}"
}
],
"extra_config": {
"github.com/devopsfaith/krakend-jose/validator": {
"alg": "HS256",
"jwk-url": "http://localhost:8080/jwk",
"disable_jwk_security": true
}
}
}
]
}
The backends are implemented in RxJava using Vert.X framework. When making requests without aggregation response they work properly. When trying to apply this configurations at certain point "Response is closed" for one of the backends. It doesn't follow a pattern, I mean, sometimes both works, sometimes the label's one is closed and sometimes the user's one is closed.

try to add the logger at debug level (https://github.com/devopsfaith/krakend-playground/blob/master/krakend/krakend.json#L10-L15) and increase the global timeout "timeout": "10s". It should help you debugging the issue

Applying your suggestions the logs return for all endpoints:
[KRAKEND] 2019/09/02 - 17:18:49.050 ▶ ERROR JOSE: no signer config /api/v1/labels/:id
However when making a request it never returned the complete response with information from both backends. Sometimes got response from labels and the other times response from users.
When making requests the logs does not seem to identify problems:
[GIN] 2019/09/02 - 17:20:27 | 200 |   23.068195ms |             ::1 | GET      /api/v1/labels/c3d76508-bb0c-4e7c-958a-d2888bba59e1

@gerardoman I'm pretty sure it must be something related with the communication between the gateway and the backends. I've changed a little bit your config in order to consume 2 mocked endpoints and it works like a charm. Please, take a look:
{
	"version": 2,
	"name": "gateway",
	"port": "8090",
	"host": ["http://www.mocky.io"],
	"extra_config": {
		"github_com/devopsfaith/krakend-gologging": {
			"level": "DEBUG",
			"prefix": "[KRAKEND]",
			"syslog": false,
			"stdout": true
		}
	},
	"endpoints": [{
		"endpoint": "/api/v1/labels/{id}",
		"headers_to_pass": [
			"X-Tenant",
			"X-User-Id",
			"X-Correlation-Id"
		],
		"backend": [{
				"url_pattern": "/v2/5d779f343200005b00923f36?id={id}"
			},
			{
				"url_pattern": "/v2/5d779eee3200005200923f33?id={id}",
				"blacklist": [
					"id",
					"name"
				],
				"group": "user"
			}
		]
	}]
}

calling the exposed endpoint, you'll get the composed response:
$ curl -i localhost:8090/api/v1/labels/1
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Vary: Origin
X-Krakend: Version 0.10.0-dev
X-Krakend-Completed: true
Date: Tue, 10 Sep 2019 13:06:29 GMT
Content-Length: 110

{"bar":42,"foo":true,"id":"label12345","name":"label","user":{"bar":42,"email":"user@example.tld","foo":true}}

can you make 2 direct calls to your backends using just cURL and paste the response here? with that info, we'll be able to move forward with the troubleshooting

I made 3 cURL requests:
1st: request to label.
curl -H 'Accept: application/json' -H "X-Tenant: i2s" localhst:8088/api/v1/labels/c3d76508-bb0c-4e7c-958a-d2888bba59e1

{
  "id" : "c3d76508-bb0c-4e7c-958a-d2888bba59e1",
  "id_trans" : "1d88ce47-40e8-4505-a5e6-8404429f578b",
  "id_lang" : "en_gb",
  "name" : "name",
  "definitions" : [ ]
}

2nd: request to user.
curl -H 'Accept: application/json' -H "X-Tenant: i2s" localhst:8080/api/v3/users/46036d05-8602-48b8-9283-4f45c92cbfca

{
  "id" : "46036d05-8602-48b8-9283-4f45c92cbfca",
  "id_status_type" : "active",
  "name" : "name",
  "email"<EMAIL_ADDRESS>  "profile" : {
    "id_lang" : "en_gb"
  }
}

3rd: request through gateway. Expected an aggregate response from both backends
curl -H 'Accept: application/json' -H "Authorization: Bearer _token_" localhost:8090/api/v1/labels/c3d76508-bb0c-4e7c-958a-d2888bba59e1

{
  "id" : "46036d05-8602-48b8-9283-4f45c92cbfca",
  "id_status_type" : "active",
  "name" : "name",
  "email"<EMAIL_ADDRESS>  "profile" : {
    "id_lang" : "en_gb"
  }
}

4th: another request through gateway. Expected an aggregate response from both backends
curl -H 'Accept: application/json' -H "Authorization: Bearer _token_" localhost:8090/api/v1/labels/c3d76508-bb0c-4e7c-958a-d2888bba59e1

{
  "id" : "c3d76508-bb0c-4e7c-958a-d2888bba59e1",
  "id_trans" : "1d88ce47-40e8-4505-a5e6-8404429f578b",
  "id_lang" : "en_gb",
  "name" : "name",
  "definitions" : [ ]
}

5th: last try requesting through gateway. Expected an aggregate response from both backends
curl -H 'Accept: application/json' -H "Authorization: Bearer _token_" localhost:8090/api/v1/labels/c3d76508-bb0c-4e7c-958a-d2888bba59e1

{
  "id" : "c3d76508-bb0c-4e7c-958a-d2888bba59e1",
  "id_trans" : "1d88ce47-40e8-4505-a5e6-8404429f578b",
  "id_lang" : "en_gb",
  "name" : "name",
  "definitions" : [ ]
}

I have spoken with @gerardoman on Slack.

Now it’s working through cURL, but it’s not working on my Postman although it’s working fine on my colleague’s Postman. I’ll try to figure it out what’s happening with my Postman. I guess it’s not related to Krakend so for now I can consider my issue solved

I'm closing this.
Please, reopen it if the issue re-emerges


securitySchemes property "in" should be required

According to the specifications the property "in" of a security scheme object should be required https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#securitySchemeObject but speccy fails if it is present for scheme: Bearer.
Detailed description
The following example is valid but fails with
Specification schema is invalid.

#/components/securitySchemes/Bearer
expected Object { type: 'http', scheme: 'bearer', bearerFormat: 'JWT', in: 'header' } not to have property in (false negative fail)

openapi: 3.0.2
info:
  title: aa
  description: bb
  contact: {email<EMAIL_ADDRESS>  version: 1.0.0

tags: [{name: a}]

security:
  - Bearer: []

paths: {}

components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      in: header

Your environment
Include as many relevant details about the environment you experienced the bug in and how to reproduce it.

Node Version: v8.16.0
Operating system and version: macos 10.15.6
speccy version: 0.11.0

Invalid: looks like "in" applies only to apiKey


error: Element ref was specified as a string (wrapped) but no owner was set.

If adding react-semantic-redux-form to existing node_modules,
it is working well,
but if you remove the node_modules folder and re-install it,
the following error occurs

this is my package.json
and I'm using create-react-app CLI

{
"name": "redux_form_practice",
"version": "0.1.0",
"private": true,
"dependencies": {
"axios": "^0.16.2",
"lodash": "^4.17.4",
"react": "^16.0.0",
"react-dom": "^16.0.0",
"react-redux": "^5.0.6",
"react-router-dom": "4.2.2",
"react-scripts": "1.0.14",
"react-semantic-redux-form": "^1.1.6",
"redux": "^3.7.2",
"redux-form": "^7.0.4",
"redux-promise": "^0.5.3",
"redux-thunk": "^2.2.0",
"semantic-ui-react": "^0.74.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"devDependencies": {
"@types/react": "^16.0.7",
"babel-preset-react": "^6.24.1",
"redux-devtools-extension": "^2.13.2"
}
}

I have created one sample app with create-react-app CLI and followed as specified. But not able to reproduce error. Please check once more the bug in this package or other. I will try to add examples also.

I am closing this for now. If issue is not resolved please reopen it.


Fix: add LLMContextPrecisionWithReference to init.py

To use LLMContextPrecisionWithReference metric from user program, add "LLMContextPrecisionWithReference" to init.py in metrics directory.

thanks a lot for the PR @licux ❤ 🙂


[Recreational Distractions][wrong button title/page title]

Recreational Distractions
should be Recreational Activities
What We Should Do to Fix it

[x] change button title to Recreational Activities
[x] change page title to Recreational Activities

yes


Jira Data center support

I see https://github.com/atlassian/github-for-jira/issues/547 was closed because it was about server support.
We use Jira data center and it would be nice if we could use this instead especially since it talks about that connector being end of life after server ends? https://github.com/atlassian/github-for-jira/issues/547#issuecomment-883875974

Hi Timja,
this app only support Jira Cloud as it's built on top of a Cloud-only integration framework.
Did you reach out to Atlassian support for options on how to integrate GH Cloud with Jira server/DC? The mechanism for server/DC is much better suited for cross-firewall communication.
Cheers,
Christian

We have it integrated but it often gets rate limited with the 5000 requests per hour that the OAuth app gets


Error unzipping simplelocalize.zip

I'm receiving this error when I run the curl command below. It looks like the hosted zip file is corrupt? Is anyone else seeing this problem?
➜ curl -s https://get.simplelocalize.io | bash
--> Fetching CLI from https://github.com/simplelocalize/simplelocalize-cli/releases/download/0.5.1/simplelocalize-cli-macos.zip
--> Extracting archive
[/Users/me/.simplelocalize/simplelocalize.zip]
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of /Users/me/.simplelocalize/simplelocalize.zip or
        /Users/me/.simplelocalize/simplelocalize.zip.zip, and cannot find /Users/me/.simplelocalize/simplelocalize.zip.ZIP, period.

I also got this error but it works anyway.
I have unzip installed
mike@macbook:~ $ unzip --help
UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
  Default action is to extract files in list, except those in xlist, to exdir;
  file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).

  -p  extract files to pipe, no messages     -l  list files (short format)
  -f  freshen existing files, create none    -t  test compressed archive data
  -u  update files, create if necessary      -z  display archive comment only
  -v  list verbosely/show version info       -T  timestamp archive to latest
  -x  exclude files that follow (in xlist)   -d  extract files into exdir
modifiers:
  -n  never overwrite existing files         -q  quiet mode (-qq => quieter)
  -o  overwrite files WITHOUT prompting      -a  auto-convert any text files
  -j  junk paths (do not make directories)   -aa treat ALL files as text
  -C  match filenames case-insensitively     -L  make (some) names lowercase
  -X  restore UID/GID info                   -V  retain VMS version numbers
  -K  keep setuid/setgid/tacky permissions   -M  pipe through "more" pager
See "unzip -hh" or unzip.txt for more help.  Examples:
  unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
  unzip -p foo | more  => send contents of foo.zip via pipe into program more
  unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer

@mykong89 Thank guys, I'm on it!

Fix is on production. No changes are needed on your side! 💯
I also released version 0.5.3 which includes latest changes.
https://github.com/simplelocalize/simplelocalize-cli/releases/tag/0.5.3


remove codecov, add Python 3.9 testing to GitHub Actions

Overview
Adds Python 3.9 testing.
Related Issue / Discussion
Additional Information
Contributions and Licensing
(as per https://github.com/geopython/pycsw/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I'd like to contribute [feature X|bugfix Y|docs|something else] to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
[x] I have already previously agreed to the pycsw Contributions and Licensing Guidelines

cc @bnavigator


PLEASE add a built-in updater

Can we please get a built-in updater added to Brackets? Very tedious having to go to the website and install manually every time a new update is added.

:+1: I also wondered if this was done by design ? Atleast the minor version upgrades can be built-in ?

It was not mostly done as auto-update was not designed :see_no_evil:
+1 for auto updates.
Marking as needs review.

@abose could you please explain what is the intent of needs review label ?

issues tagged as needs review are brought up in planning meetings to get opinions from the core team. This is usually done when the feature requires significant engineering effort to do/ high impact changes/conflicts with existing feature/infrastructure in place.
This ticks all of them i guess ;)

@abose any updates regarding this issue? Been over a year.


Added ability to specify additional size for hierarchical parents

First attempt to make the parents reflect their own size in addition to the size of their children. This is in response to issue #2247 and #1686. This is the same issue I faced as well. I had the additional problem where I could not drag and drop a circle into a parent with a single child since it was the same size.

This is great - hope to see it merged soon.

Meanwhile, @mbostock has an example of creating padding with dummy nodes

Thanks for that example, Matt! I had not found that one.

It's not a great workaround honestly... the padding is only on one side and the resulting size can be difficult to predict.

Moving to d3/d3-hierarchy#9. I feel like padding (d3/d3-hierarchy#7) is a better solution than internal node value, given the issues with trying to show internal node value meaningfully.

This might seem a stupid question, but how can I currently force the partition layout, based on hiearchy as well, to use size for the parent nodes, without switching to d3-layout? The padding should be doable and is probably the only option for a sunburst, right?


Write demo output to the UI

Right now the demo writes capo.js results to the console. It's not totally natural to be using the demo web page and have to open DevTools to see the output so I think it'd be nicer if the results appeared in the page itself in a sort of emulated console UI.
One of the biggest challenges will be rendering HTML elements. Things like expand/collapse and syntax highlighting are free in DevTools but non-trivial to reimplement.
Maybe a tradeoff is to only print the color bars with tooltips, similar to the extension popup.

Design note: don't get XSS'd


Add missing model annotations

@viliru Thanks.

I think we can close it has been resolved.

@mod Yes, it was resolved by different PR.


Replace colors with @colors/colors

I was running into this documented issue with colors when trying to run this tool: https://github.com/tnicola/cypress-parallel/issues/165.
This migrates the repo away from colors (which has some documented issues) and onto a potentially more stable alternative.

All set @tnicola - I dropped that file in the new commit.

Thanks!The change is landed in v 0.13.0 🚀


Adding samples to demonstrate listing images and pagination

Listing all images available for a particular project ID, then separately a sample to organise the output into manageable pages

@EshaantheMelon before merging please fix linter errors: https://source.cloud.google.com/results/invocations/52422151-b5e0-484a-a8a2-7fa2eb99c5c9/log


[Question]: Is generated_plugin_registrant.dart necessary for web for device_info_plus and package_info_plus?

What is your question?
Hey,
After upgrading device_info_plus and package_info_plus to latest versions,
the generated_plugin_registrant.dart file does not generate the PackageInfoPlugin.registerWith(registrar); and DeviceInfoPlusPlugin.registerWith(registrar); lines anymore (It used to generate those lines, so after upgrading I had this error
Undefined name 'PackageInfoPlugin'.
Try correcting the name to one that is defined, or defining the name

Is this the right behaviour?
Thanks.
Checklist before submitting a question

[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I am using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

Looks related to https://github.com/fluttercommunity/plus_plugins/issues/1270

Please check if with the latest release of the package(s) still happens

Hey @miquelbeltran,
Still won't generate for me.
I think this line is the culprit
https://github.com/fluttercommunity/plus_plugins/blob/37abbf7b05a32bc1e7b440c19540b277e301fe5a/packages/device_info_plus/device_info_plus/lib/device_info_plus.dart#L26
If I try to write DeviceInfoPlusWebPlugin manually inside the generated_plugin_registrant file, it won't recognize this class.

Same for PackageInfo.

mhh, so adding the export for the web plugin implementation causes the generated_plugin_registrant not to work properly? If you can checkout the project locally, reference by path, and then find what causes it, it will be super helpful (also feel free to submit a PR if you find the solution).

Is the file web_plugin_registrant the same as generated_plugin_registrant?
I can't find it in my project at all..
I tried deleting the generated_plugin_registrant file and it didn't even regenerate itself.

It is in  .dart_tool/dartpad/web_plugin_registrant.dart it appears for me when running the project

Found it! And it does generate correctly for all packages.
So what is the generated_plugin_registrant file that was in my project? Is it not relevant anymore?

I remember that the generated_plugin_registrant.dart is generated when running on web, but I guess this was changed eventually.
Do you still have problems running the project on web with the latest release?

Nope, all good.
Thanks.

Wait, that whole file generated_plugin_registrant.dart in my app's lib folder is not needed any more?

Hello, PackageInfoPlugin and  that whole file generated_plugin_registrant.dart in my app's lib folder is not needed any more?

I have two files generated_plugin_registrant.cc and generated_plugins.cmake in both windows and linux folders when I build my project for the web. And they keep showing under git changes. How do I stop these files from regenerating?


Create an image with a common toolset that can be used across jobs

Our helm charts use quite a few Kube jobs/cronjobs.  There is no consistency in the image used when the jobs use the same tools (curl, jq, etc).  This is creating tech debit across the charts.
This issue is to create a common image with the tools needed to be used in all those jobs.

I completely agree. Some of the scripts we use are also a large mix of bash and jq and oc templating that makes it hard to read.
We should consider small python scripts to ease this pain point.

We took different approach with the script(s) to install some of the common tools inside python virtual environment that is used for the development and as a base for CI systems.
We do pin some of the python dependencies, we do pin some of the executables, however not all of them should stay on the same version as having newer allows us to hit potential problems earlier.
I am closing this issue, because image is not required at this stage and we do have other approach, documented at:
https://pelorus.readthedocs.io/en/latest/Development/#dev-environment-setup


Which Layer's Output are used for Contrastive Training

Hello,as mentioned in Readme.md, "The basic idea is to add an [EOS] token in the end of the sequence". And in paper it takes the last layer vector representation of the last token. I'm confused that which layer's output is used? Last layer of encoder of LLM or the last layer of whole LLM which means last layer of decoder?
In the figure,it seems like it takes the decoder's last layer of the LLM to get the [EOS] token vector.
Thanks for your answer～

Sorry for the confusion. The readme is outdated. It should be the representation of the last token instead of EOS. It's using the last layer of the decoder. Phi-3 is a decoder only model, so there is no encoder at all.

Sorry for the confusion. The readme is outdated. It should be the representation of the last token instead of EOS. It's using the last layer of the decoder. Phi-3 is a decoder only model, so there is no encoder at all.

Thank you very much for your answer. I have another question: have you conducted comparative experiments on using large language models directly for SFT fine-tuning versus using embeddings specifically for different downstream tasks, especially classification tasks? If so, what were the results?

Hi there, LLM cannot do the retrieval tasks. Yes, the classification tasks are doable, but accuracy is relatively lower than embedding model.

accuracy is relatively lower than embedding model.

Sorry for the misunderstanding. Assuming that we focus only on classification tasks, the final conclusion is: "The accuracy of LLM in direct generative classification is relatively lower than that of the embedding model(VLM2Vec)." Has this conclusion been validated by the VLM2Vec framework? I am currently exploring the classification capabilities of LLM fine-tuning in a specific scenario. If the above conclusion has been validated, I think I should shift my approach to using VLM2Vec rather than the generative method.

Okay, I have a general understanding of the specific situation. I will verify this in my task. Thank you very much for your interpretation and response. Your reply has been very helpful to me.


Images with Tags I.e. not the "latest" are updated frequently

Some of the 0.7 images (I.e. coffea-base-almalinux8
) and coffea 2024 images (I.e. coffea-dask-almalinux8) have their package versions updated at the same frequency as the latest images. It causes issues with analysis pipelines and with the EAF, maybe there should be a latest-2024-py3.x tag and a latest-0.7.22-py3.x tag to avoid this in the future. It is hard to have a stable pipeline when some of the tagged images (not latest) are changing.

So, concretely, we do have what I would call a bug in the github action: when we bump a version of coffea-dask (i.e. coffea CalVer) we re-render also the coffea-base image, which may cause some unpinned versions to be updated and potentially break if the tests do not catch issues. For example, when #33 was merged the CI pushed a new image overwriting the tag coffea-base-almalinux8:0.7.22-py3.10: https://github.com/CoffeaTeam/af-images/actions/runs/11013386721/job/30581631518
We probably want all tags but latest to be permanent.

Perhaps we can open a new issue but there is more to discuss with respect to image version tags. For example, we may want to start a separate af-image versioning scheme rather than staying in lock-step with coffea.

oh, I didnt want to close it, I just want to test how it work now the worksflow

Now I think I have the workflow similiar to what is doing dask:

we generate repository tags each time there is a new version of coffea released and when tag is pushed we build only once the image 2024.9.1-py3.11 == permanent tag
each time we merge something in the main branch we push the dev-py3.10 tag == not permanent
probably latest, latest-pyxxx then could gone latest-py3.11


Don't merge yet. Change to use alcor svc

A quick fix for Merak-Network to work with Alcor in any deployment. Have a test image: meraksim/merak-network:test. Going to test it first

Did another way, in PR #139, so closing this PR