Do not recommend installing globally with Pip

Installing Python packages globally is dangerous. I would suggest changing the README to recommend pipx instead like:
$ sudo apt install pipx
$ pipx ensurepath
$ pipx install certbot
$ pipx inject certbot certbot-dns-njalla

It can be used directly with $ certbot ... as if installed globally.

I've updated the readme to reference the python environment which is used in the official certbot setup instructions.


Adding perplexity computation + pile

Implementation and results should match https://github.com/eleutherai/lm_perplexity
Notes:

New method loglikelihood_perplexity added to LM interface.

Caveats:

No support for caching/batching/chunking yet: This PR is intended to match results; we can follow up by improving efficiency
No current support for the 1/10th test set subset evaluation, so the whole test set is evaluated. Can't really do this without task configurations. (BooksCorpus2, PhilPapers and Ubuntu are not evaluated on subsets, so those numbers should match.)
Not currently exposing position information (used to compute perplexity at position, for analysis)

Tested on Ubuntu on GPT-2-small and Ada, matching results in Table 8.

Added tests.


Added validation rule 612.

Added validation rule 612.
Closes #265

Hi @dezog made some changes but there are errors that I can't figure out.... could you help? thanks

Hi @dezog made some changes but there are errors that I can't figure out.... could you help? thanks

Hi Fan, sure thing - I'll give these all a proper look over tomorrow morning.
At first glance I think this one might be down to needing extra brackets on the mask =... line


Event Hub Live Test Change

Change Event Hub Live Test to support run against other cloud.
besides this issue ,resoucemanagerclient,eventhubmanagerclient and storagemanageclient  authenticate against default cloud.
The fix here is to pick up setting from tests.yml.

@jongio for notification.

Thank you for all of your efforts; this definitely helps to move things forward.   I'll take ownership of mirroring these changes to master, having gathered feedback from Pavel and Daniel.

These changes have been incorporated into master in both the tools and .NET repositories.  #13859 completes these efforts and references the associated work.   Closing this out.


Create RSS extension spec

Create a spec for the namespace or namespaces. Allow proposals. Make it free and open.

I believe this is unnecessary now because it's much easier to just add their address to their podcast description.


Crashes on Server

Im currently running the latest version of the mod for 1.7.10, and whenever I start up the server I get a crash, preventing it from starting. I am playing with many differen't mods, so Its likely a conflicting with one of them. Here is the crash report http://pastebin.com/7nZAJe6R . Also pointing out server works fine without ICBM and the other two mods it requires. The client works fine.

Does this issue happen with forge? We don't support cauldron.

yep that is an issue with cauldron, its conflicting with the ASM checks that ensure things are working. I could add a config to disable the check. However, as dmod noted we do not support cauldron due to the difficulty of fixing issues related to it. Plus as far as I understand the system was discontinued a while back.

There have been many new variations. Kcauldron, thermos are the newest ones I know of.
Sent from my iPad

On May 28, 2016, at 12:40 AM, Robert WC Seifert<EMAIL_ADDRESS>wrote:
yep that is an issue with cauldron, its conflicting with the ASM checks that ensure things are working. I could add a config to disable the check. However, as dmod noted we do not support cauldron due to the difficulty of fixing issues related to it. Plus as far as I understand the system was discontinued a while back.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

It would be nice if you could add that to the configuration, since the mod is for 1.7, and since they decided to discontinue cauldron and work on sponge, which is only available in 1.8. I haven't tried any other variations of cauldron, but I'll be sure to see if they work, if and until the config is added

Config has been added, however, the next version of Voltz Engine may not be released for a few more weeks. I would also like to point out that if the ASM testing failed then a few of the ASM injections failed as well. Which most likely will cause things like the block update triggers to not function.


[Feature Request] Focused font colors in TextButton

Now that Button has an option to set the background if it's focused it would be nice to have the text color changeable in TextButton.

Seems reasonable. Would you like to make a PR?

I can do that.
I'll be home in a week, so I'll do it then.
Should I also add any focused style elements to other Actors?
For example SelectBox which doesn't have yet.

#5093 is for that, but I'm still a bit worried about making things more complicated than necessary.

Ok, so I won't touch SelectBox.


Remove temp_await and safe_async throughout the entire codebase

Remove both temp_await and safe_async in favor of broader adoption of async/await
Motivation:
temp_await is very dangerous API that blocks the current thread and is not marked as unavailable from async methods.  The only need for temp_await is because LLBuild only supports non-async methods so any llbuild commands that call async methods have to block waiting.
Because temp_await is liberally spread across the code base there are a number of async methods that may indirectly call into temp_await and indefinitely block a swift concurrency thread. This risks a deadlock. To prevent the deadlock the safe_async method dispatches to a GCD concurrent queue before executing the callback code. Because GCD will create new threads if all existing threads are blocked (unlike swift concurrency) this effectively prevents deadlock risks at the risk of thread explosion.
It would be better if the codebase was free of both the risks of deadlock and thread explosion. Additionally it would be nice if the APIs using temp_await were marked async so that more parts of the code base could safely adopt async/await.
Modifications:
To augment existing memoizer types new async types are added
temp_dir is replaced by unsafe_await which is limited to one used which is called by llbuild
safe_async is replaced by CheckedThrowingContinuation
Multiple protocols have been modified to change their requirements from sync to async
Usage of DispatchSemaphore and DispatchGroup have been replaced with structured concurrency
Many methods that were non-async but used temp_await have been properly marked as async
Result:
No usage of temp_dir or safe_async and only one (safe) usage of unsafe_await from an LLBuild command

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test windows

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test

I don't understand the compiler error from macOS. The body of with*Continuation executes serially on the actor so it should be safe to access isolated state

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test windows


Bad result of provided model

I tested the model on the Lsun dataset, but onlt get PE 19.3%. Is the problem of pretrained.ckpt or my wrong operation?

By the way, I test the model on the eval dataset because I can't find the test part


Manual convert_to_litgpt for Phi-3.5-mini-instruct downloaded weights from HF

Bug description
When I manual covert Phi-3.5-mini-instruct weights downloaded from HF by clone repository, I get this error. this is command I used  litgpt convert_to_litgpt checkpoints/microsoft/Phi-3.5-mini-instruct --model_name Phi-3.5-mini-instruct
This is error output
(ptl-py310) root@49a44a90ed1b:~/data1# litgpt convert_to_litgpt checkpoints/microsoft/Phi-3.5-mini-instruct --model_name Phi-3.5-mini-instruct uvloop is not installed. Falling back to the default asyncio event loop. {'checkpoint_dir': PosixPath('checkpoints/microsoft/Phi-3.5-mini-instruct'),  'debug_mode': False,  'dtype': None,  'model_name': 'Phi-3.5-mini-instruct'} Traceback (most recent call last):   File "/opt/conda/envs/ptl-py310/bin/litgpt", line 8, in <module>     sys.exit(main())   File "/opt/conda/envs/ptl-py310/lib/python3.10/site-packages/litgpt/__main__.py", line 71, in main     CLI(parser_data)   File "/opt/conda/envs/ptl-py310/lib/python3.10/site-packages/jsonargparse/_cli.py", line 119, in CLI     return _run_component(component, init.get(subcommand))   File "/opt/conda/envs/ptl-py310/lib/python3.10/site-packages/jsonargparse/_cli.py", line 204, in _run_component     return component(**cfg)   File "/opt/conda/envs/ptl-py310/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context     return func(*args, **kwargs)   File "/opt/conda/envs/ptl-py310/lib/python3.10/site-packages/litgpt/scripts/convert_hf_checkpoint.py", line 525, in convert_hf_checkpoint     total_size = max(1, sum(os.path.getsize(bin_file) for bin_file in bin_files))   File "/opt/conda/envs/ptl-py310/lib/python3.10/site-packages/litgpt/scripts/convert_hf_checkpoint.py", line 525, in <genexpr>     total_size = max(1, sum(os.path.getsize(bin_file) for bin_file in bin_files))   File "/opt/conda/envs/ptl-py310/lib/python3.10/genericpath.py", line 50, in getsize     return os.stat(filename).st_size FileNotFoundError: [Errno 2] No such file or directory: 'checkpoints/microsoft/Phi-3.5-mini-instruct/model-00001-of-00002.bin'
What operating system are you using?
Linux
LitGPT Version
Version: 0.4.11

I find out you need to convert safetensor files to pytorch bin before using convert to litgpt command.


librespot as a systemd service - less chatty by default

Using librespot as systemd service, with the default recommended options (herrernst binary for raspberry)
Very quickly the journal fills up with librespot output such as
librespot::audio_file2: Got channel 30
....
This can be fixed in the systemd service definition by adding

/dev/null 2>&1 &

However this mutes all output; and since librespot is mature, wouldn't it make sense for it to by less chatty by default - just output the key messages important to the log such as
started
authenticated
started playing
stopped playing
and activate all the current "debug" info (chunk downloads, volume changes etc) only when passed a --verbose command line option

You can reduce log level by setting RUST_LOG environment variable to the desired level: https://doc.rust-lang.org/log/env_logger/
I recommend adding this line in the [Service] section of the systemd unit:
Environment="RUST_LOG=info"

Agreed, thanks for opening the issue.
I've changed the default level to info, with a --verbose argument to switch to trace.
The RUST_LOG environment variable still can still be used.


Custom ValueConverter<,> fails because of missing using directive in migration designer files

I have defined and used a custom value converter by extending ValueConverter<TModel, TProvider> and it worked well during migration generation. However it failed when I tried to build the project. Because designer files use ValueConverter<TModel, TProvider> without declaring the namespace by adding using Microsoft.EntityFrameworkCore.Storage.Converters;
Build failed with the following error message.
Exception message:
Error	CS0246	The type or namespace name 'ValueConverter<,>' could not be found (are you missing a using directive or an assembly reference?)

Further technical details
EF Core version: 2.1.0-preview1-final
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10
IDE: Visual Studio 2017 15.6.5

I'm not able to repro this. Could you provide your project, or at least the relevant parts of your model code (including the custom value converter)?

Duplicate of #11155

I have attached the following sample.
Key points are:

The converter which I use drives from ValueConterter<,>
The converter is defined as internal

