Breaking in NextJs (SSR): Changes from Pull request #124 are not present in latest src

Hello team,
There was a merge of pull request #124 to address ssr last year, however, the latest source code is missing those changes.
Currently flowbite-react in Nextjs results in numerous errors all related to code accesing document or window when it is not yet present. You can replicate this yourself by importing modal components inside nextjs app. The error that I am getting is:
ReferenceError: document is not defined     at ModalComponent (webpack-internal:///(sc_client)/../../node_modules/flowbite-react/lib/cjs/components/Modal/Modal.js:17:50)
This error stems from the line:
root = document.body present in Modal.tsx
Originally posted by @samratarmas in https://github.com/themesberg/flowbite-react/issues/123#issuecomment-1435509021

Well.. that's interesting.
Fixing this along with #611, ergo, 0.4.0

https://github.com/themesberg/flowbite-react/pull/495 @rluders This was the problematic PR

@samratarmas The fix has been introduced, so if you can't wait to use the new version when it's actually released, consider using patch-package to add the commit temporarily to your repo

We should probably introduce some specific tests for nextjs ssr

It means a lot to the community to know that the team definitely takes ssr very seriously, We appreciate the quick patches!
Definitely, test cases where window is undefined can prevent regressions like this one in the future.
Since this is kind of related to the desire for flowbite team to align with Nextjs (or any other meta-react framework) and future of how react components will be rendered in multiple environments such as in nodejs runtime or the edge runtime inside cloudflare edge workers etc., I would also like to present a small seed for the future:
If the theme context in flowbite-react is made such that using context api is not necessary (so when useTheme hook reads theme context value it could check for a key in a cookie when in nodejs environment instead of trying to access the context value), then flowbite could support many of its components as react server component compatible in nextjs without having to declare them as client components.
Now obviously some components that require user interaction definitely need state and prop drilling, and context api is quite convinent for them, however it would be great experience for Nextjs 13 users if library authors do not rely on useState, useContext, and others for components that do not require user interaction,since those are not available in server components.
At the very least, sharing the theme can be in a cookie which is supported by both browser and server, hence avoiding wrapping entire app component tree inside a client component because of use of context api. There are also other solutions than cookies, which we can research on if you like this idea.
I saw another discussion here previously regarding how it was presented as adding "use-client" was an acceptable solution, however if you inspect the page source for nextjs flowbite project you will find that since the flowbite theme context is needed near the root of the component tree in the application, and it is a client component, the inspected page source does not show any content for "use-client" declared components. This can be seen in the community flowbite nextjs starter for example. This is basically making using nextjs and ssr useless altogether for SEO purposes if the inspected page source has none of the starter dashboard text and data.

It means a lot to the community to know that the team definitely takes ssr very seriously, We appreciate the quick patches!
Definitely, test cases where window is undefined can prevent regressions like this one in the future.
Since this is kind of related to the desire for flowbite team to align with Nextjs (or any other meta-react framework) and future of how react components will be rendered in multiple environments such as in nodejs runtime or the edge runtime inside cloudflare edge workers etc., I would also like to present a small seed for the future:
If the theme context in flowbite-react is made such that using context api is not necessary (eg: when useTheme hook reads theme context value it could check for a key in a cookie when in nodejs environment instead of trying to access the context value, and then depending on whether it's server or client environment we conditionally wrap the app inside of context, or get rid of context altogether for theme and read/write to the cookie in all environments), then flowbite could support many of its components as react server component compatible in nextjs without having to declare them as client components.
Now obviously some components that require user interaction definitely need state and prop drilling, and context api is quite convinent for them, however it would be great experience for Nextjs 13 users if library authors do not rely on useState, useContext, and others for components that do not require user interaction,since those are not available in server components.
At the very least, sharing the theme can be in a cookie which is supported by both browser and server, hence avoiding wrapping entire app component tree inside a client component because of use of context api. There are also other solutions than cookies, which we can research on if you like this idea.
I saw another discussion here previously regarding how it was presented as adding "use-client" was an acceptable solution, however if you inspect the page source for nextjs flowbite project you will find that since the flowbite theme context is needed near the root of the component tree in the application, and it is a client component, the inspected page source does not show any content for "use-client" declared components. This can be seen in the community flowbite nextjs starter for example where the inspected page source has none of the starter dashboard text and data.  (It could also be that maybe the starter template is doing something incorrect that none of the components in that dashboard page can be seen when you inspect page source), but my main request was to try to support server components at the library level, which can be huge right now because none of the css-in-js based libraries based on emotion in react can be compatible with server components for the time being, and tailwind is fully compatible, its just the javascript in libraries that is making this a hindrance.
@rluders @tulup-conner

Thanks, @samratarmas. I understand the concerns about NextJS and mainly the SSR functionality. We should find a solution to this.
However, using cookies is out of the question, it raises some LGPD problems, so IMHO this is out of the table. We probably need to find some other approach to solve this issue. We do have an issue related to Server Components (https://github.com/themesberg/flowbite-react/issues/448), the best is to discuss any possible approach over there.


Tune non cycling speed to power calculation

Kinomap only works for a Rower Data FTMS stream if it supplies watts. This came to surface when I tried to stream a CSC-based kayak workout (Old Danube #384 way).
Right now I only have a procedure to estimate watt reading for a speed in case of cycling: https://www.gribble.org/cycling/power_v_speed.html (#64 #177 #287) factoring in several parameters such as athlete weight, air temperature and most importantly wind resistance. I'm using this same equation, but with "slow" (compared to cycling) sports the wind resistance is not prominent. What differs more is how efficient is a sport regarding expended calories vs power output.
This is for running: https://support.garmin.com/en-US/?faq=vAzl2ne5dV6diuc2XbYZA6

Metabolic efficiency of positive work for running at 2.75 m/s is 39%, and at 3.25 m/s is 41%. (Farris and Sawicki, 2011)
In running, efficiency increases steadily with speed from ~45% at 2.77 m/s to ~60% at 5.55 m/s. (Cavagna and Kaneko, 1977)
A review paper on cycling efficiencies indicates efficiency for cycling is between 20 to 25% for power between 200-300 W. (Joyner and Cole, 2008)

Source
Running
Cycling

Bijker et al., 2001
45.5%
25.7%

Bijker et al., 2001
42%
25%

Asmussen and Bonde-Petersen, 1974
53.8%
25.1%

Source
Speed
Power per kg
Power for 75 kg Runner

Cavagna et al., 1997
3.08 m/s (8:43 /mi)
3.9 W/kg
293 W

Cavagna et al., 2008 (young model)
3.00 m/s (8:56 /mi)4.00 m/s (6:42 /mi)
4.16 W/kg5.06 W/kg
312 W380 W

Farris and Sawicki, 2012
3.25 m/s (8:15 /mi)
5.67 W/kg
425 W

Williams and Cavanagh, 1983 (WCM)
3.57 m/s (7:31 /mi)
5.01 W/kg
376 W

Maybe later for running we can introduce an ECOR (Energy Cost of Running) setting: https://hetgeheimvanhardlopen.nl/en/translate-your-workout-description-in-running-power-yourself/
although as we see in the previous article ECOR is speed dependent and not necessarily linear.
But right now I'll just reduce the watt multiplier from 5 to an 1.7-2.1 range for running. Here is a linear method for running: https://alancouzens.com/blog/Run_Power.html
            $(document).ready(function(){
                $('#calc').click(function(){
                    weight = $('#weight').val();
                    dist = $('#dist').val();
                    gain = $('#gain').val();
                    hrs = $('#hrs').val();
                    minute = $('#min').val();
                    sec = $('#sec').val();
                    ftp = $('#ftp').val();
                    minutes = (hrs*60) + parseInt(minute) + (sec/60);
                    pace = minutes/dist;
                    speed = (dist/(minutes/60)).toFixed(2);
                    VO2R = 210/pace;
                    VO2A = (VO2R * weight)/1000;
                    HWatts = (75 * VO2A);
                    VWatts = ((9.8*weight) * (gain))/(minutes*60);
                    Watts = Math.round(HWatts + VWatts);
                    int_fact = speed/ftp;
                    tss = Math.pow(int_fact,2)*100*(minutes/60);
                    $('#speed').html(speed);
                    $('#power').html(Watts);
                    $('#int').html(int_fact);
                    $('#tss').html(Math.round(tss));
                });
            });
            $(document).ready(function(){
                $('#course').change(function(){
                    var c_sel = $('#course').val();
                    if (c_sel == 'kona') {
                        distance = 42.1;
                        elev = 241;
                    }
                    if (c_sel == 'az'){
                        distance = 41.9;
                        elev = 116;
                    }
                    if (c_sel == 'coz'){
                        distance = 42.0;
                        elev = 61;
                    }
                $('#dist').val(distance);
                $('#gain').val(elev);
                });
            });

For kayaking: https://www.researchgate.net/figure/Energy-cost-of-kayaking-C-k-as-a-function-of-speed-Circles-and-triangles-refer-to_fig2_12758692
Paola Zamparo, Carlo Capelli, G Guerrini: Energetics of kayaking at submaximal and maximal speeds

For rowing: High Energetic Demand of Elite Rowing – Implications for Training and Nutrition https://www.frontiersin.org/articles/10.3389/fphys.2022.829757/full

The last time I was jugging this power calculation kicked in and it yielded 999 kCal for a 33 minute 3.3 mile run (10 min / mile). Probably the real value is closer to around 250 kCal.

Now the running power seems to fell onto the too low side by default.


Fixed multi-line assembly macro in UPDATE_HASH for MSVC

https://docs.microsoft.com/en-us/cpp/assembler/inline/defining-asm-blocks-as-c-macros
insert_string_tpl.h(44,5): error : cannot use more than one symbol in memory operand
insert_string_sse.c(28,13): message : expanded from macro 'UPDATE_HASH'

Did not know this was a problem.
I would like another person besides me to review this though, since I do not know right from wrong here.

Looks good to me...

I encountered it when trying to compile using ClangCl.


Low: Missing or insecure HTTP Strict-Transport-Security Header

Stratos Version

4.4.0
Frontend Deployment type

[ ] Cloud Foundry Application (cf push)
[x] Kubernetes, using a helm chart
[ ] Docker, single container deploying all components
[ ] npm run start
[ ] Other (please specify below)

Backend (Jet Stream) Deployment type

[ ] Cloud Foundry Application (cf push)
[x] Kubernetes, using a helm chart
[ ] Docker, single container deploying all components
[ ] Other (please specify below)

Expected behaviour
AppScan DAST scan should not report Missing or insecure HTTP Strict-Transport-Security Header vulnerability
Actual behaviour
AppScan DAST scan reports Missing or insecure HTTP Strict-Transport-Security Header vulnerability
Steps to reproduce the behavior
AppScan DAST scans for Stratos URL https://ui.<IP_ADDRESS>.nip.io
The test result seems to indicate a vulnerability because AppScan detected that the HTTP Strict-Transport-Security response header is missing or with insufficient "max-age"
Log output covering before error and any error statements
Raw Test Response:
HTTP/1.1 200 OK
Connection: keep-alive
Access-Control-Allow-Credentials: true
Pragma: no-cache
Access-Control-Allow-Origin:
Vary: Origin
Content-Length: 2
X-Frame-Options: SAMEORIGIN
Cache-Control: no-store
Date: Wed, 28 Jul 2021 08:23:10 GMT
Content-Type: application/json
[
]...

Detailed Description

Context

Possible Implementation

Implement the HTTP Strict-Transport-Security policy with a long "max-age"

@manojtyagi2021 What request?? What max-age??
Please be careful when creating issues using automated tools to first read what it produces and then apply some context.

No response, closing.


devtools is always enabled when using dist/vue.js

https://github.com/vuejs/vue/blob/dev/dist/vue.js#L249
Notice this line of code, it will always be true what means even in production devtools will be enabled.

You can overwrite this in your application code.

Use dist/vue.common.js when bundling via Webpack or Browserify so you can control env variables.

Thanks for your quickly answer.
But there is another weird code to me: https://github.com/vuejs/vue/blob/dev/src/core/util/env.js#L27
It seems to be a hack for webpack, what is the purpose?
Sorry for the interruption.

@JounQin That's for SSR

Hmm, I know it is for SSR, but why not preserving it to be process.env.VUE_ENV in dist/vue.common.js so that we can override it with webpack simply, although the code is very short.


docs: guidelines upgrade

Description
A few additions including a better README, Contributor guidelines, and project LICENSE (Apache 2.0)

Resolved issues : Discussion  /  cc: @frank-zsy
Closes NA

Before submitting the PR, please take the following into consideration

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. If you don't have an issue, please create one.
[x] Prefix your PR title with feat: , fix: , chore: , docs:, or refactor:.
[x] The description should clearly illustrate what problems it solves.
[x] Ensure that the commit messages follow our guidelines.
[x] Resolve merge conflicts (if any).
[x] Make sure that the current branch is upto date with the main branch.

NOTE: Following this PR, DCO's will be mandated per commits introduced to this repo via PR(s).

Apache 2.0 License looks good and the contributing doc is great, thanks.


login: No need to set MAIL

Propose to fix https://github.com/cylgom/ly/issues/75.
See https://github.com/cylgom/ly/issues/75#issuecomment-427627825 for more details.

I think this is set by login from linux-utils. But I prefer Ly to compile with musl than to support something other display managers don't


generate: optimize namespace setup log and fix manpage

Signed-off-by: Ma Shimiao<EMAIL_ADDRESS>

15f529b looks good to me.

LGTM


Vue 3 upgrade - badge and subject cards overflow at 400% zoom

Page should work at 400% zoom without requiring horizontal and vertical scrollbars, when at 400% zoom, the badge and subject cards overflow the content horizontally a bit, causing scrollbars to appear

:+1:


Migration/DPM 343 Data Hub API application settings

Description of change
Change the connection string for PostgreSQL to DATABASE_CREDENTIALS using a JSON object containing the database credentials:
{"username": "application_user",
 "password": "p4s5w0rd!",
 "engine": "postgres",
 "port": 5432,
 "dbname": "main",
 "host": "hostname.rds.amazonaws.com",
 "dbInstanceIdentifier": "db-instance"}

Checklist

[ ] Has this branch been rebased on top of the current main branch?

Explanation
The branch should not be stale or have conflicts at the time reviews are requested.

[ ] Is the CircleCI build passing?

General points

Other things to check

Make sure fixtures/test_data.yaml is maintained when updating models
Consider the admin site when making changes to models
Use select-/prefetch-related field lists in views and search apps, and update them when fields are added
Make sure the README is updated e.g. when adding new environment variables

See docs/CONTRIBUTING.md for more guidelines.

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

Project coverage is 96.56%. Comparing base (abaf7da) to head (1063b3f).

Additional details and impacted files
@@                 Coverage Diff                  @@
##           migration-deploy    #5340      +/-   ##
====================================================
- Coverage             96.57%   96.56%   -0.01%
====================================================
  Files                   927      927
  Lines                 21998    21998
  Branches               1968     1968
====================================================
- Hits                  21245    21243       -2
- Misses                  610      611       +1
- Partials                143      144       +1

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


PostMessage to worker failed if target passed in configuration

Hi,
I encountered a problem when a specific "target" is used in the configuration object. I paste here what I've said in #94 :
As soon as quagga start, an error is thrown
Uncaught DataCloneError: Failed to execute 'postMessage' on 'Worker': An object could not be cloned.

thrown by
	    workerThread.worker.postMessage({
	        cmd: 'init',
	        size: { x: _inputStream.getWidth(), y: _inputStream.getHeight() },
	        imageData: workerThread.imageData,
	        config: _config
	    }, [workerThread.imageData.buffer]);

I read, on threads about workers, that this error can be generated if a postMessage try to pass a parameter which is an object and this object has functions.
I think the error isthrown because HTMLElement specified in "target" is a complex object that the browser can't clone. If I remove it, and thus the _config passed in postMessage doesn't contain it, it works like a charm.
A solution may be to strip _config.target from config passed to workers
I take this opportunity to thank you for great work on quaggaJS, really useful plugin with a neat usability.

Thanks for reporting this bug. This is indeed a problem caused if the target is an HTML element. I'll try to remove it from the configuration which is passed into the worker. Good idea. I'll let you know as soon as it is fixed.


Lean pr testing 4272

testing more aggressive caching

!bench

!bench
Wow, that last run was really fast 🏎 Hopefully this one is even faster

!bench

!bench
I made a mistake in the previous version, so let's try again

!bench
The improvement here is that the canonical instance optimization is applies more often.

bench!

Some more statistics (extracted from the last comparison):
  lint:                                                -463.96 * 10⁹ (-3.80%)
  build:                                               -6036.9 * 10⁹ (-5.10%)

Files that got slower:
  Mathlib.CategoryTheory.Preadditive.EilenbergMoore:   +8.1559 * 10⁹ (+3.44%)
  Mathlib.RepresentationTheory.Action.Basic:           +3.9758 * 10⁹ (+2.86%)
  Mathlib.CategoryTheory.DifferentialObject:           +1.5048 * 10⁹ (+1.11%)
  Mathlib.RingTheory.Noetherian:                       +1.4284 * 10⁹ (+1.43%)
  Mathlib.CategoryTheory.Category.Cat.Limit:           +1.4264 * 10⁹ (+1.43%)
  Mathlib.CategoryTheory.Monoidal.Discrete:            +1.0840 * 10⁹ (+0.964%)

And there are 1127(!) Mathlib files that got faster by at least 10⁹ instructions. I won't paste the complete list; it starts with
Files that got faster:
  Mathlib.Algebra.Star.NonUnitalSubalgebra:            -74.055 * 10⁹ (-20.7%)
  Mathlib.CategoryTheory.Monoidal.Braided.Basic:       -53.659 * 10⁹ (-20.4%)
  Mathlib.CategoryTheory.Bicategory.Adjunction:        -49.013 * 10⁹ (-20.0%)
  Mathlib.RingTheory.Kaehler:                          -47.704 * 10⁹ (-9.59%)
  Mathlib.Analysis.NormedSpace.Multilinear.Basic:      -47.664 * 10⁹ (-13.3%)
  Mathlib.Analysis.Calculus.ContDiff.Basic:            -46.439 * 10⁹ (-10.5%)
  Mathlib.Analysis.Calculus.FDeriv.Mul:                -46.255 * 10⁹ (-10.7%)
  Mathlib.Algebra.TrivSqZeroExt:                       -44.136 * 10⁹ (-26.7%)
  Mathlib.LinearAlgebra.TensorProduct.Tower:           -43.443 * 10⁹ (-20.3%)
  Mathlib.Analysis.Convolution:                        -40.219 * 10⁹ (-10.7%)
  Mathlib.Analysis.Calculus.ContDiff.Defs:             -36.745 * 10⁹ (-10.4%)
  Mathlib.Analysis.Convex.Function:                    -33.361 * 10⁹ (-31.6%)
  Mathlib.LinearAlgebra.Matrix.ToLin:                  -32.998 * 10⁹ (-21.2%)
  Mathlib.NumberTheory.RamificationInertia:            -31.936 * 10⁹ (-10.4%)
  Mathlib.Analysis.NormedSpace.TrivSqZeroExt:          -29.778 * 10⁹ (-20.5%)
  Mathlib.Analysis.NormedSpace.OperatorNorm.Bilinear:  -29.611 * 10⁹ (-18.2%)
  Mathlib.Geometry.Manifold.ContMDiff.NormedSpace:     -29.223 * 10⁹ (-14.8%)
  Mathlib.Algebra.Lie.Weights.Killing:                 -28.422 * 10⁹ (-12.2%)
  Mathlib.Analysis.Analytic.Basic:                     -28.004 * 10⁹ (-9.98%)
  Mathlib.CategoryTheory.Monoidal.Rigid.Basic:         -27.757 * 10⁹ (-10.9%)
  Mathlib.Analysis.Seminorm:                           -26.623 * 10⁹ (-15.3%)
  Mathlib.Analysis.NormedSpace.Multilinear.Curry:      -26.365 * 10⁹ (-12.6%)
  Mathlib.LinearAlgebra.Matrix.SchurComplement:        -26.122 * 10⁹ (-28.4%)
  Mathlib.Algebra.Module.LocalizedModule:              -25.112 * 10⁹ (-12.1%)
  Mathlib.Algebra.Category.ModuleCat.ChangeOfRings:    -24.818 * 10⁹ (-6.06%)
  Mathlib.MeasureTheory.Integral.SetToL1:              -24.242 * 10⁹ (-7.87%)
  Mathlib.Algebra.Algebra.NonUnitalSubalgebra:         -23.699 * 10⁹ (-14.0%)
  Mathlib.Analysis.NormedSpace.Star.Multiplier:        -23.057 * 10⁹ (-12.4%)
  Mathlib.RingTheory.TensorProduct.Basic:              -22.828 * 10⁹ (-8.19%)
  Mathlib.Topology.Algebra.Module.Basic:               -22.688 * 10⁹ (-8.52%)
  Mathlib.MeasureTheory.Integral.Bochner:              -22.354 * 10⁹ (-9.30%)
  Mathlib.Analysis.InnerProductSpace.Projection:       -22.142 * 10⁹ (-9.88%)
  Mathlib.Analysis.InnerProductSpace.Basic:            -21.738 * 10⁹ (-8.30%)
  Mathlib.Topology.ContinuousFunction.NonUnitalFunctionalCalculus:
                                                       -21.322 * 10⁹ (-10.1%)
  Mathlib.Analysis.Fourier.FourierTransformDeriv:      -21.042 * 10⁹ (-10.2%)
  Mathlib.LinearAlgebra.TensorProduct.Basic:           -20.725 * 10⁹ (-7.99%)
  Mathlib.Analysis.Calculus.FDeriv.Symmetric:          -20.608 * 10⁹ (-24.2%)
  Mathlib.Algebra.Algebra.Unitization:                 -20.381 * 10⁹ (-25.3%)

(these are the ones with a difference of at least 20*10⁹ instructions).

!bench
I think I fixed the loop-detection to recognize more non-loops

!bench
I now properly did the loop detection. But it should give at most a very small improvement.

!bench
I added an isDefEq check that is technically necessary (but it not being there didn't cause any problems). Let's see how it affects speed.

!bench
I added a check so that the intermediate caching isn't used for outParam type classes. Hopefully that doesn't slow it down.


Add trace log level

Hi,
I've added a 'trace' log level for when debug just isn't enough. When hooking into systems that don't support a trace level it'll push them out to debug instead (e.g. syslog, sentry).
Thanks

What is your use-case? This is not something that comes up often and for the majority of people would be confusing.

TL/DR; Trace is for finding the problem, DEBUG is for fixing the problem
The trace log level can be very useful, especially since error messages generally don't have a stack trace associated with them.  I constantly find error messages where I'm like "Well, that's great, but where did that come from?".  That usually happens when the error is thrown from an exterior library where I don't have control over what's in the message.
Even more useful though, is when you have a program running in the enterprise and you're getting spruious results.  If you have a bug in your program that you didn't happen to have a logging statement around, it can be nearly impossible to hunt down where exactly a problem might be happening.  Because of configuration mgmt, uptime,  and other fun corporate things, it might be prohibitive if not impossible to recompile the binary to add debugging statements in.  By having a trace log level, you can add a log statement (at a minimum) to the beginning/end of every function.  In normal use, you have this turned off so you aren't littering your logs with useless messages.  If a problem pops up and you don't know where it could be coming from, you can simply change the logging level to TRACE which doesn't require a recompile.  You can then sift through the logs and narrow down where the problem might be happening.
This is different than simply doing the same thing with DEBUG instead of TRACE.  Let's say that you knew whereabouts the problem might be happening and you've added DEBUG statements to try and figure out what's going wrong.  If you marked the prolog/eplilog of every function with DEBUG statements, it would make it a real pain in the rear to sift through the logs to find the debugging statements that you cared about.

@JoeBruner has put it very well, thanks.
In my case, I have an application which does a lot of text-based network traffic. Sometimes I want to see the traffic that is being sent to/from the network. Having this always enabled at the debug level can make it impossible to find useful information from the logs because of the sheer amount of data being generated.
I'd like to be able to dump the network data to the 'trace' level, so that I can enable this extra level of debugging when necessary (or rather, the people debugging my application can do so). At the moment I'm just using a compile-time flag in the library that turns on a load of fmt.Printf() statements - I could obviously improve this situation with a little more effort but I'd like the functionality to be present in the logging library rather than re-implementing portions of my log setup to provide this.
I'd already submitted this PR after I noticed one of Logrus' goals was to be 'completely API compatible with the standard library logger', so I'm not sure if adding this extra level is in line with that goal or not.

Wading in to say that I'm on board with the above two commenters, TRACE has come in handy in the past and would be appreciated here.

Don't think we'll be moving forward with this. Sorry for the long delay.


Use published hyper instead of our fork.

Right now to solve #1869 we had to update hyper and hyper-util, and this was done in a fork.
When a newer release of hyper and hyper-util drops, we should change back to it.
P.S.: the forks don't even change any code, they're needed due to hyper-util depending on hyper, and the fix we need for #1869 being not-released yet.

We can almost update hyper to 1.0, we're blocked on kube #1351 now.

New Kube was released!

Blocked on merging our kube-rs fork that has this implemented https://github.com/kube-rs/kube/issues/1361

Blocked on https://github.com/metalbear-co/private/issues/33


repair preheating weight function.

Please change all the comment to English, and add a issue describe the bug in detail.

Codecov Report

Merging #42 into master will increase coverage by 0.33%.
The diff coverage is 81.57%.

@@             Coverage Diff              @@
##             master      #42      +/-   ##
============================================
+ Coverage     63.18%   63.51%   +0.33%
  Complexity      584      584
============================================
  Files           263      263
  Lines         11206    11239      +33
  Branches       1872     1877       +5
============================================
+ Hits           7080     7139      +59
+ Misses         3154     3124      -30
- Partials        972      976       +4

Impacted Files
Coverage Δ
Complexity Δ

.../java/com/alipay/sofa/rpc/common/RpcConstants.java
66.66% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../sofa/rpc/registry/zk/ZookeeperRegistryHelper.java
88.88% <100%> (+1.54%)
0 <0> (ø)
:arrow_down:

.../com/alipay/sofa/rpc/common/utils/CommonUtils.java
83.92% <20%> (-6.27%)
0 <0> (ø)

.../java/com/alipay/sofa/rpc/client/ProviderInfo.java
77% <83.33%> (+5.82%)
0 <0> (ø)
:arrow_down:

...y/sofa/rpc/bootstrap/DefaultProviderBootstrap.java
60.3% <0%> (-2.52%)
0% <0%> (ø)

...pay/sofa/rpc/transport/ClientTransportFactory.java
63.63% <0%> (-1.52%)
0% <0%> (ø)

...com/alipay/sofa/rpc/context/RpcRuntimeContext.java
64.58% <0%> (-1.05%)
0% <0%> (ø)

...y/sofa/rpc/bootstrap/DefaultConsumerBootstrap.java
69.78% <0%> (+0.85%)
0% <0%> (ø)
:arrow_down:

...va/com/alipay/sofa/rpc/client/AbstractCluster.java
65.43% <0%> (+1%)
0% <0%> (ø)
:arrow_down:

...ay/sofa/rpc/client/AllConnectConnectionHolder.java
54.18% <0%> (+1.39%)
0% <0%> (ø)
:arrow_down:

... 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 c3ccd16...ea1b582. Read the comment docs.


Module not found: Can't resolve 'file:/'

https://nextjs.org/docs/messages/module-not-found
Could not find files for / in .next/build-manifest.json
Could not find files for / in .next/build-manifest.json
> Promise returned in next config. https://nextjs.org/docs/messages/promise-in-next-config
wait  - compiling /_error (client and server)...
error - ./node_modules/@contentlayer/core/dist/getConfig/index.js:69:0
Module not found: Can't resolve 'file:/'

Not sure how to make this go away.

Thanks for opening this issue. Can you please provide minimal a reproduction repo with instructions how to reproduce the problem you're experiencing? Thank you!

yep, one incoming now

hurumph....

my bad...
Turns out when you try to import a thing that doesnt exist, this is what you get:
import type {
  GalleryBlock,
  HeroBlock,
  SimpleBlock,
  VideoBlock,
  CtaBlock,
  CardBlock  // 🫲 did not exist
} from "contentlayer/generated";

@airtonix
How did you fix the issue?
I'm stuck with this error

Cannot find module 'contentlayer/generated' or its corresponding type declarations.ts(2307)


Can't install on Windows Server 2012 R2

Good afternoon, earlier, your installer helped to cope with the installation problem on the Windows Server. Now when I launch new versions, he says that this is only for Windows 10.
Perhaps somehow ask you to upload a file for Windows Server 2012 R2?

inno setup release
http://www.solidfiles.com/d/ZMQXKpPQ7p7Qg
http://www.mediafire.com/download/sqnnpirtzcj8ka1/dotNetFx35_W8.1_x86_x64_2017.exe
7zsfx release
https://1drv.ms/u/s!AhOEoZ7nJmxFgUhRDSSmY2ExUh1i


SpeechRecognition on Adobe Build

Hi Sam,
I am developing an app which uses Speech recognition and need plugin available on Adobe build, If i pay membership fee, will you upload that?
It will be great help to complete this app.
Thanks and regards,
Rizwan

If you pay the membership you can download the code and upload the plugin as private plugin for your use only, but change the plugin id on the plugin.xml file, so if @macdonst wants to upload it some day he has no problems


Add rank of hit from first-phase as a rank-feature for second-phase

TLDR; Add new rank-feature firstPhaseRank that returns the rank of the hit to be used in second-phase.
We already support the firstPhase rank-feature which returns the score of the hit from the first-phase ranking. We have several times been asked to add a firstPhaseRank feature that returns the rank of the hit after sorting the hits after the first-phase. This feature can only be used in second-phase, similar to firstPhase.

That rank-feature would great for us! We read in multiple papers that the rank of the first-phase is a important rank-feature for re-ranking-models. In our cases we already proofed an increase of the quality with that feature of our personalization model and for now it wasn't possible to implement this feature on our own.
Really looking forward to have this!

@tkaessmann FYI

great a lot! Thanks!

Hi, encountered some surprises while working with the new feature today:
rank-profiles:
rank-profile test_working {
    first-phase { expression: 42 }
    second-phase { expression: firstPhase }

    match-features { firstPhase firstPhaseRank }
    summary-features { firstPhase firstPhaseRank }
}

rank-profile test_not_working {
    first-phase { expression: 42 }
    # no second-phase

    match-features { firstPhase firstPhaseRank }
    summary-features { firstPhase firstPhaseRank }
}

Surprises
The timeout matters
http://localhost:8080/search/?yql=select * from data where true&ranking.profile=test_working&timeout=10
{
  ...
  "matchfeatures": {
    "firstPhase": 42.0,
    "firstPhaseRank": 2.0
  },
  "summaryfeatures": {
    "firstPhase": 42.0,
    "firstPhaseRank": 2.0,
    "vespa.summaryFeatures.cached": 0.0
  }
}

( Slight confusion: summaryfeatures for firstPhaseRank should be max double as doc states ? It also works for a rank-profile without match-features. )
http://localhost:8080/search/?yql=select * from data where true&ranking.profile=test_working&timeout=11 (timeout 11, not 10)
{
  ...
  "matchfeatures": {
    "firstPhase": 42.0,
    "firstPhaseRank": 2.0
  },
  "summaryfeatures": {
    "firstPhase": 42.0,
    "firstPhaseRank": 1.7976931348623157E308,
    "vespa.summaryFeatures.cached": 0.0
  }
}

Expectation: the timeout should not make a difference
Differences using trace.level=3:

additional log for 11: "Query timeout (10994 ms) > max query cache timeout (10000 ms). Disabling query cache."
difference in log:

timeout=10: "Not resending query during document summary fetching"
timeout=11: "ProtoBuf: Resending query during document summary fetching"

The 2 firstPhase features behave differently
http://localhost:8080/search/?yql=select * from data where true&ranking.profile=test_non_working
{
  ...
  "matchfeatures": {
    "firstPhase": 42.0,
    "firstPhaseRank": 1.7976931348623157E308
  },
  "summaryfeatures": {
    "firstPhase": 42.0,
    "firstPhaseRank": 1.7976931348623157E308,
    "vespa.summaryFeatures.cached": 0.0
  }
}

Expectations:

both have values without a second-phase, since they only rely on the first-phase info
both have / don't have values in the same way

Technically, you could argue that they are not selected for a second-phase if there is no second-phase. But as a user I was surprised.
Questions
I know that I should not go to the summaryfeatures for firstPhaseRank. However, the inconsistency between so similar
features was unexpected.
It was also surprising that I could in fact use the summaryfeatures for firstPhaseRank (if my rank-profile defines second-phase) even though the docs say no.
Is the difference between the features intended? If yes, do you mind explaining why?
Is it expected that summaryfeatures is giving a value for firstPhaseRank? If yes, why do the docs call it an unsupported case?
Is the difference for timeout=10 / timeout=11 expected?

[Optional / Out of curiosity]
Why is the default for firstPhaseRank max double and not 0, like for all other Rank scores?
The count starts at 1, so 0 would also not occur normally. Only to prevent developers from assuming 0 means first one?

As clearly documented, this does not work in summary-features for reasons.

It does not work with summary-features because the order at that protocol phase is not well-defined. If there are concrete questions regarding the value for match-features ( I didn't read the entire post since I was you were randomly testing stuff using summary-features),feel free to ask.
on

[Optional / Out of curiosity]
Why is the default for firstPhaseRank max double and not 0, like for all other Rank scores?
The count starts at 1, so 0 would also not occur normally. Only to prevent developers from assuming 0 means first one?

Yes .


Issue with Android node_modules class (Typecast error)

Run react-native info in your project and share the content.
System:
OS: macOS 11.5.2
CPU: (4) x64 Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz
Memory: 31.18 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.16.1 - ~/.nvm/versions/node/v14.16.1/bin/node
Yarn: 1.22.15 - /usr/local/bin/yarn
npm: 6.14.12 - ~/.nvm/versions/node/v14.16.1/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.2 - /Users/sasha/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: iOS 15.0, DriverKit 20.4, macOS 11.3, tvOS 15.0, watchOS 8.0
Android SDK:
Android NDK: 22.1.7171670
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7784292
Xcode: 13.0/13A233 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_181 - /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.2 => 0.64.2
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
What react-native-splash-screen version are you using?
"react-native-lottie-splash-screen": "^0.1.14"
What platform does your issue occur on? (Android/iOS/Both)
Android
Describe your issue as precisely as possible :
  > Task :lottie-react-native:compileDebugJavaWithJavac FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
489 actionable tasks: 6 executed, 483 up-to-date
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
/Volumes/DATA/Project/DEMO/Projects/DEMO/IG/node_modules/lottie-react-native/src/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.java:168: error: incompatible types: LottieValueCallback<SimpleColorFilter> cannot be converted to LottieValueCallback<ColorFilter>
        LottieValueCallback<ColorFilter> callback = new LottieValueCallback<>(colorFilter);
                                                    ^
Note: /Volumes/DATA/Project/DEMO/Projects/DEMO/IG/node_modules/lottie-react-native/src/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

When building Android getting error from library file for types, however we can typecast it but doing it in node_modules is not preferred. Any solutions for this?
@HwangTaehyun
Join a screenshot or video of the problem on the simulator or device?
Show us the code you are using?
From library file, issue on line 168

Sorry for my late reply. I would check it!

I added the example project for android & ios (react-native: 0.69.1)
Then I checked it again, there was no issue!


NA CCI: free accepted addresses

When CCI receives a new connection request event, the CCI plugin allocates a new address that gets then passed through cci_accept(). However disconnection is local. Unless I missed something, there should be a way of freeing the allocated addresses somehow (and not only when finalizing, which I added in commit 8522f9dc70560268ef699c5efeddaf4b79de7710).
Scott (@scottatchley), do you have any recommendations?

On Apr 26, 2016, at 5:43 PM, Jerome Soumagne<EMAIL_ADDRESS>wrote:
When CCI receives a new connection request event, the CCI plugin allocates a new address that gets then passed through cci_accept(). However disconnection is local. Unless I missed something, there should be a way of freeing the allocated addresses somehow (and not only when finalizing, which I added in commit 8522f9d).
Scott (@scottatchley), do you have any recommendations?

Let me take a look.
Scott

Ok thanks!

Hi Jerome,
How does the user indicate that an address is no longer needed?
The na_cci message headers have a “bye” bit to indicate that the sender indicates that he intends to close the connection, but we do not use it.
Perhaps in addr_decref(), if the count would go to zero, instead of freeing the addr, we could set a closing/disconnect flag and send a “bye” message to the peer. When the send completes, we call addr_decref() and if the closing/disconnect flag is set, then free it.
Thoughts?
Scott

This is indicated when NA_Addr_free is called. NA_Addr_free is called on na_addr_t addresses that are created by NA_Addr_lookup, NA_Msg_recv_unexpected, NA_Addr_dup and NA_Addr_self.
Hmmm ok yes I think that would work and prevents from doing garbage collection of addresses. But then the problem is that we will be disconnecting everytime NA_Addr_free is called, which is maybe not the most efficient way of doing things as ideally connection would be closed when  a connection is no longer needed after a certain timeout. If the origin sends a bye message and we receive it in the main progress loop where we can then decref/set the closing flag, that would work for now at least.

On May 6, 2016, at 11:21 AM, Jerome Soumagne<EMAIL_ADDRESS>wrote:
This is indicated when NA_Addr_free is called. NA_Addr_free is called on na_addr_t addresses that are created by NA_Addr_lookup, NA_Msg_recv_unexpected, NA_Addr_dup and NA_Addr_self.
Hmmm ok yes I think that would work and prevents from doing garbage collection of addresses. But then the problem is that we will be disconnecting everytime NA_Addr_free is called, which is maybe not the most efficient way of doing things as ideally connection would be closed when a connection is no longer needed after a certain timeout. If the origin sends a bye message and we receive it in the main progress loop where we can then decref/set the closing flag, that would work for now at least.

For every operation (or a set of chained operations), are you saying that the client does:
NA_Addr_lookup()

NA_Addr_free()
then a short time later the cycle repeats?
Likewise, on the server:
NA_Msg_recv_unexpected()

NA_Addr_free()
for every unexpected message?
Is there no call to say that I do not intend to talk to that address any time soon?

Yes this is what would happen in a common scenario. Hmm no we don't have a call that tells that... maybe something that we could consider having or as an extra parameter to NA_Addr_free... though I'm not sure this is the way we want to go... It was in our mind that we would let the plugin handle that kind of things and start closing connections, either after exceeding a maximum number of open connections or after an inactivity timeout (so that upper layers do not have to handle that and lookup would re-establish the connection if needed). Adding a parameter to NA_Addr_free for example to say that we don't intend to talk to that address again may simplify things but then delegates that task to the user I think...

On May 6, 2016, at 1:36 PM, Jerome Soumagne<EMAIL_ADDRESS>wrote:
Yes this is what would happen in a common scenario. Hmm no we don't have a call that tells that... maybe something that we could consider having or as an extra parameter to NA_Addr_free... though I'm not sure this is the way we want to go... It was in our mind that we would let the plugin handle that kind of things and start closing connections, either after exceeding a maximum number of open connections or after an inactivity timeout (so that upper layers do not have to handle that and lookup would re-establish the connection if needed). Adding a parameter to NA_Addr_free for example to say that we don't intend to talk to that address again may simplify things but then delegates that task to the user I think...

If I described the correct flow, then the current code will be creating/freeing addresses a lot when the last internal call to addr_decref() is called or am I missing something?

On the client we would not do a lookup for every operation we forward, unless the structure of the code does not permit it and the client may also do that address management itself eventually. On the server yes that's potentially where there are more create/free of addresses because this is what recv_unexpected returns back, although it's handled differently in the CCI plugin because the addresses are created at the time a connection is accepted.
With the patch I had added in the CCI plugin, what would happen in the current code is that the accepted addresses on the server would only be freed when finalize is called, which could be an issue if we have a lot of connections/disconnections.

On May 6, 2016, at 2:02 PM, Jerome Soumagne<EMAIL_ADDRESS>wrote:
On the client we would not do a lookup for every operation we forward, unless the structure of the code does not permit it and the client may also do that address management itself eventually. On the server yes that's potentially where there are more create/free of addresses because this is what recv_unexpected returns back, although it's handled differently in the CCI plugin because the addresses are created at the time a connection is accepted.
With the patch I had added in the CCI plugin, what would happen in the current code is that the accepted addresses on the server would only be freed when finalize is called, which could be an issue if we have a lot of connections/disconnections.

I guess I am still missing something.
On the client, is every NA_Addr_lookup() followed eventually by a NA_Addr_free()? If yes, do we want to incur a connection handshake for every lookup? If not, you want NA_Addrs and the underlying CCI connection to go away after some time?
On the server, replace unexpected receive for lookup and ask the same question?
It seems that we want to avoid handshakes for each (set of) operation(s) and we want automatic garbage collection, yes? :-)

NA_Addr_lookup will be followed by a NA_Addr_free, since lookup is not considered as connect. It may connect at this time but it may just re-use an opened connection too. Or it may also do what BMI does, in which case lookup does not initiate any connection and it only tries to connect when communication is started. So no ideally we do not want to incur a connection handshake for every lookup and yes we want the NA_Addrs and the underlying CCI connection to go away after some time.
Same for the server I think... although it seems that the server does not really decide anything and only accepts new connections in that case.

On May 6, 2016, at 2:23 PM, Jerome Soumagne<EMAIL_ADDRESS>wrote:
NA_Addr_lookup will be followed by a NA_Addr_free, since lookup is not considered as connect. It may connect at this time but it may just re-use an opened connection too. Or it may also do what BMI does, in which case lookup does not initiate any connection and it only tries to connect when communication is started. So no ideally we do not want to incur a connection handshake for every lookup and yes we want the NA_Addrs and the underlying CCI connection to go away after some time.
Same for the server I think... although it seems that the server does not really decide anything and only accepts new connections in that case.

Ok. :-)
We have never implemented keepalives, but that feature is meant to handle this case, maybe. If implemented, a transport would send a periodic message. If the receiver has closed the connection, the transport would generate a CCI_EVENT_KEEPALIVE_TIMEDOUT event rather than a SEND event with a failed status. The keepalive event includes a pointer to the now invalid connection, which has a pointer to the app-specific user context (i.e. NA_Addr).
If neither the client nor the server has closed the connection, keepalives probably do not help, which is why I said maybe above. :-)
If this is needed by all NAs, should we not implement this as a single service? Given that the upper NA layer has no notion of connections within the lower layer, we probably have to implement this in every NA lower layer. :-(
Scott

Yes adding a single service for that purpose is definitely a possibility because yes that is something that will likely be needed by other NAs (although BMI is an exception I think as it handles that internally).


[Revise text def] Mallory-Weiss syndrome

Mondo term (ID and Label)
Mallory-Weiss syndrome
Suggested revision of textual definition. Please include a source, like a PubMed ID (in the format PMID:#######)
-- this is not a primary hemorrhagic disease unlss we want to list every disease where you can have bleeding.
-- also it would be good to have a superclass for hereditary bleeding diseases (currently, we only have something like this for platelets).
Your nano-attribution (ORCID)
If you don't have an ORCID, you can sign up for one here

also it would be good to have a superclass for hereditary bleeding diseases (currently, we only have something like this for platelets).

@pnrobinson I will open a separate ticket for this


Secure string parameter type displayed as lowercase (securestring) instead of camelCase (secureString) in the built ARM template

Bicep version
0.14.6
Describe the bug
Seems that the latest bicep version introduced a change to the secure string parameter type when using the secure() decorator. In previous versions (0.13.1), when building a bicep template with a secure string parameter, the generated ARM template shows the secure string as securestring instead of secureString.
To Reproduce
Simple bicep template:
targetScope = 'resourceGroup'

@secure()
param testSecureString string

@secure()
param testSecureObject object

Built ARM template:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "<IP_ADDRESS>",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "<IP_ADDRESS>914",
      "templateHash": "5029762408451288349"
    }
  },
  "parameters": {
    "testSecureString": {
      "type": "securestring" // this used to be secureString
    },
    "testSecureObject": {
      "type": "secureObject"
    }
  },
  "resources": []
}

Thanks for posting @ahmadabdalla. Would be great if we could get clarity on this as it also pops up all across CARML too. Usually that wouldn't be an issue - but as we validate our documentation in our pipelines and because the MS-hosted agents still run 0.13.1 instead of 0.14.6, it makes contributions very confusing (if people run the new version and then the agent tells them that they did something wrong).

This also have impacts on READMEs generated and stored in the bicep-registry-modules repo for modules published to the public Bicep registry.
brm generate would create this README.md for the above test snippet
## Parameters

| Name               | Type           | Required | Description |
| :----------------- | :------------: | :------: | :---------- |
| `testSecureString` | `securestring` | Yes      |             |
| `testSecureObject` | `secureObject` | Yes      |             |

All README.md files containing secureString type in camelCase would be invalid to brm in the latest release.
Not a big issue maybe since all modules are keeping track of the Bicep version used to compile in the main.json metadata, but still something to consider.

This was an intention change done as part of #9225. Can you help me understand the problem more? Any CI contributions should all be using the same version, no? Otherwise, any time we change the emitting logic, you will run into this issue.

Makes sense. FWIW, we don't consider changes to our emitting logic to be breaking unless it is a behavior change. I would strongly recommend not relying on the preinstalled MS Hosted agent, as this will perpetually expose you to this type of problem.
The other error you mention is different - that was an unintentional breaking change and our mistake.

Hey @alex-frankel, it's breaking for us, not breaking for you ;)
In our CI in main we actually rely on whatever is installed on the agents on purpose (or even latest) to be exposed to those issues as soon as possible. Then, for releases, we document with which versions of e.g. PowerShell, Bicep, Az CLI the release was successfully tested.

I am not following. If the MS Hosted agent had v0.14, would this issue have happened?


Currency conversion support?

Hi there,
I'm currently wondering which direction to take with currency conversion support for my shop implementation.
I notice that your builtin code deals with storing and calculating amounts in single currencies and has a short hard-coded list of supported currencies.
I've also had a look at django-currencies which offers almost complementary support by offering management commands for installing and updating currency conversion factors to a DB model from OpenExchangeRates (and here my fork for Yahoo), and an admin interface.
Would you like to enhance the built-in shop support for currency conversion, or would you prefer to leave this outside of django-shop? I would be more than happy to contribute a PR porting my django-currencies fork and integrating it with the shop money fields since this is what I plan to do anyway. I'm currently debugging a navbar dropdown. I could also write a scraper that imports the fields to the DB from here; I notice your code requires the number of decimal places given by this XML which isn't available from OXR or Yahoo...

Before implementing the MoneyMaker into django-shop, I actually looked at django-currencies. I then decided to write my own "type" because I wanted to have a real class for each currency – what's actually implemented into class Money.
Having an online conversion tool between different currencies is something we really need and it is on the long tail of my TODO list. Therefore, if you want to implement it, please go ahead, this is really welcomed.
However, I would prefer to move it to a separate repository, named say "djangoshop-currencies". Then inside that folder add a Python module named "shop_currencies".
By using "WorkflowMixins" you should be able to plug this module into the checkout process. If this for some reasons is not possible, then I consider this a bug in django-shop.

Sounds good. Well I will continue developing my fork of django-currencies and integrate it there then, rather than create a whole new project. The intention with my shop is to offer the currency conversion to the customer whilst browsing as an 'estimate', but the order and payment will still be taken in the default/base currency and let their bank do the actual conversion. I'm not sure if I will need to touch a WorkFlowMixin in that case?

It depends on how a shop has to implement it. Some brands for instance, impose the final price of a product for each country. Here a currency converter does not make sense. This is the reason, why products in django-shop don't have a price field.
On the other side, having an estimate in your local currency can be a very nice feature. Here I would add a geolocation middleware which converts the IP address into a country and store it inside the session object. Now you can do the conversion inside the get_price() method of that product.
Finally the cart modifier can also sum up the prices in the non-default currency. This is the reason why the cart modifiers and the get_price-method accept the request object.
You're right, a WorkFlowMixin doesn't make much sense. I intended a specialized cart modifier for it.

Hi Jacob, well I finally have something to show and it works as you say through get_price method very nicely!
Have a look here in the money sub-folder. I have basically just sub-classed your money types replacing all references to CURRENCIES and adding a to(code) method to AbstractMoney. That fork also has a navbar dropdown which should work out of the box. I have also included a short example at the bottom of the README.
I would welcome any feedback. It isn't very well tested yet, but I will continue to implement my shop and any problems will be updated there. I'm also a bit concerned I may have broken my fork for people that don't have django-shop installed, but will test that at some point.

djangoshop-currencies is now live! :smile:


I'm currently getting the following error when trying to use Shippo

          I'm currently getting the following error when trying to use Shippo, and I wonder if this PR is intended to solve this:

yarn run v1.22.19
$ /Users/localuser/Projects/api/api-new/node_modules/.bin/ts-node src/scripts/shippo-check.ts
Error: Cannot find module 'zod'
Require stack:
- /Users/localuser/Projects/api/api-new/node_modules/shippo/lib/base64.js
- /Users/localuser/Projects/api/api-new/node_modules/shippo/lib/encodings.js
- /Users/localuser/Projects/api/api-new/node_modules/shippo/lib/sdks.js
- /Users/localuser/Projects/api/api-new/node_modules/shippo/sdk/sdk.js
- /Users/localuser/Projects/api/api-new/node_modules/shippo/sdk/index.js
- /Users/localuser/Projects/api/api-new/node_modules/shippo/index.js
- /Users/localuser/Projects/api/api-new/src/scripts/shippo-check.ts
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (/Users/localuser/Projects/api/api-new/node_modules/@cspotcode/source-map-support/source-map-support.js:811:30)
    at Function.Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/Users/localuser/Projects/api/api-new/node_modules/shippo/src/lib/base64.ts:5:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Object.require.extensions.<computed> [as .js] (/Users/localuser/Projects/api/api-new/node_modules/ts-node/src/index.ts:1608:43)
    at Module.load (node:internal/modules/cjs/loader:1119:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/localuser/Projects/api/api-new/node_modules/shippo/lib/base64.js',
    '/Users/localuser/Projects/api/api-new/node_modules/shippo/lib/encodings.js',
    '/Users/localuser/Projects/api/api-new/node_modules/shippo/lib/sdks.js',
    '/Users/localuser/Projects/api/api-new/node_modules/shippo/sdk/sdk.js',
    '/Users/localuser/Projects/api/api-new/node_modules/shippo/sdk/index.js',
    '/Users/localuser/Projects/api/api-new/node_modules/shippo/index.js',
    '/Users/localuser/Projects/api/api-new/src/scripts/shippo-check.ts'
  ]
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

When I manually install Zod, I get the following error when trying to get tracking info:
SDKValidationError: Response validation failed
    at Object.parse (/Users/localuser/Projects/api/api-new/node_modules/shippo/src/lib/schemas.ts:18:19)
    at TrackingStatus.get (/Users/localuser/Projects/api/api-new/node_modules/shippo/src/sdk/trackingstatus.ts:210:37)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async run (/Users/localuser/Projects/api/api-new/src/scripts/shippo-check.ts:38:26) {
  cause: ZodError: [
    {
      "code": "invalid_type",
      "expected": "object",
      "received": "undefined",
      "path": [
        "tracking_history",
        0,
        "location"
      ],
      "message": "Required"
    },
    {
      "code": "invalid_type",
      "expected": "string",
      "received": "undefined",
      "path": [
        "tracking_history",
        0,
        "status_date"
      ],
      "message": "Required"
    }
  ]
      at Object.get error [as error] (/Users/localuser/Projects/api/api-new/node_modules/zod/lib/types.js:55:31)
      at ZodEffects.parse (/Users/localuser/Projects/api/api-new/node_modules/zod/lib/types.js:160:22)
      at /Users/localuser/Projects/api/api-new/node_modules/shippo/src/sdk/trackingstatus.ts:213:60
      at Object.parse (/Users/localuser/Projects/api/api-new/node_modules/shippo/src/lib/schemas.ts:15:16)
      at TrackingStatus.get (/Users/localuser/Projects/api/api-new/node_modules/shippo/src/sdk/trackingstatus.ts:210:37)
      at processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async run (/Users/localuser/Projects/api/api-new/src/scripts/shippo-check.ts:38:26) {
    issues: [ [Object], [Object] ],
    addIssue: [Function (anonymous)],
    addIssues: [Function (anonymous)],
    errors: [ [Object], [Object] ]
  },
  rawValue: {
    tracking_number: '[REDACTED]',
    carrier: 'ups',
    servicelevel: {},
    transaction: '[REDACTED]',
    address_from: { city: '[REDACTED]', state: '[REDACTED]', zip: '[REDACTED]', country: 'US' },
    address_to: { city: '[REDACTED]', state: '[REDACTED]', zip: '[REDACTED]', country: 'US' },
    test: false,
    tracking_history: [ [Object] ],
    messages: []
  }
}

Originally posted by @Cyberuben in https://github.com/goshippo/shippo-javascript-sdk/issues/12#issuecomment-2083971856

@Cyberuben I'm about to merge that PR and didn't want this to get lost, I'll be looking into this today

Thank you for keeping track of this. It seems like even with this PR this causes issues.
I didn't dig in any further, I assumed the errors might've been caused by the version upgrade since the last release seemed to line up just with me attempting to use it, but the problem might be more complex than this.

yeah, the root problem here is that our API spec defines location in the tracking history as required - https://docs.goshippo.com/shippoapi/public-api/#operation/GetTrack!c=200&path=tracking_history/location&t=response
but it's not, at least as part of the history.  what I don't know is whether location is required as part of the top level tracking_status - https://docs.goshippo.com/shippoapi/public-api/#operation/GetTrack!c=200&path=tracking_status/location&t=response
I'm going to track this down , will provide an update tomorrow at the latest

okay, confirmed location is not actually required.  spec has been updated and a new package has been published.  if you run into any more issues, let us know!

I'm not sure if the zod error would be resolved by this though.

no, this specifically addresses the SDKValidationError: Response validation failed issue.
re: zod, it's listed as a peer dependency so will not be pulled in automatically.  I'm going to talk to my team about this, either we need to move this to a non-peer dep or we need to update the docs and explain this dependency will be required by consumers and the rationale.

Thanks for the info!


Add generic futureToAsync and define rerunnableToIO in terms of it.

Codecov Report

Merging #66 into master will increase coverage by 0.26%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #66      +/-   ##
==========================================
+ Coverage   49.46%   49.73%   +0.26%
==========================================
  Files           9        9
  Lines         188      189       +1
  Branches        2        2
==========================================
+ Hits           93       94       +1
  Misses         95       95

Impacted Files
Coverage Δ

...rc/main/scala/io/catbird/util/effect/package.scala
100% <100%> (ø)
:arrow_up:

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 b79eafb...92bd54f. Read the comment docs.


Adding more data in the test folder .

I was planning to add some new videos to the test_data/bycycle , so i downloaded some data from shutterstock and placed them there , but it is shoing that
decord._ffi.base.DECORDError: [13:32:25] /github/workspace/src/video/video_reader.cc:270: [./test_data/bicycle/a_man_riding_cycle_in_rain.mp4] Failed to measure duration/frame-count due to broken metadata.
can you please provide any suggestion on how can I add more data.
Thank you..

This error seems like your video data is broken. Could you open the video file with a video browser?


Metadata in RunTS and ChannelTS should used single metadata object under the hood

The metadata is designed to be in a single container now so RunTS and ChannelTS should conform to this.  So under the hood there would be a single SurveyMetadata which could have properties for station_metadata, run_metadata, channel_metadata to get/set.

updated with PR #131


Handle padding in netcdf3 translation

#365
The padding was not being handled, so the translation crashed because it was not an actual variable. This PR skips the padding but makes sure to increment the offset for each padding chunk encountered.

Can we make a file with such padding for the sake of tests?

I can try and cut the one i have down maybe, this is the first time i have ever encountered it and the example is pretty large

Added a simple test case to the existing unlimited test. Without the padding being handled as it is in this PR, the test will fail because the temperature offset will be incorrect.

This is perfect


Rename BlockBody and fix references to RenderBlockBase

I thought we had decided to rename BlockBody, but I can't find a bug on it anymore.

What new name should we use?

It's got the same model as a SliverList, which you see inside a ListView. Sometimes it's used as the body of a SingleChildScrollView. Maybe it's a ListBody? BoxList?

+1 for ListBody


Add sensor for DTE Energy Bridge

Description:
Adds a sensor for the DTE Energy Bridge
Example entry for configuration.yaml (if applicable):
sensor:
    platform: dte_energy_bridge
    ip: <IP_ADDRESS>

Checklist:
If code communicates with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies are only imported inside functions that use them (example).
[x] New files were added to .coveragerc.

Currently only measures instantaneous energy usage in kW

Looks really good so far. I just had a couple of comments, nothing major though.

Should be all set now

Looks good! :dolphin:


Symbology Editor - Global Layer Properties: Apply color changes manually

After making changes to the global layer properties inside the symbology editor, the changes are not immediately applied to the map view. Instead, the user gets notified of unapplied changes by the background color changing, the heading changing and the "Apply changes" button becoming active, as seen in attached screenshot. Pressing the button will apply changes to the active layer, return the button to inactive etc.
"Colorizer Type" buttons now wrap, also seen in screenshot, to prevent some buttons being completely hidden on smaller screens
Fixed a small typo in "Add Data" -> "Upload" ("Upload data from you local computer" -> "you" to "your")

 [GEO BON] 4.1.1 Color palette switching (Raster)

bors merge


chore: prepare for go v1.21

Description

prereq for https://github.com/redhat-appstudio/e2e-tests/pull/1144

/approve


Dynatrace metrics documentation changes

Learn Build status updates of commit f88535f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/partner-solutions/dynatrace/dynatrace-create.md
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/dynatrace-how-to-manage.md
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/dynatrace-troubleshoot.md
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-guide-1.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-guide-2.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-guide-3.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-UI.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-metrics-and-logs.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-how-to-manage/dynatrace-metrics-and-logs-updated.png
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 5fbe725:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/partner-solutions/dynatrace/dynatrace-create.md
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/dynatrace-how-to-manage.md
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/dynatrace-troubleshoot.md
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-guide-1.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-guide-2.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-guide-3.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-contributor-UI.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-create/dynatrace-metrics-and-logs.png
:white_check_mark:Succeeded

articles/partner-solutions/dynatrace/media/dynatrace-how-to-manage/dynatrace-metrics-and-logs-updated.png
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@vpriyanshi,
Microsoft contributors need to make content contributions through the private repository so the content can be staged and validated by the current validation rules.
After you make your changes in the private repo, review the articles on staging, and fix any validation issues, you can add the sign-off comment to let PR reviewers know that the updates are ready to be merged.
Read about authors working in the public repo for more information.
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentation.
We'll close this PR. Thank you.


Do not show banner on Crowdloans tab

Describe the bug
Do not show banner on Crowdloans tab
To reproduce the bug
Pre-condition: Set-up content manager succsessfully
Actual: Do not show banner

Version test: http://<IP_ADDRESS>:8900/s/7TQzzsi92NXZwtS
Validation passed.


Unable to determine Name from Single-arg call to CPMAddPackage

Situation
A URI is provided from external/user CMAKE in CPM single-argument format e.g.
set( USER_CPM_URI<EMAIL_ADDRESS>
CPMAddPackage( ${USER_CPM_URI} )
if ( ???_ADDED ) ## Unable to implement check as `NAME` is necessary

Issue
Some logic needs to check if the package _ADDED has been set and also use the _SOURCE_DIR for further modification and checks.
The name of the package isn't sent to the parent scope it appears.
if ( ???_ADDED )

Propose Solution
One idea is if CPM_PACKAGE_NAME were added to parent scope representing the Name of the last package that was added . This would be consistent with behavior like PROJECT_NAME is the last name for CMake project()

I agree that it would be good to have a way to obtain the inferred name for a package.
I don't mind the proposal. CPM_LAST_PACKAGE_NAME sounds better to me as a name but I'm also ok with the proposed one.
Two lines around here should do the trick: https://github.com/cpm-cmake/CPM.cmake/blob/master/cmake/CPM.cmake#L597
@TheLartians what you think?

I can see how this would be useful, and don't have anything against it. For naming I agree that CPM_LAST_PACKAGE_NAME makes the intent more clear.

@CraigHutchinson do you want to make a PR for this?

Pull-confirmed as working:

Closed by #403


Problems using it with Laravel Twill built on VueJS

Is there a problem when compiling inline VueJS or Vuex store? I tried using it but the Twill admin that I used stops working.

This problem was caused by the structure in which the blade file is minfied.
<?php ~ ?> or <script> tags, etc. are wrapped and processed separately.
And the space between the tag is considered plain text, and the new line is replaced with a space.
For example, /vendor/area17/twill/views/layouts/dashboard.blade.php, the area is in plain text.
The actual @section('initialStore') is supposed to be injected inside the script tag.
When processed as plain text, it changes as shown in the picture below, resulting in javascript syntax errors.

The structural problems of the compilation process make it difficult to solve at my level.
The temporary method is to publish the vendor file and attach a semicolon to the back area.

thank you for your detailed answer! This is helpful!


New package: DBeaverCorp.DBeaverEnterpriseEdition version 24.3.0

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.9 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Manual Validation ended with:

9:02:45 AM:  finished with exit code: -1978335226 9:02:46 AM:
2024-12-31 09:02:45.578 [CLI ] ShellExecute installer failed: 666660

Automated error analysis suggests -1978335226 may mean Running ShellExecute failed
(Automated response - build 933.)

Manual Validation ended with:

10:07:34 AM:  finished with exit code: -1978335226  10:07:34 AM:
2024-12-31 10:07:33.721 [CLI ] ShellExecute installer failed: 666660

Automated error analysis suggests -1978335226 may mean Running ShellExecute failed
(Automated response - build 933.)

Manual Validation ended with:

11:02:53 AM:  finished with exit code: -1978335226  11:02:53 AM:
2024-12-31 11:02:52.580 [CLI ] ShellExecute installer failed: 666660

Automated error analysis suggests -1978335226 may mean Running ShellExecute failed
(Automated response - build 933.)

Manual Validation ended with:

2024-12-31 11:12:52.783 [FAIL] C:__w\1\s\external\pkg\src\AppInstallerSharedLib\SHA256.cpp(161)\WindowsPackageManager.dll!00007FFBC2BD4C2B: (caller: 00007FFBC2C23AAC) Exception(1) tid(b94) 8A150040
2024-12-31 11:13:00.937 [FAIL] Installer failed security check. Url: https://github.com/PurpleI2P/i2pd/releases/download/2.55.0/setup_i2pd_v2.55.0.exe Result: 0x80004005

(Automated response - build 933.)

Manual Validation ended with:

12:03:00 PM:
2024-12-31 12:02:59.380 [CLI ] ShellExecute installer failed: 666660

(Automated response - build 933.)


Point healthequitytracker.org to prod service and flag off frontend code until it's ready for launch

Also involves pointing the main HET website to our frontend instead of the marketing site. We probably shouldn't do this until we're ready for launch, but we should have a plan ready before then. This will require some coordination with the backend release process

Update - we've taken down healthequitytracker.org temporarily so we could move DNS record management from Netlify to Google Domains. We will point healthequitytracker.org to the main website once we have a prod environment.
As a prerequisite we need to either temporarily enable basic authentication on the main website, or flag off the frontend code until it's ready for launch and just show temporary content instead.

Update - we've taken down healthequitytracker.org temporarily so we could move DNS record management from Netlify to Google Domains. We will point healthequitytracker.org to the main website once we have a prod environment.
As a prerequisite we need to either temporarily enable basic authentication on the main website, or flag off the frontend code until it's ready for launch and just show temporary content instead.

@kkatzen FYI - once we have specs for pre-launch frontend content, we'll need to update the frontend to display that conditionally.

@kkatzen FYI - once we have specs for pre-launch frontend content, we'll need to update the frontend to display that conditionally.

I'm working on getting a environment variables set up, I'll add one for this.

I'm working on getting a environment variables set up, I'll add one for this.

As of #272 the frontend is now set up to show pre-launch content conditionally. Next steps are to update the content per the mocks Chi gave us, update the favicon (#212), and then we can set up the url to point to the prod service that Maya just got set up.

As of #272 the frontend is now set up to show pre-launch content conditionally. Next steps are to update the content per the mocks Chi gave us, update the favicon (#212), and then we can set up the url to point to the prod service that Maya just got set up.

Content has been updated and GCP service connected

Content has been updated and GCP service connected


systemd enable user-unit globally

Having a option to enable a user unit (or timer or what-else) globally would be nice. This would achieve the same as systemctl --user --global enable gpg-agent.socket.
I would have written it myself if I wasn't a noob in Nix.

Are there any updates to this issue, please?


Investigate replacing jQuery Slim with vanilla or Sprint

See https://github.com/kitten/sprint, performance much higher.
Also, is jQuery / Sprint even needed? Most I've seen in refined twitter (not sure about refined Github) seems like it could be easily done without jQ.

I used jQuery for developer happiness. The DOM is still annoying to deal with in vanilla JS. I've tried using Sprint before. It was too buggy.

Closing as this extension is now deprecated: https://github.com/sindresorhus/refined-twitter/commit/8dd9df749d3a4e82c95b2bd6628c8d65f0f72e6c


Couple of small fixes

This is failing in Travis, but I can't see why.

Bad formatting, run ./Tools/fix_code_style.sh

Ah, thanks @andre-nguyen. Unfortunately, the newest version of astyle available in Debian is 2.04, and the Tools/fix_code_style.sh script seems to have a hard-coded requirement for 2.05.1. Is that really necessary?

Ok, the release notes ( http://astyle.sourceforge.net/notes.html ) suggest that 2.05.1 might be necessary.

www.github.com/PX4/astyle

Thanks @mhkabir , got it. Its still a bit of the pain in the neck 'cause there is no obvious documentation on how to build it. I had to go digging around in the source tree :-/ .

Just rebased it against the current driver_framework branch.


Compile Error on Raspberry Pi 4

What should I do to avoid the compile error on the below.
Compile error
$ make [  4%] Building CXX object CMakeFiles/libv4l2rtspserver.dir/src/V4l2RTSPServer.cpp.o In file included from /home/pi/git/mpromonet/v4l2rtspserver/src/V4l2RTSPServer.cpp:20: /home/pi/git/mpromonet/v4l2rtspserver/inc/V4l2RTSPServer.h: In constructor ‘V4l2RTSPServer::V4l2RTSPServer(short unsigned int, short unsigned int, int, unsigned int, const std::__cxx11::list<std::__cxx11::basic_string<char> >&, const char*, const string&, const char*)’: /home/pi/git/mpromonet/v4l2rtspserver/inc/V4l2RTSPServer.h:41:35: error: ‘class RTSPServer’ has no member named ‘setTLSState’    41 |                     m_rtspServer->setTLSState(sslkeycert, sslkeycert, true, true);       |                                   ^~~~~~~~~~~ make[2]: *** [CMakeFiles/libv4l2rtspserver.dir/build.make:212: CMakeFiles/libv4l2rtspserver.dir/src/V4l2RTSPServer.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:117: CMakeFiles/libv4l2rtspserver.dir/all] Error 2 make: *** [Makefile:182: all] Error 2
To Reproduce
Steps to reproduce the behavior:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install liblivemedia-dev
git clone https://github.com/mpromonet/v4l2rtspserver.git
cd v4l2rtspserver
cmake .
make

Expected behavior
No build error.
Last year, I have done successful compile for v4l2rtspserver on the same raspberry pi 4.
Environment
Raspberry Pi 4
$ u-name -a
Linux raspberrypi 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye
What I've tried as workaround
I read issue #133 and #134 , and then tried cmake LIVE555URL=https://download.videolan.org/pub/contrib/live555/live.2019.03.06.tar.gz .
, but the same compiler error showed again.

Hi,
This is a problem of compatibility with old live555. Setting the LIVE555URL doesnot change, because liblivemedia-dev is installed. I will fix this.
Best Regards,
Michel.

Hi,
This is a problem of compatibility with old live555. Setting the LIVE555URL doesnot change, because liblivemedia-dev is installed. I will fix this.
Best Regards, Michel.

Hi Michel,
I solved this issue as the below.

sudo apt-get remove liblivemedia-dev
Install Live555 as http://www.live555.com/liveMedia/#config-unix says, but link error occurred, and even after I edit CMakeFiles/v4l2rtspserver.dir/link.txt , I decreased the number of link errors, but I wasn't able to compile without any errors.
I removed Live555 at all.
cmake .  again for v4l2rtspserver because I read one of workaround on #244 .
make and completed building without any errors.

Thanks,

Hi,
Your first point should be enouph, the cmake is downloading latest live555 release (after a cmake cache cleaning for instance using git clean -x -f -d)
Best Regards,
Michek?


fix: disallow invalid access_token in setSession

What kind of change does this PR introduce?
Adds checks for the passed-in access_token. Also refactors setSession(), to align the method with common behaviors of other methods.
What is the current behavior?
Some people, including myself, are passing in an empty string for the access token, to force a session refresh even if the session isn't expired. There is now a refreshSession() method to accomplish this, as of supabase-js version 2.0.4
What is the new behavior?
Checks if the access token is an empty string. Also adds a regex check to the decodeJWTPayload() helper, to verify the access token is base64; otherwise we could still pass in something like hello.there.world and we'd get the same forced refresh behavior.
As for the refactor, I noticed that this method is directly calling _refreshAccessToken() then calling _saveSession(). However, _callRefreshToken() is used on other methods; and is a better fit, since it seems to handle multiple refresh calls. Plus it calls _saveSession() itself, which eliminates the need for that call in setSession().
Additional context
Closes #490

I'm not sure why helpers.ts is not showing a newline at eof. It's there in VSCode and everything is updated.
git checkout fix-set-session-loophole
Switched to branch 'fix-set-session-loophole'
git push origin fix-set-session-loophole
Everything up-to-date

I'm not sure why helpers.ts is not showing a newline at eof. It's there in VSCode and everything is updated.
git checkout fix-set-session-loophole
Switched to branch 'fix-set-session-loophole'
git push origin fix-set-session-loophole
Everything up-to-date

Actually, when I go to edit the file in the GitHub interface, the eof newline is there. Maybe it's just a bug in GitHub??


Roundup: more documentation/design questions

I'm doing another one of these roundup issues 🙂
common.PublicKeyIdentifier
// PublicKeyIdentifier can be used to identify an (out of band) delivered
// key, to verify a signature.
message PublicKeyIdentifier {
        // Optional unauthenticated hint on which key to use.
        // The format of the hint must be agreed upon out of band by the
        // signer and the verifiers, and so is not subject to this
        // specification.
        // Example use-case is to specify the public key to use, from a
        // trusted key-ring.
        // Implementors are RECOMMENDED derive the value from the public
        // key as described in https://www.rfc-editor.org/rfc/rfc3280#section-<IP_ADDRESS>
        string hint = 1;
}

The guidance in RFC3280 Ss. <IP_ADDRESS> isn't great: it encourages identification with the SHA-1 of the ASN.1 BIT STRING for the subjectPublicKeyInfo (presumably DER encoded), with some modifications made to it.
Maybe we could recommend https://www.rfc-editor.org/rfc/rfc6962#section-3.2 instead, since it's what we're already doing for key identification elsewhere due to CT? It's a lot simpler (just SHA2-256(DER(subjectPublicKeyInfo))), and uses a more modern digest.
Verification messages
I might be missing how these are used/expected to be used, but some questions absent that knowledge:

Are these intended to be building blocks for verification policies, i.e. verifying specific OIDC claims/X.509v3 extensions once signature, etc. verification has succeeded?

If that's the intent, it might be worth thinking about regular expression support in ObjectIdentifierValuePair, similar to the current support in SubjectAlternativeName.
Additionally, it might be nice to have building blocks for composing policies, similar to how we've designed the policy API in sigstore-python -- it would be nice to be able to compose messages that describe "all of"/"any of" and other set-language operations (like thresholds)

How does Artifact interact with a bundle's MessageSignature.message_digest? Is the expectation here that the verifier would collect the Artifact (either as direct bytes or from the specified URL) and confirm that it matches the message_digest? I think this is similar to the question I had in https://github.com/sigstore/protobuf-specs/issues/30, but I want to make sure I fully understand the moving pieces here 🙂

cc @znewman01 @haydentherapper @kommendorkapten

Maybe we could recommend https://www.rfc-editor.org/rfc/rfc6962#section-3.2 instead, since it's what we're already doing for key identification elsewhere due to CT? It's a lot simpler (just SHA2-256(DER(subjectPublicKeyInfo))), and uses a more modern digest.

+1. 3820 is actually a little difficult to work with since most crypto libraries mark SHA-1 as deprecated.

Yep -- I'm wondering where that recommendation even came from, since 3820 is pretty old. Maybe this came from TUF somewhere? If so, TUF's own guidance for key IDs might need updating 🙂

If so, TUF's own guidance for key IDs might need updating slightly_smiling_face

TUF did make key IDs optional and removed the requirement for any kind of fixed algorithm for key id calculation (leaving just that it must be unique). Some implementations use sha256 like you mentioned.
I'm not exactly sure where the SHA-1 came from.

Might be because we have to calculate subject key IDs in sigstore/sigstore, which are based on 3280

Recommending something that does not rely on SHA-1 is totally fine, as it is still a recommendation, the field itself is explicitly marked as optional. It may even contain references to KMS keys, or a specific version of a vault key as proposed in this comment by @znewman01

Are these intended to be building blocks for verification policies, i.e. verifying specific OIDC claims/X.509v3 extensions once signature, etc. verification has succeeded?

Yes, that is the intent. And I agree that supporting a regular expression is probably a good idea. We are just building out these messages now, and don't want to over-engineer before we have a clear use-case. There are most likely more use-cases than what I've heard of, but a regexp for the SAN and a few static oids are one use-case I'm aware of that e.g. the npm integration is going go use. If we have more concrete use-cases now I think we should try to update now of course, before we cut a release.

How does Artifact interact with a bundle's MessageSignature.message_digest?

Yes, as you said it should be verified that the provided artifact indeed is the one referenced by the bundle (in the case of a DSSE envelope, the artifact is embedded into the envelope).
Another scenario is in the case of using Ed25519 signatures, which must have access to the entire artifact's bytes to be able to verify the signature.

Thanks for clarifying!
I can do a quick PR to tweak the key ID guidance there.

Yes, that is the intent. And I agree that supporting a regular expression is probably a good idea. We are just building out these messages now, and don't want to over-engineer before we have a clear use-case. There are most likely more use-cases than what I've heard of, but a regexp for the SAN and a few static oids are one use-case I'm aware of that e.g. the npm integration is going go use. If we have more concrete use-cases now I think we should try to update now of course, before we cut a release.

Makes sense to me! Something I've been thinking about: OIDs don't have great UX, so it might make sense for the Sigstore ecosystem to standardize on human-friendly names for the standard Fulcio OIDs (in https://github.com/sigstore/fulcio/blob/main/docs/oid-info.md).
For example, instead of something resembling this:
<IP_ADDRESS>.4.1.57264.1.4: ci.yml

we'd have this:
github-workflow-name: ci.yml

OTOH, since the bundles in question are mostly going to be machine generated, maybe this doesn't matter so much.

For example, instead of something resembling this:

I think this can be done in each language client, protobuf does not IIRC support any const values. So e.g. in the client spec we can define some well-known OIDs that each client should recognize. But as there may be a scenario where a "any" oid is used, I think it's safer to keep them numerical. I also would think that a policy is write-once, read-many so not sure of how big burden it would actually be to work with numerical values?

A few misc. points:

Additionally, it might be nice to have building blocks for composing policies, similar to how we've designed the policy API in sigstore-python -- it would be nice to be able to compose messages that describe "all of"/"any of" and other set-language operations (like thresholds)

Soapbox: I think that eventually this is going to wind up reinventing a logic programming dialect 😄 (I don't necessarily mean that as a point of opposition, but I think that's the logical conclusion of "allow users to provide verification policies" (and I'm here for it).

We are just building out these messages now, and don't want to over-engineer before we have a clear use-case.

+1, I think all of these enhancements are good ideas but would prefer to wait until there's real demand.

So e.g. in the client spec we can define some well-known OIDs that each client should recognize.

I don't hate the idea of putting these in protobuf-specs (though I don't know if it's even possible, as @kommendorkapten points out), just so clients in every language can automatically grab some well-known OIDs rather than having to inline the constants themselves. But overall +1 to keeping these in the client and not the bundle.
I added a TODO to the client spec (join<EMAIL_ADDRESS>for access).

What needs to be done before we can close this out? Maybe:

[ ] add some more description to the Verification messages describing intended use
[ ] add some docs on the Artifact <-> Message.message_digest relationship
[ ] file a FR about regex support for things other than SAN in the Verification messages

I think this conversation ran stale and the main question (about key IDs) has been resolved, so closing!


allow constructing a Config from a provided Kubeconfig

Yeah, this seems like a sensible way to let users bypass the normal system. Thanks!

Ending up making a few changes to this because it makes the custom behaviour the default. For next version there will be 3 ways to construct (outside of the main Config::infer):

Config::from_cluster_env <- renamed from Config::new_from_cluster_env
Config::from_kubeconfig <- renamed from Config::new_from_kubeconfig
Config::from_custom_kubeconfig - the one added herein

Change: https://github.com/clux/kube-rs/commit/1a210393dfec72c0a3ad223ee8f76d8c3f9b6048

Released in 0.34.0. Thanks again!


Is epimetheus still actively supported ?

looks like no code changes have been submitted since more than a year ago, there is no support for Hapi v17 even when there is a PR with support waiting to be merged.  Is this project still active ?  is there any other alternative in case this one is dead on the water ?
thanks

This project is supported, but I admit I have lapsed on the pull requests. Please highlight the most pressing pull requests, and I'll get them merged.


Support http config

Pass basic auth parameters
Pass TLS client parameters

Any suggestions on how to achieve this? From here:

we should probably use Prometheus client tls config

Does this mean that for TLS config and for auth, we should use the same configuration file syntax used by prometheus? or does this mean that we should something from the github.com/prometheus/client_golang/prometheus package or github.com/prometheus/client_golang/prometheus/promhttp somehow? or maybe both?
Otherwise I can directly use regular crypto/tls and net/http to achieve this easily by replacing
        client := &http.Client{}

with:
        tlsConfig := &tls.Config{}
        transport := &http.Transport{TLSClientConfig: tlsConfig}
        client := &http.Client{Transport: transport}

Just trying to understand what is the recommended approach for prometheus exporters.

HTTPClientConfig from github.com/prometheus/common/config
and then NewRoundTripperFromConfig

This has been fixed in #49


multipart / form-data Packages

Please mention packages to handle multipart/form-data

this one
https://www.npmjs.com/package/formidable
^_^

Formidable used to be good, but it's concerning that it's not really maintained anymore. I'm happy to include a good and better maintained alternative here though.


InputEventMouseMotion.global_pos is not set on windows 8.1

Godot version:
Godot Engine branch 2.1 sha1: 1eed819
OS/device including version:
Windows 8.1 64 Bits (fresh install)
Issue description:
Using an unhandled_input handler and moving the mouse will not set the global_pos parameter
Steps to reproduce:
Create a viewport and add a node2d with a handler for unhandled_input. The global_pos should not been set.
Minimal reproduction project:
Maybe later (I'm a bit tired right now)
Workaround:
Use pos attribute instead of global_pos.
Note
This issue does not appear on Windows 10, or on Linux

[x] I searched the existing GitHub issues for potential duplicates.

Fixed by #16270.


User creates indicator

As a User
I want to create an indicator
So that I can track the progress of an action

Development tasks:

Generate an Indicator model
Prepare the Indicator model for i18n
Attributes: title, description
Implement the UI the same as recommendations and actions

This issue was moved to dumparkltd/hr-nmrf-client#6


[WIP] use streaming replication for pg standbys

I still want to test this locally before merging.