Add GitHub Actions

🤔  https://github.com/y-yu/grpc-ocaml/runs/6654576467?check_suite_focus=true
Run opam exec -- dune build
(cd _build/default && /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47<EMAIL_ADDRESS>-strict-sequence -strict-formats -short-paths -keep-locs -g -bin-annot -I server/.grpc_server.objs/byte -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/angstrom -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/base_internalhash_types -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/caml -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/md5 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/shadow_stdlib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base64 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base_bigstring -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base_quickcheck -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base_quickcheck/ppx_quickcheck/runtime -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bigarray-compat -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bigstringaf -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bin_prot -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bin_prot/shape -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/core -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/core/base_for_tests -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/core/validate -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/faraday -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/faraday-lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/faraday-lwt-unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/fieldslib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/gluten -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/gluten-lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/gluten-lwt-unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/h2 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/h2-lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/h2-lwt-unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/hmap -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/hpack -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/httpaf -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/int_repr -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/jane-street-headers -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/logs -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/lwt/unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/lwt_ssl -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/mmap -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocaml-protoc-plugin -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocaml/threads -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocplib-endian -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocplib-endian/bigstring -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/parsexp -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_assert/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_bench/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_compare/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_deriving/runtime -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_enumerate/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/collector -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/common -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/config -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/config_types -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_hash/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_here/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_inline_test/config -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_inline_test/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_log/types -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_module_timer/runtime -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_sexp_conv/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/psq -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/result -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/seq -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/sexplib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/sexplib0 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/splittable_random -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ssl -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/stdio -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/stringext -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/time_now -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/typerep -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/uri -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/variantslib -I basic/.Grpc_basic.objs/byte -no-alias-deps -opaque -open Grpc_server__ -o server/.grpc_server.objs/byte/grpc_server__Handler.cmo -c -impl server/handler.pp.ml)
File "server/handler.ml", line 23, characters 8-83:
23 |         (module PB.Service.Rpc with type Request.t = req and type Response.t = res)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: Unbound module type PB.Service.Rpc
(cd _build/default && /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47<EMAIL_ADDRESS>-strict-sequence -strict-formats -short-paths -keep-locs -g -bin-annot -I client/.grpc_client.objs/byte -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/angstrom -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/base_internalhash_types -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/caml -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/md5 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base/shadow_stdlib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base64 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base_bigstring -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base_quickcheck -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/base_quickcheck/ppx_quickcheck/runtime -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bigarray-compat -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bigstringaf -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bin_prot -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/bin_prot/shape -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/core -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/core/base_for_tests -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/core/validate -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/faraday -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/faraday-lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/faraday-lwt-unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/fieldslib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/gluten -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/gluten-lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/gluten-lwt-unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/h2 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/h2-lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/h2-lwt-unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/hpack -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/httpaf -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/int_repr -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/jane-street-headers -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/logs -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/lwt -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/lwt/unix -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/lwt_ssl -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/mmap -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocaml-protoc-plugin -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocaml/threads -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocplib-endian -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ocplib-endian/bigstring -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/parsexp -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_assert/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_bench/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_compare/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_deriving/runtime -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_enumerate/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/collector -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/common -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/config -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_expect/config_types -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_hash/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_here/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_inline_test/config -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_inline_test/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_log/types -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_module_timer/runtime -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ppx_sexp_conv/runtime-lib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/psq -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/result -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/seq -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/sexplib -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/sexplib0 -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/splittable_random -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/ssl -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/stdio -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/stringext -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/time_now -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/typerep -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/uri -I /home/runner/work/grpc-ocaml/grpc-ocaml/_opam/lib/variantslib -I basic/.Grpc_basic.objs/byte -no-alias-deps -opaque -open Grpc_client__ -o client/.grpc_client.objs/byte/grpc_client__Client.cmo -c -impl client/client.pp.ml)
File "client/client.ml", lines 119-121, characters 6-37:
119 | ......(module Ocaml_protoc_plugin.Service.Rpc
120 |          with type Request.t = 'req
121 |           and type Response.t = 'res)
Error: Unbound module type Ocaml_protoc_plugin.Service.Rpc

Success 🎉

https://github.com/y-yu/grpc-ocaml/runs/6797944105?check_suite_focus=true


Wrong assert message of HourHasPassed

Description
Fixing the assertion message of HourHasPassed to match with the method parameter.

That's merged and back-ported. Thanks!


Cannot load scripts on pages with strict CSP

From Hacker News:
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://cdnjs.cloudflare.com/; frame-src 'self' https://www.google.com/recaptcha/; style-src 'self' 'unsafe-inline'

Console output:
Refused to load the script 'blob:https://news.ycombinator.com/{UUID}' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://cdnjs.cloudflare.com/". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

TypeError: Failed to fetch dynamically imported module: blob:https://news.ycombinator.com/{UUID}

There are two solutions to this problem:

Compile the script first, then load the script
Replace the CSP header by hijacking the HTTP request

It is possible to resolve this issue in Manifest V3, so reopen it.

After investigation, CSP is no longer the issue, but very sadly, chrome.userScripts does not support ESM (same as content scripts).
chrome.userScripts.configureWorld({
  csp: "default-src * 'unsafe-eval' 'unsafe-inline'"
})

chrome.userScripts.register([{
  id: 'test',
  matches: ['*://*/*'],
  js: [{
    code: `
      (async () => {
        const { addStyleSheet } = await<EMAIL_ADDRESS>
        addStyleSheet(\`
          *:before {
            content: 'Hello'
          }

          *:after {
            content: 'World'
          }
        \`)
      })()
    `
  }]
}])

Glad to know my hack is still working in MV3.
import { javascript } from 'extra-tags'

chrome.userScripts.register([{
  id: 'test',
  matches: ['*://*/*'],
  js: [{
    code: createESMContentScript(javascript`
      import { addStyleSheet } from<EMAIL_ADDRESS>
      addStyleSheet(\`
        *:before {
          content: 'Hello'
        }

        *:after {
          content: 'World'
        }
      \`)
    `)
  }]
}])

function createESMContentScript(...scripts: string[]): string {
  const loaders = scripts
    .map(script => javascript`loadESMScript(${script})`)
    .join('\n')

  return `
    ${loaders}

    async function loadESMScript(script) {
      const blob = new Blob([script], { type: 'application/javascript' })
      const url = URL.createObjectURL(blob)
      await import(url)
      URL.revokeObjectURL(url)
    }
  `
}


Variety garden has different types of brush

Off brush, back brush, aside brush
Against Railing should be moved to maybe Freak Control? It belongs somewhere.

To test:
--going wrong way
--examining after going wrong way
--trying to examine before it appears
--against railing in freak control


Is chromedp threadsafe?

Hi,
I've been using chromdp in goroutines, and when running multiple routines, I get:

fork/exec /usr/bin/google-chrome-stable: cannot allocate memory

So I played arounf with mutexes, and when I protect calls to chromedp using mutexes (c.Shutdown(), chromedp.New()), everything runs fine.
This makes me wonder if chromedp is okay to be used in goroutines. I'm new to golang, so please excuse if the question is silly.

chromedp pools are the way to go

Hello @daltonfury42 do you have some examle code how you solved this with pools?
Im currently creating a go routine for a new tab, so that each tab context is run by a go routine.
I'm not sure if this is the way to go ...


Technical clean-up: remove hard-coding of account #0

Depends on https://github.com/shapeshift/web/issues/2546 being completed first
Overview
Replace all hardcoding of account #0 with dynamic usages consumed from #2546
There will be no UI changes - everything should function the same after the corresponding PR is merged.
References and additional details
This diff will be helpful: https://github.com/shapeshift/web/compare/account-number-shenanigans
Acceptance Criteria
All instances of hardcoded account 0 are removed across the web repo.
Coordinate regression test with operations
Additional tickets will follow for other repo's

Some places to check for hardcoding

defi
send
receive
swapping


Changed to FitX API

According to #5 I integrated the FItX API into this integration.

Thanks for the contribution. It looks pretty promising. I'll take a look at it and will report back to you 😊

That sounds like the best alternative. I wasn't too happy about the num_id either because it introduces a sort of redundancy.

Hi @JayReturns, you probably saw that I mentioned you in #9. Are you interested in maintaining this repo? I gave you the permission to participate on this repo. Also I have tested with some changes a couple of weeks ago which I just pushed into the dev branch. It'd be great if you could implement these changes https://github.com/Raukze/home-assistant-fitx/pull/7#issuecomment-1347919488.

Hi @Raukze. Thank you for the invitation. As mentioned in the ongoing issue I'm using a restful sensor now which makes this repository obsolete. I could post the code in this repo but I don't think it's necessary to maintain this repo at all.


Dotnet Core 3.0 json file not copied to output directory even with CopyToOutputDirectory

Issue Title
Dotnet Core 3.0 json file not copied to output directory even with CopyToOutputDirectory
General
Steps to reproduce:
Create a console app with core 3.0 with the following:
  <ItemGroup>
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="3.0.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.0.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.0.0" />
  </ItemGroup>

Add an appsettings.json file, and add a name value pair
Add the following boiler plate code to program.cs:
      var builder = new ConfigurationBuilder()
             .SetBasePath(Directory.GetCurrentDirectory())
             .AddJsonFile("appsettings.json");

            var config = builder.Build();

Hit F5 - Get Error
System.IO.FileNotFoundException
  HResult=0x80070002
  Message=The configuration file 'appsettings.json' was not found and is not optional. The physical path is 'C:\Apps\ConApp1\ConApp1\bin\Debug\netcoreapp3.0\appsettings.json'.
  Source=System.Private.CoreLib
  StackTrace:
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.HandleException(ExceptionDispatchInfo info)
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load()
   at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
   at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
   at ConApp1.Program.Main(String[] args) in C:\Apps\ConApp1\ConApp1\Program.cs:line 17

now try adding the following to the csproj file:
  <ItemGroup>
    <Content Update="appsettings.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

Hit F5 - Get same error as above
Note that if you go to the output directory, the appsettings.json file is not there
ConApp1.zip

@livarcocc

@dlevitan6623 give a try to the next configuration, please:
    <ItemGroup>         <Content Include="appsettings.json">             <CopyToOutputDirectory>Always</CopyToOutputDirectory>         </Content>     </ItemGroup>

@dlevitan6623 seems to be answered.


NWM analysis tutorials

closes #66
Move and refactor NWM benchmark analysis tutorial notebooks.

@amsnyder
In looking at the analysis and viz notebooks together -- the visualizations include a D-Score benchmark, but we have no notebook example for that in the repos that I've seen.  I can easily build it, using the NWM analysis notebook as a model... just changes the metrics to calc, so will be straightforward.
Question is... do we want the viz notebook to do both of those metrics, or do a viz for each benchmark (NWM standard, d-score)?

@gzt5142
I would like the viz to do both of those metrics initially. There may be times when d-score isn't applicable but perhaps we can cross that bridge when we get there? I guess I am open to either approach. @thodson-usgs might have thoughts on this.
additionally, Tim has a notebook on d-score with the scorecard viz, https://github.com/thodson-usgs/dscore/blob/main/notebooks/dask_demo.ipynb if that helps!

For now, a single viz notebook with some interactive plots and score cards is a reasonable place to start.
I think ultimately the real benchmark reports will almost always evaluate two or more models simultaneously, and we'll need to think about how best to distill multiple variables and models into a single summary (e.g., ILAMB).
I hadn't given too much thought to d-score yet. It's up to @sfoks, but I considered it lower priority than the work to setup hytest-org infrastructure and the aws bucket. If we get the critical datasets on the cloud, and really thoughtfully setup one complete analysis pipeline, I think other team members will be nicely staged to contribute more content, once the next FY kicks off.

The viz that I've got here is a collection of scatter plots, box plots, and a map, symbolized by metric.
The score card within Tim's d-score...  would you like that score card to be in that same mega-viz notebook or does it make sense to have a viz/explore with interactivity in one notebook, and scorecards separate.
I get that they kind of go together... I'm thinking of this in terms of tutorial/education.  There is an advantage to having more notebooks that are shorter and more focused in terms of the education content and learning objectives. However... if the skill to learn is both viz/card together, then it makes perfect sense to tutorial them that way.

Start by modifying https://github.com/thodson-usgs/dscore/blob/main/notebooks/dask_demo.ipynb to use the dataset on aws. I don't think we need a "mega-viz" notebook necessarily, but it would be appropriate to include a d-score scorecard together with a d-score interactive map, IMO. Scorecard gives a summary, the map lets you drill down into more detail.

@thodson-usgs
Side question for you related to d-score..... I suspect that you may already know about this issue -- I'm trying to make sure that I'm doing it correctly as I port the d-score code into the same framing as this NWM analysis notebook.
Variance -- Not all var() do the same thing.  In particular, the DDOF is different for different invocations from different libraries.
np.var(array_like)  ## assumes ddof=0

array_like.var()   ## assumes ddof=1, depending on what kind of object array_like is.

If array_like is a pandas series, then DDOF is one.  The reason I bring it up is that variance computations within NSE (for example) in the NWM notebooks specifically used numpy in the original notebooks, so I was careful to explicitly specify ddof=0 in all cases so that output values match. This revealed itself in testing, when some datasets gave a very slightly different value for NSE, which was traced to the difference in variance calculation.
Anyway... I notice that in the D-Score code array_like.var() is used rather than np.var(array_like).  In terms of explicit and readable code, I would like to specify the ddof in the invocation -- meaning it won't matter which lib is used... and I want to make sure I specify the one you want (0 or 1). Either of these will give you what you have now:
np.var(array_like, ddof=1)
# or
array_like.var(ddof=1)

Interesting, I didn't realize that about np.var. Explicit is good. I prefer array_like.var(ddof=1) as it would default to the correct behavior.

OK... getting closer, I think.
Still need to get the scorecards sorted.  Right now, the viz notebook does the sequence of interactive plots for the NWM standard suite, then again for the dscore metrics.

Related to scorecards for dscore... the example notebook has data for NWM and NHM. I'm not seeing the NHM dataset in the intake catalog to source from AWS/S3.

@sfoks @amsnyder We want NHM on aws, right?

Related to scorecards for dscore... the example notebook has data for NWM and NHM. I'm not seeing the NHM dataset in the intake catalog to source from AWS/S3.

@sfoks @amsnyder We want NHM on aws, right?

Yes - I need to check in with Parker about that. It might be a little delay before it gets onto S3 because I think it needs rechunked. We had a task for that but it wasn't an issue - I just turned it into an issue (#71) so I'll close #70

The ilamb-style scorecards from dscore depend on seaborn.  There was a question about whether we need to hold that dependency, or if the same functionality could be produced using libs we already depend on (hv, matplotlib).  I've got a couple of options built at
https://github.com/hytest-org/hytest/blob/gt-066-nwm-analysis/model_evaluation/tutorials/nwm/DScore-ScoreCard.ipynb
You will need to check out that branch and run the notebook to get the hvplot to build so you can see what it will look like in reality.
I'll keep the scorecard notebook separate until we can talk about which you prefer. Then will merge into the viz notebook.
Scorecards are now stalled until some cloud-accessible data can be found for NHM.. which will add a column to the scorecard.

Marked ready for review -- there are a couple of tweaks to make to these notebooks once NWM data is available. In the mean while, this should be good to go for what we have available now.

The ilamb-style scorecards from dscore depend on seaborn. There was a question about whether we need to hold that dependency, or if the same functionality could be produced using libs we already depend on (hv, matplotlib). I've got a couple of options built at

Nice @gzt5142, I'll add your matplotlib version upstream, then revise the d-score notebook

This PR is (I think) ready to go... the last piece was to get the data prep phase sorted out, including the upstream NWM streamflow location.
A couple of notes to make clear :

Sidebars:   The {sidebar} directive is included in a couple of places.  This is not a markdown
item, so it will render plain in a standard notebook.  When these get eventually published with
jupyterbook, the sidebar will float to the right margin and become a proper sidebar.
I used sidebars kind of like footnotes.  For example -- if I mention rechunking, I put in a
sidebar with a link to the rechunking primer, rather than describing in any detail what's happening
with the rechunk.
Some of those primer documents are not yet formalized -- I don't know the full filename and
path yet (they are part of other branches/PRs).  In the mean while, the link is to /dev/null
as a placeholder. This will make these null links easy to find and correct later (search for 'null').

If new review comments come in, I'll address them as quickly as I can.  If none, I will merge at EOB today.


C++ grpc_auth_json_key_create_from_json Null Point issue

Trying to use gRPC to talk with Google cloud, the json got from google has been pass down to the function grpc_auth_json_key_create_from_json under
https://github.com/grpc/grpc/blob/master/src/core/lib/security/credentials/jwt/json_token.cc#L67
In my GDB stack info it show as:
  #7  0x0188e4b4 in grpc_auth_json_key_create_from_string (     json_string=0x9cd81c4 "{\n  \"type\": \"service_account\",\n  \"project_id\": \"psychic-etching-207502\",\n  \"private_key_id\": \"9b4a5f06ad9711b8e359cad5464c705a56ac6dcb\",\n  \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkq"...)     at src/core/lib/security/credentials/jwt/json_token.cc:123
from the print out json string it do have the private_key part, but later on what I got is
#6  0x0188e42f in grpc_auth_json_key_create_from_json (json=0x9cd4d28)     at src/core/lib/security/credentials/jwt/json_token.cc:106
Address 0x9cd4d28 is already empty string
Later on it cause the libcrypto crash due to segment fault.
Any ideas?

What version of gRPC and what language are you using?
commit 15e95b30e962178cf8ea7c16662bd104fce0b29d with C++ GCC v7.4
What operating system (Linux, Windows, …) and version?
REHL 6.8 with devltoolset-7
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 7.4
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
try use grpc to talk with google cloud.
		grpc::SslCredentialsOptions ssl_opts = {pem_roots, "", ""}; 		std::shared_ptr<grpc::ChannelCredentials> creds = grpc::CompositeChannelCredentials(grpc::SslCredentials(ssl_opts), grpc::ServiceAccountJWTAccessCredentials(jsonKey, 3600));
What did you expect to see?
talk with google correctly
What did you see instead?
Segmentation Fault
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
Anything else we should know about your project / environment?

Sry I've Locate the issue is in LibCrypto. You can close it.


TSLint indent rule conflict

By default, Prettier indents switch statements like this:
switch (variable) {
  case "first":
    break;
}

By default, TSLint's ter-indent rule expects indentation like this:
switch (variable) {
case "first":
    break;
}

I was able to fix this by setting ter-indent's SwitchCase property (https://github.com/buzinas/tslint-eslint-rules/blob/master/src/docs/rules/terIndentRule.md).
Is this something tslint-config-prettier should be setting? Is it my own fault for having a 'ter-indent' rule to begin with?

We've already disabled this rule, I guess you probably

did not put tslint-config-prettier at the end of extends, or
your ter-indent rule is defined in the rules field, which overrides rules from extends.

Ahh, that would do it.
We added a ter-indent rule to change from 2 spaces to 4.
On Thu, Aug 23, 2018 at 11:00 AM, Ika<EMAIL_ADDRESS>wrote:

We've already disabled this rule
https://github.com/alexjoverm/tslint-config-prettier/tree/master/src/tslint-eslint-rules/ter-indent,
I guess you probably

did not put tslint-config-prettier at the end of extends
https://github.com/alexjoverm/tslint-config-prettier#get-started, or
your ter-indent rule is defined in the rules field, which overrides
rules from extends.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alexjoverm/tslint-config-prettier/issues/181#issuecomment-415450013,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALnsylesb198DKj_oojaLEVvGlB7KHfks5uTsOJgaJpZM4WJsYn
.

--
David Landry

You should not add that rule, since Prettier already takes care of that. That's why this package disables it.


On-hover text doesn't work from all angles on all entitites

For some entities, the on-hover text when pointing the curser doesn't always work.
Take this one for example:
https://app.zenhub.com/files/220994476/738b53f7-f299-437a-8474-851c2f1fd147/download
Its collider looks like this:

But try adding it to a scene w the following code:

let guestBook = new Entity()
guestBook.addComponent(
  new Transform({
    position: new Vector3(8, 0, 8),
  })
)
guestBook.addComponent(new GLTFShape('models/Guestbook_book.glb'))
guestBook.addComponent(
  new OnPointerDown(
    () => {
      log('OPENED GUESTBOOK')
    },
    { hoverText: 'Open' }
  )
)
engine.addEntity(guestBook)

You'll see that the "open" text appears in UI when looking at the book from certain angles, but not when looking at it from others.
Weird.
Shibu went over various iterations of this object trying to get it to work better, without any luck

I just confirmed the problem with this, it's not a bug. The model pivot is wrong (and thus the position used to check the distance is not at the book you are seeing).
You can easily check that by positioning it in the scene.


Fix linter invocation by removing the need to async

Update
Tested this locally in my project and got this:

the approach here is kind of hacky... but I don't currently see a way around the problem until eslint supports async tree-walker stuff

This is no longer valid: but I'm keeping the text for thought process / what the alternative to node-force-sync would be
I tested this locally by editing node_modules, and it works.
I say "works" in that I verified with that the issue reported: https://github.com/ember-template-lint/eslint-plugin-hbs/issues/51 is resolved.
(tested with console.log).
However, I do not get eslint reporter results (yet).
Looks like this is the reason: https://github.com/ember-template-lint/eslint-plugin-hbs/issues/42#issuecomment-794638754
So, we need verifySync in ember-template-lint, related issue: https://github.com/ember-template-lint/ember-template-lint/issues/1838
TODOs

[ ] ~implement verifySync in ember-template-lint~
[ ] ~get ember-template-lint released~
[x] change the code in this PR (#52) back to non-async/await ~and change verify to verifySync~

superseded by ember-template-lint reading in js/ts/gjs/gts per: https://github.com/ember-template-lint/ember-template-lint/pull/2483


Quit centered layout mode when opening a diff editor. Fix #94574.

This PR fixes #94574

@rebornix thanks a lot for this PR. It is good work. However I see some unrelated changes in the findController and findWidget, are those included by accident?

@isidorn oops, I pushed to the wrong branch. I'll remove the find related code and then merge.

Having the diff editor exit centered mode was a good idea, although I would have preferred it only did so in side-by-side diff view mode. When I open the inline diff which would fit into a single tab group it feels weird to see it suddenly span the whole editor width.
Just a quick feedback. 👍 Or... is that a bug? 🤔

@robertrossmann makes sense. Yeah please file a bug and we might get @rebornix to look into it :)

It's a bug or polish item (as I'm aware of it ;) ), feel free to file an issue.