EFCore21ConvertersTest.zip

Ah, I see where I went wrong...
This is fixed in 2.1.0-preview2-final


chore(documentation): update button stories

Preview environments are getting posted here, as soon as they are ready!


[CGD2D] CGPath's default fill mode is Alternate (EO), but CG should default to Winding.

Current fix: "convert" all D2D Geometries to the appropriate fill mode, even if they are already compliant.
Suggested fix: Enlighten CGPath as to its fill mode and provide a CGPath internal function for obtaining a geometry in a different fill mode.

Per offline discussion with Hank, this requires more work.  Moving to 1701.

This is a relatively minor optimization, it doesn't need the CGD2D-Blocker label.

@DHowett-MSFT thanks!


Deployment

#Deployment
##User Story
As a boot camp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
##Acceptance Criteria
GIVEN a Prework Study Guide website,
WHEN I visit the website using the URL,
THEN I can access my website from any browser

deployed correctly per criteria and instructions from prework


Add checkbox ok_title.

 add check of the year of the latest version of the preprint in the checklist before validating a recommendation


Include TF2 odom->base_link

The odom->base_link transform is not a static transform.  (Eventually understand this).  Include a TF broadcaster to publish the transform.

Removed static transform broadcaster from launch file.
Added transform broadcaster to publish transform with every odom message


decl_module! print better error on duplicate reserved keyword

This prints a better error message on duplicated reserved keywords,
instead of complaining because of missing origin.
Fixes: https://github.com/paritytech/substrate/pull/6378

bot merge


Upgrade controller image to opensuse152o. Upgrade chromium and chrome…

What does this PR change?
This PR upgrades:

The controller default image from opensuse150o to opensuse152o
Use a different source for Leap 15.2 JeOS
chromium and chromedriver versions
Has a dependency with the testsuite, which must allow non-compliance W3C actions https://github.com/uyuni-project/uyuni/pull/2786

Use a different source for Leap 15.2 JeOS

Why is this needed?

Use a different source for Leap 15.2 JeOS

Why is this needed?

My guess is that for libvirt image sources, kvm image is closer to what we are doing here. But if there is a better reason to use Openstack version, I will not oppose to it.

My guess is that for libvirt image sources, kvm image is closer to what we are doing here. But if there is a better reason to use Openstack version, I will not oppose to it.
What do you think @cbosdo ?

The difference is that the kvm-and-xen image is built for fully virtualized VMs (what we need), but doesn't include cloud-init... not sure what we want here.

My guess is that for libvirt image sources, kvm image is closer to what we are doing here. But if there is a better reason to use Openstack version, I will not oppose to it.
What do you think @cbosdo ?

The difference is that the kvm-and-xen image is built for fully virtualized VMs (what we need), but doesn't include cloud-init... not sure what we want here.

Oups! All said then, I will revert it. As we need the cloud-init

In our internal CI; this PR must be merged together with https://github.com/SUSE/susemanager-ci/pull/152


[Draft] Refactor and de-ISS-ize the testing infrastructure

For some reason, integration tests are sometimes failing with exit with error err=could not process PassiveModule (wal) events: could not truncate WAL (retention index 1): out of range.
@matejpavlovic any chance you could help me debug this?


Mutation tests on stryker based on e2e tests

I was thinking, how good and what results could show us using mutation tests on e2e tests.
Using mutation tests on unit testing only shows us "how much coverage is good coverage". So basically: if code is tested and "idiot proof".
Using mutation tests on E2E/integration on the other hand, should show us how well, we tested entire codebase, and how much code is actually used. (if we were to write really good E2E tests [like a lot of em]), we could probably be able to find some dead paths [it is possible to find them with unit tests too, but its a bit harder].
It is only an idea, but I think its worth thinking about it, its possibilites, extensions etc.

Thanks for thinking about it, but it is not a good idea, IMHO.

Stryker contains of packages. Each package has

a lot of unit tests.
some integration tests, testing integrations with outside tools, like test runners, the file system, typescript compiler, etc.

Last but definitely not least, we have about 25 "e2e" tests (see e2e dir), where we test Stryker in a number of use cases. I like a directory there for each use case (examples: vue-cli-typescript-mocha, vue-cli-javascript-jest, jest-react-enyme-ts, ...)
In the unit tests, you're testing the nitty-gritty. All edge cases and flows should be tested there. The fact that this code isn't hit in integration tests or e2e tests doesn't mean that it is "dead code", rather it means that it is simply not tested in an e2e test. Testing everything with e2e tests is a daunting task and very inefficient. We have 1000's of unit tests, so imagine having 1000's of e2e tests. Not fun at all.
Knowing what to test in what layer is an art form in some way. It isn't always clear at first, but you'll get better at it as time passes.

I agree with Nico, the test pyramid is an important model. I've seen applications that used the dreaded test ice cone instead:
\----------------/
 \     E2E      /
  \------------/
   \    IT    /
    \--------/
     \ Unit /
      \    /
       \  /
        \/

Doing this results in a massive amount of test effort and a lot of headaches. Test runtime also skyrockets. Imagine mutation testing a test suite that takes 2 hours to run normally! Mutation testing seems to be more suited to low-level tests because of their speed. I personally use it on my unit tests (about 1000) and the few integration tests (about 5) I have. I don't use it on the E2E tests (about 35).

could probably be able to find some dead paths

This is a great point, but we don't have to rely on mutation coverage for this. Branch coverage or line coverage can reveal this too. That would be a better fit since these kinds of coverage only require a single pass, where mutation coverage requires many. If you're interested in this, try running the E2E tests with nyc https://www.npmjs.com/package/nyc.
We might even be able to get nyc working with a performance benchmark if you're really interested ;)

Welp, its just there is possibility we have some code which is simply not actually used but covered in unit tests. Running it against integration / e2e tests should at least help to locate places like these. Actually I have found some dead code recently and I have been preparing PR for it :x


Add Mutator for Agents

Right now Agents are statically created. We only have two of them.
Add mutators to them.

Related to https://github.com/tlspuffin/tlspuffin/issues/67


[App] Create terms and conditions page

create terms and conditions page
project - https://www.notion.so/saladtech/Terms-Conditions-Update-Flow-565e181573ff4068bc7aa5881a798534

After some contemplation decided to leave PRs about T&Cs opened until SaladBowl work is done,
as there is no value in this code to be merged.
Please consider this PR more like POC for your review.

Please review again, as the project requirements were updated


Change code blocks of rollup function in real time dashboard reference

In real-time dashboard reference architecture, we have some modifications in rollup function throughout the text. Currently we only write small example query which should be added to rollup function by user. I think instead of writing the part we need to add, we should write full rollup function. My observation is merging old function and new additions is not trivial and we should provide already merged version or at least something like;
CREATE FUNCTION rollup_1min(p_source_shard text, p_dest_shard text) RETURNS void
AS $$
BEGIN
...
-- new additions etc.
...
END;
$$ LANGUAGE 'plpgsql';

I believe, this kind of code block would be more clear to reader, but this is just my opinion. This suggestion is open to discussion.

The new version of the guide uses the http_request_1min function. We now show a working diff for each necessary change. I think it reads pretty clearly now, so closing this issue. But if you disagree feel free to re-open it.


resource_mgr.h violates its own thread safety annotations

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOS 10.13.4
TensorFlow installed from (source or binary): Source (ff6be80a1ec3c353ebd0d17e2f0b46d9097310db)
TensorFlow version (use command below): b'v1.8.0-1663-gb2511764a7' 1.8.0
Python version: 3.6.2
Bazel version (if compiling from source): 0.13.0-homebrew
GCC/Compiler version (if compiling from source): Apple LLVM version 9.1.0 (clang-9<IP_ADDRESS>)
CUDA/cuDNN version: N/A
GPU model and memory: N/A
Exact command to reproduce: N/A

Describe the problem
Line https://github.com/tensorflow/tensorflow/blob/de4a6e646be56ca59c78dd6f92f8f6bcc7196696/tensorflow/core/framework/resource_mgr.h#L527 accesses resource_ without holding mutex_.  This is causing a warning for some custom op code of mine:
Installing collected packages: debate
  Found existing installation: debate 0.0.1
    Uninstalling debate-0.0.1:
      Successfully uninstalled debate-0.0.1
  Running setup.py develop for debate
    Complete output from command /Users/irving/anaconda/envs/openai/bin/python -c "import setuptools, tokenize;__file__='/Users/irving/openai/debate/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps:
    running develop
    running egg_info
    writing debate.egg-info/PKG-INFO
    writing dependency_links to debate.egg-info/dependency_links.txt
    writing requirements to debate.egg-info/requires.txt
    writing top-level names to debate.egg-info/top_level.txt
    file debate.py (for module debate) not found
    reading manifest file 'debate.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'debate.egg-info/SOURCES.txt'
    running build_ext
    building 'debate_ops' extension
    g++ -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/irving/anaconda/envs/openai/include -arch x86_64 -I/Users/irving/anaconda/envs/openai/include -arch x86_64 -I/Users/irving/anaconda/envs/openai/include/python3.6m -c debate/search.cc -o build/temp.macosx-10.7-x86_64-3.6/debate/search.o -std=c++1z -Wall -Werror -Wno-sign-compare -Wthread-safety -stdlib=libc++ -I/Users/irving/anaconda/envs/openai/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0
    In file included from debate/search.cc:7:
    /Users/irving/anaconda/envs/openai/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/resource_mgr.h:527:22: error: passing variable 'resource_' by reference requires holding mutex 'mutex_' [-Werror,-Wthread-safety-reference]
      ctx->set_output(0, resource_);
                         ^
    /Users/irving/anaconda/envs/openai/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/resource_mgr.h:334:12: note: in instantiation of member function 'tensorflow::ResourceHandleOp<debate::(anonymous namespace)::Search>::Compute' requested here
      explicit ResourceHandleOp(OpKernelConstruction* context);
               ^
    debate/search.cc:463:1: note: in instantiation of member function 'tensorflow::ResourceHandleOp<debate::(anonymous namespace)::Search>::ResourceHandleOp' requested here
    REGISTER_RESOURCE_HANDLE_KERNEL(Search);
    ^
    /Users/irving/anaconda/envs/openai/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/resource_mgr.h:350:27: note: expanded from macro 'REGISTER_RESOURCE_HANDLE_KERNEL'
                              ResourceHandleOp<Type>)
                              ^
    1 error generated.
    error: command 'g++' failed with exit status 1

