Update Docstring for create_model

Playing with updating some docstrings. Will likely do this across multiple PRs. For now, just create_model.
Wanted to make sure @rwightman doesn't oppose any of the style changes here.
Here's everything I've changed here:

Turn each arg description into a complete sentence, using capitol letter at beginning and ending with a period.
Put the arg descriptions on their own new line (style used across HF repos...I personally find this much easier to read in my python interactive, which is why I opted to do it here as well).
Using the <name>: (<type>, *optional*, defaults to ...) syntax/style, which is consistent across all HF docs.
Adding example code snippet right in the docstring, which is nice both for when folks call help(create_model) in Python as well as when it gets rendered in the docs.
Used HF Doc-specific helper tags where applicable (in this case <Tip>...</Tip>, which highlights sections nicely.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Thanks for the eample. I'm definitely open to improving docstrings, buti it's going to differ from Transformers and follow Google style a bit more closely.

Complete sentence ok, but should be succint

I want to keep everything on one line when it comfortably fits a 120 char line, no need to CR unless there is a reaally long var name, 4-space one new l ines when it needs to wrap

Now that I'm adding Python type hints to more and more fns as I update parts, I feel the redundancy is undesirable if we're updating everything, I'd like to avoid redundancy it's error prone and wasted space (already out of sync in places, type hints are more concise than the underspecified docstring equivalents). Looks like Google guide is doing this now, and others (see below). So instead of adding / updating typing for the docstrings, I'd like to remove types to the docstrings and add type hints to the actual arg defs where they don't exist. Defaults are similar out here, better one source of truth than many.

Google:
  [Args:](https://google.github.io/styleguide/pyguide.html#doc-function-args)
  List each parameter by name. A description should follow the name, and be separated by a colon followed by
  either a space or newline. If the description is too long to fit on a single 80-character line, use a hanging indent
  of 2 or 4 spaces more than the parameter name (be consistent with the rest of the docstrings in the file). The
  description should include required type(s) if the code does not contain a corresponding type annotation.
  If a function accepts *foo (variable length argument lists) and/or **bar (arbitrary keyword arguments),
  they should be listed as *foo and **bar.

Numpy:
    `PEP 484`_ type annotations are supported. If attribute, parameter, and
    return types are annotated according to `PEP 484`_, they do not need to be
    included in the docstring:

FYI the HF use of 'optional' in docstrings is objectively confusing AF to anyone who's been programming Python for awhile

Tip tags are cool

Example snippets are welcome, but I feel only worth their space for high traffic functions and not as a rule

If a function accepts *foo (variable length argument lists) and/or **bar (arbitrary keyword arguments),
they should be listed as *foo and **bar.

Will have to check if this will do wonky things with doc builder, I'm not mad at this though. Could actually make this docstring in particular a lot easier to read (as long as the rendered version isnt looking for a closing *).

I want to keep everything on one line when it comfortably fits a 120 char line, no need to CR unless there is a reaally long var name, 4-space one new lines when it needs to wrap

Fine by me!

FYI the HF use of 'optional' in docstrings is objectively confusing AF to anyone who's been programming Python for awhile

Yea I was just following the HF pattern...imo I agree w/ you. Lets do without here.

Example snippets are welcome, but I feel only worth their space for high traffic functions and not as a rule

Definitely 100% agree

@rwightman feel free to take a second look, I think I made the changes you requested.
Only issue I see is in the docstring for the kwargs its making one of the * bold, but its not really that noticeable. I think this is the syntax you were suggesting - pls let me know if I misunderstood.

@nateraw was going to allocate a bit more time to see how others might be handling the kwargs, I feel the old approach was a bit more clear, but non-standard, and this current approach looks a bit off.. hmmm

Agree. I'll think of some options too

@nateraw circling back to this after wrapping up the epic hub model push & multi-weight conversions...
On the kwargs thing, I feel there are 3 realistic options, 1 was  my original choice, 2 is your change, and I've seen 3 out there...
1
    Args:
        model_name: Name of model to instantiate.
        pretrained: If set to `True`, load pretrained ImageNet-1k weights.
        pretrained_cfg: Pass in an external pretrained_cfg for model.
        pretrained_cfg_overlay: Replace key-values in base pretrained_cfg with these.
        checkpoint_path: Path of checkpoint to load _after_ the model is initialized.
        scriptable: Set layer config so that model is jit scriptable (not working for all models yet).
        exportable: Set layer config so that model is traceable / ONNX exportable (not fully impl/obeyed yet).
        no_jit: Set layer config so that model doesn't utilize jit scripted layers (so far activations only).

    Keyword Args:
        drop_rate (float): Classifier dropout rate for training.
        drop_path_rate (float): Stochastic depth drop rate for training.
        global_pool (str): Classifier global pooling type.

2
    Args:
        model_name: Name of model to instantiate.
        pretrained: If set to `True`, load pretrained ImageNet-1k weights.
        pretrained_cfg: Pass in an external pretrained_cfg for model.
        pretrained_cfg_overlay: Replace key-values in base pretrained_cfg with these.
        checkpoint_path: Path of checkpoint to load _after_ the model is initialized.
        scriptable: Set layer config so that model is jit scriptable (not working for all models yet).
        exportable: Set layer config so that model is traceable / ONNX exportable (not fully impl/obeyed yet).
        no_jit: Set layer config so that model doesn't utilize jit scripted layers (so far activations only).
        **drop_rate (float): Classifier dropout rate for training.
        **drop_path_rate (float): Stochastic depth drop rate for training.
        **global_pool (str): Classifier global pooling type.

3
    Args:
        model_name: Name of model to instantiate.
        pretrained: If set to `True`, load pretrained ImageNet-1k weights.
        pretrained_cfg: Pass in an external pretrained_cfg for model.
        pretrained_cfg_overlay: Replace key-values in base pretrained_cfg with these.
        checkpoint_path: Path of checkpoint to load _after_ the model is initialized.
        scriptable: Set layer config so that model is jit scriptable (not working for all models yet).
        exportable: Set layer config so that model is traceable / ONNX exportable (not fully impl/obeyed yet).
        no_jit: Set layer config so that model doesn't utilize jit scripted layers (so far activations only).
        **kwargs:
          - drop_rate (float): Classifier dropout rate for training.
          - drop_path_rate (float): Stochastic depth drop rate for training.
          - global_pool (str): Classifier global pooling type.

For kwargs I feel the Keyword Args: sections makes the most sense, I originally chose it as it has existing use

sphinx Napoleon extension supports it
pylint supports it
mkdocs supports it

For anything that doesn't have support the parsing addition is minor compared to fully supporting 3, and 2 doesn't have separation of args vs kwargs that I'd like.


[Question]: Debugging ReActAgent which superficially calls QueryEngineTool?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I have a QueryPipeline wrapped as a QueryEngineTool.  I can tell when the tool is actually being invoked whenever the logs show the pipeline modules executing:
Thought: The current language of the user is English. I need to use a tool to help me answer the question about the rating for Lorem ipsum.
Action: lorem_ipsum_tool
Action Input: {'input': 'Lorem ipsum'}
> Running module query with input:
input_prompt: Lorem ipsum

> Running module retriever with input:
input: Lorem ipsum

> Running module reranker with input:
query_str: Lorem ipsum
nodes: [NodeWithScore(node=TextNode(id_='5302190c-8090-41dd-b710-45b2a5549200', embedding=None, metadata={'Section': 'Example.abc Relevant to Lorem Ipsum'}, excluded_embed_metadata_keys=[], excluded_llm_metada...

> Running module synthesizer with input:
query_str: Lorem ipsum
nodes: [NodeWithScore(node=TextNode(id_='188a00a3-41c8-4b56-aa3e-63e7db4188f0', embedding=None, metadata={'Section': 'Example.abc Relevant to Lorem Ipsum.'}, excluded_embed_metadata_keys=[], exclud...

Observation: **Explanation:** Based on the provided context...
**Rating:** Relevant element...

Thought: I can answer without using any more tools. I'll use the user's language to answer.
Answer:
Observation: **Explanation:** Based on the provided context...
**Rating:** Relevant element...

In contrast, even though the default LlamaIndex agent logs are indicating a tool is being invoked, I can see it is not with the resulting output:
Thought: The current language of the user is English. I need to use a tool to help me answer the question about the rating for Lorem Ipsum2.

Action: lorem_ipsum_tool
Action Input: {"input": "Lorem Ipsum2"}

Observation: For Lorem Ipsum2 the following applies <more generated text>...

Thought: I can answer the question using the information from the lorem_ipsum_tool tool.
Answer: For Lorem Ipsum2, the potential ratings are: <more generated text>

Critically, I do not see any modules from the query pipeline executing, despite the "Thought, Action, Action Input" pattern appearing (although there is a new line between "Thought" and "Action" in the second.)
Consequently, it appears to be the case that even though the ReActAgent says a tool is being used, it is not actually the case, and no exceptions or errors are thrown as a downstream explanation.  Any ideas as to what is happening?
I am using query so no chat history should be present.  Is the regex failing due to the new line?  Does AgentState play a role which effectively acts as memory/history?

Any ideas @logan-markewich (or others)?


watch mode for mounted directories not working

Description
I work with yarn and jest, both run inside the lima vm.
My IDE is on the host system. I serve the code in watch mode inside the vm and also if I run tests in watch mode with jest, all changes on the host system in the directory what I've mounted, won't get detect from the processes.
Intel MacOS 13.2.1
vmType: "vz"
mountType: "virtiofs"
writeable: true
Can anyone support me fixing it?

I think this is the same issue as:

https://github.com/lima-vm/lima/issues/615


High-level methods for attachments and embedded files

Looks like the only way to add an attachment in v.0.10 at the moment is to manually create a multipart message.

It's too much hassle
I couldn't even make it work with the examples provided

I noticed this comment // TODO: High-level methods for attachments and embedded files in https://github.com/lettre/lettre/blob/13b48b656d916308c26680db896695034fdec1d9/src/message/mod.rs#L374
Since I now have to make it work for our project I'm happy to make an extra effort and implement adding attachments as high level methods.
Questions:

Can you make a simple example of having a plain text part with an attachment using multipart or singlepart to help me get started?

Both https://github.com/lettre/lettre/blob/master/src/message/mod.rs#L85 and https://github.com/lettre/lettre/issues/492#issuecomment-716111178 examples panic over a non-existing boundary with called Option::unwrap() on a None value, /home/ubuntu/.cargo/git/checkouts/lettre-53652803723a9045/86763cc/src/message/mimebody.rs:402:63

Did you plan to replicate the file attaching interface from the previous version or do something completely different?

Can you make a simple example of having a plain text part with an attachment using multipart or singlepart to help me get started?

Yeah some examples haven't been updated in a while, see #495. Related: #496, #451

Did you plan to replicate the file attaching interface from the previous version or do something completely different?

Yup #495.
Some help on this would definitely be good! #504 should also fix some of the issues we have been having.

I'm adding these before 0.10.0 to be on par with 0.9.

Starting from the next beta it should be easier to attach files, thanks to #601.
Updated docs: https://github.com/lettre/lettre/blob/31de9e508b7f281c4754b320425a1ccc1861d5e6/src/message/mod.rs#L126-L179

Work started in #618


style display of initiatives on map including sidebar

modify SVG circles in relation to zoom factor to stay at same size


Add option no_scratch_codes to disable scratch codes

Useful when secret=file cannot be secured, that can happen for example when
a system has too many users that can use root access privileges and read
each others files.

If multiple users have root access, what stops them from using the non-scratch secret key, or just disabling the "no_scratch_codes" option?

Yeah, this seems like an edge case. Looking at the code now it turns out if you set -e to 0 you actually get the default number of scratch codes. I'd say that's a bug, so I just fixed that in https://github.com/google/google-authenticator-libpam/commit/dfa28a903a2ba798da2b0907c902179b0efb7d1b.
I don't think this corner case it worth it. If you don't want scratch codes, then don't generate them (maybe with a wrapper script on your system). As protecting against people who are already root… that seems pointless. Someone who can write (or even read) ~/.google_authenticator can bypass the second factor.
Maybe if you could clarify the attack scenario? As is I don't see the point.

Issue of scrach codes came up when system admins needed an emergency gateway. Security brief was that the gateway should use two factor athentication where the second part of the authentication is strictly out from the system. Thank you for --emergency-codes=0, it makes reaching this goal one step closer. But I would be more comfortable turning off this authentication method could be made as verifiable policy.
I understand that this does not fix issue of malicious system admin altering the system, but at least there should not be a default way to pretend to be someone else. Also it's doable to implement intrusion detection that notices if someone tampers pam configurations, while watching that no-one has emergency codes is a file in home directory is lot harder.

If they can read the config file, they don’t need a scratch code: the
secret key is there, so they can just use it directly.
So you’re stuck looking for reads on the file, and thus might as well look
for writes as well.
On Sun, Oct 1, 2017 at 13:03 Sami Kerola<EMAIL_ADDRESS>wrote:

Issue of scrach codes came up when system admins needed an emergency
gateway. Security brief was that the gateway should use two factor
athentication where the second part of the authentication is strictly out
from the system. Thank you for --emergency-codes=0, it makes reaching this
goal one step closer. But I would be more comfortable turning off this
authentication method could be made as verifiable policy.
I understand that this does not fix issue of malicious system admin
altering the system, but at least there should not be a default way to
pretend to be someone else. Also it's doable to implement intrusion
detection that notices if someone tampers pam configurations, while
watching that no-one has emergency codes is a file in home directory is lot
harder.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/google-authenticator-libpam/pull/78#issuecomment-333390900,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAd-yaakdBWRpFBqWId3EvD1BzFs7Xltks5sn8XhgaJpZM4Ppf3w
.

I would be more comfortable turning off this authentication method could be made as verifiable policy.

Just have a cronjob checking people's .google_authenticator for emergency codes.

there should not be a default way to pretend to be someone else

There definitely is for someone who's root. The cryptographic secret is right there in the file. Like @akerl says mere read access is enough to get access. Especially if using TOTP which (unlike HOTP or emergency codes) it wouldn't even warn the real user in any meaningful way.
I'm still not seeing a meaningful use case, so closing this.


srcANGULAR: bumped security patches

It appears there were still some security patches went out of order. Hence, let's update it.
This patch bumps security patches into srcANGULAR/ directory.

left over patches from Goto project.

thanks.

Can you do the merge? Thanks.


Detect import paths for mypy

This issue tracks #324 for mypy. My thoughts will be gathered here.

The configuration file for mypy can be named either setup.cfg or mypy.ini. mypy.ini takes precedence.
mypy doesn't search in ancestor directories for configuration files, like say eslint does. The location for the file has to be specified manually.
Running mypy from the directory where mypy.ini lives does automatically use that file.
mypy versions 0.4.5 and above support a mypy_path option inside of the configuration file.
Version 0.4.5 was released on November 2016.

I think the best strategy for mypy might to be insist that a mypy.ini or setup.cfg file exists in the project root, where other Python modules are available, and then run mypy with the directory changed to run from that directory. I would take away the code which exists currently for finding a directory called stubs.
A section can be added to the documentation explaining how to configure mypy to get the best results.

Hey w0rp,
I just discovered your plugin and I am trying it in favor of syntastic. So far it feels great, and made me also get curious about this mypy linter. Unfortunately, its performance inside vim is pretty poor.
One major issue I wanted to report (I am not sure whether this can be solved by mypy.ini alone):
It does not respect the file the error was found in:
My setting:
packageXY_root/some_executable.py
packageXY_root/packageXY/__init__.py
packageXY_root/packageXY/and.py
packageXY_root/packageXY/the.py
packageXY_root/packageXY/rest.py

Now of course, some_executable.py imports from {and,the,rest}.py, and to not raise Errors on some kind of missing import I immediately added the option:
let g:ale_python_mypy_options = '--ignore-missing-imports'

But now the behaviour is even more strange:
mypy obviously descends into imported files on (command line) invocation of mypy some_executable.py and also reports errors in the other files:
packageXY/and.py:30: error: Name 'CombinatorMixin' already defined
packageXY/and.py:31: error: Name 'argtopk' already defined
packageXY/rest.py:9: error: Name 'RetrievalBase' already defined
packageXY/rest.py:9: error: Name 'RetriEvalMixin' already defined

Its okay since these errors are anticipated (try relative import, except: absolute import).
BUT: now back in ALE's invocation of mypy I get the error lines highlighted in the original some_executable.py file. More precise, I get line 9 in some_executable.py highlighted as error (and put in the loc list), while the error is clearly not in line 9 of this file but in line 9 of the other packageXY/rest.py.
I hope this fits here.
Best Regards,
lgalke

I thought this might be an issue. If someone else doesn't work on it, I will be. There are two major issue with the linter.

It reports errors from the wrong files.
It probably needs to run against the file on disk, instead of against the Vim buffer like most other ALE linters.

The first issue is easier to fix. The second issue requires implementing #333 first, which I've been working on now and then over the past few weeks. I'm mostly in the exploratory phase of trying to figure out how to get it to work in a decent way. I've put some of my thoughts on that in the issue and on the wiki.

Those issues are sort of in addition to the this GitHub issue.
I will eventually be using mypy at work, so I've got the impetus to get it working properly.

The issue of multiple files is the same for chktex when invoked with -I (as in the default args)

I'll open another issue for tracking that.

At least for mypy, you could also pipe in program text with the -c option instead of a tmp file and in order to not receive errors from other files, there is the --follow-imports skip option. However, and I'd consider that a mypy bug, this option still complains if there is a relative imports in the source and the file is not found (e.g. in temp). But if you call mypy in the dir of the current buffer, pipe the buffer contents and set these options, it should be working ok.

Thank you for the information. It sounds like --follow-imports=silent is a good option for only getting the errors for the current file.

Yeah, I agree that's a good option. I'm not really sure why, but now linting works fine for me, including files that have relative imports. Calling mypy the same way ale does it even reports an error but it works fine from within vim.

You probably haven't hit the issue there yet. I think I've seen it before myself. If no one else fixes it, I will, eventually.

I would love to have the additional features that come with mypy looking into imported source files (checking return value type, argument types etc.) but I guess it's more clear to you what needs to be done in the code for that. As written, I'd suggest a temporary file within the same directory as the original.

I plan to implement #333, and run mypy only against the file on disk instead. That should pretty much fix any import issues. Creating a temporary file will cause other problems, and might not work in the end.

I guess it depends on the linter if a tempfile creates further issues (it seems golint behaves differently depending on the filename?). Mypy only seems to care about the path, not the name of the file (e.g. .filename.py.tmp works). I think it is a nice feature to have on the fly syntax and linter errors and it should at least stay an option - I don't see why linter errors would only be wanted on save and maybe syntax on the fly. In any case, the issue remains in which directory to call mypy as this applies to the proper saved file too. In my current case, for many files mypy modulepath/filename.py has to be called.

Here is how to fix the module path problems.

Require a mypy.ini file to exist in the project root.
Find the project root by looking for the mypy.ini file.
Add cd project_root_dir && ... to the command which is run.

mypy will use the mypy.ini file in the directory it is run from, and that file can contain whatever module paths are needed with the mypy_path setting. Doing the above will use the correct configuration file, and fix pretty much all of the import issues.
I pretty much know how to fix this already, I'm just working on #333 first.

Now the mypy linter will check the file on disk instead, and understands import paths. The virtualenv version of mypy will be used by default, when detected.
mypy can take quite a few seconds to return any results, so it's certainly not capable of being modified to check files on the fly at the moment, so checking on save should be okay for now.

I also fixed the error handling, so only errors for the current file will be displayed.

Hi  there, I think i'm still seeing weird behaviour here.  the repro/condition is:

base folder contains mypy.ini
but it does not contain any of the other files that mark a folder as being the right "python root" (no pytest.ini, setup.cfg, etc)

what happens:  ale finds the virtualenv mypy just fine, but it cds to a different directory (either a parent or a child, depending on which file is being linted, but one containing a pytest.ini in either case) when it runs mypy, which means the mypy.ini is ignored.
the fix might be to override function! ale#python#FindProjectRoot in favour of "whatever the location of mypy.ini is" for choosing the cwd of calls to mypy?

Open a new issue for that.


Reporter

FWIW, I had some fun today putting together a "Lite Mocha" with describe, it, beforeEach, and afterEach:

Example HTML
Example JS
Library Source

FWIW, I had some fun today putting together a "Lite Mocha"

I'm not sure I understand what is this comment about but just in case, I will never try to re-invent mocha here, Tressa is meant to be deadly simple like console.assert with async ability and some better output, literally nothing else.

I understand--I'm not asking you to pull it or anything--just letting you know for what it's worth... I just wanted a little bit of the familiar vocabulary, but otherwise something very simple...


Documentation contains deprecated code

https://requests-cache.readthedocs.io/en/stable/user_guide/inspection.html

You can use CachedSession.cache.urls to see all URLs currently in the cache:

session = CachedSession()
print(session.cache.urls)

Problem is now, that code produces this deprecation warning:

requests_cache/backends/base.py:291: DeprecationWarning: BaseCache.values() is deprecated; please use .filter() instead

Also documentation doesn't cover filter(), not for a newbie. I just want to see if a url in cache.

Thanks for pointing that out. I'll fix that soon.

I just want to see if a url in cache.

You can use the contains() method for that. Example:
from requests_cache import CachedSession

session = CachedSession()
session.cache.contains(url='https://example.com')

That DeprecationWarning has been fixed in 0.9.8.
Some more examples using filter() have been added to the docs for the next release. Here is a preview (pre-release docs): https://requests-cache.readthedocs.io/en/main/user_guide/inspection.html


Add TDT data interface (II) - conversion gallery example-

Adding a conversion gallery example for #135. This has it as its base.

@h-mayorquin this looks good to me. Ready for review?


Handle orders with no shipping address in invoice template

I've been following your pull request on Saleor repo for PDF invoices/packing slips generation.
The invoice template now handles orders with no shipping address (e.g. digital products).
I don't really know how to handle packing slips as they don't make sense for non-shippable products.
I think the packing slips PDF generation should be hidden in case of an order with no shipping address.

thank you for the changes, but I have been super inactive due to other projects and couldn't keep up. Luckily Miruwee took over


Mark flaky NixOS tests

Describe the bug
We have become accustomed to some tests failing every now and then.
Making sweeping changes is harder than necessary because we can't trust the outcomes of tests.

Flaky tests are a nuisance to everyone who invests good work to get changes through and have the side-effect of wearing down motivation to painstaking.

Steps To Reproduce
Steps to reproduce the behavior:

Make a mass-rebuild change or a change to the test driver
Some tests fail inexplicably. What now?

Expected behavior
Flaky tests can be marked as such, so that they can still be fixed and don't bog anyone down.
See also earlier short discussion:

https://github.com/NixOS/nixpkgs/pull/216660

Some requirements for the marking solution:

hydra puts the flaky tests in a separate attrset for easy recognition
marking / unmarking is a one-line change; no file moving churn
evaluation does not suffer: no attribute set filtering, but rather mapAttrs to set some tests to null (and only on Hydra)
pkgs.nixosTests attrset works the same regardless of flakiness status
pkgs.nixosTests prints a warning when evaluation or running a known-flaky test
update the manual; change what was added in https://github.com/NixOS/nixpkgs/pull/216660

Additional context

https://github.com/NixOS/nixpkgs/pull/216660

Notify maintainers
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

what good is it to make Hydra run them all the time when we don't do anything with the result?

We could do something with the result. After a sufficient number of successes we may consider a test stable again. This can happen when a non-deterministic bug is fixed in the actual program, and the test code was ok all along.
We could run only those tests that have been worked on since they were marked as flaky, by introducing another type of marking.
As a compute cost optimization we could then choose not to run those tests. That removes the last edge of the state machine:
regular -> flaky        -- discovered to be flaky
regular -> stage        -- discovered flaky with obvious fix (but not quite certain)
stage -> flaky          -- test is still flaky and not worked on anymore
stage -> regular        -- test has run successfully for many times
flaky -> stage          -- test has been improved
flaky -> regular        -- non-deterministic bug has been fixed without changing the test

I think compute should be cheap enough to let us make use of the flaky -> regular edge, possibly even for tests that are timeouts.
I don't really like the name I came up with. Stage could be trial or recovery or something.


Add URL parameter for OSM notes

Description
When editing a note from OSM.org, iD checks for note= in the query parameter, and will load the note in the sidebar, zoom to the note location, and turn on the OSM notes data layer on initial load. Would be nice for Rapid to do the same.

Thanks @emersonveenstra  I agree we should have this - I really thought we had added support already  😆

I added this today.. I made this work like the maproulette parameter from #1422
&note=val, where val can be true to enable the layer or can be a specific noteID to select it
Examples:
&note=true - enable notes layer
https://rapideditor.org/canary#map=19.00/40.72943/-73.99722&note=true
-or-
&note=<noteID> - enable notes layer and select this specific note
https://rapideditor.org/canary#map=19.00/40.72943/-73.99722&note=3473754

Awesome, thanks!


Formalize procedure of issues triage for BIDS 2.0 project

In principle all issues we have already filed should go through the
BIDS 2.0 and be moved from "No status" to either "Punted" or "Todo" or even "In progress" or "Done" if somehow in those advanced stages.
There is a listing of issues sorted by :+1:  which could be of help to choose candidates

I like that. I tried to classify the proposals based on their predicted level of impact, but we definitely need to label them based on status as well.

Ok , for now it would be
Decided by @yarikoptic with possible input from the community, based on difference between 👎 - 👍 or lack of enthusiasm/activity from others.
Reopen if you would propose to refine and how


Prepare for conversion

I'm gonna test the code

We have some problems converting:
It simply takes too long!

I got something better than moviepy
ffmpeg-python

We might need to check on mac

I updated the build to include linux

We will try merging in a few seconds


Replace references to Gigahorse library

The dependency was replaced in 18f165e.
I thought about calling it by its official name "Scala Toolkit", but I guess it's more helpful if it is consistent with how it is referenced below.

No worries :) I signed the Scala CLA now. Can you redo the check?


Fix package version after release

Description
1.3.0-beta.1 -> 1.3.0-beta.2
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Avoid Arc::clone when serializing physical expressions

Arc::clone is indispensable when passing shared references between threads. For synchronous code& and &Arc can be (and often are) used, with the latter being future-compatible, should the code start to need Arc::clone (e.g. due to parallelization).

That was extracted from https://github.com/apache/datafusion/pull/12243 .


Issues running make integration

I'm seeing a lot of these failures when running make integration as root. make test passes. I'm testing off of master, but also saw this with alpha3.
--- FAIL: TestWaitStoppedProcess (0.12s)
container_test.go:1077: rpc error: code = Unknown desc = runtime create failed: OCI runtime create failed: json: cannot unmarshal object into Go value of type []string: unknown

I have go 1.8.3, and proto3. I've replicated this on amd64 as well as ppc64le. I'm also not using btrfs.
I found that the err is being returned from this call,
grpc.Invoke(ctx, "/containerd.services.tasks.v1.Tasks/Create", in, out, c.cc, opts...)
but haven't been able to figure out anything other than that. Any ideas?

@tophj-ibm it looks like you have an old version of runc.  you can update to runc master or the commit in the RUNC_COMMIT file of this repo.

yep that was it, thanks @crosbymichael!

@tophj-ibm no problem, anytime


Research non-JSON encodings

JSON may be suboptimal in terms of encoding efficiency.  It would be useful to research whether msgpack, compression, or msgpack with compression would be a better fit.  This research might be informed by evaluating real-world usage in the blockchain, both in terms of space savings and in terms of decoding cost, and taking into account both desktop and mobile clients.

There's also CBOR, which as I understand it is like MsgPack but is probably preferred from a standards perspective.

Indeed, CBOR does looks quite nice, probably a bit better than MsgPack.

This has been covered before in the past and there is an extensive wiki article on the subject.  MsgPack only saved ~35% (~25-50KB) over generic compression techniques.
Whatever encoding technique is used, we should compare it to gzip, bzip2, or brotli.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 06/15/2016 12:21 PM, Zach Lym wrote:

This has been covered before in the past and there is an extensive
wiki article on the subject. MsgPack only saved ~35% (~25-50KB)
over generic compression techniques.
Whatever encoding technique is used, we should compare it to gzip,
bzip2, or brotli.

I had never seen that wiki article, but at first glance it mostly
looks like unsourced bullshit.  (Yet another reason why scrapping the
wiki in favor of Jekyll was a good move.)
If you're alleging that non-JSON encoding constitutes premature
optimization, it would be great if you could provide a source of where
I recommended doing it anytime soon.  In fact, if you look at my
dehydrated certificate PR, you'll note that I specifically say there
that I don't want to optimize too much at the moment; I even cite
non-JSON encoding as a reason for this.  This ticket is primarily here
so that (1) we don't forget about it later, and (2) anyone who's
interested in doing this work is aware of the proposal.
That's not to say that I oppose doing research on this; I just don't
plan on spending much of my time on it right now.  Others are more
than welcome to hack around with it on whatever schedule they like.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJXYeNeAAoJEAHN/EbZ1y06dacP/iBchkTME4cJzAYvs+nZ5ZZ7
ZiVP7w9W2rWEzVksRRshDo4dwq4xTG+raM/FsZW5LGitJKuycRVRlTyDFN7J4EYq
lehnLnvAJlsam05xCyLmH6WAMAWxVCXIXwfTDVsw7nJg4gjw9npUB5HDry0R3CDq
wTcW3X5OuqwSY0aRruGJknhZO0Nf9FKQ8mMORa+uVDTb2V4K2HYsbnYNSqSmw0uT
+V7QhKDZwST+A3BaammMTpH0oDkiGC1PDkyXIwoE9B4yq6bEiktByamz14sh9wv+
ffn0790r9MnVU91kPj14O086K9imOWzeQQLH82Qkrupvzuwl7zMaqzEbyh9QGlPm
AiXmceXCu4NGdNmAbC2PExSUxCP7+LYf9Nx52V6Hc20OEWf66xjvVqFhEvSd4aQ/
tHOIFHpOIXyggb4F5nT07+JeT9KYQFVKrmcYMe+3/eYznB6XZRIOAenYN//KJ7iS
IXTskd1e7Tfp4s/+ieIh3s7YYi9tzJvJgDUjiS5dwvMcFIzudjTWCIcYXbb93Vpl
Hgs6VaBUqpJM6S9ZtAyDQvaVdmGjALQwlxJO6056Ei2iF+BuFkmWmOeWhpPljF+l
tPdizgkz26lI5pQOzeneI4ozLdLla2johwE5IyyOaNrAJQ12oVphmja5O0X/L5o/
i/sDrAXVx9ywtSF5Hgm3
=1V+K
-----END PGP SIGNATURE-----

Mostly unsourced bullshit?  So Ryan and I sitting around playing with compression on real-world samples is unsourced bullshit?

@indolering It is completely impossible to reproduce the results claimed in that wiki article.  In fact, the results claimed are so vague that it is difficult to even tell what they mean, let alone how they could be reproduced.  From the minimal amount of data that is claimed, it is clear to me that the data is highly suspect in accuracy.  (I would give examples of why the data is probably inaccurate, but I have more productive things to be doing with my time than debunking claims that have made zero effort to attain credibility.)  Also, the authorship of those claims is not disclosed; grepping for "indolering", "zach", or "ryan" on that page yields zero results.  The page looks to a casual observer like an official Namecoin statement rather than anything that you or Ryan unilaterally claimed.    Jekyll forces things to go through some basic level of sanity review, which is why the wiki is being scrapped in favor of Jekyll.
So yes, given the above, it's pretty clear that that wiki page qualifies as "mostly unsourced bullshit" and that it's a reason why the wiki is being scrapped.
I am unwilling to hijack this GitHub thread any further.  The Namecoin scene has been very drama-free for many months (I've been enjoying the productivity greatly, as I think others have), and I have zero interest in participating in arguments here.  If you want to contribute reproducible data about non-JSON encodings in this thread, you're welcome to do so.  Anything else is off-topic; please take it somewhere else.

Back on topic: it's probably fairly difficult (or perhaps impossible?) to get reliable data to test with, given that the current level of Namecoin usage is very different from the usage level where compression actually matters, and that both of those usage levels differ substantially from publicly available data from ICANN.  I'd be open to hearing ideas on getting useful test data, but I have a feeling that if we try to tackle this anytime soon, we're going to have to use artificial data (i.e. bullshit data).  That's possibly a good reason to avoid worrying about this topic anytime soon.  It might be more productive to spend time on other scalability things, such as SegVal.


Include Production Build of Viewer in Package

Modify package.json to reduce the unnecessary inclusion of source code
in the OSCAL Viewer GitHub Package and instead include the built
production build, which will be used by the pipeline and the end-user.

The output of npx npm-packlist shows the files that will be included in the package:


Add tooltip text converter to RangeSlider

The changes allow to use a custom format for the tooltip. For example, I
want that the user can choose a timespan (ms). The tooltip just shows
large numbers. With a converter, the tooltip can display the value in a
time format (mm:ss) which is much better to read for the user.

cool!

@Alkalinee thx


Could not find scene object with scene id: (Client Error)

Describe the bug
This error only appears on the client machines. "Could not find scene object with scene id: " (Client Error)
When the scene is changed the clients produce this error however the Scene Id's it cannot find are from the PREVIOUS scene which are no longer needed. So for all purposes, the project still works fine because the missing network game objects it is complaining about are from the scene it came from and are simply no longer needed.
This problem can be intermittent. Some runs it may pop up and sometimes it doesn't. I think it is a timing issue on the scene change where the client is still slightly behind the server and when it removes redundant items this can trigger.
It happens on all network "scene" prefabs. It can be a single GO with no scripts other than Network Identity and it will still draw this error.
Local Player and Server Only are not checked in this instance.
If a Don't Destroy is added to carry the GO to the next scene there is no problem.
Any spawned items do not produce this error. It is only scene network objects.
To Reproduce

Add a few "scene" network prefabs to 2 scenes. Doesn't require any other network scripting.
Run client in the Editor so you can observe client side errors
Change scene from server. Error will appear
** Do a few times as problem is a bit intermittent.

Windows 10
Unity 2019.2.5f1
Mirror 4.0.9 / Telepethy
Build Windows

Sounds like a race condition... Will check to see if this can be replicated locally

I have 2 scenes, one with 80 networked scene objects, one with 80 networked scene objects that are based on a prefab.
I have a Network Manager and a Server Only object in DontDestroyOnLoad
Server object takes input (1, 2) to change between the 2 scenes
Build LAN Server, play client in editor
In built server, I press alternatively 1 and 2 and server and client change scenes flawlessly.
The objects appear as expected in their respective scenes, back and forth repeatedly, no errors

I can't seem to reproduce this so far.

Added a 3rd scene with 20 objects, each based on their own prefab, still can't make it fail.

Finally I can reproduce this when running over the internet.

:tada: This issue has been resolved in version 4.3.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Contributing to this project

Hi everyone.
I'm new to the open-source community, but I was trying to understand this project and wanted to contribute. I was trying to follow the contributing steps to develop for this project
Development

Clone the repo
Install dependencies with npm install
Build with npm run prepare
Run npm start to see the demo docs/index.mdx

Not sure if this is just not updated or I'm missing something, but these steps aren't working for me. I'm essentially trying to understand how to build and test changes made to a clone/fork of this project. (I hope I'm using the right lingo too)
Anyways, thanks for you help!

Hi! Would love to have you contribute. Unfortunately, it does look like the contributing doc is outdated. I'll push an update, but in the meantime you can try running yard && yarn start – the repo is now set up as a monorepo with Yarn workspaces

Thanks that worked!
For anyone seeing this issue: yarn && yarn start

I've updated the contributing doc to reflect this but please open a new issue if anything else is unclear


2.0.0

WIP: more changes might be added before this will be released

It has been quite some time since I had to make adjustments. With the changes made today this should probably be sufficient for the 2.0.0 release. Please refer to the 2.0.0 release notes or the changelog to see what's changed


Gobuster pre-pending http:// when -u designation specifies an alternate port

So, I looked to see if this was already addressed but didn't seem to be. Hope this was not an oversight on my end...
I am currently writing a script that, based off of nmap output will send the standard 80/443 port designation as well as any proxied http/https designations (i.e. 8080 or 8443) to gobuster. However, even when using gobuster -u syntax I receive this error:
Gobuster v1.2                OJ Reeves (@TheColonial)
=====================================================
[-] Unable to connect: http://<IP_ADDRESS>:443/

I was curious if there was a way to force gobuster to take the http:// or https:// off and still have it query the URI by just navigating <IP_ADDRESS>:443/dirtest/ or <IP_ADDRESS>:10000/dirtest/, etc....
I realize this might cause issues with certain web technologies, where it requires the http:// or https:// designation - so I'm starting to wonder if maybe it's my script that's causing this...

Hi @Ohmjones,
Thanks for reaching out. I'm not seeing any issues here at all. If I am reading you correctly, you're saying you're having issues mixing scheme and port, right? Scheme has to be specified behind the scenes, and if you don't, it assumes http (it's rather dumb, check it here.
I've done tests here, and it looks like it behaves correctly when you give it the right scheme, regardless of the port.
$ $ echo 'test' | gobuster -u https://<IP_ADDRESS>:8443/ -t 1

Gobuster v1.2                OJ Reeves (@TheColonial)
=====================================================
[+] Mode         : dir
[+] Url/Domain   : https://<IP_ADDRESS>:8443/
[+] Threads      : 1
[+] Wordlist     : stdin (pipe)
[+] Status codes : 200,204,301,302,307
=====================================================
=====================================================
$ echo 'test' | gobuster -u http://<IP_ADDRESS>:443/ -t 1

Gobuster v1.2                OJ Reeves (@TheColonial)
=====================================================
[+] Mode         : dir
[+] Url/Domain   : http://<IP_ADDRESS>:443/
[+] Threads      : 1
[+] Wordlist     : stdin (pipe)
[+] Status codes : 200,204,301,302,307
=====================================================
=====================================================

The only "enhancement" I can see is that if the port that's specified is 443, then we default to https instead.
Would that be sufficient?

Sure, it could definitely save some headaches - That said, I figured it was my script.
Once I got some decent dictionary usage into my script it seemed to eliminate the issue for me on my end but I did have to ensure that gobuster was receiving the http or https specification I gave it.
i.e. "gobuster -u http://" + urlfromscript + " -w " + worldlist
either way, great script and I definitely think that recognizing the standard implementations might help some users with brevity.

How does this look?


proposed improvements to the JASA quarto template

I love the JASA quarto template and thank you profusely for putting it together.
I've been in touch with Eric Sampson (ASA Journals Manager) about updating their .tex template to account for a number of changes, including updating the refs to more relevant ones, listing of DOI's/URL's and capitalizing reference title words. I've also made some other light edits (wording re: BibTeX and inclusion of a figure generated in R).
I'd welcome any thoughts about whether it might be reasonable to make these changes to your excellent template.

I concur: I've removed the R code chunk for the reasons that you propose.
I will push my commit with these changes.

Can you please let me know if the most recent commit (https://github.com/quarto-journals/jasa/pull/2/commits/e3b05b87de1c8f5bb76e14596eda8881cefa2d54) addresses your suggestions?

Oh ok. I did not recall we did specific changes to the official template, but really this was @dragonstyle working on this in the first place. That would be him to credit.
@dragonstyle do your remember adapting the JASA template specifically ?
I believe we would need to do a check when the official .tex template will be modified so that we are sure to be in sync. It can come in another work probably.

For the underlying tex template, we did work to match the appearance of the JASA template but we more less just fine tuned our current template with title / include customization. Very happy to keep this in sync as we'd love for Quarto to be a great to submit JASA articles.
Our template.qmd should stay in sync with JASA - happy here as well to accept PRs (like this ty!) or make changes to keep it in sync.
The changes to support JASA were minimal so you're certainly welcome to credit me but the changes were largely merging pandoc's core template with the JASA tex and ensuring we're generating functional LaTeX, so not a ton of new creative work...


ParallelCluster awsbatch mode multiple cluster  queues and NICE VDC

Required Info:

AWS ParallelCluster version 2.11.1
Full cluster configuration without any credentials or personal data
Cluster name: awsbatch
[Optional] Arn of the cluster CloudFormation  main stack:
Hello, we are testing latest 2.11.1  awsbatch mode

Do you support NICE DCV on awsbatch head node? I am getting Unable to connect messages
[dcv custom-dcv]
enable = master
port = 8443
access_from = <IP_ADDRESS>/0

Do you have the ability to submit batch jobs from awsbatch head node to a queue created outside of the awsbatch
3 create  a spot awsbatch queue as part of parallel cluster build
c) create  multiple  spot  and ondemand awsbatch queues as part of parallel cluster build
d) ability to submit jobs from awsbatch head node to a queue created in AWS Batch console?

Do you support NICE DCV on awsbatch head node?

yes we do support this. Can you please share the full cluster config? Are you adding dcv_settings=custom-dcv in the cluster config section?

Do you have the ability to submit batch jobs from awsbatch head node to a queue created outside of the awsbatch?

This is currently not supported and I can mark this as a feature request

thanks. ability to provision multiple batch queues for different type of workloads is very useful


[5.0] Guard method onceUsingId not returning false but throwing exception

Fixed Guard implementation not accepting a null value for the setUser call leading to an exception in onceUsingId instead of returning false if the provider returns null for the specified user ID.

I've updated the solution a little to not touch the setUser method but simply checking for a null value inside the onceUsingId. Setting the user property to null wouldn't make much sense imho unless it would behave like a logout.


Smartform shows delete button regardless of collection.permissions.canDelete

Describe the bug
SmartForm doesn't check the new API collection..permissions.canDelete to tell if it's possible to delete a document, and shows the delete button.
To Reproduce
create a collection with permissions: { canDelete: [] }, or without it altogether. Use a smartform to edit a document of that collection, it will show the delete button. If you click it, the server will reject the mutation (thank god) , but the error is not handled.
Expected behavior
The SmartForm checks that the user can delete the document and shows the delete button only if he can.
Additional context
v1.16.0 ; current master, commit 27d6f014d3c6c6c7ca756c91566c8452bc50c4a7

In Form.jsx, there is this conditional:
this.props.showRemove && this.props.showDelete
Why does Vulcan have both showRemove and showDelete, and what is the difference between them?

There has probably been some prop renaming, and the old prop was kept for backwards compatibility.
The docs only mention showRemove, so I guess it's the one to use now.


update new version on pypi

Hii guys, Please update package on pypi
Thanks

See #192 and https://groups.google.com/forum/#!topic/pythonforfacebook/Xxj1u22yNXU.


Is there a release with #302 in near future?

I am working on a project and found out that Caqti on opam is 2.1.1 with different API.
Thanks.

For people getting stuck by this, you can do opam pin dream --dev-repo as a stopgap solution until a new version is released.

I've been wondering as well... So, Caqti update was merged end of October 2023 (at the time of writing that is more than half a year ago). The last activity on the git has been on January 18th 2024 - which is 4 months ago. There are people trying out OCaml and dream, and get stuck with the current state of what is released to the opam-repository (see as example https://hypirion.com/musings/getting-ocaml-through-the-eye-of-a-needle).
I was wondering what the maintenance status of dream is? I observe that the maintenance and release engineering work is done by @aantron, but there are quite a few users and active participants (though it seems nobody else has rights to the git repository, or is entitled to cut releases). Are there releases planned, or will it stay in this limbo as-is? Would it be sensible to either fork it then or move it to the github.com/ocaml-community organization?
Thanks for all the hard work on it. I'd really like to see it being used more widely, esp. without a ton of "pin those commits, since they work with recent versions of ..".

#302 was just released in Dream 1.0.0~alpha6, which is now installable from opam.

Thanks for the kick and to @hypirion for offering a workaround command. @hannesm I got bogged down in some issues related to multicore, but I decided to rest, just maintain Dream, and yes, it was originally planned to make it more of a community project, so to move on that.

#302 was just released in Dream 1.0.0~alpha6, which is now installable from opam.

Thanks for the kick and to @hypirion for offering a workaround command. @hannesm I got bogged down in some issues related to multicore, but I decided to rest, just maintain Dream, and yes, it was originally planned to make it more of a community project, so to move on that.

Thank you.

Thanks @aantron for cutting the release.


Enabling RBAC on the cluster means that service account kubernetes-dashboard cannot view anything in the dashboard

Hi all,
The dashboard becomes unusuable until you have adjusted the permissions for the kubernetes-dashboard user after enabling RBAC. To do this, run the following:
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard-crb
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: kube-system
roleRef:
   kind: ClusterRole
   name: cluster-admin
   apiGroup: rbac.authorization.k8s.io

If not, you will get the following error when accessing the dashboard. Trying to access the dashboard link via kubernetes cluster-info also does not work and throws a similar RBAC error:
warning
configmaps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list configmaps in the namespace "default"
close
warning
persistentvolumeclaims is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list persistentvolumeclaims in the namespace "default"
close

I think this should be done automatically when enabling RBAC or should be another option for the charms to fix it automatically. Should be easy. The permissions in my sample are very high though, they should be restricted if possible.
Thanks!

Calvin

I disagree. The dashboard is such a weakness for security, where anyone
with the URL can now have admin. We should consider setting up read access
to everything except secrets so it at least displays things.
On Wed, May 30, 2018 at 7:37 PM Calvin Hartwell<EMAIL_ADDRESS>wrote:

Hi all,
The dashboard becomes unusuable until you have adjusted the permissions
for the kubernetes-dashboard user after enabling RBAC. To do this, run the
following:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard-crb
subjects:

kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io

If not, you will get the following error when accessing the dashboard.
Trying to access the dashboard link via kubernetes cluster-info also does
not work and throws a similar RBAC error:
warning
configmaps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list configmaps in the namespace "default"
close
warning
persistentvolumeclaims is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list persistentvolumeclaims in the namespace "default"
close
I think this should be done automatically when enabling RBAC or should be
another option for the charms to fix it automatically. Should be easy. The
permissions in my sample are very high though, they should be restricted if
possible.
Thanks!

Calvin

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/587,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAET1dxRjvLDqqOaBwnJfSmeA6qAo-mOks5t3y1IgaJpZM4UUK76
.


[BUG] It looks buggy in fullscreen,the buttons look wrong

Describe the bug
Normally it looks like this when I am not in fullscreen:

but when I am in fullscreen and move the mouse to the top,then it looks like this:

the buttons on the left look buggy.
To Reproduce
Steps to reproduce the behavior:
Start firefox,then make it fullscreen and then move your mouse to the top.
Expected behavior
That it looks normal
Desktop (please complete the following information):

OS: Windows 10 Home
Firefox version: 90
WhiteSur theme: 1.3.1
Any options added during installation:no,no additional options.

I'll have a look into this today

I can't seem to reproduce the issue. I'm running Firefox v90.0.2
Was it the first time setting up the theme, or did you have another version installed previously?

Are you still experiencing this issue? @Toadfield

Would you be able to try a clean install of deleting the chrome folder then recopying?

Same for me with v1.4 of theme:

Have created a fix, only downside is padding in tabs bar that can't be removed (afaik)
Have tested in firefox V96.0.1 on Win 10


Fix extra data mistakingly "extracted" from raw Deflate streams

Hi, I think there's a bug here.
Per the BlockFile docstring, read_block() can return more than dlen bytes of data, by peeking, and this is intended feature.
However, we don't want the peek'd extra bytes injected into the stream being decompressed -- as the next read_block() call will pull them again!
Take a ~1.5 MiB deflated file to test: binwalk -X will extract a slighly larger file than a plain zlib.decompress(-15) would. (This, exactly, was how this bug bite me.)
Hope this fix is simple enough to be merged easily! Cheers.

You're right of course, thanks!


add textless to FrameEffect.ts

Encountered in https://api.scryfall.com/cards/dd3b4ad5-6687-400e-b5c1-a04f577a2415

This was an error on Dark Confidant, which (correctly) also had textless specified elsewhere outside frame effects. Fixed on Dark Confidant.

Thanks for the quick responses @scarletcs ! Sorry for the flurry of PRs when some didn't apply, hard to know the right course of action in such a complex data set :)

@armcknight Thank you so much for the PRs, I genuinely appreciate it! Really our API should be a source of truth on what's valid in our API (go figure!) but that just means we should be validating this field finally.


Support fragments when filtering

Hey @woylie 👋
Is your feature request related to a problem? Please describe.
We have some use-cases for flop filters that I think are hard to cover without implementing some way of supporting filter fragments.

Typecast fields
We have some places where we want to make JSON fields searchable (a view where we see raw messages from an external provider). Here in order for the search to work we need to typecast the jsonb field to ::text.
In order places we want to allow searching/filtering for an ID (also partial matches) which is a uuid field. This also requires a typecast on postgres with ::text. The search field here also searches on other string fields as well, so it would be great if this would work with compond fields.

Filtering datetime fields with date inputs
We have some administrative backend, where we deal a lot with date filters. Almost all of the fields filtered like this are not of type date under the hood, but actually of type datetime, so when filtering those fields, we need to cast the datetime to a date with some fragment like the following since our db fields are of type utc_datetime_usec:

  fragment(
        "((? AT TIME ZONE 'utc') AT TIME ZONE ?)::date",
        unquote(utc_datetime),
        unquote(timezone)
      )

Custom filters
We have some places where we have time filters like with values like today yesterday this month last month, as filter values that map to time ranges

Mutually exclusive fields searched with one filter
We have some places where we have a completed_at filter that does something like fragment("COALESCE(?,?)" s.successful_at, s.failed_at), since the fields are not set at the same time.

💡 Describe the solution you'd like
I guess at least 1) and 2) could be implemented with some kind of support for type casts and support for their usage also in compound fields.
I guess all usecases could be implemented with support for fragments in filtering ( 3) might be tricky, maybe with CASE statements).
Alternatively some way of writing completely custom filters as modules, where you get the field, the filter value and the operator and the query and then run custom logic for filtering would probably cover everything imaginable.
🥁 Describe alternatives you've considered
As mentioned in https://github.com/woylie/flop/issues/118 I thought about implementing this with a subquery join like you suggested here: https://github.com/woylie/flop/blob/main/lib/flop/schema.ex#L295
but especially for the fields that just require some typecast it seems pretty wild to do this kind of joins. Especially since one does not need any joins when writing this as an ecto query.
🐒 Additional context
All these filters we currently implemented with a custom module, that can pop_filters from the filter params and push them back to the meta after flop ran:
https://gist.github.com/andreasknoepfle/794f9c3c8917f119f44a42b849c05bd6
I just provided you with all our current use-cases where we use our workaround for the sake of completeness, but I'd already be more than happy with covering some of them, if you think some are too far fetched or too specific.
I'd be more than happy to bring this forward with PRs if you give me some direction on if and how you want this to be part of flop.
Thank you sooooo much 💚
Cheers Andi

A ver...
Support for type casting
This would require another field configuration for a quite narrow use case. We already have compound fields, join fields, and alias fields. Something similar could be done for type casting fields (typed_fields: [some_field: [:actual_field, :type]]). But then this also needs to work with join fields. You'll end up with field aliases like id_as_string, which your API and front end need to know about. And then someone else needs some other specific thing, and in the end it just makes the API messy. I don't think it's a good idea to add specific support for type casting.
Functions
This would be the simplest approach to implement. Just reference a function or a module that takes the Ecto.Query, the Flop.Filter, and additional options.
@derive {
  Flop.Schema,
  custom_fields: [some_field: {MyApp.SomeModule, :some_filter, []}]
}

defmodule MyApp.SomeModule do
  def some_filter(q, %Flop.Filter{} = filter, opts) do
	# ...
  end
end

or
@derive {
  Flop.Schema,
  custom_fields: [some_field: {MyApp.SomeModule, []}]
}

defmodule MyApp.SomeModule do
  @behaviour Flop.CustomField

  @impl true
  def filter(q, %Flop.Filter{} = filter, opts) do
	# ...
  end
end

Since it's only one function, I'd prefer the first version.
The drawback is that this only works for filters. It would only work for sorting if you are not using cursor-based pagination, since that requires Flop to build a WHERE clause on all order fields. It would also not work with compound fields. If you need to also order by the same calculated value, you could work around that by filtering with the custom filter function and ordering by an alias field, I guess.
Macro
As outlined in #118. Since a fragment cannot be defined outside of an Ecto query, and I don't think dynamic would work in our case, we would need a macro that wraps and escapes the fragment and injects it again in the query. This needs to happen at compile time, so what we probably want is to compile a filter function in the schema module, as it is already done with the cursor_dynamic function.
@derive {
  Flop.Schema,
  derived_fields: [
    city: Flop.derived_field(fragment("? ->> ?", u.location, "city")),
    comment_count: Flop.derived_field(count(comments.id))
  ]
}

I don't think I'll have time to work on this any time soon, but pull requests are welcome.


Update repo URLs for ros2_tracing & tracetools_analysis

See https://github.com/ros2/ros2/pull/1045

oops, I forgot about that one. I created a new release and changed the release repo back to the one on gitlab.com (with the current gitlab link for now): https://github.com/ros/rosdistro/pull/26927
I'll then rebase this branch on that one and update the repo URL.

The repos have been moved, so this should be ready.


Glyphs from U+f900 to U+fad9 have wrong extra space in certain condition when we use colors

Windows Terminal version
1.13.11432.0
Windows build number
10.0.22000.0
Other Software
No response
Steps to reproduce
First we need to install Nerd Font, (I tesed with FantasqueSansMono NF, and CaskaydiaCove NF)
After installing it and use the font in the Windows Terminal, then we can print any glyphs that there hex range from U+f900 to U+fad9 with any  color  and  Then putting any character next to it  BUT with different color.
The script code for that is very simple:
Method 1 using ANSI escape sequence color
$col = 15
for ($i = 0xf900-$col*3; $i -lt 0xfaff+$col*3; $i+=$j) {
    for($j = 0; $j - lt $col; $j++){
        Write-Host("{0}`e[38;2;0;255;10m{1}`e[0m{2}{3:x}   "  -f "[",[char]($i+$j), "]",($i+$j)) -NoNewLine
    }
    Write-Host('')
}

OR
Method 2 using  -ForegroundColor parameter
$col = 15
for ($i = 0xf900-$col*3; $i -lt 0xfaff+$col*3; $i+=$j) {
    for($j = 0;$j -lt $col ;$j++){
        Write-Host("{0}{1}" -f '(',[char]($i+$j)) -NoNewLine -ForegroundColor Red
        Write-Host("{0}{1:x}  " -f ')', ($i + $j) ) -NoNewLine -ForegroundColor Green
    }
    Write-Host('')
}

Method 3 which is behaving half correctly but in certain condition
when we don't change the color and we must continue with the same color IF WE CHANGE IT the first character after changing the color will be spaced
$col = 15
for ($i = 0xf900-$col*3; $i -lt 0xfaff+$col*3; $i+=$j) {
    for($j = 0;$j -lt $col ;$j++){
        Write-Host("{0}`e[38;2;0;255;10m{1}{2}{3:x}   "  -f "[",[char]($i+$j), "]",($i+$j)) -NoNewLine
    }
    Write-Host('')
}

Expected Behavior
Method 3 output :

Here as we can see when we don't change the color after the glyph so there is no space, and that should be the normal case even when we change the color.
BUT
if I change the color of hex there will be an extra space  but before the hex not the square bracket as the square bracket with the same color of glyph as in the screen shots in the actual behavior down.
Actual Behavior
Method 1 Output

We can see here there is space after every glyph in first color transition.
Method 2 Output  as above but with using -Foreground parameter.

shifting the space location by using same color of glyph then change it

We can notice that the glyph is green colored and "]" is also green so no space between them when we change the color the space became before the changed text color
Here is another proof that it depends on changing the color

There should be no space between hex and "dummy"

I haven't looked at your code in detail, so I'm not sure why you're seeing different results based on the color usage, but either way I wouldn't expect that glyph range to work in Nerd Fonts. Those positions are reserved for CJK Compatibility Ideographs and shouldn't have been used by them. This is a know issue, and is apparently planned to be fixed in version 3.0.
Some relevant links:

https://github.com/ryanoasis/nerd-fonts/issues/574
https://github.com/ryanoasis/nerd-fonts/issues/637
https://github.com/ryanoasis/nerd-fonts/discussions/716

/dup https://github.com/ryanoasis/nerd-fonts/issues/637


wait-for-at-least-1-byte behavior

From the COMMTIMEOUTS documentation:

Remarks
If an application sets ReadIntervalTimeout and ReadTotalTimeoutMultiplier to MAXDWORD and sets ReadTotalTimeoutConstant to a value greater than zero and less than MAXDWORD, one of the following occurs when the ReadFile function is called:

If there are any bytes in the input buffer, ReadFile returns immediately with the bytes in the buffer.
If there are no bytes in the input buffer, ReadFile waits until a byte arrives and then returns immediately.
If no bytes arrive within the time specified by ReadTotalTimeoutConstant, ReadFile times out.

This is the behavior I really would like, but it looks like there's no mechanism in PJC to get this. I can either get a timeout that waits for N bytes requested, or a timeout that applies to the delay between characters. (ref: https://github.com/nyholku/purejavacomm/blob/master/src/jtermios/windows/JTermiosImpl.java#L734 )
Does this type of behavior have an equivalent in Linux / OSX? If so, is there any way to enable it in PJC? I'm guessing changing the API is bad, but maybe you could add a new interface that adds extended features, and let the various JTermiosImpl classes implement that interface.

Actually, I wonder if there's a bug in JTermiosImpl (at least for Windows).
The javax.comm.CommPort API says this:

Threshold
Timeout
Read Buffer Size
Read Behaviour

State
Value
State
Value

 disabled

 -

 disabled

 -

 n bytes

 block until any data is available

 enabled

 m bytes

 disabled

 -

 n bytes

 block until min(m,n) bytes are available

 disabled

 -

 enabled

 x ms

 n bytes

 block for x ms or until any data is available

 enabled

 m bytes

 enabled

 x ms

 n bytes

 block for x ms or until min(m,n) bytes are available

I want the "block for x ms or until any data is available" behavior. (which means I should use threshold=disabled, timeout=x) But the way this is implemented in windows/JTermiosImpl, I get this:
{code}
if (vmin == 0 && vtime > 0) {
// VMIN = 0 and VTIME > 0 => timed read, return as soon as data is
// available, VTIME = total time
touts.ReadIntervalTimeout = 0;
touts.ReadTotalTimeoutConstant = vtime;
touts.ReadTotalTimeoutMultiplier = 0;
}
{code}
And that's not right, this will wait x msec for the N bytes requested, and if I get some smaller number of bytes, it will not return as soon as data is available.

Are you sure? Have you tested that?
IIRC one of my test cases should cover this and the when I developed the code I'm sure I tried this case too.
Of course it is possible that it is a bug.
Contributions to demonstrate this with a test case and a fix are welcome ...

test case written, on my way to work now to try it...

Test program: https://gist.github.com/jason-s/6e39547d3aa58a3e605b551c163bbb47
I ran it with PJC 0.0.22 and the odd thing is that it doesn't set the COMMTIMEOUTS the way I'd expect (and the end behavior is different too); the vmin variable is usually set to a positive number; it's not being set to 0 if disableReceiveTimeout() is called:
C:\>java -jar c:/tmp/bugs/pjc85test/pjc-85-test.jar com28<PHONE_NUMBER> false
log: instantiating jtermios.windows.JTermiosImpl
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
comm port=com28, baudrate = 115200, rxtimeout=1000, rxthreshold=null
log: vmin 1 vtime 1000 ReadIntervalTimeout 1000 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
73999 wrote 8 bytes
74003 read  8 bytes
74251 wrote 8 bytes
74259 read  8 bytes
74503 wrote 8 bytes
74515 read  8 bytes

C:\>java -jar c:/tmp/bugs/pjc85test/pjc-85-test.jar com28<PHONE_NUMBER> 1
log: instantiating jtermios.windows.JTermiosImpl
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
comm port=com28, baudrate = 115200, rxtimeout=1000, rxthreshold=1
log: vmin 1 vtime 1000 ReadIntervalTimeout 1000 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
29668 wrote 8 bytes
29673 read  8 bytes
29920 wrote 8 bytes
29928 read  8 bytes
30172 wrote 8 bytes
30184 read  8 bytes

C:\>java -jar c:/tmp/bugs/pjc85test/pjc-85-test.jar com28<PHONE_NUMBER> 0
log: instantiating jtermios.windows.JTermiosImpl
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
comm port=com28, baudrate = 115200, rxtimeout=1000, rxthreshold=0
93449 read  0 bytes
93450 wrote 8 bytes
93451 read  0 bytes
93452 read  0 bytes
93453 read  0 bytes
93455 read  8 bytes
93456 read  0 bytes
93458 read  0 bytes
93459 read  0 bytes
93461 read  0 bytes

C:\>java -jar c:/tmp/bugs/pjc85test/pjc-85-test.jar com28<PHONE_NUMBER> 32
log: instantiating jtermios.windows.JTermiosImpl
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
comm port=com28, baudrate = 115200, rxtimeout=1000, rxthreshold=32
log: vmin 32 vtime 1000 ReadIntervalTimeout 1000 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
54618 wrote 8 bytes
54872 wrote 8 bytes
55123 wrote 8 bytes
55375 wrote 8 bytes
55388 read  32 bytes
55390 read  0 bytes
55627 wrote 8 bytes
55879 wrote 8 bytes
56131 wrote 8 bytes
56383 wrote 8 bytes
56396 read  32 bytes
56398 read  0 bytes
56635 wrote 8 bytes
56887 wrote 8 bytes
57138 wrote 8 bytes

looks like there is a bug in PureJavaSerialPort.java in read():
if (m_TimeoutThresholdChanged) { // does not need the lock if we just check the value
							synchronized (m_ThresholdTimeoutLock) {
								int vtime = m_ReceiveTimeoutEnabled ? m_ReceiveTimeoutVTIME : 0;
								int vmin = m_ReceiveThresholdEnabled ? m_ReceiveThresholdValue : 1;   // <----
								synchronized (m_Termios) {
									m_Termios.c_cc[VTIME] = (byte) vtime;
									m_Termios.c_cc[VMIN] = (byte) vmin;
									checkReturnCode(tcsetattr(m_FD, TCSANOW, m_Termios));
								}
								m_TimeoutThresholdChanged = false;
							}
						}

Shouldn't it be
int vmin = m_ReceiveThresholdEnabled ? m_ReceiveThresholdValue : 0;

Otherwise it looks like there is no way to set vtime > 0 and vmin = 0.

same behavior using HEAD (rev 9a8b77735a8fb0d27ddfb4bbb0187e85488b42f2)
If I make the above change
int vmin = m_ReceiveThresholdEnabled ? m_ReceiveThresholdValue : 0;

and also change
						if (im_ReceiveThresholdEnabled)
							minBytesRequired = im_ReceiveThresholdValue; // BEST
						else
							minBytesRequired = 1;

to
						if (im_ReceiveThresholdEnabled)
							minBytesRequired = im_ReceiveThresholdValue; // BEST
						else
							minBytesRequired = 0;

then when I use enableReceiveTimeout(x) and disableReceiveThreshold(), I get vtime > 0 and vmin = 0, and the behavior I expect from the Windows API:
C:\>java -jar c:/tmp/bugs/pjc85test/pjc-85-test.jar com28<PHONE_NUMBER> false
log: instantiating jtermios.windows.JTermiosImpl
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalTimeoutMultiplier 0
comm port=com28, baudrate = 115200, rxtimeout=1000, rxthreshold=null
log: vmin 0 vtime 1000 ReadIntervalTimeout 0 ReadTotalTimeoutConstant 1000 ReadTotalTimeoutMultiplier 0
32427 wrote 8 bytes
32679 wrote 8 bytes
32931 wrote 8 bytes
33183 wrote 8 bytes
33433 read  32 bytes
33435 read  0 bytes
33435 wrote 8 bytes
33687 wrote 8 bytes
33939 wrote 8 bytes
34191 wrote 8 bytes
34440 read  32 bytes
34442 read  0 bytes
34443 wrote 8 bytes
34695 wrote 8 bytes

which is NOT what is specified in https://docs.oracle.com/cd/E17802_01/products/products/javacomm/reference/api/javax/comm/CommPort.html#getInputStream().
this comment continued...

Then if I make the change in windows/JTermiosImpl.java from
    if (vmin == 0 && vtime > 0) {
        // VMIN = 0 and VTIME > 0 => timed read, return as soon as data is
        // available, VTIME = total time
        touts.ReadIntervalTimeout = 0;
        touts.ReadTotalTimeoutConstant = vtime;
        touts.ReadTotalTimeoutMultiplier = 0;
    }

to
    if (vmin == 0 && vtime > 0) {
        // VMIN = 0 and VTIME > 0 => timed read, return as soon as data is
        // available, VTIME = total time
        touts.ReadIntervalTimeout = MAXDWORD;
        touts.ReadTotalTimeoutConstant = vtime;
        touts.ReadTotalTimeoutMultiplier = MAXDWORD;;
    }

I get this behavior, which is what I expect:
``
C:>java -jar c:/tmp/bugs/pjc85test/pjc-85-test.jar com28<PHONE_NUMBER> false
log: instantiating jtermios.windows.JTermiosImpl
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalT
imeoutMultiplier 0
log: vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0 ReadTotalT
imeoutMultiplier 0
comm port=com28, baudrate = 115200, rxtimeout=1000, rxthreshold=null
log: vmin 0 vtime 1000 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 1000 Read
TotalTimeoutMultiplier -1
04398 wrote 8 bytes
04404 read  8 bytes
04650 wrote 8 bytes
04660 read  8 bytes
04902 wrote 8 bytes
04915 read  8 bytes
05154 wrote 8 bytes
05155 read  6 bytes
05171 read  2 bytes
05406 wrote 8 bytes
05411 read  8 bytes
05658 wrote 8 bytes
05667 read  8 bytes
05910 wrote 8 bytes
05923 read  8 bytes

Note the subsequence

05154 wrote 8 bytes
05155 read  6 bytes
05171 read  2 bytes

representing "eager" return from a `read()`, which can happen in certain cases. It also occasionally happens if you use (`ReadIntervalTimeout=N`, `ReadTotalTimeoutMultiplier=0`, `ReadTotalTimeout=0`) rather than  the special case (`ReadIntervalTimeout=MAXDWORD`, `ReadTotalTimeoutMultiplier=MAXDWORD`, `ReadTotalTimeout=N`).

On the surface, this looks like they have identical behavior to the existing PureJavaComm behavior.
But I am nervous about the use of ReadIntervalTimeout; it seems like it might have some subtle cases where it causes the wrong behavior. I can't seem to find those cases right now, however. I'll keep trying as I have time to do so....

Brilliant, keep working at it!

Oh, p.s. -- this test requires you to have a hardware loopback (feed TX line back into RX line).
I'm using a DLP-USB1232H USB-to-UART (5V TTL) converter. Highly recommended, about US$29 from distributors like Mouser and Digi-Key, and it's rock-solid based on the FTDI chipset. We use it at 4.375Mbaud, very low bit error rates (something like 1 error every 1-10 million bytes or so).

hmmm... note: seems like there needs to be a way to distinguish "disable" from enabled(0) for both timeout and threshold.

Hi, where are we with this fix? I would like to include this with the next release, do the changes you propose above fix this issue?

Closing this as I've not received any feedback.


refactor: remove unused apps icons

These something very old and seems not used. All icons from apps contain from the electron-apps module and consumed from them, so I think that would be fine if we remove that duplicate.

@erickzhao #2039 it's just made that more visible and easy to use, previously we use just direct node_modules/electron-apps input (well, okay, let's skip that 🙄), that usage starts from #784 and to #2039 where everything starts be more good.
@ckerr I'm really not sure what's that block do (because on that moment I'm idk what's Electron), But if look at this it's reset the screenshot path to images folder when unable to find icon inside the electron-apps module what's never should be because electron-apps give that check on the side, and return all icons. I think in today's state we never should take that state since some modern apps don't have icon inside this repo.

Some of these are linked to in the old monthly roundup blog entries from 2016.

That icon doesn't work now, and blog posts look not preferable, I can update them to today state or we can 🔥 them

EDIT: Also that path doesn't more exist from #2039

:1st_place_medal:


Release snapshots to Apache Nexus

We need to start releasing snapshot Maven artifacts to Apache Nexus instead of JBoss Nexus.
Documentation is here: https://infra.apache.org/publishing-maven-artifacts.html
Acceptance criteria:

Access granted to publish artifacts to https://repository.apache.org/
Successful nightly builds from main branch publish SNAPSHOT artifacts to the Apache Nexus.
No new SNAPSHOT artifacts are published to JBoss Nexus.

INFRA ticket created to get access to the Apache Nexus repository: https://issues.apache.org/jira/browse/INFRA-25077.

Drools PR with switch to Apache Nexus https://github.com/apache/incubator-kie-drools/pull/5553.

kogito-runtimes PR with switch to Apache Nexus https://github.com/apache/incubator-kie-kogito-runtimes/pull/3251

kogito-apps PR with switch to Apache Nexus https://github.com/apache/incubator-kie-kogito-apps/pull/1896.

optaplanner PR with switch to Apache Nexus https://github.com/apache/incubator-kie-optaplanner/pull/3001.

kie-kogito-operator PR https://github.com/apache/incubator-kie-kogito-operator/pull/1532

kogito-images PR https://github.com/apache/incubator-kie-kogito-images/pull/1705

kogito-benchmarks PR https://github.com/apache/incubator-kie-kogito-benchmarks/pull/17

kogito-pipelines PR https://github.com/apache/incubator-kie-kogito-pipelines/pull/1109

All PRs merged, except the last one waiting for review: https://github.com/apache/incubator-kie-kogito-images/pull/1705


Add missing instrument patch

This commit add instrument patch which was removed by mistake.

Maybe use this commit to also fix formatting issues in journal.md that was introduced by unwanted merge request

@piotrdanio We asked for fixing unverified and it did not happen. You also have not answered to Adam's comment from two weeks.

@piotrdanio Please also work on the commit messages. They are not descriptive enough and do not meet our guidelines.
I fixed some of these to move forward. If there is a need to update the patch, use another PR.


Azure Function timer trigger not firing

Please provide a succinct description of the issue.
Similar to #740, the azure function in question is in the same resource group as dummy124441.azurewebsites.net
The timer is set to run on this schedule ( 0 */15 * * * * ), every 15 minutes, but the last time it ran according to the invocation log is (2017-04-19T14:30:0 ...)
Expected behavior
I would expect the function to run every 15 minutes
Actual behavior
The function does not run unless I trigger it manually

having the same issue here, although I have it schedule for everyday at a certain hour it will never fire

@paoliniluis you may be running into a different issue (discussed here). Where the function does execute, but the Monitor UI doesn't show the invocations. Please see that thread for workaround.

@davidebbo yes, it looks like the same issue. I do see that it's being invoked, just not appearing in the invocation log in azure anymore

Facing same issue, Function does not execute unless I open the function in portal. I am using consumption plan, and by that I think there is no need for Always On as the system should take care of waking up my functions whenever they need to run.

@karandesai28 please provide the app name and UTC time when you expected it to fire and it didn't.

@karandesai28 actually, please open a separate issue. The two cases in here were actually just the monitoring issue (long fixed), and the functions were in fact getting invoked. So closing this one.

I'm actually experiencing this issue currently with one of my functions. Runs ever hour with this hourly schedule  "0 0 * * * *", it works for a few hours then stops. A restart starts it working again, after a few hours it stops again. Sometimes it can run twice in an hour, with a few minutes gap.


Shuffle Channel

Is there a way to shuffle the channels in an Image ?

Not yet possible in the library -- you might be able to do something in that direction by combining OneOf with many WithChannels, but that would be fairly ugly code. I'll add it to the TODO list.


Windows: Retry workaround for RS1/RS2 compute system enumeration

Signed-off-by: John Howard<EMAIL_ADDRESS>Fixes https://github.com/docker/docker/issues/30278
@georgyturevich @cons0l3 FYI
There's a race condition in HCS in RS1 and RS2 builds (fixed in RS3) whereby the call to
enumerate compute systems can return access denied if a silo is being torn down in the kernel
underneath it.
The net result is that docker rm may fail. In fact, using these two scripts, I have been
able to repro the failure almost immediately (usually with less than 10 containers having
been started)
docker stop recovertest
docker rm -f recovertest
remove-item "failed.txt" -erroraction silentlycontinue
while ($true) {
    $count++
    Write-Host "Iteration $count $(Get-Date)"
    docker ps -q
    docker run -d -i --name recovertest microsoft/iis
    if ($lastexitcode -ne 0) { new-item ".\failed.txt"; exit -1 }
    docker stop recovertest
    if ($lastexitcode -ne 0) { new-item ".\failed.txt"; exit -1 }
    docker rm recovertest
   if ($lastexitcode -ne 0) { new-item ".\failed.txt"; exit -1 }
   if (Test-Path ".\failed.txt") { Write-Host "Quitting as failed.txt exists"; exit -1 }
}

docker stop recovertest2
docker rm -f recovertest2
remove-item "failed.txt" -erroraction silentlycontinue
while ($true) {
    $count++
    Write-Host "Iteration $count $(Get-Date)"
    docker ps -q
    docker run -d -i --name recovertest2 microsoft/iis
    if ($lastexitcode -ne 0) { new-item ".\failed.txt"; exit -1 }
    docker stop recovertest2
    if ($lastexitcode -ne 0) { new-item ".\failed.txt"; exit -1 }
    Start-Sleep -Seconds 5
    docker rm recovertest2
   if ($lastexitcode -ne 0) { new-item ".\failed.txt"; exit -1 }
   if (Test-Path ".\failed.txt") { Write-Host "Quitting as failed.txt exists"; exit -1 }
}

With this fix, I've had the scripts running for a couple of hours without failure.
@darrenstahlmsft @johnstep PTAL.
@thaJeztah @vieux @friism - this is one that should be strongly considered for a future 1.13 release, and for CS.

Not a maintainer, but LGTM

LGTM


[npm] Support for install strategy

While testing with juice-shop, I noticed a few packages were duplicated inside the node_modules directory structure with a different version. We need to verify the version of such non-hoisted packages and set a property to indicate that multiple versions of such packages might be reported.
https://docs.npmjs.com/cli/v9/commands/npm-install?v=true#install-strategy
evinse currently duplicates the result since it cannot determine the exact purl that might get loaded at runtime.

@noqcks, any thoughts on whether our new implementation with arborist already supports hoisted and duplicate packages?

can you link me to juice-shop?

https://github.com/juice-shop/juice-shop

The way we have arborist setup now, no I don't believe it supports it. We're using arborist's loadVirtual function to generate deps, which only looks at a lock file. In order to look at the node_modules folder, we can use loadActual function.
I think ideally what happens is we check for the existence of a node_modules folder with loadActual and then fallback to loadVirtual when one doesn't exist.
docs from loadVirtual - note that loading this way should only be done if there's no node_modules folder
https://www.npmjs.com/package/@npmcli/arborist

I had no idea this setting even existed! CyloneDX always surprises me in good ways with how well designed it is.
Im not clear on why node_modules would be post-build and lock files build though, since they're usually generated at the same time? Feels like they should both be one or the other.

@noqcks, you're correct. Both belong to build.