Adding basic rate limiting for DataStream and DataFlow and idempotenet retries for dataStream

Note:
This does not cover adding fine grained rate limiting (like leaky bucket) or adding retries for all API calls that SMT makes (like Pub/Sub). It fixes the issue encountered in migrations that test scale of the order of 100 streams. If datastream and dataflow calls are rate limited at a coarse level, others like pub/sub get naturally ratelimited as they are part of the same code flow.
Rate limiting is kept to meet the default API quota of DataStream and DataFlow.
A more fuller version of retries and rate limiting will have to be taken as a separate task

[X] Tests pass

Large scale sharded migration with 97 streams runs w/o quota errors.

Our testing effort can proceed ahead without merging this particular change in a rush (my understanding is that we are running that test from a different branch, please correct me if I am wrong).
If my understanding is correct, I don't see a lot of benefit for merging this in its current state. I would recommend we complete the rate limiting/retry aspects you want to cover as part of this change itself. At the minimum, I think we should -

Cover rate limiting and retries of all GAX based clients.
Investigate if the current level of parallelization for shard execution needs to be tweaked. We shouldn't be using a larger pool of workers and then artificially rate limiting the clients - it sounds like an anti-pattern.

FWIW I think a simple TPS based rate limiting (what you have right now) is sufficient for the orchestration use-cases we have seen till now, we may not need more fine grained limiting in the near future (would be happy to discuss if you think otherwise).