The code is at least almost correct, since

The use of resource_ outside the lock is read only
resource_ is only written to inside the lock.
The unlocked read occurs only if initialized_ is set to true.

However, it looks like there is still a race condition:

Two threads could both detect that initialized_ is false at the same time.
They both try to grab the lock.
One of them succeeds, does some initialization, and allocates the resource.
Once the first thread releases the lock, the second thread allocates the resource a second time.
Possibly (I'm not sure) the two threads see different values when they call set_output.

The moral of this story is probably to not ignore thread safety warnings.

Cc @alextp, since https://github.com/tensorflow/tensorflow/commit/a72ee2f74061cdd72f1197eed4c90a8216d39d74.

It definitely violates that requirement, but so does a lot of other code
(including the implementation of Variable and ResourceVariable). That
requirement is only meaningful for GPU tensors, though, and resource
tensors are always on host so this does not matter.
On Tue, May 15, 2018 at 1:37 PM Geoffrey Irving<EMAIL_ADDRESS>wrote:

Also, does this use of allocate_temp violate the requirement to not use
"after kernel construction" (not really sure what that means if used from a
Compute call):
https://github.com/tensorflow/tensorflow/blob/90fe7226a464983e72a0242d5a05e4acba309195/tensorflow/core/framework/op_kernel.h#L261
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/19299#issuecomment-389303784,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxUFo4ivIzx47dO3PuSQkY1__monaks5tyzyOgaJpZM4UAAU2
.

--

Alex

I've already submitted this patch internally, it should trickle out
externally soon :-)
Thanks, though
On Tue, May 15, 2018 at 3:26 PM Geoffrey Irving<EMAIL_ADDRESS>wrote:

@alextp https://github.com/alextp That makes sense.
For the race condition, I think all that's required is checking
initialized_ again inside the critical section. As for eliminating the
warning, probably the only way is to remove the GUARDED_BY annotation.
If you concur I can send a patch.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/19299#issuecomment-389332344,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxSHqBMrbX7IlLTFXGVL5V5cXFxeOks5ty1YBgaJpZM4UAAU2
.

--

Alex


Convert kw.py to nbdev

Moving to nbdev design means we receive all the benefits of using notebooks for writing code.
This changes only the source of kw.py and embodies no change in logic or functionality.

Superseded by #37 37


Explicit. No middleware ?

Explicit. No middleware. Modules declare all dependencies
What does it mean by no middleware? why you design it like this.

Middleware accomplish two things:

Define global behavior for routes
Make asynchronous code easier to write

Both are problematic. To elaborate on the first, consider a typical express application:
app.use(logger());
app.use(needsAuth());
app.get('/my-route', require('./my-route'));

Then, imagine you want to add a route /log for which you want to turn off request logging and authentication. You end up with awkward code that introduces a global whitelist of exceptions.
app.use(function(req, res, next){
  if ('/log' === req.url) return next();
  logger(req, res, next);
});

Assuming that through experience and discipline you avoid this pitfall, you probably then rely on defining middleware for each route through "sub-apps".
// boot.js
app.use(require('./my-route');

// my-route.js
const bodyParser = require('body-parser');
module.exports = express().get('/', bodyParser, function(req, res, next){
  // req.body
});

This pattern, however, still has significant problems:

req.body comes out of nowhere. It's unclear to someone who's never seen the codebase before that the presence of bodyParser is what made req.body exist.
Error handling is done by the framework in a similarly obscure way (app.error).
It's not clear whether bodyParser will hold up the request or not.

await + async is the solution to all of these problems.
First, the assignment operator brings clarity:
async function (req, res) {
  const body = await json(req); // explicit
}

function (req, res, next) {
  req.body                      // where did this come from? (╯°□°）╯︵ ┻━┻
}

Second, errors are handled like everywhere else:
async function (req, res) {
  try {
    await json(req);
  } catch (e) {
    // buffering failed
    // size limit exceeded
    // parsing failed
  }
}

If you don't specify try/catch and instead the error is caught by micro, it goes with a suggested code (err.statusCode), or 500 if no information can be derived from the Error.
This flexibility in error handling is very difficult to achieve with middleware. In general, middleware skip over subsequent routes and go to the error handler (also not very obvious).
Third, the presence of the await keyword will tell you if the request is actually being defered or not.
async function (req, res) {
  await rateLimit(req);    // this holds up the request
  log(body);               // this doesn't hold up the request
  send(res, 200, 'woot!'); // no `res` monkey-patching
}

Finally, you might still favor global middleware to avoid incessant repetition. You could successfully argue that if every route in your app requires logging, this pattern falls into "pre-mature optimization".
Fortunately for us, simple functions solve this without sacrificing explicitness:
import decorate from './my-middleware';
export default decorate(async (req, res) => {
  // the introduction of re-usable logic is explicit and
  // the programmer knows to look at `my-middleware.js`
});

As you can see, micro goes beyond "syntax sugar" or "making async code look sync". It's about code that's easier to understand, debug and collaborate on.

I think there are still valid use-cases for middleware, though middleware can just take the form of wrapped promises now haha, same idea really. Things like collecting metrics on request/response, logging, are typically global behaviour.

+1 to being lean/explicit and just using decorators for middleware

I'd also argue though that HTTP is a bad abstraction to begin with

Couldn't agree more with this :+1:, HTTP always tends towards lots of adhoc plumbing. I think what makes things like Lambda, Kafka et al conceptually nicer is that a microservice is something that simply consumes one log and produces another (as opposed to just "small service"). Then you have a fundamental way to stack component parts together. If you consider decoupling the request-response (i.e. that you could receive a response without a request, or make a request with multiple responses, or make a request that does not have a response, etc) then HTTP (responding directly to a request) just becomes one specific instance of the stream processing model. Would love to see a version of micro based on this, or otherwise, for more realtime communication (push by default rather than pull)..

For those new to higher order functions, the decorate function could look like this:
const decorate = fn => (req, res) => {
  // do some stuff here
  fn(req, res)
}

yes, algebraic effects ftw

Please provide an example where React Hooks are better than async-await


use beforeUnmount

Vue 3 displays a warning when using beforeDestroy:
[Vue warn]: `beforeDestroy` has been renamed to `beforeUnmount`.
This PR uses beforeUnmount instead.

@NaotoshiFujita Can you merge this PR?

Fixed in the latest version.


Scala implementation should use a proper JSON parser

Right now the Scala implementation uses a JSON parser defined in FastParse.  While FastParse is fast for a general parser combinator, it is not fast compared to a production-level JSON parser like Jawn.
Therefore, the Scala implementation should switch to a real JSON parser.  This should speed up parsing by 2-4x (at least the JSON part of it).

Resolved by https://github.com/openworm/tracker-commons/pull/89
(Incidentally, the speedup was closer to 10x than 2-4x.)

Actually resolved by https://github.com/openworm/tracker-commons/pull/90 - I closed the other one by mistake.


Clone visuals and geometries

Signed-off-by: Ashton Larkin<EMAIL_ADDRESS>🎉 New feature
Summary
I've added support for cloning visuals and geometries.
Test it

Checklist

[ ] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge

I made some minor tweaks in #418. Can you take a look?


Race condition when stack created by first time

Hey!
I found an issue trying to deploy a new stack and then waiting for it.
The script returns "Nothing found in <stack_name>" but the stack already exists containing one service. So, probably it's a problem with a preparing state or something?
I did find this harcode in the code. Could it be related?
I would suggest to retry until docker return the proper status. Docker swarm uses different statuses (preparing, assigned, etc)
What do you think?

I close it because seems to be related to something on our side.
Apologies for this!


Bug: race conditions with regostore get methods

Topic: insufficient locking when accessing the regostore concurrently
Demo: PR #78
This is annoying if we are using this lib in a concurrent context (e.g. some API server, or if we introduce concurrency in kubescape).
Issue #1
If I understand the GitRegostore correctly, there is a pattern to lazy-load the controls in a framework and the rules in a control.
The issue is that RLock is then not sufficient to guard such mutating objects when accessed concurrently.
PR #78 introduces some degree of parallel access by slightly altering the existing unit tests. The modified test now exhibits data race when run with "go test -race" (the original test used to produce a sequence of access that did not produce any concurrency on the critical parts).
Proposed solutions:

pessimistic locking: we could just use the exclusive Lock/Unlock to guard methods that call a lazy-loader: GetOPAControlByName, GetOPAControlByID, GetOPAControlByFrameworkNameAndControlName(), GetOPAControls(), GetOPAFrameworks(), GetOPAFrameworkByName()
=> X-locking on Get methods is difficult to accept...

dropping the lazy-loading approach: construct the entire object in the setObjects() method, remove lazy-loaders
=> I am not sure we cover all use cases this way / possibly a lot of allocated controls & rules which will never be consumed

adopting lock-escalation: introduce another set of locks to guard the inner structures only when the mutation actually occurs
=> we need new mutexes to be declared (it is not possible to escalate a R-Lock currently held into X-lock). Beware of deadlocking patterns.

Issue #2
There is a race condition on the regexp initialization in func "isControlID"
This is easily guarded by a sync.Once initializer. Alternatively, we could just initialize this eagerly with some "func init()" package initializer.
See PR #78.
cc: @matthyx @dwertent @vladklokun

We've just been busy 3 days of quarterly planning... I promise tomorrow I'll have time to review all your PRs

No worries @matthyx I know how startups work... :)

@fredbi , we are reviewing your lates PRs so we can merge them.
Thank you!
/cc @YiscahLevySilas1

Note to reviewers:

PR #78  demonstrates the issue, with a modification of the unit tests
PR #79 (built on top of #78) proposes a fix, based on the lock escalation method suggested above (there are other possible designs, of course)


Rename makefile, improve tooling

Description
Added yamlfmt tool for yaml formatting, addlicense for license header
checks, and some helpful precommit make targets using the new tools.
Related issue
b/238471196
How has this been tested?
make -f tasks.mak precommit: https://pastebin.com/uxKg1XF3
make -f tasks.mak addlicense: The results are part of the changes in this PR
make -f tasks.mak test_confgenerator_update: The results are part of the changes in this PR
Checklist:

Unit tests

[ ] Unit tests do not apply.
[x] Unit tests have been added/modified and passed for this PR.

Integration tests

[x] Integration tests do not apply.
[ ] Integration tests have been added/modified and passed for this PR.

Documentation

[x] This PR introduces no user visible changes.
[ ] This PR introduces user visible changes and the corresponding documentation change has been made.

Minor version bump

[x] This PR introduces no new features.
[ ] This PR introduces new features, and there is a separate PR to bump the minor version since the last release already.
[ ] This PR bumps the version.

PR_Presubmit is going to fail here because it thinks I changed the supported agent version, but it's only an indentation change so it's fine to ignore.

LGTM


devspace attach fails but can't find how to set its options tty and stdin to true

What happened?

I tried devspace attach but didn't get a terminal to the container.$ devspace attach
[warn]   To be able to interact with the container its options tty (currently `false`) and stdin (currently `false`) must both be `true`
[info]   Attaching to pod:container devspace-quickstart-golang-c85c75d9b-nl8wv-5xkqh:container-0
[info]   If you don't see a command prompt, try pressing enter.

Where can I find steps to configure "options tty" and "stdin" to true as mentioned in the warning message?

What did you expect to happen instead?
I expected to get access to the container through a terminal.
How can we reproduce the bug? (as minimally and precisely as possible)
devspace attach

 My devspace.yaml:
I'm using the golang quickstart guide.
version: v1beta11

# `vars` specifies variables which may be used as ${VAR_NAME} in devspace.yaml
vars:
- name: IMAGE
  value: dharmit/app

# `deployments` tells DevSpace how to deploy this project
deployments:
- name: devspace-quickstart-golang
  # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations
  helm:
    # We are deploying the so-called Component Chart: https://devspace.sh/component-chart/docs
    componentChart: true
    # Under `values` we can define the values for this Helm chart used during `helm install/upgrade`
    # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"]
    values:
      containers:
      - image: ${IMAGE} # Use the value of our `${IMAGE}` variable here (see vars above)
      service:
        ports:
        - port: 8080

# `dev` only applies when you run `devspace dev`
dev:
  # `dev.ports` specifies all ports that should be forwarded while `devspace dev` is running
  # Port-forwarding lets you access your application via localhost on your local machine
  ports:
  - imageSelector: ${IMAGE} # Select the Pod that runs our `${IMAGE}`
    forward:
    - port: 8080

  # `dev.open` tells DevSpace to open certain URLs as soon as they return HTTP status 200
  # Since we configured port-forwarding, we can use a localhost address here to access our application
  open:
  - url: http://localhost:8080

  # `dev.sync` configures a file sync between our Pods in k8s and your local project files
  sync:
  - imageSelector: ${IMAGE} # Select the Pod that runs our `${IMAGE}`
    # `excludePaths` option expects an array of strings with paths that should not be synchronized between the
    # local filesystem and the remote container filesystem. It uses the same syntax as `.gitignore`.
    excludePaths:
    - .git/
    uploadExcludePaths:
    - Dockerfile

  # `dev.terminal` tells DevSpace to open a terminal as a last step during `devspace dev`
  terminal:
    imageSelector: ${IMAGE} # Select the Pod that runs our `${IMAGE}`
    # With this optional `command` we can tell DevSpace to run a script when opening the terminal
    # This is often useful to display help info for new users or perform initial tasks (e.g. installing dependencies)
    # DevSpace has generated an example ./devspace_start.sh file in your local project - Feel free to customize it!
    command:
    - ./devspace_start.sh

  # Since our Helm charts and manifests deployments are often optimized for production,
  # DevSpace let's you swap out Pods dynamically to get a better dev environment
  replacePods:
  - imageSelector: ${IMAGE} # Select the Pod that runs our `${IMAGE}`
    # Since the `${IMAGE}` used to start our main application pod may be distroless or not have any dev tooling, let's replace it with a dev-optimized image
    # DevSpace provides a sample image here but you can use any image for your specific needs
    replaceImage: loftsh/go:latest
    # Besides replacing the container image, let's also apply some patches to the `spec` of our Pod
    # We are overwriting `command` + `args` for the first container in our selected Pod, so it starts with `sleep 9999999`
    # Using `sleep 9999999` as PID 1 (instead of the regular ENTRYPOINT), allows you to start the application manually
    patches:
    - op: replace
      path: spec.containers[0].command
      value:
      - sleep
    - op: replace
      path: spec.containers[0].args
      value:
      - "9999999"
    - op: remove
      path: spec.containers[0].securityContext

# `profiles` lets you modify the config above for different environments (e.g. dev vs production)
profiles:
  # This profile is called `production` and you can use it for example using: devspace deploy -p production
  # We generally recommend using the base config without any profiles as optimized for development (e.g. image build+push is disabled)
- name: production
# This profile adds our image to the config so that DevSpace will build, tag and push our image before the deployment
  merge:
    images:
      app:
        image: ${IMAGE} # Use the value of our `${IMAGE}` variable here (see vars above)
        dockerfile: ./Dockerfile

Local Environment:

DevSpace Version: devspace version 5.18.5
Operating System: Linux (Fedora 35)
ARCH of the OS: AMD64
Kubernetes Cluster:
minikubeminikube version: v1.25.2
commit: 362d5fdc0a3dbee389b3d3f1034e8023e72bd3a7

Kubernetes Version: [use kubectl version]$ kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.1", GitCommit:"86ec240af8cbd1b60bcc4c03c20da9b98005b92e", GitTreeState:"clean", BuildDate:"2021-12-16T11:41:01Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:19:12Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}

/kind bug

Hello @dharmit! You need to enable this inside the container you are deploying via:
# `deployments` tells DevSpace how to deploy this project
deployments:
- name: devspace-quickstart-golang
  # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations
  helm:
    # We are deploying the so-called Component Chart: https://devspace.sh/component-chart/docs
    componentChart: true
    # Under `values` we can define the values for this Helm chart used during `helm install/upgrade`
    # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"]
    values:
      containers:
      - image: ${IMAGE} # Use the value of our `${IMAGE}` variable here (see vars above)
        stdin: true
        tty: true
      service:
        ports:
        - port: 8080


Remove in-tree version of www-authenticate

The in-tree version of www-authenticate can be removed because the library maintainer has released a new version of the crate that addresses all our needs.
Fixes https://github.com/krustlet/oci-distribution/issues/7