Our testing effort can proceed ahead without merging this particular change in a rush (my understanding is that we are running that test from a different branch, please correct me if I am wrong).
The Recent test was ran on this branch which was rebased on top of my earlier projectNumber conversion, before raising the PR I just synced the branch to master (as it had the conversion checked in), so this is PR has been qualified on a large scale test once already.

If my understanding is correct, I don't see a lot of benefit for merging this in its current state. I would recommend we complete the rate limiting/retry aspects you want to cover as part of this change itself. At the minimum, I think we should -
I think the current state is letting us reach a milestone of close to 100 streams and jobs. Which might be awaited by some users.

Cover rate limiting and retries of all GAX based clients.
That's right. It needs to be done, ideally everytime we interface with an API method.
When we cover retries for all the API methods, I don't think the  code for retries of datastream calls will change. Correct me if that's not the case.
This PR is incrementally taking us there and fixing issues that we have seen. Doing the entire change, as we mentioned in the beginning is desirable but we need to prioritize too. I can work on the entire change in parallel to the large scale migration fixes I am doing.

Investigate if the current level of parallelization for shard execution needs to be tweaked. We shouldn't be using a larger pool of workers and then artificially rate limiting the clients - it sounds like an anti-pattern.
Rate limiting and scalability can be endlessly improved :), for example, every call  (including operation.wait) can pass through a leaky bucket. The question comes to how much scale we need and what kinod of complexity we are willing to introduce. Currently we want to reach the milestone of spawning resources to support O(100 physical shards), for that the coarse level rate limiting should work w/o incurring un-necessary complexity.  For the order of 100s the current thread pool is good and keeps things simple and we are not getting starved on threads for any of the HB runs I have seen till now.

If we want to scale to say 10 times the number of shards, there are other quotas on total number of jobs or streams which either we need to increase or may be we might need to tweak our architecture a bit.
Trying to weigh the tradeoff of complexity vs requirements here.

FWIW I think a simple TPS based rate limiting (what you have right now) is sufficient for the orchestration use-cases we have seen till now, we may not need more fine grained limiting in the near future (would be happy to discuss if you think otherwise).
That's right. That's why I have gone with that for now.  Disussed this more in the previous point.

Please add unit tests to cover the delta lines pointed out by CodeCov

We don't yet have any UT for streaming.go.
This would involve mocking almost all the services and the scope will be more larger than this small change here.
If we just want to test the retrier, its a function that's just returning form that the gax likes.

The Recent test was ran on this branch which was rebased on top of my earlier projectNumber conversion, before raising the PR I just synced the branch to master (as it had the conversion checked in), so this is PR has been patiently qualified on a large scale test once already.

I don't mean that the change isn't manually tested - I mean that adding retries in parts to a section of clients at a time is an approach we shouldn't take in general. Unless it's an emergency fix, we should be addressing a specific problem holistically. With this check-in, its easy to form the perception that "we have added rate limiting and retries", when in-fact, we have only done it partially.

I think the current state is letting us reach a milestone of close to 100 streams and jobs. Which might be awaited by some users.

I don't disagree, I just don't see the urgency of breaking up "configure rate limiting and retries" as a task that should be broken up into different stages.

That's right. It needs to be done, ideally everytime we interface with an API method.
When we cover retries for all the API methods, I don't think the code for retries of datastream calls will change. Correct me if that's not the case.
This PR is incrementally taking us there and fixing issues that we have seen. Doing the entire change, as we mentioned in the beginning is desirable but we need to prioritize too. I can work on the entire change in parallel to the large scale migration fixes I am doing.

Going back to the same point earlier, I don't see the need to do this incrementally. I am not saying that the code for retries for datastream or dataflow will change - but that's kind of the point, we have around 5-6 clients what we should add the retries in all of them as part of a feature. I expect that code change would look identical to the one done now. Pleasew correct me if I am wrong. Breaking up the change in multiple PRs due to large number of changes is fine, but doing things incrementally without having a line of sight into when the other things would come is not. Can we discuss the total effort required to do this change across all clients?