Sorry about the delay, I was on vacation :)
Can I go ahead and merge it? The CI is failing because of an unrelated issue (see https://github.com/krustlet/oci-distribution/issues/13)

Yeah, I just need to set aside some time to look at that


go: migrate to Homebrew

Deleting go from cask as part of deduplication process . See context here.
Please note that this PR is created to continue case-by-case discussions from thread linked above and if decision is made not to remove the cask, PR will be closed.

It's a language, so I'm in favour.

Thank you for the contribution. It needed some fixes, so they were made in c944b1421a7658011218068747f2d02efc4cf57d. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


RPi 3: Playback suddenly doesn't work anymore

Bug report
Your Environment

Netflix add-on version: 1.12.8-Leia
Operating system version/name: Libreelec 9.2.8
Device model:  Raspberry Pi 3

Used Operating system:

[ ] Android
[ ] iOS
[ ] Linux
[ ] OSX
[X] Raspberry-Pi
[ ] Windows

Describe the bug
I cannot start the playback and only receive an MSL error. Two days ago everything worked as expected, during this period no changes were made on the client. I have another Raspberry Pi 3 which is set up exactly the same way and has the same issue. This problem does not only occur on my clients. As stated in: https://github.com/CastagnaIT/plugin.video.netflix/discussions/1299, one other user has the same problem in the same period of time.
Expected behavior
The playback should start, no MSL error should occur.
Actual behavior
Playback does not start, MSL error message pops up.
Steps to reproduce the behavior

Run the plugin on Raspberry Pi and Kodi 18 (according to the discussion, the exact Kodi version doesn't seem to matter)
Login to Netflix account
Start playback of a show or movie

Possible fix
Reinstalling Widevine through InputStream Helper did not work, neither did reinstalling the whole addon and clearing the addons' cache in it's settings. Maybe the problem is caused by change on Netflix' side
Debug log
The debug log can be found here:
http://ix.io/3OqN
Other information
https://github.com/CastagnaIT/plugin.video.netflix/discussions/1299

Same issue here (Raspberry Pi 3 + Libreelec). Yesterday it was working. Today can't play anything on netflix and getting same error msg as reported. I tried reinstalling widevine/netflix addon, clearing cache, logging out. Issue persists.
Thx.

Same here. Windows 10, Leia 18.9, Netflix 1.12.8. FAQ steps followed, no luck. Any video. Widevine seems to be OK, as other add-ons that also use it continues to work correctly.

Same here, but with Raspberry Pi 4. Worked two days ago, yesterday did not.

Same here in France kodi 18 and updated plugin, impossible to launch anything.
Error message:
MSLerror: this title is not available in instant access.
please select another one.

in french :
MSLerror: ce titre n'est pas disponible en accès instantané.
veuillez en sélectionner un autre.

Maybe Netflix locks the playback to third party applications ???

Same here with Raspberry Pi 3 and KODI Libreelec. I noticed the problem yesterday night and tried Logout/Login, RESET ESN, clear Cache. Not solved.

Hi,
Same error on raspberry pie 3 with osmc

Same here on RPi4, LE9.2.8

+1 RPi4 Kodi 18 on Rasperian

Hi
i have same issue.
raspberry 4 raspbian headless made to work with kodi and netflix.
Siencerly
S

also tried the instructions to no avail.

An update on the kodi forums: https://forum.kodi.tv/showthread.php?tid=329767&pid=3084615#pid3084615

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py
--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@
     params = {
         'type': 'standard',

       'viewableId': [viewable_id],

       'viewableId': viewable_id,
       'profiles': profiles,
       'flavor': 'PRE_FETCH',
       'drmType': 'widevine',

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py

--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@

         params = {
             'type': 'standard',
-            'viewableId': [viewable_id],
+            'viewableId': viewable_id,
             'profiles': profiles,
             'flavor': 'PRE_FETCH',
             'drmType': 'widevine',

Can confirm it works!!! Thanks!

yep this workaround work fine
just add 'viewableId': viewable_id,  below 'viewableId': [viewable_id], in /.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py
thx a lot .

I am encountering the same error on OSMC / Kodi 19 / rPi 4.
Netflix addon and Kodi are up to date.
There is no directory /.kodi/addons/plugin.video.netflix/resources/lib/services/msl/ for me though.
The only msl_handler.py file I have got is /.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py.
When trying the workaround on this one nothing changes and the error still occurs.
Also tried rebooting...
Does anyone know why my addon is missing files?

@dreia2k I'm using LibreElec on Raspberry Pi 4, and I also don't have the exact file path others are mentioning. It seems like you made a typo in your comment though, because you then went on to say that you do have a file at the same path. Could clarify where you did find a similarly named file? Did you try rebooting the device and other basic steps after making the change?
Does anyone else have any tips to solve what seems to be the same error on libreelec?

With OrangePi PC and LE10 nightly20210807 (Kodi Matrix 19.1) acutal addons and WV 4.10.2252.5, MSL=1 selected in the NF addon I also have no playback and the workararound can not be applied (see JoshOrndorff's post above)
BUT changing to MSL=default in the addon partially works: all NF content can be seen with SD resolution
With RPi3b+ and LE11 nightly 20220107, (Kodi Leia 20.0-ALPHA1), and WV 4.0.2254.5, MSL=1: Everything is fine with Netflix HD playback.

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py

--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@

         params = {
             'type': 'standard',
-            'viewableId': [viewable_id],
+            'viewableId': viewable_id,
             'profiles': profiles,
             'flavor': 'PRE_FETCH',
             'drmType': 'widevine',

nice, this also works for me.

I can confirm that the workaround fixes the problem. Is it possible to integrate this in the plugin's code, or is it just a temporary fix?

But now the extensions won't open, and kodi passes on a python error that it can't import the module I modified.

'viewableId': [kwargs[viewable_id]],  seems to me more accurate , be sure to respect indentation .

I made what I expected to be the corresponding change:
-     'viewableId': [kwargs['viewable_id']],
+     'viewableId': kwargs['viewable_id'],

But now the extensions won't open, and kodi passes on a python error that it can't import the module I modified.

Have you tried rebooting your device in the meantime? Because I did exactly this on my machine (CoreElec Matrix) and it fixed the issue just fine!

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py

--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@

         params = {
             'type': 'standard',
-            'viewableId': [viewable_id],
+            'viewableId': viewable_id,
             'profiles': profiles,
             'flavor': 'PRE_FETCH',
             'drmType': 'widevine',

Fixed on CoreElec 9.27 Kodi 18 Leia , after the edit restart Kodi. Thanks for the find...

It works :) thank you
raspian headless kodi

Confirmed: Windows 10, Leia 18.9, plugin.video.netflix 1.12.8: fix on msl_handler.py works!! So it is not a hardware-dependant problem. The commit above should be applied (probably some change in Netflix interface).

Hi guys
I am using Kodi 18.9 on A Rpi3 and I can't for the life of me find the .kodi hidden file. How do I show the hidden files in LibreElec?
Thanks in advance
Kind regards
Josh

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py

--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@

         params = {
             'type': 'standard',
-            'viewableId': [viewable_id],
+            'viewableId': viewable_id,
             'profiles': profiles,
             'flavor': 'PRE_FETCH',
             'drmType': 'widevine',

I applied this fix and it worked! Thank you so much!

Hi guys
I am using Kodi 18.9 on A Rpi3 and I can't for the life of me find the .kodi hidden file. How do I show the hidden files in LibreElec?
Thanks in advance
Kind regards
Josh

how do you want to access it? just type the directory in.

Hi,
this is basic stuff. but everyone need to learn someday :)
log in using SSH or use terminal if you have GUI (Desktop)
and using command called "cd" go to "/" this is like Windows "C:" directory so type in your terminal "cd /".
then using another command type "ls" this command will show you content of directory in which you currently are in this case the "/" directory.
look for "home" directory and to go into this directory type in terminal "cd /home" then again use "ls" command to show you content of this directory and there should be your username. in my case is "pi" because this is basic username in "raspbian" OS.
so now hop into your username directory using "cd /home/Your username" or in my case "cd /home/pi"
and now your main problem this directory is hidden because it has dot in as first letter so to see hidden folders and files type in "ls -a"
now again type "cd /home/your username/.kodi/
do "ls" for the practice :)
so now when we know where the kodi is installed type in
"cd /home/YOUR USERNAME/.kodi/addons/plugin.video.netflix/resources/lib/services/msl"
remember you must type in your username which you have found looking in your home directory
then do again "ls" command and there should be our problem file :) called "msl_handler.py"
now use build in old but trusty nano text editor, type in your command line
"nano msl_handler.py"
and remember when modifying code DO NOT accidentally type any letter or number because this can crash your netflix.
and now using your arrow keys navigate to part which will look like this
params = {
'type': 'standard',
'viewableId': [viewable_id],
'profiles': profiles,
'flavor': 'PRE_FETCH',
'drmType': 'widevine',
what you want to do is add new like which solves this problem make new line UNDER "'viewableId': [viewable_id],"
     params = {
         'type': 'standard',
        'viewableId': [viewable_id],
        **'viewableId': viewable_id,**
         'profiles': profiles,
         'flavor': 'PRE_FETCH',
         'drmType': 'widevine',

and now using key combination CTRL + S first save this file and using another combination CTRL + X exit editor
type in your terminal "reboot" which will restart your device and will kick you out of SSH,
after this your netflix should work perfectly as it did
if you need more help just write me a message
Sincerly S

i need someone with Kodi 18 + RPI update with this test:
plugin.video.netflix_1.12.8_20220204_t1.zip
and let me know if from the first time that you run a video (declared 1080p) will be run at 1080p (see video info or video settings when in playback)

@sdfrir
Thank-you so much for your help, you helped me understand my issue and it is all working now.
After the reboot it wouldn't play at all, so I kept going over your instructions, it turned out it was a separate issue with an incompatible WideVine version.
Your instructions are so good they should be in the Wiki.
Cheers
Josh

i need someone with Kodi 18 + RPI update with this test: plugin.video.netflix_1.12.8_20220204_t1.zip
and let me know if from the first time that you run a video (declared 1080p) will be run at 1080p (see video info or video settings when in playback)

Works fine here,
1080P (VP9) works, too

@CastagnaIT I can also confirm this works. Debug Log, if needed: http://ix.io/3OFF

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py

--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@

         params = {
             'type': 'standard',
-            'viewableId': [viewable_id],
+            'viewableId': viewable_id,
             'profiles': profiles,
             'flavor': 'PRE_FETCH',
             'drmType': 'widevine',

I applied this fix and it worked! Thank you so much!

I can confirm it works, thanks.

Can confirm the

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py

--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@

         params = {
             'type': 'standard',
-            'viewableId': [viewable_id],
+            'viewableId': viewable_id,
             'profiles': profiles,
             'flavor': 'PRE_FETCH',
             'drmType': 'widevine',

After making this quick patch, it's now working on Libreelec x86 as well, thanks.

Fixed in new release

I fix it after read discussions (on osmc/rasp3)
/home/osmc/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py

--- msl_handler.py.orig    2022-02-02 10:45:03.567218417 +0100
+++ msl_handler.py    2022-02-02 12:15:37.920057323 +0100
@@ -182,7 +182,7 @@

         params = {
             'type': 'standard',
-            'viewableId': [viewable_id],
+            'viewableId': viewable_id,
             'profiles': profiles,
             'flavor': 'PRE_FETCH',
             'drmType': 'widevine',

It worked on a RaspberryPI 2 + LibreElec + Kodi 18 Leia
Just the path is different: /storage/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py
Thanks!!


Load balancer health_state stuck in updating-healthy

Hi,
I've deployed a load balancer using the 'rancher/load-balancer-service' docker image.
It looks like the health_state never transition from updating-healthy to healthy, do you see the same issue?
Cheers,
Matteo

How are you deploying the service? You should never have to pick the rancher/load-balancer-service image?

@deniseschannon, http://docs.rancher.com/rancher/rancher-compose/rancher-services/#load-balancer

Can you share your docker-compose.yml and rancher-compose.yml? We don't see any issues with load balancers becoming healthy.
Also, is this a load balancer that was from a previous installation or a new load balancer?

@deniseschannon, I got back today and I no longer see the issue :/ I would close this ticket as I don't seem to be able to reproduce it, it could be that it just took longer to transition from updating-healthy to healthy.
Thank you,
Matteo


Dialogue not Loading in the week

Hello! So, I am trying to write dialogue for my mod but it doesn't seem to be working. I made the dialogue .json file, and a script lua file which looks like this

And put it in the song folder so it currently works like this

The dialogue doesn't crash when I open it in the editor and everything is laid out perfectly, so I'm not sure why the dialogue is not loading in the week.
Granted the only song done for that week is the song where this dialogue plays, so I assume that may be what the problem is. Whatever the case, can you help me figure out what may be the issue here? Because I did everything basically perfectly.

Try downloading the new example script.

It still isn't working right. It still skips over the dialogue.json file. And according to the Powershell its LOADING the script, so I'm not sure what the problem is.
Am I supposed to edit the script or could it be some other problem?

Check your version.


Recognize that different column indexes may exist at different versions

Main changes since Dec:

Clarified some places where I was confused about the purpose of per-sstable components (they don't belong to an index per se)
Gave up on the IndexIdentifier that Mike objected to in favor of using the raw IndexContext; I still don't love representing per-sstable components with null but I don't have a clean way to change that in the rest of the codebase

SecondaryIndexManagerTest.testIndexRebuildWhenAddingSStableViaRemoteReload is failing, investigating


Add the evaluation of search in the search result page

We need to add functionality to evaluate the results in the search result page. This function should be placed above top-right in the gallery as the mockup indicates.
Expected design
Default state
The yes and no actions are in the default state.

Option selected
The yes option was selected

This is a duplicate of https://github.com/creativecommons/cccatalog-frontend/issues/518.


Pixel(Un)PackData with None

As announced in https://github.com/grovesNL/glow/pull/322#issue-2629596296.
Option is put into PixelUnpackData::Slice variant because it matches webgl better.
Alternatives:

PixelUnpackData::None variant
do nothing as we can already express this as PixelUnpackData::BufferOffset(0) actually this is not true, there is no way to pass null/0 in WebGL 1 context as BufferOffset variants are not supported by spec (glow's panic) but null value is supported by spec (for example see tex_image_2d).

@grovesNL This is ready for review!


Preserve unmatched placeholders

As mentioned here https://github.com/alexei/sprintf.js/issues/8#issuecomment-152675119, it would be nice to have option to return unmatched placeholders as they are.
For example, when we have this:
sprintf('Test number %s')

instead of 'Test number undefined' return 'Test number %s'
And same for named placeholders:
sprintf('%(name)s number 1')

instead of error about non-existing placeholder return '%(name)s number 1'
This will make possible complex chaining, when you need to process strings by few modules.
So far can't tell for sure how should it be done.
I have few options:

Global option during sprintf invocation:
sprintf = require('sprintf-js').sprintf({
  preservePlaceholders: true
})

sprintf('%(name)s number 1')` -> `'%(name)s number 1'`

Live switch in and switch off:
sprintf.preservePlaceholders(true)

sprintf('%(name)s number 1')` -> `'%(name)s number 1'`

sprintf.preservePlaceholders(false)

Special sprintfp function:
sprintfp('%(name)s number 1')` -> `'%(name)s number 1'`

+1


Support multiple Mesa versions?

Issue description
You often need bleeding edge Mesa for gaming purposes and lesser platforms sometimes don't work with the newest Mesa versions.
What do you think of setting up a little infrastructure to support multiple versions of mesa that users can take bleeding-edge drivers from or can be used as the default on lesser platforms such as Darwin?
This could also have the advantage of shortening the feedback cycles for updates to mesa because, technically, the only patch that needs to go to through staging is the patch that sets the default mesa versions packages are compiled against.
That way we could also have the newer mesa versions tested on master in nixosTests way before it's released to the masses via staging-next and, even more importantly, by users in actual real-world scenarios.
Precedent for this exists in the zfs and nvidia kernel modules.
cc @primeos @vcunat

Well, I don't know why many packages need mesa as build input.  Most should be fine with libglvnd AFAIK.  I believe that's the first step to investigate.  By itself, reducing this would shorten the feedback cycle, regardless of actually supporting multiple versions.

@Atemu I'm not really sure how your approach would look like (i.e., how exactly would you propose implementing this?) but here are some notes from me:

This would definitely require additional Mesa maintainers that commit to it (I'm already getting too slow so Mesa needs help as is). This is IMO the most important point to figure out. Someone needs to implement and maintain it.
I'm not really that convinced that we would gain much. We could add a mesa-amber package for older hardware (e.g., Arch has one: https://archlinux.org/packages/extra/x86_64/mesa-amber/), Mesa should be quite backwards compatible, on nixpkgs-unstable we're already using the most recent Mesa version (apart from RCs and .0 development releases) so we'd basically have to switch to the main branch which is always undesirable for Nixpkgs IMO because how to decided how often to update and to which revisions? IMO an overlay would be much better for this purpose (i.e., no Nixpkgs changes should be required).
It'd be mainly useful for nixos-stable (I guess someone could maintain something like a mesa-rolling package on the current stable release).
Exchanging Mesa versions is currently unelegant (https://nixos.wiki/wiki/OpenGL#Testing_Mesa_updates) so this should ideally be improved first.

on nixpkgs-unstable we're already using the most recent Mesa version (apart from RCs and .0 development releases)

I don't think that we are; the latest release for Mesa seems to be 22.1.5, but unstable currently ships 22.0.4.

We ship 22.1.7 which is the newest stable version atm.
https://github.com/NixOS/nixpkgs/blob/fd745268a4f48d25875cc32b17abb0b32f45207e/pkgs/development/libraries/mesa/default.nix#L37


Fix grammar issue in Django docs

remove "(if not the) Python's"

tbh not even sure why we care about saying its popular, but this is an improvement so thanks!


feat(tests): eof section order tests

🗒 Description
Construct eof container with skipped sections combinations
Example:

take code section, make it appear only in container header and header types, but skip printing bytes in the body
take code section, make it appear only in container body but skip printing bytes in the header
take code section but print it in a wrong order in header or body

🔗 Related Issues
https://github.com/ethereum/execution-spec-tests/pull/550
✅ Checklist

[x] All: Set appropriate labels for the changes.
[x] All: Considered squashing commits to improve commit history.
[x] All: Added an entry to CHANGELOG.md.
[x] All: Considered updating the online docs in the ./docs/ directory.
[x] Tests: All converted JSON/YML tests from ethereum/tests have been added to converted-ethereum-tests.txt.
[x] Tests: Included the type and version of evm t8n tool used to locally execute test cases:  e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
[x] Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

Another comment is that, since there are some repeated cases with the current parametrization approach, and we are actually listing each case in get_expected_code_exception anyway, I think we could change the parametrization to:
@pytest.mark.parametrize("section_kind,section_test,test_position,expected_bytecode,expected_exception",
    [
        pytest.param(
            SectionKind.TYPE,
            SectionTest.MISSING,
            CasePosition.HEADER,
            "ef000102000100030400010000800001305000ef",
            EOFException.MISSING_TYPE_HEADER,
        ),

Another comment is that, since there are some repeated cases with the current parametrization approach, and we are actually listing each case in get_expected_code_exception anyway, I think we could change the parametrization to:
@pytest.mark.parametrize("section_kind,section_test,test_position,expected_bytecode,expected_exception",
    [
        pytest.param(
            SectionKind.TYPE,
            SectionTest.MISSING,
            CasePosition.HEADER,
            "ef000102000100030400010000800001305000ef",
            EOFException.MISSING_TYPE_HEADER,
        ),

hm I was thinking what if we are to add more combinations.
the current way it will be clear what are the new combinations would be. (like if I add subcontainer)
the code verification is becauses eof is in development I don't feel safe without it. (thus python falls back to json tests)

Another comment is that, since there are some repeated cases with the current parametrization approach, and we are actually listing each case in get_expected_code_exception anyway, I think we could change the parametrization to:
@pytest.mark.parametrize("section_kind,section_test,test_position,expected_bytecode,expected_exception",
    [
        pytest.param(
            SectionKind.TYPE,
            SectionTest.MISSING,
            CasePosition.HEADER,
            "ef000102000100030400010000800001305000ef",
            EOFException.MISSING_TYPE_HEADER,
        ),

hm I was thinking what if we are to add more combinations. the current way it will be clear what are the new combinations would be. (like if I add subcontainer) the code verification is becauses eof is in development I don't feel safe without it. (thus python falls back to json tests)

Code verification is totally fine, I like that we are not blindly trusting our EOF bytecode constructor.
What I like about this second approach is that it's easier to read for someone that comes into the file and does not have that much knowledge about how parametrization combinations work, even if we add more cases, I think it's a bit better to be explicit IMO.

Another comment is that, since there are some repeated cases with the current parametrization approach, and we are actually listing each case in get_expected_code_exception anyway, I think we could change the parametrization to:
@pytest.mark.parametrize("section_kind,section_test,test_position,expected_bytecode,expected_exception",
    [
        pytest.param(
            SectionKind.TYPE,
            SectionTest.MISSING,
            CasePosition.HEADER,
            "ef000102000100030400010000800001305000ef",
            EOFException.MISSING_TYPE_HEADER,
        ),

hm I was thinking what if we are to add more combinations. the current way it will be clear what are the new combinations would be. (like if I add subcontainer) the code verification is becauses eof is in development I don't feel safe without it. (thus python falls back to json tests)

Code verification is totally fine, I like that we are not blindly trusting our EOF bytecode constructor.
What I like about this second approach is that it's easier to read for someone that comes into the file and does not have that much knowledge about how parametrization combinations work, even if we add more cases, I think it's a bit better to be explicit IMO.

what happend. now you prove me that the way json fillers expect sections were organized is better, and I prove you that python scripting is superior )

Another comment is that, since there are some repeated cases with the current parametrization approach, and we are actually listing each case in get_expected_code_exception anyway, I think we could change the parametrization to:
@pytest.mark.parametrize("section_kind,section_test,test_position,expected_bytecode,expected_exception",
    [
        pytest.param(
            SectionKind.TYPE,
            SectionTest.MISSING,
            CasePosition.HEADER,
            "ef000102000100030400010000800001305000ef",
            EOFException.MISSING_TYPE_HEADER,
        ),

hm I was thinking what if we are to add more combinations. the current way it will be clear what are the new combinations would be. (like if I add subcontainer) the code verification is becauses eof is in development I don't feel safe without it. (thus python falls back to json tests)

Code verification is totally fine, I like that we are not blindly trusting our EOF bytecode constructor.
What I like about this second approach is that it's easier to read for someone that comes into the file and does not have that much knowledge about how parametrization combinations work, even if we add more cases, I think it's a bit better to be explicit IMO.

what happend. now you prove me that the way json fillers expect sections were organized is better, and I prove you that python scripting is superior )

Lol, I guess I just felt it was confusing in this context, because we still need a switch-case implemented to make it work.
I think having combinations handled by parametrize is still possible, it's just that we need to figure out the logic to fill the exceptions maybe?


How to search for many company CIKs and download all the main documents at once?

I want to download all the main documents (without downloading attachments) for 65,000 company CIKs. Currently, I can only read them into Python as text and then save them as individual txt files. I tried downloading 100 files using this method, but it is very slow. I want to know if there is a function in edgartools that allows me to download all the main documents I want at once without using a for loop.

Additionally, I want to search for all the company CIKs I want at once (just like in the form section, by entering a list), but I failed. Is there any way to search for many company CIKs at once?

Can you clarify your requirements.
What form types do you need. All forms or 497K and 497J. For what time period.
Depending on what you need it might be easier to start with the company list and filter forms, or start with forms and filter companies.
Tips to speed up company resolution.

Download company data - filing and fact json files  (but not html) - to your local

from edgar import *

download_edgar_data()
use_local_storage()

Use the parameter include_old_filings=False in Company(cik)
Use python multi processing to get to the SEC mandated limit of 10 per second. I can help with this but is really easy to as AI how to do multiprocessing

If you are approaching it from the list of filings and filtering by CIK then the next release - maybe by tomorrow will have filtering by CIK.
Regardless of what you do 65000 is a large number and will take a while. There are 86400 seconds in a day

Hi Dwight,
I understand what you mean. I will try your method later to speed up the process.
By the way, when I use company CIK to search a file, I can see the corresponding series CIK and contract CIK in the homepage. Is it possible to extract the information of series CIK and contract CIK using edgartools? Thank you very much!

I am sorry for being a bit verbose. Regarding edgartools, is there any documentation that summarizes all the functions and their usage? For example, I haven't seen these two functions: download_edgar_data() and use_local_storage(). I also don't know what parameters they require or how to specify which folder to download the files to.

I will create a couple tickets to

Parse and create the data objects for 497 and 497K. Shouldn't be too hard but it's a matter of priority
Fill in missing documentation

Note that the API surface edgartools is really very large and the documentation needs to catch up.
Even so there are several features that are deliberately undocumented at least for a while. Local storage didn't fit in the original vision of edgartools but  was later added to fill a gap, and some thinking needs to be done before making it generally available. The other reason for less documentation is that with one active developer, some features are held back from general availability  since they would require support.

Added documentation on Downloading to wiki. Closing


update reva to v2.5.2-0.20220617105144-3b2537f536e0

include
https://github.com/cs3org/reva/pull/2985
https://github.com/cs3org/reva/pull/2984

@butonic maybe we need to use the forked cs3 api here even if we not need it directly.

:boom: Acceptance test localApiTests-apiArchiver-ocis failed. Further test are cancelled...

actually codacy is green / happy but did not report back: https://app.codacy.com/gh/owncloud/ocis/pullRequest?prid=9634868


Fix examples link

Hello
Examples points to this link:
https://github.com/ktoso/sbt-jmh/tree/master/src/sbt-test/sbt-jmh/run/src/main/scala/org/openjdk/jmh/samples that does not work

Could you fix the link in a PR?
Thanks a lot :)
I'm vacationing right now

will do!

Thanks a lot!


ci: tag and release before creating the docker image

See the mega comment in the file for details. Used to compare with #124.
PROs

smaller chance of merged PRs causing unpredictable behaviour

CONs

needs a mega comment to explain
release workflow becomes more complex

Addresses GUILD-1213.

We decided to go with https://github.com/Vandebron/gh-mpyl/pull/124


Refactor Cardano off-chain code

Our goal is to transition from bash scripts to a proper backend framework. We need to unify separate bash scripts and Haskell backend code into a single workflow with different functions implementing off-chain code for different types of scripts that we have. See also #35.

[ ] Investigate viability of using Atlas.

I think cardano-submit-api is also an option if we want to remove bash scripts.

Setting this up for testing and for actual use on a real network.


Can not use generateStaticParams with next/headers in Next.js 13

The error message is: Dynamic server usage: headers
Related: vercel/next.js#43427 vercel/next.js#43392 #24
Currently comment the headers() call to fix

Related vercel/next.js#44764

In my next js 13 app dir project it was working fine with next-auth. But after adding middleware it shows me this error. I added the middleware file to do a custom i18n solution. I'm doing req.headers.get('Accept-Language') to get this header.

Same for me. I'm using next-auth on my website and while trying to implement the new i18n example I got this error
Dynamic server usage: headers
app/[lang]/layout.tsx (96:39) @ getServerSession

  94 | 	};
  95 | }) {
> 96 | 	const session = await getServerSession();
     | 	                                     ^

In the console this message pops up
- warn Entire page /[lang] deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /[lang]

Oh, sorry!
I totally missed that this was not an issue on the Next.js repo... :see_no_evil:
I'll post this there if I don't find a solution.

To leave from Next.js and go to Astro


fix security alerts

Your checklist for this pull request

⚠ 파이콘 한국 Contributing Guide를 꼭 준수해주세요.

[x] PR의 compare branch를 master나 develop로 생성하지 않아야 합니다. :smile:
[x] PR의 base branch는 develop으로 지정해야 합니다.
[x] Commit Message가 적절한지 확인해주세요
[ ] Lint나 Unit Test가 통과했는지 확인해주세요
[ ] 가급적이면 테스트 케이스를 작성해주세요

테스트 커버리지는 90% 이상을 유지해야 합니다.

Description
PR에 관한 설명을 상세히 적어주세요
Thank you ❤

Codecov Report

Merging #62 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           develop     #62   +/-   ##
=======================================
  Coverage     89.8%   89.8%
=======================================
  Files           88      88
  Lines         1844    1844
=======================================
  Hits          1656    1656
  Misses         188     188

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 cd72576...2936b38. Read the comment docs.

Codecov Report

Merging #62 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           develop     #62   +/-   ##
=======================================
  Coverage     89.8%   89.8%
=======================================
  Files           88      88
  Lines         1844    1844
=======================================
  Hits          1656    1656
  Misses         188     188

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 cd72576...2936b38. Read the comment docs.


Review 8: Navbar.jsx and AuditedBalanceInput.jsx

Overview
The focus for this code review will be centered around the Navbar and Audited Balance Input pages.
Please pay attention too:

Javascript issues
React components

Review Branch
review-8
Files to review

Navbar.jsx
AuditedBalanceInput.jsx

Checklists

Architecture
Design
JS
React

Due date
11/04/24
For more information
The review process is documented at: http://courses.ics.hawaii.edu/ics414s21/morea/review/reading-idpm-review.html

NavBar.jsx
Seems fine.  No ESLint errors, comments seem relevent, etc.
AuditedBalanceInput.jsx
See what I said above for navbar.

NavBar.jsx
AR-02 (ln 17): The inline style menuStyle is incorrectly applied to the Navbar component. Instead of using menuStyle directly, it should be passed as style={menuStyle}.
DE-04 (ln 20-22): The logo image has a fixed width attribute. Consider making the width dynamic or responsive to enhance the mobile experience.
AuditedBalanceInput.jsx
DE-02 (ln 23): Repeated instances of  using Col elements with similar attributes. Consider creating a dynamic mapping function to reduce repetition and improve readability.

AuditedBalanceInput.jsx
Everything looks okay, well-structured, and easy to read.
Navbar.jsx
Everything looks okay as well. However, there's a typo in line 17, menuStyle should be applied as style={menuStyle} instead of inline styling in Navbar.

Navbar.jsx

Some of the Navlinks use the same key ("key=add"), ensure any keys used are unique to avoid console errors

AuditedBalanceInput.jsx

These buttons use the same styling, might be better to add these to style.css and cut down on duplicate lines of code
https://github.com/manoa-inspire/MATP/blob/d09b01b4358045924bae5f8850640c2d13bf7ac7/app/imports/ui/pages/AuditedBalanceInput.jsx#L90-L95

Review of NavBar.jsx
Architecture Checklist

AR-01: File Naming - The file name NavBar.jsx is appropriate, using camel case, which aligns with standard naming conventions.

Design Checklist

DE-01: Duplication - Review the code to identify any redundant sections.
DE-02: Nested Conditionals - Check for multiple nested if or else blocks, as they can impact readability.
DE-03: Dead Code - Ensure that all code within NavBar.jsx is used and relevant.
DE-04: Comment Blocks - Look for any large blocks of commented-out code or excessive comments explaining “how” rather than “why”.
DE-05: Comments - Verify that comments, if any, are brief and explain complex logic.
DE-06: Readability - Code should be structured to read smoothly.
DE-07: DRY Principle - Avoid repeated code by moving common sections to helper functions or constants.
DE-08: Exporting Reusable Code - If certain functions or logic within the component can be reused, consider moving them to a utilities file.

JavaScript and ESLint Checklist

JS-01: Naming Standards - All variables and functions should follow consistent naming conventions.
JS-02: Spread Operator - The spread operator should be used where applicable.
JS-03: Object Destructuring - Apply object destructuring if relevant.
JS-04: Arrow Functions - Prefer arrow functions in place of traditional function expressions.
JS-05: Avoid Lodash/Underscore - Use native JavaScript methods.
JS-06: Console Logs - Ensure console.log statements are not present in the code.
JS-07: JSDoc Comments - Use JSDoc comments for functions or classes that may need documentation.

React Checklist

RE-01: Component Simplicity - The component should handle only one specific task. If it’s too complex, consider breaking it down into subcomponents.
RE-02: No State Updates in Loops - Avoid updating state within loops, as this can cause re-renders and performance issues.
RE-03: Default Export Renaming - Do not rename default exports upon importing.
RE-04: Destructure Props - Destructure props within the component parameters.
RE-06: Define Constants in withTracker - If applicable, define constants within withTracker.
RE-07: Avoid Data Retrieval in Render - Avoid fetching data within the render method to ensure reactivity.
RE-08: Component and File Name Matching - The component name should match the file name.
RE-09: Prefer Functions for Stateless Components - If the component is stateless, use a functional component instead of a class component.
RE-10: Avoid Widget/Card Naming - Avoid terms like "Widget" or "Card" unless returning a single Card component.

NavBar.jsx
Design-01, L51-54: Maybe Nav.Link can be refactored or grouped appropriately.
React-06, L16: Avoid inline styles, Move any styles to a CSS file to provide consistency.
AuditedBalanceInput.jsx
React-06, L93: Avoid inline styles, move style code into CSS file for consistency
React-05: Perhaps consider using meaningful proptypes

NavBar.jsx
DE-06: Ensure code is readable - The code is readable with no dead code or errors.
AuditedBalanceInput.jsx
DE-07: Ensure code is DRY - inline styles could be moved to the CSS file to remove some of the repeated code.
DE-06: Ensure code is readable - The rest of the code is very readable with no errors.

AuditedBalanceInput.js
DE-01: Move inline styles on buttons to CSS classes for consistency and maintainability.
JS-02: The react/jsx-props-no-spreading rule is disabled for spreading props. Consider explicitly passing props to enhance readability or enabling this rule if the spread is essential.
TST-01: Add validation for form fields to ensure users enter appropriate data. This helps prevent errors on form submission.
NavBar.js
JS-01: The variable menuStyle is defined but not used. Remove or use it in the appropriate place.
You can move thee inline styles to CSS and remove unused variables. Also simplifying the conditional rendering for better readability and ensure key props are unique.


[Fix]Opt Fix dict filtering doesn't work with plain dict encoding in parquet reader.

Proposed changes
Fix dict filtering doesn't work with plain dict encoding in parquet reader.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


CLOUD-58082: Finalize async cluster creation flow

@bbihari or @mhmxs pls review

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2535/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2537/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2538/


Renaming of CRDT names

Collecting from the discussion via email:
antidote_crdt_counter
antidote_crdt_awset
antidote_crdt_gset
antidote_crdt_reg_lww
antidote_crdt_map  ???
{update, {[map_field_update() | map_field_op()], actorordot()}}.
antidote_crdt_reg_mv
antidote_crdt_rga --> antidote_crdt_list_rga or antidote_crdt_sequence_rga  ??

Le 30 sept. 2016 à 13h56, Annette Bieniusa<EMAIL_ADDRESS>a écrit :
antidote_crdt_reg_lww
antidote_crdt_reg_mv

This gives the impression that these are just two implementation variants of the same thing, which they are not.  They  are different types.  ⟹ antidote_crdt_lwwreg / mvreg
(Similar to antidote_crdt_awset/gset: you rightly didn’t call them _set_aw / _set_g because they are not just two implementation variants of set).

antidote_crdt_rga --> antidote_crdt_list_rga or antidote_crdt_sequence_rga ??

“Sequence” is slightly more general, but “list” is OK too
				Marc

@peterzeller @CBaquero Can you confirm that the renaming has been finalised on the antidote_crdt repo?

Hi, I don't think naming is stable yet, but I am in vacation in August. Would like to pay attention to this when back to work, or earlier if I grab some free time. I suggest we defer this till Sep when everyone is back and active again.

I am fine with deferring decisions till September, but I will be busy then with exams. So, I must identify and work on open tasks now ;)

Names were changed in #328


pkg: replace utils/strings/InSlice func with slices.Contains

Description
In this commit, we replace utils/strings/InSlice function with the built-in slices.Contains function which is supported in go 1.18+ and it would work with the current project go version 1.19 as appears in the go.mod file.
Closes #245
How has this been tested?
I've run the test cases using make test and all of them passed.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I think slices was added to the standard package in Go 1.21.

Ah sorry my bad. Your are right:
https://pkg.go.dev/slices?tab=versions

opened https://github.com/aquasecurity/trivy-db/pull/415

Thanks


Add modal with list of related entities

Related to https://github.com/datalens-tech/datalens/issues/81

i18n-check

The following components have not been translated
component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

i18n-check

The following components have not been translated
component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

i18n-check

The following components have not been translated
component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

i18n-check

The following components have not been translated
component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

i18n-check

The following components have not been translated
component.dialog-related-entities.view (ru)component.dialog-related-entities.view (en)component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

i18n-check

The following components have not been translated
component.dialog-related-entities.view (ru)component.dialog-related-entities.view (en)component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

i18n-check

The following components have not been translated
component.dialog-related-entities.view (ru)component.dialog-related-entities.view (en)component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

i18n-check

The following components have not been translated
component.dialog-related-entities.view (ru)component.dialog-related-entities.view (en)component.entry-context-menu.view (ru)component.entry-context-menu.view (en)component.entry-row.view (ru)component.entry-row.view (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.


GTFS feed seems too big for Valhalla to handle

I am trying to run a Valhalla docker with transit on a region slighlty bigger than the Paris Ile de France region. The OSM data I am using is obtained from the Geofabrik France latest data, from which has been extracted the polygon below:
"geometry": {
        "coordinates": [
          [
            [
              0.8552230727017616,
              49.67258642546267
            ],
            [
              0.5986669011061281,
              49.01187512344677
            ],
            [
              0.8133719870081961,
              48.413652943344005
            ],
            [
              2.035685985165088,
              47.650527771508024
            ],
            [
              3.1233526637494435,
              47.66897061648976
            ],
            [
              4.364672745548432,
              48.176767618800966
            ],
            [
              4.6136104444704245,
              48.71262296286602
            ],
            [
              4.412906861412239,
              49.39880413406419
            ],
            [
              3.8370311348944313,
              49.743627315924556
            ],
            [
              2.7683094983392778,
              49.93722014426589
            ],
            [
              2.0934022385610547,
              49.97213820613388
            ],
            [
              1.4875875812286665,
              49.941960817519714
            ],
            [
              0.8552230727017616,
              49.67258642546267
            ]
          ]
        ]
}

The GTFS feed I am trying to use it the Ile De France Mobilité (IDFM) gtfs feed. I am running the docker with the command below:
docker run -dt --name valhalla_pold \
                -p 8002:8002 \
                -v $PWD/custom_files:/custom_files \
                -v $PWD/gtfs_feeds:/gtfs_feeds \
                -e build_elevation=True \
                -e build_time_zones=True \
                -e build_transit=True
                ghcr.io/gis-ops/docker-valhalla/valhalla:latest

And my docker ends up with the following log:
2024-11-25 10:23:53 ==========================
2024-11-25 10:23:53 = Building transit tiles =
2024-11-25 10:23:53 ==========================
2024-11-25 10:23:53
2024-11-25 10:23:53 2024/11/25 09:23:53.369128 [INFO] Running valhalla_ingest_transit with 20 thread(s).
2024-11-25 10:23:53 2024/11/25 09:23:53.369327 [INFO] Tiling GTFS Feeds
2024-11-25 10:23:53 2024/11/25 09:23:53.372576 [INFO] Loading IDFM-gtfs
2024-11-25 10:24:15 2024/11/25 09:24:15.221467 [INFO] Done loading, now parsing IDFM-gtfs
2024-11-25 10:33:56 2024/11/25 09:33:56.930463 [INFO] Done parsing 33 transit tiles for GTFS feed IDFM-gtfs
2024-11-25 10:33:57 2024/11/25 09:33:57.171469 [INFO] Writing 33 transit pbf tiles with 20 threads...
2024-11-25 10:34:26 /valhalla/scripts/configure_valhalla.sh: line 200:    37 Killed                  valhalla_ingest_transit -c ${CONFIG_FILE}

It should be noted that I tried to make other GTFS feeds with for example only the urban railways, metros or buses. Valhalla runs with the small GTFS alone, but it ends up with the same failure when we give it the two small GTFS together (bus-RATP and pold-metro-RER-transilien-tram-gtfs):
2024-11-25 10:50:01
2024-11-25 10:50:01 INFO: Running container with user valhalla UID 59999 and GID 59999.
2024-11-25 10:50:01
2024-11-25 10:50:01 WARNING: Hash not found for: /custom_files/pold.osm.pbf!
2024-11-25 10:50:01 WARNING: Requested transit data build, starting a new tile build
2024-11-25 10:50:01 INFO: Found existing valhalla.json. Updating possibly missing entries.
2024-11-25 10:50:02
2024-11-25 10:50:02 ==========================
2024-11-25 10:50:02 = Building transit tiles =
2024-11-25 10:50:02 ==========================
2024-11-25 10:50:02
2024-11-25 10:50:02 2024/11/25 09:50:02.648651 [INFO] Running valhalla_ingest_transit with 20 thread(s).
2024-11-25 10:50:02 2024/11/25 09:50:02.648834 [INFO] Tiling GTFS Feeds
2024-11-25 10:50:02 2024/11/25 09:50:02.651756 [INFO] Loading bus-RATP
2024-11-25 10:50:25 2024/11/25 09:50:25.123509 [INFO] Done loading, now parsing bus-RATP
2024-11-25 11:00:56 2024/11/25 10:00:56.507429 [INFO] Done parsing 33 transit tiles for GTFS feed bus-RATP
2024-11-25 11:00:56 2024/11/25 10:00:56.667235 [INFO] Loading pold-metro-RER-transilien-tram-gtfs
2024-11-25 11:01:03 2024/11/25 10:01:03.475261 [INFO] Done loading, now parsing pold-metro-RER-transilien-tram-gtfs
2024-11-25 11:01:30 2024/11/25 10:01:30.209652 [INFO] Done parsing 45 transit tiles for GTFS feed pold-metro-RER-transilien-tram-gtfs
2024-11-25 11:01:30 2024/11/25 10:01:30.441727 [INFO] Writing 45 transit pbf tiles with 20 threads...
2024-11-25 11:02:09 /valhalla/scripts/configure_valhalla.sh: line 200:   281 Killed                  valhalla_ingest_transit -c ${CONFIG_FILE}

Am I missing something? Is there a parameter to change in order to allow more memory for the GTFS feed?

Yeah, GTFS integration is currently very RAM intense. You could try adjusting memory limits for the docker daemon, I'm not sure if those may be too constrained. Generally though, there's not much you can do apart from a) having enough memory and b) making sure the container has little constraints accessing that memory.


Abort signal is not handled

Describe the bug
The docs say that we can pass abort signal as second argument but looks like it's not being handled.

https://the-guild.dev/openapi/fets/client/request-params#request-cancellation

The get function doesn't actually accept second argument:
https://github.com/ardatan/feTS/blob/2f1aab925375ba7599e0ef994a01a0badecacce1/packages/fets/src/client/createClient.ts#L97
The requestInit doesn't include signal that should have been passed as the second argument:
https://github.com/ardatan/feTS/blob/2f1aab925375ba7599e0ef994a01a0badecacce1/packages/fets/src/client/createClient.ts#L107-L110

This means request cancellation doesn't actually work.

To Reproduce Steps to reproduce the behavior:
Something like:
const client = createClient<NormalizedOAS>({
  endpoint: 'https://postman-echo.com',
});

// This should throw because of timeout, but it didn't because the signal wasn't handled
client['/get'].get(undefined, { signal: AbortSignal.timeout(0) }))

Expected behavior
The signal should be handled
Environment:

OS:
package-name...:
NodeJS:

Additional context

I created a draft PR (https://github.com/ardatan/feTS/pull/709) to illustrate the point with a test.

Thank you!