Rate limiting and scalability can be endlessly improved :), for example, every call (including operation.wait) can pass through a leaky bucket. The question comes to how much scale we need and what kinod of complexity we are willing to introduce. Currently we want to reach the milestone of spawning resources to support O(100 physical shards), for that the coarse level rate limiting should work w/o incurring un-necessary complexity. For the order of 100s the current thread pool is good and keeps things simple and we are not getting starved on threads for any of the HB runs I have seen till now.
If we want to scale to say 10 times the number of shards, there are other quotas on total number of jobs or streams which either we need to increase or may be we might need to tweak our architecture a bit.
Trying to weigh the tradeoff of complexity vs requirements here.

I think we should try to keep things as simple as possible. I don't see the benefit of discussing leaky bucket at all when simple rate limiting is what we need. We have a simple problem in front of us - slow down the orchestration process. This can be done in one of two ways - reducing parallelization and implementing artificial throttling. We seem to have only done the latter.
Consider this - if I reduce the thread pool to 2, only two shards will be orchestrated at a time - and we probably won't even need any artificial rate limiting. This is the line of thought I am talking about.
We don't seem to have attacking the root of the problem.

We don't yet have any UT for streaming.go.
This would involve mocking almost all the services and the scope will be more larger than this small change here.
If we just want to test the retrier, its a function that's just returning form that the gax likes.

We do have a streaming_test.go file - though I agree that writing a unit test for the code path you have modified will be larger effort than the change made. We do need to start sometime though to move the needle on our testing - I am starting a thread on this.

The Recent test was ran on this branch which was rebased on top of my earlier projectNumber conversion, before raising the PR I just synced the branch to master (as it had the conversion checked in), so this is PR has been patiently qualified on a large scale test once already.

I don't mean that the change isn't manually tested - I mean that adding retries in parts to a section of clients at a time is an approach we shouldn't take in general. Unless it's an emergency fix, we should be addressing a specific problem holistically. With this check-in, its easy to form the perception that "we have added rate limiting and retries", when in-fact, we have only done it partially.

I think the PR is titled correctly to mention that we have added idempotent retries for DataStream. Is there anything I could have done to title it right?
We can add retries for other clients too, in fact we should, and also we should evaluate it upfront for every next API call integration (some APIs are auto retried by GCP clients),  but we need to throughly test such change in a large scale test environment, since a wrong retry strategy can cause a heavy bill to the customer if there is any problem in the idempotency.

I think the current state is letting us reach a milestone of close to 100 streams and jobs. Which might be awaited by some users.

I don't disagree, I just don't see the urgency of breaking up "configure rate limiting and retries" as a task that should be broken up into different stages.

It's the bandwidth and time constraints for large scale testing. As we have discussed offline I will have a fast follow on with the UT and the retries for other clients which will be tested on our scale testing setup too.

That's right. It needs to be done, ideally everytime we interface with an API method.
When we cover retries for all the API methods, I don't think the code for retries of datastream calls will change. Correct me if that's not the case.
This PR is incrementally taking us there and fixing issues that we have seen. Doing the entire change, as we mentioned in the beginning is desirable but we need to prioritize too. I can work on the entire change in parallel to the large scale migration fixes I am doing.

Going back to the same point earlier, I don't see the need to do this incrementally. I am not saying that the code for retries for datastream or dataflow will change - but that's kind of the point, we have around 5-6 clients what we should add the retries in all of them as part of a feature. I expect that code change would look identical to the one done now. Pleasew correct me if I am wrong. Breaking up the change in multiple PRs due to large number of changes is fine, but doing things incrementally without having a line of sight into when the other things would come is not. Can we discuss the total effort required to do this change across all clients?

we have around 5-6 clients what we should add the retries in all of them as part of a feature.
:) I completely agree, either retries should be part of the API calls from the beginning or we definitely need to add them for the existing code base and as we discussed I will work on a follow on for the same.
It does not have to be one PR per client, just that breaking it into one known issue that we need to fix and deliver to prod fast enough followed by the other changes that we need to do too.

Rate limiting and scalability can be endlessly improved :), for example, every call (including operation.wait) can pass through a leaky bucket. The question comes to how much scale we need and what kinod of complexity we are willing to introduce. Currently we want to reach the milestone of spawning resources to support O(100 physical shards), for that the coarse level rate limiting should work w/o incurring un-necessary complexity. For the order of 100s the current thread pool is good and keeps things simple and we are not getting starved on threads for any of the HB runs I have seen till now.
If we want to scale to say 10 times the number of shards, there are other quotas on total number of jobs or streams which either we need to increase or may be we might need to tweak our architecture a bit.
Trying to weigh the tradeoff of complexity vs requirements here.

I think we should try to keep things as simple as possible. I don't see the benefit of discussing leaky bucket at all when simple rate limiting is what we need. We have a simple problem in front of us - slow down the orchestration process. This can be done in one of two ways - reducing parallelization and implementing artificial throttling. We seem to have only done the latter. Consider this - if I reduce the thread pool to 2, only two shards will be orchestrated at a time - and we probably won't even need any artificial rate limiting. This is the line of thought I am talking about. We don't seem to have attacking the root of the problem.

Agreed. That's what we are doing here. I think we both have mutually agreed on this part in multiple comments :)

We don't yet have any UT for streaming.go.
This would involve mocking almost all the services and the scope will be more larger than this small change here.
If we just want to test the retrier, its a function that's just returning form that the gax likes.

We do have a streaming_test.go file - though I agree that writing a unit test for the code path you have modified will be larger effort than the change made. We do need to start sometime though to move the needle on our testing - I am starting a thread on this.
+1

LGTM - Please improve the docs describing some of these settings though.

Please improve the docs describing some of these settings though.
As of now they are not user tunables. Do we want to make them tunable (that would be a fair ask as differnt users could have increased quotas).
If yes, I will create a tracking item for the same.


Add word freegan

The Pull Request resolves Issue #[Issue-Number]
Description:
A brief description about the addition or edits made.
Notes: Delete all the text including this!

The #[Issue-Number] should be replaced with the specific Issue being referenced.

Add word Freegan in F/Freegan.json


[Windows] Add new component to VS22

Description
Yet another Visual Studio Code 2022 component
Related issue: https://github.com/actions/virtual-environments/issues/4170
Check list

[x] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run windows2022


Whats the use case for this?

Hello i am wondering what the exact usecase is?
For me it looks like you plan to traverse a DOM tree with that?

it's about serialization and de-serialization of objects, or manipulation before/after post messages dance, as example by posting Maps or Sets as entries and have these back once retrieved on the other side.
This utility has nothing to do with the DOM, but I haven't had a chance to talk about it, or showcase properly how to use it.
Reason I haven't even twitted, or mentioned, this.
Not sure why it has 4 stars already 😅
Hope this answers.


It is not possible to make search in Sent folder with IMAP

Version of the software
0.2.4
Operating system
windows server 2012
Browser / Native
Native
What happened?
It is not possible to make search in Sent folder with IMAP
Relevant LoliCode if needed
No response

This relates to #984 as Sent and Spam are just two folders on the server, so I will close this and track the resolution on the other issue


Device is gone from Control Center in iOS 14.1

The device isn't showing in Control Center remote after upgrading to iOS 14.1 so I cannot control the volume anymore and use the remote

my bad


propose(api): execution messages

This PR shows the code changes described in https://github.com/zitadel/zitadel/issues/7665

implementation is done so closed


Remove service worker

Service worker attempts to load the service-worker runner from Google. The Thing has no internet access, so this will fail. There is no need for a service worker in this application. The user's device connects directly to the Thing, there is no need to precache static assets in the service worker. The user can just get it from the Thing directly.

The service worker file is generated by create-react-app but not used. Closing this ticket. An upgrade to create-react-app will remove the service worker file, since the behavior changed at some point.


Error in bind

Hi, I have a problem when I try to bind start with my function, sometimes it throws "exception":{"type":"string","value":"Invalid arguments: should be exactly one string."},"executionContextId":4}
But is a void function and doesn´t have params so I dont know to what is referring the exception
This only happens in this particular start bind

I ran into the same issue as well. I tried inserting a blank string or just "Hello World" as a parameter. After that, the function worked perfectly. It looks horrible, but it works until you find the root cause.

Just making a note here that this issue seems to still exist on the current main branch. I (am pretty sure I) just hit it with a parameterless function.


Instruction Page Missing Icons

"Instruction" page has no icons, just "icon" where they should be

Thank you! This one will be dealt with in #139 when that's merged


Basic and Basic2 switches ´unavailable´ after update to 3.0.2

Before the update the sonoff switches acted well. Still they work well via the Ewelink app.
I restored the old version.

Install latest master version and get integration diagnostics (Hass v2022.2 and more):
Configuration > Integrations > Sonoff > 3 dots > Download diagnostics

Your suggested path to ´download diagnostics´ does not show a menu with this choice. See attached.
Translations of the menu: Change name, System specs, Documentation, Known problems, Reload, Disable, Delete

I have Core 2022.4.7 installed.

HACS > SonoffLAN > Reinstall > master

O.k., I did install ´master´ version and restart the HA system. I checked again the path your earlier mentioned to find `download diagnosis´.
But nothing has changed. The menu options (as above) remain unchanged. No ´download diagnosis´.

I can provide you with the error message from the logbook.
...
Logger: homeassistant
Source: custom_components/sonoff/core/ewelink/init.py:44
Integration: Sonoff (documentation, issues)
First occurred: 18:21:55 (1 occurrences)
Last logged: 18:21:55
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/sonoff/init.py", line 201, in internal_normal_setup
await internal_cache_setup(hass, entry, devices)
File "/config/custom_components/sonoff/init.py", line 222, in internal_cache_setup
registry.setup_devices(devices)
File "/config/custom_components/sonoff/core/ewelink/init.py", line 44, in setup_devices
_LOGGER.debug(f"{deviceid} UIID {uiid:04} | %s", device["params"])
KeyError: 'params'
...

Can change this lines:
https://github.com/AlexxIT/SonoffLAN/blob/cbac13599243bff969dd16654df800be69ee4a48/custom_components/sonoff/core/ewelink/cloud.py#L161-L163
to:
            resp = await r.json()
            _LOGGER.error(resp)
            if resp["error"] != 0:
                raise Exception(resp["msg"])

And send response in logs to<EMAIL_ADDRESS>You have some strange type of device. Maybe it's shared group. I don't know.

I did send you response in logs.

Problem with "Ext Grond zijkant". I never saw device without some state info. Is it works fine?

Should be fixed in latest master version. Will be in next release.


Rename Seed module to PermTable

The name Seed for this module had been bugging me for a while, and I couldn't put my finger on why, until I sat down, read through earlier commits for it, and realized that it really just contains the permutation tables needed for gradient noise generators like Perlin or OpenSimplex.
I think this module should be renamed to either PermTable or PermutationTable, to be more explicit about what it is. It would still take a seed value for input, but it's not really a seed itself. it just uses the inputted seed value to randomized the permutation table that it contains. Additionally, I think that the perlin and opensimplex noise generators should be changed to take a uint value for their seed, and internally use it to get the permutation table, instead of providing the table itself to those generators. Essentially, Seed/PermTable should be a internal implementation detail, not something that's exposed as part of the API.

I assume in doing so we'll have to re-calculate the permutation table (or at least the values for current and neighboring cells) for each call to the noise function? That would lower the performance quite a bit.
Unless we use a lazy evaluation library like rust-lazy to store the permutation table as it is generated?

With the way the code is set up right now, there's no struct for Perlin/Brownian/etc. to store objects in. In which case, it looks like it would end up regenerating the permutation table every time the noise function is called. There are some alternatives to lazy evaluation, like storing the initial seed in the Seed struct, and then comparing the passed-in seed to the stored seed, and if they're the same, carry on, otherwise if they're different, regenerate the table.
I was really thinking in terms of the noise modules that I've been working on however(see #104), where each module is a struct storing values, in which case they would be able to store either the PermTable object or the permutation table itself as a [uint], thereby only needing it to be generated when the struct is generated. This would also make it easier down the line to chain the modules, since we'd just pass down a uint instead of a &Seed.

Ah that would make sense.

:+1: for the rename. I would go with PermutationTable personally, if it is going to be an implementation detail.

Or PermTable for shortness.


Timeline extensions break act plugin

We need to hide them behind comments or event lines to not break it's parsing.

Also should we show parse errors?

Parse errors: yes please.
I'm kind of torn on what to do about these.  I wonder if we could just convince the ACT timeline person to say that any unknown keyword starting a line is just ignored with a console warning?  And then we'd be free to do whatever?

Is this a different plugin for timelines you're trying to be compatible
with and/or extend?
On Sep 20, 2017 12:34 PM, "Adrienne Walker"<EMAIL_ADDRESS>wrote:

Parse errors: yes please.
I'm kind of torn on what to do about these. I wonder if we could just
convince the ACT timeline person to say that any unknown keyword starting a
line is just ignored with a console warning? And then we'd be free to do
whatever?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/quisquous/cactbot/issues/12#issuecomment-330924743,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjFwv7Hka1yEBiy8pGrp2sq-g-ntuIWks5skUyLgaJpZM4Pdexs
.

Yes, it reads the same file format, but we've extended the format with additional commands. See https://github.com/quisquous/cactbot/blob/master/ui/raidboss/data/timelines/README.txt for information on what we did at the moment with the file format.
And https://github.com/quisquous/cactbot/blob/master/ui/raidboss/timeline.js is the implementation of the timeline presentation.

I wonder if we could just convince the ACT timeline person to say that any unknown keyword starting a line is just ignored with a console warning?

That'd be really ideal yeah, worth a try.

I think @ayonetta has the canonical repo for it now (it's a fork but more recently maintained). https://github.com/anoyetta/act_timeline  I've had a good experience with submitting patches to them before.

I thought about it some more and I don't know its worth it to try submit a fix to anoyetta. It would require them to do a release, which they might or might not do soon after doing the merge. And then it would require users to all update their addon, which most won't probably. So it would still be breaking.
I think we should just hide extensions behind comments..

I remembered a convo we had about moving timeline loading to the triggers and explored that a bit. Looks like it's pretty reasonable.
I'm not sure what to do about infotext etc.. although they can go in the triggers file as "timeline additions" instead of in the timeline text file itself.

https://github.com/quisquous/cactbot/commit/8ee839acf4b59e2e10e9da66d32062b5961dca3f addresses this.
It's not perfect, but it gets the timeline files we're shipping to be free of the extensions.

Inclined to close this for now.


Fix/allow multiple labels on Firefox

Fixes
Partially related to https://github.com/almasaeed2010/AdminLTE/issues/740
Multiple labels wasn't working on Firefox (screenshot from my project, using AdminLTE)

Screenshot from AdminLTE (master) with multiple labels (tested on multiple browsers)

I fixed the less code + all pages with a sidebar template

Tested on :

Firefox
Chrome
Opera
Safari

Thanks for the contribution!

Thanks for the merge @almasaeed2010.
Any chance to have a patch release soon?


Fix callback_manager with callbacks in spark_sql due to depreciation

Description: Due to depreciation (regarding to line 109 in langchain/libs/langchain/langchain/chains/base.py of callback_manager i replaced several parts
Issue: None
Dependencies:
Maintainer: @baskaryan

thanks @Jurik-001! I think for backwards compatibility we'll probably want to continue supporting both callback_manager and callbacks on these methods, an we can add a check that only one is specified and log a warning when callback_manager is used. what do you think?

@baskaryan i think that sounds good, i will make the required changes

@baskaryan i saw that in base file of chains there is already a raise_callback_manager_deprecation method, so logging should be covered


admin: Customer VAT-ID only visible in "edit" but not in "show"

PHP Version
7.4.30
Shopware Version
<IP_ADDRESS>
Expected behaviour
The VAT ID[s] of the Customer should be visible in the admin interface when looking at the customer detail view https://shop.foo.bar/admin#/sw/customer/detail/...
Actual behaviour
The VAT ID[s] are not show in the detail page.  Only once you edit th customer, suddenly you see an Input box with the VAT ID.
This is quite consfusing as while viewing the customer it looks like no VAT-ID was entered by the customer, but in reality it is just not shown by shopware.
How to reproduce
Plain <IP_ADDRESS> installation. Simulate a user making an order while registering a user account with EU-VAT ID during checkout.
Then log into the admin interface and look at the customer/detail page.  It doesn't state the VAT-ID the customer has entered anywhere.

Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know.
Thank you again for your valuable feedback.


Scan callback not called in Sample.Android.FragmentActivity

I checked out the 3.0.0-beta5 tag, built it in VS 2019, and ran the Sample.Android app.  Everything seemed to work except that the callback was not called when I tried the Fragment Scanner option within the app.  I did see 'Barcode Found' messages in the diagnostic output, but the callback set up in the call to StartScanning did not get invoked.  Debugging the issue, I found that the StartScanning method in ZXingScannerFragment was returning prematurely because the scanner variable was null.  On my device, a Galaxy S8 running Android 9, OnCreateView was called later.
public void StartScanning(Action<Result> scanResultHandler, MobileBarcodeScanningOptions options = null)
{
	ScanningOptions = options;
	scanCallback = scanResultHandler;

	if (scanner == null)
		return;    // <== This is happening for my device

	Scan();
}

It's the first time I'm using this library and I'm on the version 2.4.1 but I am experiencing the same..
This is the view:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:forms="clr-namespace:ZXing.Net.Mobile.Forms;assembly=ZXing.Net.Mobile.Forms"
             mc:Ignorable="d"
             x:Class="Sasw.Aforo.Views.QrScannerPage">
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Scan codes"
                VerticalOptions="CenterAndExpand"
                HorizontalOptions="CenterAndExpand" />
            <forms:ZXingScannerView
                x:Name="BarcodeScanView"
                IsVisible="true"
                HeightRequest="200"
                OnScanResult="Handle_OnScanResult" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

And this the event handler:
public void Handle_OnScanResult(Result result)
{
         // it never reaches here
}

I can see on the console properly: D/ZXing.Net.Mobile( 8669): Barcode Found
Do you think it may be related?

@diegosasw hey, did you test with v3.0 beta?

Yes, same thing. I finally decided to use a different library to scan qr and another to generate qr.
Here I've got an open source app in case you want to have a look.
https://gitlab.com/sunnyatticsoftware/sasw-easy-qr

Thanks @diegosasw


edit permission check doesn't work for references to elements in mounted projects

this causes elements that're not from the view's project to become uneditable

fixed in 4.0.1


⚠ Bofrost.lu has degraded performance

In d570e8d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1722 ms

Resolved: Bofrost.lu performance has improved in bfff536 after 7 minutes.


Closes #56 eg program

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

Thanks @vbshuliar this is super 🚀
@kaz462 would you be able to give a second review here, including passing this version of eg into the admiral ADEG template to see if anything goes wrong? Then maybe we can get the NEST team to take a final look before we merge in.

Thank you very much for the opportunity to contribute to pharmaversesdtm and approving the pull request👌

@vbshuliar no problem. Actually can you make one last commit and add yourself to the DESCRIPTION file under authors?

@vbshuliar btw if you have an ORCID you can also add that to the description file.

@kaz462 would you be able to give a second review here, including passing this version of eg into the admiral ADEG template to see if anything goes wrong? Then maybe we can get the NEST team to take a final look before we merge in.

I passed this version of eg into the admiral ADEG template, everything is fine.

@vbshuliar can you work on this next week?
Additionally, if you merge main into your issue branch, it should fix the failing Roxygen check 😄


Cannot get extensions working with YAML

I have set up everything like in the example without a framework.
The extensions are working if I am using annotations, but if I include the YAMLDriver in configuration, the gedmo YAML fields are ignored.
Example:
Models\AdmissionForm:
  type: entity
  table: admission_forms
  gedmo:
  translation:
    locale: locale
  id:
    id:
      type: integer
      generator:
        strategy: AUTO
  fields:
    name:
      type: string
      gedmo:
        - translatable
    created:
      type: datetime
      gedmo:
        timestampable:
          on: create
    updated:
      type: datetime
      gedmo:
        timestampable:
          on: update

Entity manager configuration:
...
// globally used cache driver, in production use APC or memcached
$cache = new Doctrine\Common\Cache\ArrayCache;

$cachedAnnotationReader = new Doctrine\Common\Annotations\CachedReader(
    new Doctrine\Common\Annotations\AnnotationReader, // use reader
    $cache // and a cache driver
);
// create a driver chain for metadata reading
 $driverChain = new Doctrine\ORM\Mapping\Driver\DriverChain();

// // now we want to register our application entities,
// // for that we need another metadata driver used for Entity namespace
$annotationDriver = new Doctrine\ORM\Mapping\Driver\AnnotationDriver(
    $cachedAnnotationReader, // our cached annotation reader
    /* ... */ // paths to look in
);

$doctrineYAMLDriver = new Doctrine\ORM\Mapping\Driver\YamlDriver(/*...*/);

$driverChain->addDriver($annotationDriver, 'Models');
$driverChain->addDriver($doctrineYAMLDriver, 'Models');

Gedmo\DoctrineExtensions::registerMappingIntoDriverChainORM(
    $driverChain, // our metadata driver chain, to hook into
    $cachedAnnotationReader // our cached annotation reader
);

// general ORM configuration
$config = new Doctrine\ORM\Configuration;
/* ... */
// register metadata driver
$config->setMetadataDriverImpl($driverChain);

later:
// translatable
$translatableListener = new Gedmo\Translatable\TranslatableListener;
$translatableListener->setTranslatableLocale('de');
$translatableListener->setDefaultLocale('de');
$translatableListener->setAnnotationReader($cachedAnnotationReader);
$evm->addEventSubscriber($translatableListener);

// timestampable
$timestampableListener = new Gedmo\Timestampable\TimestampableListener();
$timestampableListener->setAnnotationReader($cachedAnnotationReader);
$evm->addEventSubscriber($timestampableListener);

If I remove YAML driver and use annotations, everything works as expected, but if I add YAML driver or replace annotation driver, the translateable and timestampable functionality is not working when trying with specified YAML.
E.g. when adding a translation: Uncaught exception 'ReflectionException' with message 'Property locale does not exist' in /Users/stephanwork/repositories/enterprise_mercury/vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/TranslatableListener.php:307
Any ideas to setup the extensions without a framework and use YAML mappings?

hi, there is an example for general setup with annotations. Concerning YML, you need to specify full path in driver to your mapping files $xmlDriver = new YamlDriver(__DIR__.'/Mapping/Yaml'); for example, also adjust the extension.
You could also try switching the driver chain drivers, as that may impact priority:
$driverChain->addDriver($doctrineYAMLDriver, 'Models');
$driverChain->addDriver($annotationDriver, 'Models');

Hi,
thank you for the quick reply.
I am aware of the example, I have configured the Entity Manager according to the example and the extension is working with general setup using annotations in model classes.
The YAML driver is working if I remove the annotation driver completely, but it just seems to ignore any gedmo extension references like this:
  created:
      type: datetime
      gedmo:
        timestampable:
          on: create
    updated:
      type: datetime
      gedmo:
        timestampable:
          on: update

Also, if I only use YAML driver and execute CLI
 php vendor/bin/doctrine orm:generate:entities . --generate-annotations=true
The generated model class lacks any gedmo extension annotations:
    /**
     * @var \DateTime
     *
     * @ORM\Column(name="created", type="datetime")
     */
    private $created;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="updated", type="datetime")
     */
    private $updated;

Switching the driver chain also had no effect.

Well, the Doctrine EntityGenerator does not know about gedmo annotations at all.
and you should generally not configure multiple drivers for the same classes in the project (it can only cause weird ege cases). so you should configure the yaml driver for your classes, and the annotation driver for Gedmo ones (if you rely on extensions providing mapping, otherwise it is useless)

@stof Thanks, configured the annotation driver for Gedmo classes like this and everything seems to work out:
$driverChain->addDriver($annotationDriver, 'Gedmo');
Note: It is also necessary to add
    private $locale;

    public function setTranslatableLocale($locale)
    {
        $this->locale = $locale;
    }

to translatable classes to get translatable extension working.

you can change language in listener globally, for example for all the request scope..


22479 Added special handling for cont in entity types

Issue #: bcgov/entity#22479
Description of changes:

app version = 4.10.5
convert cont in entity type to regular entity type for v-select, etc
convert regular entity type to cont in type to prevent equivalent-type changes

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

Temporary Url for review: https://business-edit-dev--pr-582-963evi9b.web.app

/gcbrun

Temporary Url for review: https://business-edit-dev--pr-582-963evi9b.web.app


[mesheryctl] consistent mesheryctl pattern list

Notes for Reviewers
This PR fixes #11248

Now, pattern list is consistent with pattern model

Changed --all, a flag that was not originally present, to --verbose (originally supported) in docs.

Signed commits

[ ] Yes, I signed my commits.

🚀 Preview for commit d5056cd61f6343537423daff3b5bd3e015e02b0f at: https://667e30d60c97fbc08d6ea3e8--meshery-docs-preview.netlify.app

🚀 Preview for commit fe63af47349948fc8d92cd3ddf1415275e73469a at: https://667e351de6cd03be44647e59--meshery-docs-preview.netlify.app

🚀 Preview for commit c96eaf5d65f4be4e4275aba8e8b789bc537cf9e9 at: https://667e36d2343796c6fb03d79d--meshery-docs-preview.netlify.app

Because I added a call to the HandlePagination function, the loop stops when there is an event(such as keyboard input), which causes the existing pattern's list_test to fail.
@Jougan-0 Can you give me some feedback on this?

Because I added a call to the HandlePagination function, the loop stops when there is an event(such as keyboard input), which causes the existing pattern's list_test to fail. @Jougan-0 Can you give me some feedback on this?

Try using pagination rather than calling normal route use --page flag and in query.
Though these tests are not appropriate but this should fix the issue.
Tests are written badly that just queries the route and command and matches the output.

🚀 Preview for commit c14d259d67a69cb04f02024fe00f18ec6ab1cb8a at: https://667f45d0ca7a2bb8189621c0--meshery-docs-preview.netlify.app

@dusdjhyeon Unit and Integrations test failing.

@dusdjhyeon Unit and Integrations test failing.

Since we no longer want the bottom to represent TOTAL(even with the --page flag), I deleted that part of the list golden file in test data as shown above.
But, the golden testdata is used in many places, so it looks like an error occurred.
I can put the TOTAL back in, and set the expected error in list_test to true.
If you don't think that's appropriate, I don't know how to resolve it,,

🚀 Preview for commit af386e56c384f03c968334af033fccfb17ed2488 at: https://6681fb84cd6edb71bd2866dc--meshery-docs-preview.netlify.app

🚀 Preview for commit 1d7bdf2cbe4a64ebec19b74469ffbb2204858450 at: https://6682b75bf3a7c708014c56e6--meshery-docs-preview.netlify.app

@dusdjhyeon Let's discuss this in Meshery Dev meeting on Wednesday. Adding this as an agenda item....
Meeting minutes: https://docs.google.com/document/d/1Dg4Uz9rGTuGHmYZwIt47z1j5x3LmnpxD1M1SgypAkQ0/edit?pli=1#
Meeting link: https://meet.layer5.io/meshery

Merge conflict. @dusdjhyeon, I believe this is ready to merge once the conflict is addressed.

A final review, @Jougan-0, would be good.

Was GTG forgot to approve.


Possible Issue with Saving/Reading Byte Array

Before I switched to goqu, I was using following sql to store password salt and hash to PostgreSQL:
INSERT INTO ACCOUNT (SALT, HASH) VALUES ($1, $2);
and I passed []byte values to both arguments. The corresponding columns in my database are type bytea. I was using sha256 from go's crypto package to generate the hash. When I read the salt and hash, I also read them to []byte objects and the authentication worked fine.
However, this is not working when I was using goru with following code:
sql,_, _:=db.From("ACCOUNT").Select(goqu.I("SALT"),goru.I("HASH")).Where(goqu.Ex{"USERNAME": username}).ToSql()
rows, err := db.Query(sql)
Password no longer matches the hash with the given salt.
I checked my schemas, columns, and values and confirmed that all these values are correct.
I also looked into your tests but did not find any examples for saving or reading []byte or bytea type. Most of them are for numeric or string(array) types.
Does goqu support []byte or did I miss something? Thanks!

Looking at the example you provided the db.Query method doesn't do anything special it will just use the underlying Query method from the driver. Can you provide a failing example?


Task - Audit Logs - Log failed job application submission

Log when a job application submission fails, so we have a record of it in case someone claims they submitted their application but we can't find it.
If possible, it would be nice to log the reason the submission failed and maybe some of the data in the job application.

Closed because the requested feature already exists.


[Email]Support oauth on imap protocol (Google)

Google is changing the authentication method for sending emails.
We can consider 2 options:

add oauth to mail component
implement gmail base component Camel

https://workspaceupdates.googleblog.com/2023/09/winding-down-google-sync-and-less-secure-apps-support.html
https://dovetailworld.atlassian.net/jira/servicedesk/projects/DOV/queues/custom/2/DOV-1493
Related to https://github.com/dovetailworld/front-end/issues/3922

Test flow
Instance: next
Tenant: Microscope:
Flow: SendGmail
Install the flow gives error: The flow failed to install with the following error: Request failed with status code 500. I cannot find another error in the Assimbly backend.


There is no way for users to get/see their org's or own profile page URL

There is -as of today- no link to profile pages.
We need to find a way to give a "public profile link" to users and organizations and put it somewhere accessible.
But we also need to take care that most connected users usually want to go to their dashboards and not to their profiles.
What would be the solution for this?

For the user's profile page : maybe an entry in the top-right-corner dropdown menu?
But for the organizations' profile pages ... I don't see where to put the "profile link" info.

That could be in the side nav in the dashboard: "View own public page"

You mean putting a link to the "organization public profile page" on the left-side menu of the org dashboard?


Regression test failed

Hi,
I've compiled ModSecurity from v3/master. When I run the regression_tests with 'make check', I get this error (in test-suite.log):
RUN: test/test-cases/regression/operator-ipMatchFromFile.json
=============================================================

:test-result: FAIL operator-ipMatchFromFile.json:Testing Operator :: @ipMatchFromFile

./regression_tests .././test/test-cases/regression/operator-ipMatchFromFile.json:1

But when I run only this test with regression_test, all tests are passed:
# test/regression_tests test/test-cases/regression/operator-ipMatchFromFile.json
ModSecurity 3.0.0-alpha - tests
(options are not available -- missing GetOpt)

  # File Name                                         Test Name                                                             Passed?
--- ---------                                         ---------                                                             -------
  1 operator-ipMatchFromFile.json                     Testing Operator :: @ipMatchFromFile                                  passed!
  2 operator-ipMatchFromFile.json                     Testing Operator :: @ipMatchFromFile - file not found                 passed!
  3 operator-ipMatchFromFile.json                     Testing Operator :: @ipMatchFromFile - https                          passed!

Ran a total of: 3 regression tests - All tests passed.

What's wrong with make check?
Thanks,
a.

Sorry - that was a user error :).


ADD daily report slack/discord message cronjob

select c.name as 'Course Name', c.course_code as 'Course Code'
  from course c
 where c.name not in ('DEMO', 'TEST');

select '';

select count(distinct u.id) as 'Total users enrolled in at least one course this semester'
  from user u
         join in_course ic on u.id = ic.owner_id;

select '';

select count(t.id) as 'Total IDEs opened this semseter'
  from theia_session t
         join course c on t.course_id = c.id
 where c.name not in ('DEMO', 'TEST')
 order by count(t.id) desc;

select '';

select c.name as 'Course Name', c.course_code as 'Course Code', count(u.id) as 'Total users enrolled'
  from user u
         join in_course ic on u.id = ic.owner_id
         join course c on c.id = ic.course_id
 where c.name not in ('DEMO', 'TEST')
 group by c.id
 order by count(u.id) desc;

select '';

select c.name as 'Course Name', c.course_code as 'Course Code', count(t.id) as 'Total IDEs opened'
  from theia_session t
         join course c on t.course_id = c.id
 where c.name not in ('DEMO', 'TEST')
 group by c.id
 order by count(t.id) desc;

Course Name	Course Code
DevOps	CS-GY 9223
Distributed Systems (Grad)	CS 9223
Operating Systems (Grad)	CD-GY 6223
Software Engineering (Undergrad)	CS-UY 4513
Computer Architecture	CS-UY 2214
Operating Systems (Undergrad)	CS-UY 3224

Total users enrolled in at least one course this semester
503

Total IDEs opened this semseter
7983

Course Name	Course Code	Total users enrolled
Computer Architecture	CS-UY 2214	186
Operating Systems (Grad)	CD-GY 6223	153
Operating Systems (Undergrad)	CS-UY 3224	124
DevOps	CS-GY 9223	28
Software Engineering (Undergrad)	CS-UY 4513	27
Distributed Systems (Grad)	CS 9223	23

Course Name	Course Code	Total IDEs opened
Operating Systems (Grad)	CD-GY 6223	2818
Operating Systems (Undergrad)	CS-UY 3224	2395
Computer Architecture	CS-UY 2214	2326
DevOps	CS-GY 9223	222
Distributed Systems (Grad)	CS 9223	136
Software Engineering (Undergrad)	CS-UY 4513	86

Teo and I have talked separately about this. We want to also add some plots and stuff that show how many people used ides that day, and for how long as well.
The one metric on there that is quite helpful is the total users on the platform. That is a pretty core metric when the big people on the CS department ask about how Anubis is doing. It would be nice to see it every day.


Insomnia UI Alignment: Left Pane Horizontal Lines Misaligned With Rest of App

Expected Behavior
The horizontal lines align at the same height across the app for consistent visual experience.
Actual Behavior
The "branch" and "collection name" lines are lower than expected when compared to their neighbouring horizontal lines.
Reproduction Steps

Open GUI
Open a collection
Visually confirm lines are lower than expected

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
8.6.1
What operating system are you using?
Windows
Operating System Version
Windows 10 Education 22H2
Installation method
Download from https://insomnia.rest/download
Last Known Working Insomnia version
No response

This is looking better in v9.2.0

Thanks for the feedback! Closing as we updated the UI in 9.2


Use isinstance() and id() to short-circuit the common case in __eq__

Assuming people will typically compare a record with another record of the same type, a fast path in __eq__ would be to check if both objects define __slots__, that they are both tuples, and that they are the same object. That allows for skipping the values in the slot (thank tuple immmutability! 😀)

❯ py -m timeit -s "slots = ('a', 'b', 'c', 'd', 'e')" "frozenset(slots) == frozenset(slots)"
1000000 loops, best of 5: 317 nsec per loop

❯ py -m timeit -s "slots = ('a', 'b', 'c', 'd', 'e')" "frozenset(slots) == frozenset(slots)"
1000000 loops, best of 5: 317 nsec per loop

Actually, I'm not sure if isinstance() is even required, because if they are the same object for both instances, then they will inevitably have the same shape. Plus, Python only evaluates __slots__ once, so mutating its value doesn't change what the class allows (and it just silly regardless).
>>> class Spam: __slots__ = {'a'}
...
>>> Spam().b = 42
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Spam' object has no attribute 'b'
>>> Spam.__slots__.add('b')
>>> Spam().b = 42
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Spam' object has no attribute 'b'
>>> Spam.__slots__
{'a', 'b'}


Remove superfluous "before..." hooks

As all preliminary model manipulations are now automated (foreign key handling, payload formatting, we don't need "before..." hooks anymore.
Remove them to simplify the API until we really need them again.

Fixed.


issue of formula at V3.5.2

Hi @paulhodel ,
Today I update jexcel version v3.5.1 to v3.5.2, than find a formula bug(version 3.5.1 not this issue).
My Situation :
E1 : SUM(G2:G8) <<<<< wrong calculation result
G2: MULTIPLY(E2,F2)
G3: MULTIPLY(E3,F3)
G4: ......   (same to G3)
gif image when use v3.5.1 <<<<< correct calculation result

gif image when use v3.5.2 <<<<< wrong calculation result

Sorry I cannot create a jsfiddle for you ref. It is because on https://bossanova.uk/jexcel/v3/jexcel.js still in v3.5.1 version and v3.5.1 didn't have this issue.

Yes, sorry. This has been fixed in the master v3.6.0


Upgrade Verison to <IP_ADDRESS>

Just wanted to ask if I may upgrade it to the new version?

Absolutely!

Cool! Will upgraded during the Super Bowl ! ;)


[NEW ALGORITHM] Adding nQueens Problem

Issue will be closed if:

You mention more than one algorithm. You can create a separate issue for each algorithm once the current one is completed.
You propose an algorithm that is already present or has been mentioned in a previous issue.
You create a new issue without completing your previous issue.

Note: These actions will be taken seriously. Failure to follow the guidelines may result in the immediate closure of your issue.

Name:
NQueens Problem
About:
Propose a new algorithm to be added to the repository

Labels:
new algorithm, hacktoberfest, level1, hacktoberfest-accepted

Assignees:

[x] Want to work on it

Assign me this issue please

Please assign me this issue.


feat: interface for search request

Search Request
{
  "q": "Steve",
  "search_fields": [
    "first_name",
    "last_name"
  ],
  "filter": {
    "$or": [
      {
        "country": {
          "$eq": "USA"
        }
      },
      {
        "country": "UK"
      }
    ],
    "$and": [
      {
        "last_name": {
          "$ne": "Ballmer"
        }
      },
      {
        "last_updated": {
          "$gte": "2018-10-29 10:02:48"
        }
      },
      {
        "last_updated": {
          "$lt": "2020-10-29 10:02:48"
        }
      }
    ]
  },
  "facet": {},
  "sort": [
    {
      "age": "$asc"
    },
    {
      "salary": "$desc"
    }
  ],
  "fields": []
}

Search Response
{
  "hits": [
    {
      "doc": {},
      "meta": {}
    }
  ],
  "facet": {
    "field": {
      "counts": [],
      "stats": {}
    }
  },
  "meta": {
    "found": 12345,
    "page": {
      "current": 1,
      "total_pages": 5,
      "per_page": 10
    }
  }
}

Most of the request is open ended as of now and pagination, facet and sort orders are not finalized yet.

Codecov Report

Merging #93 (36c1d22) into main (08f8119) will decrease coverage by 2.27%.
The diff coverage is 61.95%.

@@             Coverage Diff              @@
##               main      #93      +/-   ##
============================================
- Coverage     78.96%   76.69%   -2.28%
- Complexity      387      430      +43
============================================
  Files            54       66      +12
  Lines          1350     1553     +203
  Branches        103      114      +11
============================================
+ Hits           1066     1191     +125
- Misses          267      335      +68
- Partials         17       27      +10

Impacted Files
Coverage Δ

...main/java/com/tigrisdata/db/client/ReadFields.java
100.00% <ø> (ø)

.../com/tigrisdata/db/client/search/SearchFields.java
0.00% <0.00%> (ø)

...risdata/db/client/search/SearchRequestOptions.java
0.00% <0.00%> (ø)

...a/com/tigrisdata/db/client/search/FacetFields.java
45.45% <45.45%> (ø)

.../java/com/tigrisdata/db/client/search/HitMeta.java
50.00% <50.00%> (ø)

...main/java/com/tigrisdata/db/client/search/Hit.java
57.14% <57.14%> (ø)

...n/java/com/tigrisdata/db/client/TypeConverter.java
90.47% <58.82%> (-3.65%)
:arrow_down:

...va/com/tigrisdata/db/client/search/SearchMeta.java
60.00% <60.00%> (ø)

...va/com/tigrisdata/db/client/search/FacetStats.java
66.66% <66.66%> (ø)

...sdata/db/client/search/FacetCountDistribution.java
70.58% <70.58%> (ø)

... and 6 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #93 (6c63432) into main (08f8119) will decrease coverage by 2.17%.
The diff coverage is 65.20%.

@@             Coverage Diff              @@
##               main      #93      +/-   ##
============================================
- Coverage     78.96%   76.78%   -2.18%
- Complexity      387      442      +55
============================================
  Files            54       67      +13
  Lines          1350     1598     +248
  Branches        103      118      +15
============================================
+ Hits           1066     1227     +161
- Misses          267      341      +74
- Partials         17       30      +13

Impacted Files
Coverage Δ

...main/java/com/tigrisdata/db/client/ReadFields.java
100.00% <ø> (ø)

...risdata/db/client/search/SearchRequestOptions.java
0.00% <0.00%> (ø)

...tigrisdata/db/client/search/FacetFieldOptions.java
41.17% <41.17%> (ø)

...a/com/tigrisdata/db/client/search/FacetFields.java
42.85% <42.85%> (ø)

.../java/com/tigrisdata/db/client/search/HitMeta.java
50.00% <50.00%> (ø)

...main/java/com/tigrisdata/db/client/search/Hit.java
57.14% <57.14%> (ø)

...n/java/com/tigrisdata/db/client/TypeConverter.java
90.47% <58.82%> (-3.65%)
:arrow_down:

...va/com/tigrisdata/db/client/search/SearchMeta.java
60.00% <60.00%> (ø)

...va/com/tigrisdata/db/client/search/FacetStats.java
66.66% <66.66%> (ø)

...sdata/db/client/search/FacetCountDistribution.java
70.58% <70.58%> (ø)

... and 7 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #93 (ab7cc10) into main (08f8119) will increase coverage by 0.88%.
The diff coverage is 84.28%.

@@             Coverage Diff              @@
##               main      #93      +/-   ##
============================================
+ Coverage     78.96%   79.85%   +0.88%
- Complexity      387      474      +87
============================================
  Files            54       67      +13
  Lines          1350     1628     +278
  Branches        103      124      +21
============================================
+ Hits           1066     1300     +234
- Misses          267      299      +32
- Partials         17       29      +12

Impacted Files
Coverage Δ

...main/java/com/tigrisdata/db/client/ReadFields.java
100.00% <ø> (ø)

...risdata/db/client/search/SearchRequestOptions.java
0.00% <0.00%> (ø)

...n/java/com/tigrisdata/db/client/TypeConverter.java
90.47% <58.82%> (-3.65%)
:arrow_down:

...va/com/tigrisdata/db/client/search/SearchMeta.java
60.00% <60.00%> (ø)

...va/com/tigrisdata/db/client/search/FacetStats.java
66.66% <66.66%> (ø)

...sdata/db/client/search/FacetCountDistribution.java
70.58% <70.58%> (ø)

...va/com/tigrisdata/db/client/search/FacetCount.java
75.00% <75.00%> (ø)

...a/com/tigrisdata/db/client/search/QueryString.java
76.92% <76.92%> (ø)

...com/tigrisdata/db/client/search/SearchRequest.java
81.25% <81.25%> (ø)

.../tigrisdata/db/client/search/FacetFieldsQuery.java
90.90% <90.90%> (ø)

... and 7 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #93 (98710e9) into main (08f8119) will increase coverage by 3.74%.
The diff coverage is 96.06%.

@@             Coverage Diff              @@
##               main      #93      +/-   ##
============================================
+ Coverage     78.96%   82.70%   +3.74%
- Complexity      387      551     +164
============================================
  Files            54       67      +13
  Lines          1350     1729     +379
  Branches        103      150      +47
============================================
+ Hits           1066     1430     +364
- Misses          267      272       +5
- Partials         17       27      +10

Impacted Files
Coverage Δ

...main/java/com/tigrisdata/db/client/ReadFields.java
100.00% <ø> (ø)

...n/java/com/tigrisdata/db/client/TypeConverter.java
90.47% <58.82%> (-3.65%)
:arrow_down:

.../tigrisdata/db/client/search/FacetFieldsQuery.java
90.90% <90.90%> (ø)

.../com/tigrisdata/db/client/search/SearchFields.java
92.85% <92.85%> (ø)

...com/tigrisdata/db/client/search/SearchRequest.java
93.33% <93.33%> (ø)

...main/java/com/tigrisdata/db/client/search/Hit.java
95.83% <95.83%> (ø)

...tigrisdata/db/client/AbstractTigrisCollection.java
90.72% <100.00%> (+0.61%)
:arrow_up:

...tigrisdata/db/client/StandardTigrisCollection.java
91.83% <100.00%> (+0.34%)
:arrow_up:

...va/com/tigrisdata/db/client/search/FacetCount.java
100.00% <100.00%> (ø)

...sdata/db/client/search/FacetCountDistribution.java
100.00% <100.00%> (ø)

... and 7 more

Continue to review full report at Codecov.

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

Looks great.
We discussed it over call. Please take care of Javadoc errors/warnings and error details in this PR and rest can follow in next PRs.


Clarify and add tests for schema change scenarios

A producer with a schema can attach to a topic if

the topic does not exist
the topic exists but currently has no schema
the topic exists and the schema is compatible with the producer
schema

A consumer with a schema can attach to a topic if

the topic does not exist (the schema from the consumer is added to
the topic)
the topic exists and the schema is compatible with the consumer
schema

A producer without a schema can attach if

the topic does not exist
the topic exists and has no schema

A consumer without a schema can attach if

the topic exists, either with or without a schema

rerun java8 tests
rerun cpp tests

rerun integration tests

rerun integration tests


Few More Virtual Deep Learning Schools for 2020

Just wanted to share 2 more DL online schools I came across:

http://2020.dl-lab.eu/virtual-summer-school-on-deep-learning/

http://ml-school.uni-koeln.de/

Registrations are still open for both

Thanks for your contribution! The second one has been added. Please feel free to open a PR for any additional requests

Also, I come across some other summer schools for AI and DL:

School of ai: Pi school, Rome [https://picampus-school.com/programme/school-of-ai/]
DLAI3, Thailand [https://deeplearningandaiwinterschool.github.io/]
AI Summer School 2019 Singapore [https://aisummerschool.aisingapore.org/]
Registrations for 1st one are still open. but the registrations are closed for others.

Thanks again!


Removes unused fixture

fixtures/forms.html doesn't appear to be referenced anywhere.
Removals

fixtures/forms.html

Testing

gulp test:unit:scripts should run normally.

Review

@KimberlyMunoz
@sebworks

👍

:+1:


added htmlspecialchars since there was a conflict with the Email News

Can you describe the conflict a little more? It may be part of a bigger issue.

The backend broke when using the Email Newsletter Manager. The Recepient group settings where you can choose the source broke since there might be some special characters breaking it.
If you need more information, let me know!


translation improvement

Like described in #1896 this PR adds more information about translations and adds a call to action.
Closes #1896

Seems to work pretty well, thanks @matmair


Refactor move bmiCompute from anc to quest

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #1326
Checklist

[ ] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[ ] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[ ] I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

Tagging this PR with DNM label until the discussion is resolved.

No longer needed, linked issue #1326 closed and marked as completed through use of Calculated expressions #https://github.com/google/android-fhir/pull/1380