[Feature Request] Allow using custom languages/models for spaCy NLP

Is your feature request related to a problem? Please describe.
Other related issues: #408 #251
I trained a Chinese model for spaCy, linked it to [spacy's package folder]/data/zh (using spacy link) and want to use that for ludwig. However, when I tried to set the config for ludwig, I received an error, which tell me that there is no way to load the Chinese model.
ValueError: Key chinese_tokenizer not supported, available options: dict_keys(['characters', 'space', 'space_punct', 'underscore', 'comma', 'untokenized' (...) 'bert'])

Describe the use case
By allowing using custom languages for spacy, users using other language would be able to process their texts quicker and easier.
Describe the solution you'd like
Here's the current solution...
input_features:
  -
    name: input
    type: text
    preprocessing:
      word_tokenizer: english_tokenize

...which I think could be changed to this...
input_features:
  -
    name: input
    type: text
    preprocessing:
      word_tokenizer: spacy_tokenize
      spacy_model: zh #(or en, xx, etc.)

Describe alternatives you've considered
I've considered not to use spacy but to use a custom script to simply split sentences to words using some processors like "jieba". However, by using this method I would lose nearly all benefits from NLP.
Additional context
I think that's all :)
I don't know whether my advice could be accepted. But if it got solved I would be very thankful.
BTW since I'm not a native English speaker, there may be some mistakes. Please don't mind it :p

We are thinking about changing the way you define the tokenizer to be more flexible, and that would allow you to do what you are looking for.
In the mean time, if you are using the API, you can do the following:
from ludwig.utils.nlp_utils import language_module_registry
from ludwig.utils.strings_utils import tokenizer_registry
from ludwig.utils.strings_utils import BaseTokenizer

language_module_registry['zh'] = 'your_model_name'  # for example 'en_core_web_sm'

class ChineseTokenizer(BaseTokenizer):
    def __call__(self, text):
        return process_text(text, load_nlp_pipeline('zh'))

tokenizer_registry['chinese_tokenizer'] = ChineseTokenizer

After you do this, you can refer to chinese_tokenizer in your model configuration within the same script where you run the code above.

In the meantime, spaCy added Chinese as language in release 2.3, this commit adds new Chinese preprocessing to Ludwig.
We are still thinking about adding a more flexible way to specify custom spacy models though.

Hi @w4nderlust, would this be a way to also support the new fast tokenizer to improve speed up pre-processing (esp for multi-threadding)?
from ludwig.utils.strings_utils import BaseTokenizer
from ludwig.utils.strings_utils import tokenizer_registry
from tokenizers import BertWordPieceTokenizer # Import fast tokenizers

class FastTokenizer(BaseTokenizer):
    def __init__(self,
                 pretrained_model_name_or_path,
                 **kwargs
                 ):
        super().__init__()
        self.tokenizer = BertWordPieceTokenizer(f"{pretrained_model_name_or_path}/vocab.txt", **kwargs)

    def __call__(self, text):
        return self.tokenizer.encode(text).ids

tokenizer_registry['fast_tokenizer'] = FastTokenizer

How would this work when using the ludwig CLI, is there a way to configure this - I wondering if this something that you could bundle with the main codebase?
https://github.com/uber/ludwig/blob/master/ludwig/utils/strings_utils.py#L1166

@brightsparc  the code you posted will likely work. To make it available through the CLI one would have to add it among the other tokenizers in string_utils.py.
Although my understanding is that in the next version of transformers, the fast tokenizers will be the default, so maybe that would be sufficient.
Alternatively, one could add the use_fast parameter to init as you have shown, it would work, but there's a bit more to it, one would also need to add that parameter to the functions using the tokenizer, which requires a bit more work, although not too much.
If you are interested in helping out on this I can point you in the right direction for a PR.

Okay, I tested with adding this custom tokenizer in the registry and it worked.
@w4nderlust If use_fast will become the default, can we just add this to the AutoTokenizer for now, or are you saying that you would like to be able to pass this down through configuration?

@brightsparc good to hear!
Regarding the use_fast I'm not 100% sure why it is not the default already, but if it isn't there's probably some compatibility issue they are ironing out, so setting it to true in Ludwig by default before HF does doesn't seem a good idea to me. So either we wait or we set it to false by default and allow people to pass it down through configuration (which, again, is not complicated to implement).

Hi @w4nderlust I am happy to support a PR to pass through configuration, but it's not clear how I would go about that.  I see there is a kwargs parameter - is that were I should check the value from?  I also notice that truncate and padding is setup to true in the code, should these also be optional arguments?

truncate and padding should be set like that. @ANarayan can give more context, but I believe they shouldn't be touched.
Regarding use_fast, one would add it to function signature, and then look for all the occurrences of the tokenizers_registry that are related to tet features (for instance inside create_vocab and add_data and add_metadata inside text_feature.py) and add the parameter there too. Finally, add the parameter to defaults.py.
Let me know if this helps, otherwise I can also look into it myself, no worries.

Hi @brightsparc , so truncation is set to true because when working with pre-trained encoders, if length of the encoded sequence is greater than the model's maximum admissible input size, this leads to errors in downstream training. With regards to the padding being set to true, sequences in Ludwig are tokenized one at a time and the padding is done internally so the value assigned to padding doesn't really matter. Hope this helps!

Okay thanks @ANarayan  this makes sense.  @w4nderlust  I have created a PR #1012 for this fix and have tested with my fork.
Also, FYI I am working on a AWS SageMaker example that I should be able to share with the community shortly.


Test

Hi Nick - as discussed I've changed the VM Premium Disks to Standard disks.  Cheers, Jorge

Merge!


Plugin Command: avoid using double dash

Some shells (e.g. Powershell) interpret the double dash (--) in command arguments. Currently the plugin command expects plugin parameters to be specified after a double dash, like cmf [cli options] -- [plugin options].
However, because some shells interpret and then strip the double dash, the invocation needs to actually be something like cmf [cli options] '--' [plugin options] which isn't ideal.
As the cli options are currently not used for the plugin commands, the double dash requirement could, in theory, be dropped. However, System.CommandLine expects any command options to be explicitly declared, so a work around would be needed.
To resolve this, we'd need to

support invoking a plugin without the double dash
make sure the help menu works

Closed by #302


kernel crash when trying python3 notebook

I am a newbie with jupyter. Looking for a small image it seems that you have really optimized things well.
Except that I can't see to start a python3 nb, the kernel crashes and can't restart.

Hey sorry about this!  One of the ways we keep our image so small is we dynamically install kernels (to include the Python 3 kernel) using Alpine packages that we've created and hosted.  We're currently in between hosting providers which is why your instance is unable get to and install the Py3 kernel.  I hope to have this fixed at some point next week and I'll follow up on this ticket to let you know when it's working.

cool, thanks for making a small image, I tested an official one from jupiter and it was 2.2GB...:(

Hey sorry for the delay on this - if you pull our latest image from docker hub you should be good to go.

thanks I will give it a shot.


The "show resource in explorer" button opens an empty explorer

Description
I installed dbeaver from msstore
This bug is relevant only for builds from Microsoft store.
I tried to reproduce it on the regular binary version, this bug is not there.
the essence:
When you open the file explorer with the right key of the script, an empty file explorer opens.

When I right-click, this is what opens.

If I do the same on the binary version from the site (not from microsoft store) then everything works correctly. The folder with the installed program opens where the script is displayed.
DBeaver Version
DBeaver CE <IP_ADDRESS>405051801
Operating System
windows 11 pro
Database and driver
mssql
Steps to reproduce

Install DBeaver CE from the Microsoft app store.
Create any script in Project - General.
Right-click on it.
Try to open it in the explorer.

Additional context
No response

thank you for the report
cannot reproduce on win10

Windows 11 has been playing steadily for several weeks now.

thank you for the report cannot reproduce on win10


Add option to override filename for download

It would be nice to be able to override the default filename when downloading a file.
I think it would just return an error if downloading more than one file and this option was set.
I don't mind having a go at implementing this myself and submitting a PR. I'll have a look sometime soon if that's a feature you'd be open to adding.

Thank you for posting this issue.
I think your suggestion to override the default filename when downloading a file is a good idea. I am very grateful that you are willing to implement this feature, and I look forward to your PR.


BackgroundProcessing.netkan failure

Hi, I'm the developer of the BackgroundProcessing mod. The .netkan for it is failing right now, and I'm not entirely certain how to fix it.
Starting from version <IP_ADDRESS> of my mod, I started adding a version number to the DLL's filename for assembly identity reasons - it's necessary for the mod's only-most-recent-assembly code to work properly. And the mod is supposed to go into top-level GameData, although it isn't hugely important. And the last several releases haven't had a folder inside the .zip to "find" inside install instructions. This is all similar to the ModuleManager situation, which as far as I can tell is resolved by manually making each MM .ckan file in the ckan-meta repository. Is that likely to be the solution here, or maybe some kind of macro facility inside netkan, or the ability to "find" : ".", or wildcards in "file", or what?

I see that your mod is installed like ModuleManager. I'm not sure how CKAN deal with ModuleManager (Probably .ckan files created manually or by some script?)
I think would be needed support for wildcards in the "find" statement. I'll open the issue in CKAN-core
@jamespicone If you want I can create the .ckan file manually as a temporary solution.

Ok, here's PR @jamespicone ping me please when you release new version :)

Aaaand merged :smile:


Set slidesPerView via data attributes

Clear and concise description of the problem
No option to set different slidesPerView parameter per swiper object when multiple swiper objects loaded on a single page.
Suggested solution

Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Would you like to open a PR for this feature?

[ ] I'm willing to open a PR

Use API or Swiper web component


Keybindings for mac

Here're some mac bindings from Atom. I've included sources to why I picked a particular binding.

OS X 10.12.1
Atom 1.11.2
Visual Studio Code 1.7.1

workbench.action.quickOpen
This is the official cmd-t package for atom, even tho it isn't marked with Core as most of the others are.

editor.action.formatDocument
Third party source: atom-beautify with 1.9M downloads.

editor.action.commentLine
This one is a bit tricky. On my Swedish keyboard, cmd+/ focuses the search function in the Help menu bar. This seems to be a problem on non US/GB (?) keyboards (source). The solution is to use cmd+shift+7 as shift+7 normally yields /.

workbench.action.files.openFileFolder
There isn't much documentation on this, but it looks like workbench.action.files.openFileFolder opens a new project.

workbench.action.zoomIn
This is a bit backwards on my machine. cmd++ maps to cmd+- and cmd+= can't be mapped.

workbench.action.zoomOut
cmd+_ Isn't supported on my keyboard.

workbench.files.action.showActiveFileInExplorer

editor.unfoldAll

editor.fold

editor.unfold

Looks great! Thanks.


build and test dependencies pull in different versions of golang.org/x/net

The following declaration in build.gradle:
dependencies {
    golang {
        build<EMAIL_ADDRESS>        build<EMAIL_ADDRESS>        build 'golang.org/x/net'
        test<EMAIL_ADDRESS>        test<EMAIL_ADDRESS>    }
}

pulls in the following dependencies:
build:
github.com/livetribe/leherashem
|-- github.com/Sirupsen/logrus:v1.0.3(f006c2a)
|   |-- github.com/sirupsen/logrus:89742ae
|   |   |-- golang.org/x/crypto:81e9090
|   |   |   \-- golang.org/x/sys:7ddbeae
|   |   \-- golang.org/x/sys:7ddbeae (*)
|   |-- golang.org/x/crypto:81e9090 (*)
|   \-- golang.org/x/sys:7ddbeae (*)
|-- github.com/urfave/cli:v1.20.0(cfb3883)
|   |-- github.com/BurntSushi/toml:a368813
|   |-- gopkg.in/urfave/cli.v1:cfb3883
|   |   |-- github.com/BurntSushi/toml:a368813 (*)
|   |   \-- gopkg.in/yaml.v2:eb3733d
|   \-- gopkg.in/yaml.v2:eb3733d (*)
\-- golang.org/x/net:66aacef
    |-- golang.org/x/crypto:81e9090 (*)
    \-- golang.org/x/text:bd91bbf
        \-- golang.org/x/tools:3b1faed
            \-- golang.org/x/net:66aacef -> 66aacef (*)

test:
github.com/livetribe/leherashem
|-- github.com/go-sql-driver/mysql:v1.3(a0583e0)
\-- github.com/ory-am/dockertest:v3.0.9(a7951f7)
    |-- github.com/Azure/go-ansiterm:19f72df [., winterm]
    |-- github.com/Microsoft/go-winio:f533f7a
    |-- github.com/Nvveen/Gotty:cd52737
    |-- github.com/Sirupsen/logrus:7dd06bf
    |-- github.com/cenk/backoff:32cd0c5
    |-- github.com/docker/docker:89658be [api/types/strslice, pkg/term, pkg/homedir, api/types/container, api/types/blkiodev, pkg/jsonmessage, opts, pkg/pools, api/types/registry, api/types/versions, pkg/idtools, pkg/ioutils, pkg/longpath, api/types/filters, api/types/network, pkg/jsonlog, pkg/fileutils, pkg/system, pkg/promise, api/types, pkg/term/windows, ., pkg/archive, api/types/mount, pkg/stdcopy, api/types/swarm]
    |-- github.com/docker/go-connections:3ede32e [nat, .]
    |-- github.com/docker/go-units:0dadbb0
    |-- github.com/fsouza/go-dockerclient:4bc6a18
    |-- github.com/hashicorp/go-cleanhttp:3573b8b
    |-- github.com/moby/moby:89658be
    |-- github.com/opencontainers/runc:3a5b963 [., libcontainer/system, libcontainer/user]
    |-- github.com/pkg/errors:645ef00
    |-- github.com/sirupsen/logrus:7dd06bf
    |-- golang.org/x/net:054b33e [context, ., context/ctxhttp]
    \-- golang.org/x/sys:6faef54 [windows, ., unix]

Note that build has golang.org/x/net:66aacef and test has golang.org/x/net:054b33.  How can this happen?  Are the dependencies for github.com/ory-am/dockertest:v3.0.9 frozen somewhere?

https://github.com/ory/dockertest/blob/v3/glide.lock#L67

Ahh, glide lock files are being pulled in.  That explains it.
The documentation doesn't seem too clear on that.  Would it make sense to provide detail on where external dependencies can be pulled in?  (Happy to help here)
Also, I think it would be helpful if the plugin printed out where it got its dependencies.


--slurm option works when in srun but fails in sbatch

Snakemake version: 7.25.0

Describe the bug

When runnig snakemake --slurm if I do so in a srun (for example srun snakemake rule_a --slurm) I have no issues. However, runnig the same command in a sbatch script will result in the following error:
srun: fatal: SLURM_MEM_PER_CPU, SLURM_MEM_PER_GPU, and SLURM_MEM_PER_NODE are mutually exclusive.

This is an issue because when running a very long pipeline I prefer using sbatch. It allows me to keep track of what the command used was and I don't need to keep the terminal alive. If I ran it using srun I would need to use screen or leave the computer on for it to have to finish.
Minimal example

Using the following single rule pipeline as an example:
# Snakefile
rule rule_a:
    output:
        "rule_a_output.txt"
    threads: 1
    shell:
        "echo 'some text' > {output}"

This way of running the pipeline will work:
srun snakemake rule_a --slurm -j 1

Using this sbatch file won't work:
#!/bin/bash
#SBATCH --job-name=test_snakemake
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1

srun snakemake rule_a --slurm -j 1

Positionned in the same directory as the the Snakefile this won't work:
sbatch sbatch_file.sh

Complete log:
Job 0 has been submitted with SLURM jobid 3212151 (log: .snakemake/slurm_logs/rule_pouet/3212151.log).
[Mon Apr 24 17:39:34 2023]
Error in rule pouet:
    message: SLURM-job '3212151' failed, SLURM status is: 'FAILED'
    jobid: 0
    output: pouet_output.txt
    log: .snakemake/slurm_logs/rule_pouet/3212151.log (check log file(s) for error details)
    shell:
        echo 'pouet' > pouet_output.txt
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: .snakemake/log/2023-04-24T173851.613147.snakemake.log

Rule log:
Provided resources: mem_mb=1000, mem_mib=954, disk_mb=1000, disk_mib=954
Select jobs to execute...
srun: fatal: SLURM_MEM_PER_CPU, SLURM_MEM_PER_GPU, and SLURM_MEM_PER_NODE are mutually exclusive.
[Mon Apr 24 17:38:57 2023]
Error in rule pouet:
    jobid: 0
    output: pouet_output.txt
    shell:
        echo 'pouet' > pouet_output.txt
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message

Actually, I figured out the solution for this.
Adding the following directive to the sbatch script:
#SBATCH --mem=10G

I'm not sure why this fixed it but I would guess that requesting the memory explicitly will prevent snakemake from checking the SLURM_MEM_PER_CPU, SLURM_MEM_PER_GPU, and SLURM_MEM_PER_NODE environment variables.

I'm running Snakemake 7.32.4 with the --slurm argument in order to submit jobs on a SLURM cluster (I rolled back from 8.x because it seems the --slurm option has been removed).
I painstakingly troubleshot this error message before discovering this issue page.
The bash script I submit to call the snakemake pipeline specified the memory request as #SBATCH --mem-per-cpu=20000M but my configuration was set the default memory request via mem_mb=60000.
It would seem that using these two keywords ("mem-per-cpu", "mem_mb") was causing the issue. Given that the resources requested in the submitted bash script that calls snakemake  and the resources requested via config/workflow for rule-specific jobs are unrelated, this seems like a bug to me.
The fix is somewhat unsatisfying, but it has got the pipeline running for me and submitting jobs.


Added update instructions and composer.json

This pull request adds information about how to update Snowflake plugin while it's in the development stage and was previously installed installed with GitHub installation method.
I also added the basic version of composer.json file so maybe latter plugin can be placed also on Packagist site and installed/updated via composer more easier.

Wow, thanks!


CacheTagHelper should not depend on IMemoryCache

IMemoryCache is a perfect match for single node scenarios in CacheTagHelper but it breaks if the website runs on more nodes, as each node would return different contents. The issue here is that there is no way to change it.
I think it would be better to either:

Depend on IDitributedCache as the default implementation uses IMemoryCache which means it would work the same as today on a single instance, and not be broken on multiple instances.
Or even better, define a custom interface for extensibility reasons so that each customer could decide how to store the cached tags: explicitly IMemoryCache, IDistributedCache or another implementation. Each site is different, and locking down the cache tag storage might be an issue. And having the to share the same implementation for controllers and tags might not make sense either.

A different approach would be to use a message bus implementation to invalidate IMemoryCache entries across nodes, but I don't think it's been planned either.
/cc @NTaylorMullen

I agree with the thought in general, but I wonder if this is a case for maybe having different tag helpers? It could be argued that this tag helper is more of a <memoryCache> tag helper as opposed to just <cache> and what's described here is some other tag helper. Or not...
@DamianEdwards any further thoughts?
Parking in the Backlog for now.

I think the cache tag helper should have an attribute to let you select between im-memory and distributed cache.

Unfortunately that breaks DI :frowning: :panda_face:
It would mean you can't take the cache interface in the ctor anymore: https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNet.Mvc.TagHelpers/CacheTagHelper.cs#L47
You'd have to reach into the service provider and resolve it.
That's the real reason I was suggesting multiple middlesware.

You can take a dependency on both.

But it doesn't actually require both, so that's a bit dirty.

If Damian's advice is to have an attribute to target which storage for each tag (which is what I understood), then it actually requires both services. You can make them lazy if you want, still, not a broken design IMO.

Supporting IDistributedCache would require us to serialize the generated IHtmlContent to a byte[] which is entirely incompatible with how we cache it in IMemoryCache.
What's the use case for caching generated HTML content as opposed to caching the content that produces the HTML?

The case is every time I show it to people, they ask for it. StackOverflow is well known for caching rendered HTML in Redis. He user scenario is sound. Don't really care how you implement it, as long as it's in the one helper.

Moving out of backlog. @sebastienros please post a proposal to discuss.

I don't think it's necessary for RTM. We're really beyond the time to be making changes like this.

If @sebastienros can round something up would you want to take it?

Are you telling me that it's in effect, free? :smile:

Someone has to approve the design and then it needs a code review. Nothing's free :smile:

Yeah, we have to stop some time mate. Good one for 1.1 :+1:

Proposal
Keep the current default behavior and store everything using the IMemoryCache service.
Add an optional distributed attribute that would use IDistributedCache. Its default value
is false. If set to true then the tag helper would resolve and use IDistributedCache to store
and retrieve the cache content.
Example:
<cache vary-by-header="Locale" distributed="true">
    ...
</cache>

If the application runs on a single instance the use of distributed won't affect the
behavior as the default IDistributedCache implementation is to use IMemoryCache.
Caveats

The priority attribute is no-op in this case as the distributed cache API doesn't support it.
The content is serialized to HTML.
The Russian-doll invalidation provided by IMemoryCache is lost, meaning an inner <cache> invalidation won't invalidate its parents.
There is still a benefit in nesting <cache> tags if the outer scope is invalidated more frequently than the inner.
There is no default registration for this interface. We can either try to resolve
the service and fall-back to IMemoryCache or throw an exception to make it obvious for
the user.

In the distributed cache scenario you'd need to also require the user to provide some sort of cache key so it's the same across nodes.
@sebastienros wasnt your concern with this issue initially finding a way to separate types of caches used? Aka, the cache TagHelper having a dedicated cache would enable users to separate how things are cached (db cache vs page cache vs X cache etc.).

The key is already created and unique as part as the current implementation.
Having a custom interface was one of my proposals but not an approved solution.

Actually you are right, we need a custom user key, I will look into the current implementation.

Currently it's using the TagHelperContext.UniqueKey which works on a single instance. I suggest that instead of having a distributed="true" attribute we use the key as the opt-in parameter like distributed-cache-key="mycontent". Setting this property would prove the cross instance key discriminator and also opt-in for distributed cache.

Related annoucements:
https://github.com/aspnet/Announcements/issues/160
https://github.com/aspnet/Announcements/issues/161


chore: add Khuda as code owner

I'd love to invite @KhudaDad414 to become a code owner of this repo. Since the rest of the code owners are not very active lately and we want to move the project forward with the new Studio vision and plans: #634. He's already a TSC member so I figured he was the best candidate for now.

/rtm

Welcome, @KhudaDad414!

Thanks @fmvilas 🥳


dnsmasq strict interface handling

I want to force proxy users to use dnsmasq instead of unbound. Reason: Do some DNS Rewrites only for proxy users. Tried to bind dnsmasq to 5353, but I can't specify the DNS Port in the bind config. I created a virtual IP for that, where unbound does not listen to. But opnsense GUI doesn't allow me to explicit select this virtual IP (unbound opnsense gui dialog does). Please implement it the same way, so both unbound and dnsmasq can run on port 53 on seperate IPs/Interfaces.

No, we will not work on binding arbitrary plugins to single VIPs. We need to find another way.

I might be missing something, but Dnsmasq can be switched to 5353, but then Unbound has to be on 53 to provide response to normal queries from the system. Then "proxy users" come into the picture but what does that include? Are you running a web proxy on OPNsense? Normal (or PAC/WPAD) or transparent?

My approach is, that I want to have web-filtering for some users in my LAN. I use the opnsense built-in squid with some lists for that, forced in transparent proxy mode for these IPs, which works great. Additionally, I want that these users (who are forced to use squid) can access google and youtube only in "restricted" mode. To achieve this, the google.com etc. DNS entries have to be rewritten (CNAME to forcesafesearch.google.com) in DNS (not possible in Squid). Other users in the LAN should not have this enabled. So I can't do this in opnsense's unbound (which is my primary dns), as it would affect all users then. As it is possible to use a specific nameserver in squid, I had the idea to run dnsmasq in parallel and do the rewriting there and use dnsmasq only for squid. But unfortunately it is not possible to say squid, that the DNS server is running on another port than 53.

I already use this to prevent my users using <IP_ADDRESS> or something like that. But the clients that are forced to use the proxy don't use normal DNS lookups for HTTP(s), instead Squid does do the DNS lookups.

Ok, the initial query will be through your Unbound for sure, the rest of the pages is through Squid as you said.
How about Dnsmasq on 53, redirect <IP_ADDRESS>-ish to 5353 where Unbound listens. That would solve the Squid issue?

Good idea! Unbound now listens on 5353, everything from the lan going out to 53 is redirected to this unbound. And dnsmasq is configured to listen on 53 use <IP_ADDRESS>#5353 as upstream server. Thanks a lot!

@gr1nd yay, cool :) not sure if you are already doing it / it's useful for you: if you use an alias to redirect certain clients to proxy you can use the same alias to directly move their dns to Dnsmasq as well so they use the same server that Squid is using.
Cheers,
Franco


New $face requires a file path as a Str which is unexpected

That Str type requirement for a file path is not intuitive to a new user and could cause problems.
Recommend either no type or use IO::Path as the user's entry. If the C code requires something else, that could be handled internally.

Font::FreeType 0.5.10 has been released, which accepts an IO::Path argument.

Thanks!


MNT: rerender

Hi! This is the friendly automated conda-forge-webservice.
I've started rerendering the recipe as instructed in #5.
If I find any needed changes to the recipe, I'll push them to this PR shortly. Thank you for waiting!
Here's a checklist to do before merging.

[ ] Bump the build number if needed

Fixes #5

@conda-forge-admin please rerender


Bank Cleaner

Is your feature request related to a problem? Please describe.
I find myself hitting my bank limit more often than I like to admit, as I'm sure some other players do too. To solve this issue would it be possible to add a bank cleaner? Something that when enabled allows you to see items in your bank (placeholders you may not use anymore) or quest items that aren't needed any longer? I'm aware the Wise Old Man in draynor clears quest items from f2p quests but there's no option to do so (or any suggestion as to what's not needed) for p2p quests.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I'd like some way to highlight the stuff in the bank that's not needed anymore, IE. Quest items that aren't needed, placeholders that you may not use anymore, or other items that fit the description of not needed but may still be lingering in the bank. Perhaps there'd be a way to figure out what items are still useful but aren't too hard to obtain. Also might be nice to add an option (or color for the icons) that suggest things you can put elsewhere, like the mourners gear into your PoH.
I know this seems like a lot but it may be worth at least bringing to your attention, in the hopes someone has a better idea of how to remedy this problem.
Thank you.

Wise Old Man does do members quests now

Sorry for not knowing that, it's been a while since I've tried. I'll see how much junk he actually tosses and update accordingly. Thank you, Hydrox.

Report the things you think need improving about the wise old man to jagex, not us.


Deprecating Python 2 support in visdom

Description
As a first step towards modernizing the visdom codebase, I'm freeing us from the shackles of python 2 compatibility. Version v<IP_ADDRESS> was tagged as the last version with python support, and will be left for any users that want to use python 2 with visdom. Future enhancements will be python 3 only.
Motivation and Context
Python 2 support has become something of a burden (from testing to maintenance to merging new code - #647 and #595 have been blocked by internal python3 issues for a while now). Now
How Has This Been Tested?
Run demo.py on python3, everything works well! Run demo.py on python2, get a notice to downgrade.
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] For JavaScript changes, I have re-generated the minified JavaScript code.

Thanks for pushing this through! I'd suggest we git tag the commit before this merge commit so we can easily reference the last time the code was Python 2 compatible (just in case).

Just saw the branch name..... nice 👏

Already tagged 👍

Nice! Great minds think alike 😉

On Sep 20, 2019, at 6:10 PM, Jack Urbanek<EMAIL_ADDRESS>wrote:
Already tagged 👍
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or mute the thread.


[SPARK-45203][SQL][TEST] Join tests in KeyGroupedPartitioningSuite should use merge join hint

What changes were proposed in this pull request?

It's more robust to use join hints to enforce sort-merge join in the tests, instead of setting configs which may be ineffective after more advanced optimizations in the future.
Why are the changes needed?

make tests more future-proof
Does this PR introduce any user-facing change?

no
How was this patch tested?

N/A
Was this patch authored or co-authored using generative AI tooling?

no

cc @viirya @dongjoon-hyun

Thank you for pinging me, @cloud-fan .

Also, cc @sunchao , too.

Merged to master for Apache Spark 4.0.0.


Unable to build plugins

On a fresh clone of master, building a plugin fails.
Expected Behavior

yarn build in a newly generated plugin should succeeded.
Current Behavior

yarn build fails with
✗ yarn build
yarn run v1.21.1
$ backstage-cli plugin:build
src/components/ExampleComponent/ExampleComponent.tsx:28:8 - error TS2307: Cannot find module '@spotify-backstage/core'.

28 } from '@spotify-backstage/core';
          ~~~~~~~~~~~~~~~~~~~~~~~~~

src/components/ExampleFetchComponent/ExampleFetchComponent.tsx:28:26 - error TS2307: Cannot find module '@spotify-backstage/core'.

28 import { Progress } from '@spotify-backstage/core';
                            ~~~~~~~~~~~~~~~~~~~~~~~~~

src/plugin.ts:17:30 - error TS2307: Cannot find module '@spotify-backstage/core'.

17 import { createPlugin } from '@spotify-backstage/core';
                                ~~~~~~~~~~~~~~~~~~~~~~~~~

src/plugin.ts:22:14 - error TS7031: Binding element 'router' implicitly has an 'any' type.

22   register({ router }) {
                ~~~~~~

Found 4 errors.

Possible Solution
Seems like there's some botstrapping missing in backstage-cli

Steps to Reproduce (for bugs)

yarn create-plugin
cd plugins/my-plugin
yarn build

Your Environment

NodeJS Version (v12): 13.8.0
Operating System and Version (e.g. Ubuntu 14.04): Ubuntu 19.10
Browser Information: n/a

Hey! I just tried this on an updated master (there have been a few changes since), and it worked. Would you mind trying again?

just tried again on latest master, getting the same problem (when creating a new plugin)

You need to build the root project first, or run yarn start in the root. In general yarn start is the thing to use rather than yarn build for local development, and when we add yarn start for plugins it should cover building the dependencies.
Would be cool to provide some better error message though.

yarn start in the root fails as well for me
➜  backstage git:(master) ✗ yarn start
yarn run v1.21.1
$ yarn build && yarn workspace @spotify-backstage/app start
$ lerna run build
lerna notice cli v3.20.2
lerna info Executing command in 6 packages: "yarn run build"
lerna info run Ran npm script 'build' in '@spotify-backstage/cli' in 17.7s:
$ tsc --outDir dist --noEmit false --module CommonJS
lerna ERR! yarn run build exited 2 in '@spotify-backstage/plugin-sonarqube'
lerna ERR! yarn run build stdout:
$ backstage-cli plugin:build
src/components/ExampleComponent/ExampleComponent.tsx:28:8 - error TS2307: Cannot find module '@spotify-backstage/core'.

28 } from '@spotify-backstage/core';
          ~~~~~~~~~~~~~~~~~~~~~~~~~

src/components/ExampleFetchComponent/ExampleFetchComponent.tsx:28:26 - error TS2307: Cannot find module '@spotify-backstage/core'.

28 import { Progress } from '@spotify-backstage/core';
                            ~~~~~~~~~~~~~~~~~~~~~~~~~

src/plugin.ts:17:30 - error TS2307: Cannot find module '@spotify-backstage/core'.

17 import { createPlugin } from '@spotify-backstage/core';
                                ~~~~~~~~~~~~~~~~~~~~~~~~~

src/plugin.ts:22:14 - error TS7031: Binding element 'router' implicitly has an 'any' type.

22   register({ router }) {
                ~~~~~~

Found 4 errors.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

lerna ERR! yarn run build stderr:
Command 'tsc' exited with code 2
error Command failed with exit code 2.

lerna ERR! yarn run build exited 2 in '@spotify-backstage/plugin-sonarqube'
lerna WARN complete Waiting for 1 child process to exit. CTRL-C to exit immediately.
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
➜  backstage git:(master) ✗

Wonder if something was up with the deps? core is supposed to be built before any plugin

We're looking into adding yarn start for plugins as well btw, should let you run yarn install -> yarn create-plugin -> yarn start inside that plugin. I think build gonna stay as a thing that mostly only makes sense to run in the top-level of the repo.


Make TLS optional in the CLI client

What's needed?
While it should be the default, for local testing it is very inconvenient with self-signed certs and the like.
There should at least be a flag to not require TLS
Proposed solution
No response
Use cases
No response
Alternatives and workarounds
No response
Additional context
No response

@ela-kotulska-frequenz fyi


Why use custom models? Cannot reproduce with torchvision model

Hi, thank you for sharing your code!
Is there any specific reason you chose to build your own models than using the models provided by torchvision?
I am trying to reproduce the results in the quickstart notebook with a clean, default resnet-18 (torchvision.models.resnet18()), leaving every other code unchanged. It generates the error-minimizing noise normally. But on the training stage, it produces accuracies far higher (50%) than reported in the paper and in the notebook (Screenshot below). Also, when using your code to visualize the noise (the cell "Visualize Clean Images, Error-Minimizing Noise, Unlearnable Images"), it produces a black image in-place of the noise.
However, when using your provided Resnet-18 model, I can reproduce your notebook's results, but generating the noise is far slower than using the torchvision resnet-18 (almost 2hrs on yours vs 20 minutes on torch model) .
Inspecting your resnet code, I don't see any specific component that would purposefully slow it down. I did have to remove import mlconfig in your model's init and associated references to it because it seems to not be part of your package, and I was getting an import error otherwise
Here is the training accuracy (on unlearnable train dataset) and test accuracy (on clean test dataset) on a torchvision Resnet-18

ResNet Implementation:
There is no specific reason for not using torchvision models. The implementation of ResNet is just copy-paste from other projects. See https://github.com/kuangliu/pytorch-cifar/blob/master/models/resnet.py
The differences between the two implementations are the kernel size, padding and stride for conv1. The torchvision's model will reduce the h,w after conv1. My guess is torchvision's model is meant for ImageNet with larger resolutions.
Performance issue:
The visualizing of the noise is by normalizing it to [0,255] so that it can be displayed, so the black image may mean the noise is all 0s. Have you examined the noise by printing them? I have reproduced the result as you mentioned by replacing torchvision's model. Validation accuracy is around 40%, but unable to produce the black image of the noise. I tested our implementation of ResNet to generate the noise and applies to torchvision.models.resnet18, the validation accuracy is around 25%. For this difference in the implementation, my guess is the hyperparameters for noise generation need an update, i.e. the termination and number of steps for the model.
Time issue:
The results shown in the notebook was run with RTX-2080-Ti. It took around 3 minutes per epoch for generating the noise, with total 10 epochs. So around 30 minutes in total. Removing mlconfig has no effect on speed. I do not see any other reason that could cause the slowdown on your machine. Can you provide more details on the hardware? Also, because the torchvision models reduce the h,w resolutions, it makes sense that this model can run faster.

Thank you for the explanation.
For the visualizing noise issue, I discovered that some noises have a minimum value = maximum value, which would cause a division by 0 when running your normalizing code. Interestingly, it did not trigger a division by zero error, although the resulting normalized noise are very close to 0. Handling the minimum value = maximum value case by not dividing by the difference visualizes the noises correctly.
For the performance issue, may I clarify if your validation accuracy is computed on clean images? I can confirm that the noise generated by your Res-18 model also works well on a torchvision Res-18.
For the timing issue, I used Google Colab (Tesla T4), so maybe it just is caused by the specific GPU used. While mlconfig is not a culprit, I suggest that it be removed from the init file to avoid import errors for people cloning your repo, or include it in a requirements file.

Thanks for your intrest in our work.
Yes, it is the validation accuracy computed on clean images. There may be slight variations between the noise generation with yours. But the using the torchvision.models.resnet18 to generate the noise is less effective.
Thanks for your suggestion on mlconfig. I will update the repo.


Convey the City is not responsible (legally)

Likely in a modal w/the Ts & Cs.

@hackajesse any update on this? Is it still required for the MVP?

Just noticed we already have terms of service linked on the site courtesy of @jasonlally -- does that address this issue?

Closing since we have terms and conditions, but let me know if you meant something else @hackajesse


Remove appcache behavior

R: @addyosmani
Please review: Moved to https://github.com/GoogleChrome/sw-appcache-behavior

Removal LGTM but looks like AppVeyor is failing atm - doesn't specifically appear to be related to these changes though (rebuilding)


[500] error when loading assets from v1/shopify/assets endpoint

Hey everyone!
(Possibly related to: https://github.com/sanity-io/sanity-plugin-shopify-assets/issues/5 but I have tried uninstalling and reinstalling the app, providing all requested permissions, and no dice)
I'm using the Shopify Connect plugin, along with the sanity-plugin-shopify-assets to pull images into Sanity from Shopify. However, It works for around 20-30 minutes after installing / reinstalling the Shopify Connect app, then I start getting 500 errors when searching / loading images on the endpoint:
https://[REDACTED].[api.sanity.io/v1/shopify/assets/production?shop=[REDACTED]com&limit=42
The response returned is:
{
  "message":"An unexpected error occurred"
}

I've tried from my localhost and from the sanity.studio URL, and all other content (products, collections, etc) is syncing correctly.
My settings are as follows:

The exact request that is failing is this one: https://github.com/sanity-io/sanity-plugin-shopify-assets/blob/079ee67c9953fe79beb038b46436cd05150a973d/src/datastores/shopify.ts#L42

I am seeing a similar error too.

am also getting this error

I'm having this exact issue too. The sanity-plugin-shopify-assets plugin worked initially and then subsequently no longer loads and gives the same error message shown by @williamli above.


V0.9

What?
Refactored subscriptions, retrying and some other things. This should be more testable now.

CC @pusher/sigsdk

Closing in favour of the squashed and cleaned up version #64


filetree extension does not support multi-root folder vscode workspaces

If there are more than 1 "root" folder in the vscode workspace, the tree bar only shows the content of the first "root" folder (i.e. files and folder in that first "root" folder, it does not even show the "root" folder itself).
Consequently, it does not show a second "root" folder if it is there. So we can't use the file tree for other "root" folders if there are more than one.

thanks @pokey looks like I can!

You also might check out the setup we have on cursorless-talon, where we have a pinned issue telling people to file issues against the main repo

much obliged @pokey !

It is solved so closing


Extension sending all clicked links to server

Issue: The extension in Firefox is sending all clicked links to my Linkding server, completely unrelated to use of the address bar to search.
Extension version: v1.5
Browser: Firefox 110.0.1 (64-bit)
OS: Windows 10
Server version: v1.17.2
Details:
I first noticed this when looking through the server logs and seeing the text I had just searched DuckDuckGo for.
Using the ld shortcut in the address bar works as expected, but any link I click or address I enter in the address bar is sent to the /api/bookmarks/check/ endpoint. I'm essentially key logging myself in the browser 😄
See below for the network traffic from the extension (Note: I've mistakenly referred to the address bar as the Omnibar in the image):

I dug into the codebase and realised that this is likely by design: @sissbruecker's commit b6fd7a9 adds the caching feature.
I disabled this precaching and tested it: don't see much of a speed difference. Is the precaching necessary? Grabbing the page data when you are about to bookmark it populates very quickly for me.
Thanks for developing linkding and this extension, I'm really happy with it so far!

I just noticed the same. I think this feature is a red flag. It would allow the person hosting the LinkDing to see all browsed pages of the users. This seems rather excessive.

I spent some time this evening trying to debug why every visit to a local server would log two simultaneous requests, one with my IP and another with the IP of the server running linkding. Fortunately, I found this thread which clearly explains the problem, thanks to @Q3x7Dvh tracing it down to #32.
I believe that this is a fundamental privacy issue: it is not self-evident that using the linkding extension implies that every page load is also attempted by the linkding server. In my opinion, this should be disabled by default. For now, I will limit my use of the linkding extension to a separate Chrome sandbox profile.
At the very least, the pre-caching mechanism referenced in #32 should not be performed on every URL load, but only when clicking attempting to add the bookmark. I understand that this may introduce latency in certain cases, but it would prevent spamming server logs on mere navigation.
@sissbruecker please let us know your thoughts. If an easy fix is not possible, I'd be willing to work with you on a PR to improve the current situation.

I'm running a custom build of the Firefox extension with pre-caching disabled now.
I agree with @maximecurioni: a default-off toggle in the extension settings seems like a good way forward.
@sissbruecker: I'm happy to put together a PR if you are okay with this approach.
It would be nice to not have to be running an extension with a scary warning banner 😄

Yeah, I'm fine with making this opt-in using an option. Personally I love that title and description are already there when I open the popup. The privacy concerns seem a bit overblown, given that this is intended to be a self-hosted app, but there's no point in arguing about it.
If someone wants to work on this, please go ahead.

@Q3x7Dvh would you like to send your custom extension changes to PR, or should we start to work on a separate effort?

IMHO this is a big issue for multi-user setups which Linkding does allow currently. I've stopped using Linkding after seeing some of my family members private search results that I was not aware at all are being persisted in the server logs.
As a side note, this feature appears to significantly increase resource usage of the service as well.

@Q3x7Dvh would you like to send your custom extension changes to PR, or should we start to work on a separate effort?

@maximecurioni, I've submitted a PR now (PR #38).

Resolved as part of https://github.com/sissbruecker/linkding-extension/pull/38

Just tested the latest extension v1.6 and it works as expected.
Thanks @sissbruecker and @Q3x7Dvh!


Problem Deserialize JsonException with Newtonsoft

Hello guys, i met a problem to deserialize JsonException (from System.Text.Json) with newtonSoft.
I can have this kind of exception when for example there is an error in a Js call supposed to return data.
I have a really surprised exception : Error: System.Runtime.Serialization.SerializationException: Member 'HelpURL' was not found.
It's surprising because i have no idea what is this property (not in my code, and the only reference i find on this HelpUrl on the .net core is on the class WarningException)
I create a really simple reproduction exemple here : https://github.com/julienGrd/BlazorBugSerializationJsonException
to reproduce :

launch the app
click on the button
-- the methode call a js code with error, it return an incompatible object with what exepcted, so a JsonException is thrown
-- On the catch, i try to serialise then deserialise exception, the error is here

I feel there is a lack of Serializable attribute on the JsonException class.
Thanks for your help !
Julien

Thanks for contacting us @julienGrd.
It looks like this is a question about how to use ASP.NET Core. While we do our best to look through all the issues filed here, to get a faster response we suggest posting your questions to StackOverflow using the asp.net-core-blazor tag.

Hello Javier, its not a question but definitively à bug. With this behavior im unable To send the exception To my controller when i run my app in client side and this type of exception happen (i want To send it To controller To log it)
There is no reason this class cant be serialised.

@julienGrd There's nothing involving Blazor here.
JsonException is a type from https://docs.microsoft.com/es-es/dotnet/api/system.text.json.jsonexception?view=netcore-3.0 and you are trying to serialize it with JSON.NET which is a third party library too.
I suggest you either ask the corefx folks or the JSON.NET folks, but ultimately you can write a JsonConverter for it as in https://www.newtonsoft.com/json/help/html/CustomJsonConverter.htm


@Override annotation is missing in pinpoint-web

@Override annotation is missing in AgentChecker, DataSourceConnectionUsageRateChecker, DeadlockChecker
I think that when you override getSmsMessage method from abstract class you should add @Override annotation

Issue close because related issues have been resolved


Sportsbook: Add USDC icons to bottom part of betslip

https://www.figma.com/file/wogMuUDylgOHgTEYhZ3jgp/Augur-Sportsbook?node-id=11045%3A9521

@mjgiannelli thank you for this, but turns out we actually don't want icons down there. Can you remove them please in another PR?


[4.2] Cherry-pick dropping @inlinable and other cleanup

This is a cherry-pick of https://github.com/apple/swift/pull/16578 and https://github.com/apple/swift/pull/16477

@swift-ci please test

@swift-ci please benchmark

@swift-ci please test compiler performance

@eeckstein, @lorentey this is a 4.2 cherry-pick of the other PRs

Build failed
Swift Test Linux Platform
Git Sha - 0d76f5b65cb6c92f04f3ece5cabfd0d88f039c49

Build comment file:
Build failed before running benchmark.

!!! Couldn't read commit file !!!

@swift-ci please test linux platform

Build failed
Swift Test Linux Platform
Git Sha - 0d76f5b65cb6c92f04f3ece5cabfd0d88f039c49

@swift-ci please test linux platform

Build failed
Swift Test Linux Platform
Git Sha - 0d76f5b65cb6c92f04f3ece5cabfd0d88f039c49

https://github.com/apple/swift/pull/16850 Included most of these. Still have the Array ones though...

@swift-ci test


Improve docs and tests for `SqlInfoList

Which issue does this PR close?
Follow on to https://github.com/apache/arrow-rs/issues/4256 from @roeap
Rationale for this change
While reviewing  https://github.com/apache/arrow-rs/issues/4256 from @roeap  I saw some things that could potentially be improved

What changes are included in this PR?
Add some updated docstrings and tests
Are there any user-facing changes?
docs

Thanks @viirya  and @roeap


merge #105 to dev

re-wrote the flash-loan-user-margin, so execute is supported.
closes #105

console testing works on myside, so for every pool (every expiry), flash loan user contract should be cloned. This seems much better to me than previous manual flash loan in each contract


useSwiper() not working....

 useSwiper()
[Vue warn]: injection "swiper" not found.

Can you link your project so I can re produce ? Thanks!

Can you link your project so I can re produce ? Thanks!

I use localhost, I just started the project.  And I wanted to customize the navigation button. But it seems to have a problem. Please check

Is your project on Github ? or can you reproduce it on stackblitz?
I need to know what the code looks like in order to debug the problem!
Thanks,
CP

You can copy your code over to this -> https://stackblitz.com/github/cpreston321/nuxt-swiper/tree/main/examples/swiper-basic?file=app.vue
Then share the link with me.

You can copy your code over to this -> https://stackblitz.com/github/cpreston321/nuxt-swiper/tree/main/examples/swiper-basic?file=app.vue
Then share the link with me.

I have the same problem.
const swiper = useSwiper();
<button @click="swiper.slideNext()">Next

You can copy your code over to this -> https://stackblitz.com/github/cpreston321/nuxt-swiper/tree/main/examples/swiper-basic?file=app.vue
Then share the link with me.

https://stackblitz.com/edit/github-lx7hky?file=app.vue

Is there any update on this?
I did exactly the same as you suggested here, but with the newest version and it's not working.


🔥 Remove ZenHub automation

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

Comparison is base (5f91d50) 98.52% compared to head (7c21e0f) 98.51%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3980      +/-   ##
==========================================
- Coverage   98.52%   98.51%   -0.01%
==========================================
  Files          47       43       -4
  Lines        4265     4037     -228
==========================================
- Hits         4202     3977     -225
+ Misses         63       60       -3

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


Sync eng/common directory with azure-sdk-tools for PR 7729

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/7729  See eng/common workflow

/check-enforcer override
Failure in client ci unrelated to powershell script change

@hallipr I've found you still have to manually merge, the sync script views the check runs as failed still.


Request: Is it possible to fire event on search box?

I want to fire an event on search box so i can submit an ajax request, is this possible?
i already check the available events on the documentation but no event for the search box.

i have same problem，slove?

https://github.com/truckingsim/Ajax-Bootstrap-Select this seems to solve this problem

Please 👍 and follow #1305.


Command line interface

Hi ! First of all thanks a lot for this awesome tool.
I'm using it to generate waveforms for some documentation. I currently have some json wave files in a directory. In order to process them with latex, I need pdf. I can easily go from svg to pdf (which is great because everything is vector) with inkscape. The only thing I can't automate is the export of json to svg. I currently open the editor and click "export svg".
Hence my question : would it be possible to imagine a command line interface doing something like this ?
./wavedrom --in wave.json --export-svg --out wave.svg
Thanks for your time !

I am waiting this feature to be able to create svg for documentations

I have created CLI version of wavedrom here: https://github.com/wavedrom/wavedrom/releases/tag/v2.1.2
For help:
node wavedrom.js --help

To generate SVG file from JSON5 file.
node wavedrom.js -i mysignal.json5 > mysignal.svg

Please try.

In general these command line interfaces work fine. I have tested on armhf and aarch64. The main concern is the performance; suppose we have a long waveform the render, it can takes 6 seconds to render something like:
clock = {'signal': [{'name': 'clock_0', 'wave': 'hlhlhlhlhlhlhlhl'*20}]*4,
                 'foot': {'tock': 1},
                 'head': {'text': 'Clock Signal'}}

This is only 320 samples with 4 channels. I did some extensive tests; it may take 15 seconds to render 1000 samples.

wavedrom was not designed for the rendering of long simulation traces.
I have started another project for that https://github.com/wavedrom/zoom

@drom  This is awesome. Do you have any example/ instructions on how to use zoom?


Feat/account methods (#82)

Describe your changes

This PR aims to refactor and improve Account interface. More details will be added later.
Linked issues

#108 #96 #85
Breaking changes
[x] This issue contains breaking changes

Codecov Report

Merging #109 (539870f) into main (9f02e86) will increase coverage by 1.05%.
The diff coverage is 58.33%.

@@            Coverage Diff             @@
##             main     #109      +/-   ##
==========================================
+ Coverage   59.03%   60.09%   +1.05%
==========================================
  Files          41       43       +2
  Lines         957     1065     +108
  Branches       68       65       -3
==========================================
+ Hits          565      640      +75
- Misses        377      404      +27
- Partials       15       21       +6

Impacted Files
Coverage Δ

...swmansion/starknet/provider/rpc/JsonRpcProvider.kt
67.46% <0.00%> (-10.91%)
:arrow_down:

...lin/com/swmansion/starknet/data/types/Execution.kt
68.65% <10.52%> (-23.35%)
:arrow_down:

...on/starknet/data/types/transactions/Transaction.kt
55.68% <47.36%> (+9.09%)
:arrow_up:

...erializers/EstimateFeeResponseGatewaySerializer.kt
52.94% <52.94%> (ø)

...lin/com/swmansion/starknet/data/types/Responses.kt
42.30% <71.42%> (+10.72%)
:arrow_up:

...n/kotlin/com/swmansion/starknet/account/Account.kt
85.71% <83.33%> (-14.29%)
:arrow_down:

.../com/swmansion/starknet/account/StandardAccount.kt
90.69% <84.61%> (-9.31%)
:arrow_down:

...nsion/starknet/provider/gateway/GatewayProvider.kt
86.07% <84.61%> (-0.79%)
:arrow_down:

...n/kotlin/com/swmansion/starknet/crypto/FeeUtils.kt
100.00% <100.00%> (ø)

...knet/data/types/transactions/TransactionPayload.kt
100.00% <100.00%> (+5.00%)
:arrow_up:

... and 7 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Preset/field additions: ssid lunch mirror outdoor_seating terms

I could split it even further if you think it is still too big.
Support handling of some common fields:

internet_access:ssid
lunch
outdoor_seating

New preset:

highway=traffic_mirror

Extend search terms:

amenity=pub
amenity=hunting_stand
man_made=surveillance

If you adding "alpr" then you need to add "anpr" as it more commonly known: https://en.wikipedia.org/wiki/Automatic_number_plate_recognition

@boothym Thanks for the suggestion, I've added some more variants and rebased to master.

Thanks @bkil I merged most of these just now, and added the new internet access and outdoor seating fields to a lot of related presets.
I still don't think lunch is a useful tag, so lets skip that one for now.  It's a bigger lift, but I'd prefer to build a better way for people to tag opening hours.
9dfdf09 Add internet_access, outdoor_seating to presets that might use them
94a546c data/presets/presets/highway/traffic_mirror.json: new
504ed75 data/presets/presets/man_made/surveillance.json: add search terms
a0128e8 data/presets/presets/amenity/pub.json: add search terms
2b44f9e data/presets/presets/amenity/hunting_stand.json: add search terms
ed2f693 data/presets/fields/outdoor_seating.json: new (for pub, restaurant, ...)
53e2fff data/presets/fields/internet_access/ssid.json: new

I have clarified what lunch means:
https://wiki.openstreetmap.org/wiki/Key:lunch
Thanks.


3D Effect

https://github.com/exeldro/obs-3d-effect

Branch ready for submitting as a pull request

https://github.com/flexiondotorg/nixpkgs/tree/obs-3d-effect

Result of `nixpkgs-review` run on x86_64-linux [1](https://github.com/Mic92/nixpkgs-review)

  1 package built:

obs-studio-plugins.obs-3d-effect

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


merge in exa?

i noticed that ls is still marked as partially done
just wanted to point out this other cool rust project: github.com/ogham/exa
i was thinking it would be the perfect candidate to merge

I don’t think merging it in would work, but using small parts of it should be fine.


No green lights for me, need more testimonies !
Maybe is it your graphical configuration ? Can you try with directx instead of openal for example ? with and without shaders ? with and without other important graphical parameters ?

This is due to the use of texture interpolation. For the same reason the borders of that torch are black, the pixels around the used areas on the chicken's texture happen to be green and "bleed" on the neighbouring pixels, causing this effect. Fixing would be easy: just add a same-coloured pixel margin around the texture.

Ok, if it's the problem source, prefer a "black" background, the chicken has a black and a white texture, and in my point of view it's better if we see small black parts on the white texture

the glitch is directly linked with the normal-mapping. I de-activated it to avoid the issue

Fixing would be easy: just add a same-coloured pixel margin around the texture.

But then Minetest would consider this margin as a part of the texture, and use it for the edges of the texture, wouldn't it? And the margin's borders, pixels would bleed over them again?
I think, knowing this is a graphical glitch, that we don't have a proper solution for this...

@LeMagnesium
Anyway, we need to test it, if it doesn't work, It's a Minetest core related problem (again :p)...

Tested and couldn't reproduce on my laptop.

@LeMagnesium Can you give us your texture file ?
Someone else can test this file ?

I meant that I just used the code and textures currently in the repository, with different graphical settings, and couldn't get any similar bug. I've seen bleeding colours already with bumbmapping but it doesn't happen with white chickens.

And if, and if... the problem was the OPENGL version used by @Cyberpangolin on his client version ?
@Cyberpangolin you didn't answer me when i ask you the question about a test with DirectX option instead of OpenGL option in your client configuration, can you answer me please ?

Up @Cyberpangolin ^

Maybe @sct-0 would be interested in posting a picture of the chicken model she made :)

I made a chicken based on Simple Mobs (on which Mobs Redo is based) and the texture goes over the border. As far as I could see, what @LeMagnesium described does not happen, the border is just cut off.
@fabienwang You want it, you get it.
(Texture will be redone in several chicken-typical colours.)

Thank you for your proposal @sct-0 but your model/texture is different from our model/texture, so this is not a good solution for us...
The green problem seems to be a graphic configuration problem and didn't seems to be a model/texture problem.
I closed this issue, but i will open an issue upstream to minetest engine, this green bug on this model still a strange thing... and it's clearly minetest engine related


Add contributors to home page

this PR conflicts with #332
things this PR does:

rename DEV to MAINTAINER and change the text to "SkyCrypt Maintainer"
add HOST role with icon mdi-dns-outline and text "SkyCrypt Facilitator"
add CONTRIBUTOR role with icon mdi-source-pull and text "SkyCrypt Contributor"
add @LeaPhant, @nstringham, and @dukio to the homepage
change @Shiiyu to a HOST
optimize and refactor various things related to profiles on the home page

I would like approval from @dukio and @Shiiyu before this PR gets merged in addition to the normal developer review process

ok dukio, lea, and shiiyu all seam to be happy with the changes here so I'm ready to have this merged

poggers


Implement WaitOperation of dockerIMType

This PR is needed to support using cvdr host create and cvdr host delete.

It looks like every API(at least APIs which we use) is synchronous, so I think we don't need to wait in "wait", every job is done when the method returns result.

I think implementing WaitOperation like current is required to satisfy the definition of API & support cvdr host commands. However, I agree with you to set response of createhost or deletehost as Done:true if they're all synchronous.
I'll check tomorrow as well if they're synchronous, and change Done value from false to true if it is.


WebContainer Is Invoking '@angular/core' Error

Describe the bug
WebContainer Invoking "Cannot find module '@angular/core' or its corresponding type declarations.(2307)"
Link to the blitz that caused the error
https://stackblitz.com/edit/angular-whm3lo-uk4vzn?file=src%2Fapp%2Fproduct-list%2Fproduct-list.component.html
Steps to reproduce

Go To https://angular.io/start
Navigate to "ready-made sample project in StackBlitz" link given in the Create the sample project.
Angular component giving below error:

Expected behavior
Angular component should render in the sample project.
Parity with Local

[ ] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Chrome
Full version  = 97.0.4692.71
Major version = 97
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
performance.memory = {
  "totalJSHeapSize": 91279973,
  "usedJSHeapSize": 83290393,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = d4ed89204e54de5c40d109298317e6dc4d60aef7

Additional context
No response

Hi @jiten4tune 👋 !
It's actually expected behaviour. Wait until the packages got installed (like @angular/core) so the editor can pick up the type definitions.

Unless I miss something here?

Hi Mr. Sam,
Thanks for your reply. You are right and Its working fine now. Actually, it
was taking time to installing the package. Thanks for your time.
Regards,
Jitender
On Thu 20 Jan, 2022, 9:34 PM Sam Verschueren, @.***>
wrote:

Hi @jiten4tune https://github.com/jiten4tune 👋 !
It's actually expected behaviour. Wait until the packages got installed
(like @angular/core) so the editor can pick up the type definitions.
[image: image]
https://user-images.githubusercontent.com/1913805/150375828-6155feb2-628c-45b4-bbc2-7691661bb6d1.png
Unless I miss something here?
—
Reply to this email directly, view it on GitHub
https://github.com/stackblitz/webcontainer-core/issues/547#issuecomment-1017661205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXHO3WD2RGH3Q3WAQKIIEDTUXAXBTANCNFSM5MEULSKQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Awesome. Thanks for letting us know and don't hesitate to create a new issue if you run into something else.


Textures stop copying with distortion enabled on SOME android devices

Apologies for the vague title, but making a note of this before I forget.
I have a unity plugin which writes to textures (texture2d and rendertextures) every frame. (Pixel uploads and FBO writes)
My opengl work is done via a normal gl.IssuePLuginEvent callback (which is being called)
With distortion enabled these textures stop getting written to (no errors from opengl on my end, nor anywhere else), I get the first frame, but that's all.
I can toggle the stereo effect fine, but distortion breaks it.
Enabling multithreaded rendering (a known issue) doesn't render my geometry at all, so I'm not sure if that affects it.
Samsung Note4's seem to be fine, Sony Z1 compact has this issue.
I have not replicated this issue with any other plugins or GL state settings.
Is there [unobfuscated] source, or can someone tell me what the EnableDistortion does in regards to the opengl state?
Using opengl ES 3.

The Cardboard SDK also uses GL.IssuePluginEvent() to jump into native code for distortion correction, so it looks like both your plugin and the Cardboard SDK are supplying a native UnityRenderEvent() function.  In that case, I'm not sure which one Unity will call from GL.IssuePluginEvent (first native library loaded wins?), and I'm actually surprised it works on any phone.
If you are certain your native function is being called by GL.IssuePluginEvent(), then you can get the SDK to handle distortion entirely in Unity as follows.  Edit BaseCardboardDevice.cs in Assets/Cardboard/Scripts/VRDevices, and make the following changes:

Set debugDisableNativeDistortionCorrection = true
Set debugDisableNativeUILayer = true
In PostRender(), remove or comment out the entire if (vrMode) { ... } block

It calls the function for all libraries (I worked at unity, I know how it
works internally, it's easy for external libs, much more awkward on static
linked iOS projects  :)
I have a unique id and ignore other plugins' plugin events. (If the
cardboard sdk doesn't have a unique IssuePluginEvent id I'd highly
recommend one)
IIRC the first loaded lib is called first, but that order, I can't
remember. The important thing is that they ARE all called.
I'll try this in the morning... Can you elaborate at all on what the Google
lib does when distortion is enabled? I assume it must change a state I
don't handle. PluginEvent work is still synchronous on the render thread
(in the cardboard sdk case this obviously has to be on the main thread), so
something must be change in the state that possibly I can revert?
On Thursday, August 27, 2015, smdol<EMAIL_ADDRESS>wrote:

The Cardboard SDK also uses GL.IssuePluginEvent() to jump into native code
for distortion correction, so it looks like both your plugin and the
Cardboard SDK are supplying a native UnityRenderEvent() function. In that
case, I'm not sure which one Unity will call from GL.IssuePluginEvent
(first native library loaded wins?), and I'm actually surprised it works on
any phone.
If you are certain your native function is being called by
GL.IssuePluginEvent(), then you can get the SDK to handle distortion
entirely in Unity as follows. Edit BaseCardboardDevice.cs in
Assets/Cardboard/Scripts/VRDevices, and make the following changes:

Set debugDisableNativeDistortionCorrection = true
Set debugDisableNativeUILayer = true
In PostRender(), remove or comment out the entire if (vrMode) {
... } block

—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/cardboard-unity/issues/72#issuecomment-135574045
.

--

Graham Reeves
http://www.grahamreeves.com/

Ah, I was beginning to suspect from your post that Unity might be calling all the UnityRenderEvent functions.  Definitely will take your suggestion for using a unique id.
Anyway, the Cardboard native distortion code is given the GL texture id of the RenderTexture that was used to render the scene.  It just renders a mesh with a shader sampling that texture with a barrel distortion applied to the coordinates, once for each eye.  It also draws the vertical line between the eyes.  The code does try to save and restore GL state while doing this, but I don't personally know how extensive that is.

Oh it does call all the render event functions, (in this case, 3 are called)
You say one for each eye... But there are two seperate camera.renders
(which stall the main thread but that's a seperate problem)
Are the distortion meshes rendered once per IssuePluginEvent ?
I'm thinking out loud now, but does it change the... glActiveTexture?
That's something I don't explicitly set
Is there any chance I can see the code inside the compiled libs?
On Thursday, August 27, 2015, smdol<EMAIL_ADDRESS>wrote:

Ah, I was beginning to suspect from your post that Unity might be calling
all the UnityRenderEvent functions. Definitely will take your
suggestion for using a unique id.
Anyway, the Cardboard native distortion code is given the GL texture id of
the RenderTexture that was used to render the scene. It just renders a mesh
with a shader sampling that texture with a barrel distortion applied to the
coordinates, once for each eye. It also draws the vertical line between the
eyes. The code does try to save and restore GL state while doing this, but
I don't personally know how extensive that is.
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/cardboard-unity/issues/72#issuecomment-135576574
.

--

Graham Reeves
http://www.grahamreeves.com/

(Definitely like to follow up with you about that main thread being stalled...)
The two eye cameras are rendered into a single RenderTexture, side by side.  That texture's id has been passed to the native code during an init phase.  There's only one GL.IssuePluginEvent() call per frame in the SDK, and the native code it jumps into renders the distortion mesh twice, once for each eye, to the screen.  I don't think it changes glActiveTexture but I'm not absolutely certain.
As for seeing the code, it hasn't been open sourced.  If/when that happens (hopefully "when" where "when" == "soon", but that's just my personal feeling)...

Even a list of gl calls would be handy (I've not figured out how to get
that from android yet... But a generic tool recommendation would be very
well received)
I'm drunk and off to bed now, will try a few things in the morning.
feel free to mail me about the main thread stall, but mosu it's just that
camera.render stalls the main thread until the render thread is done(gl
thread acquire/sync in the unity code): I've tried loads of things
(delegates deffered until the render thread, putting cardboard scripts last
in the processing list) to get around it, but I think it's just not been
thought about in the unity pipeline.
And REALLY only applies to multithreaded rendering anyway.
My work around was to make the split-view render something not based around
camera.render, but as soon as you start fiddling with the culling you're
just emulating unity's native VR work.
Off topic now, I'll reply to this thread if I find any thing.
On Friday, August 28, 2015, smdol<EMAIL_ADDRESS>wrote:

(Definitely like to follow up with you about that main thread being
stalled...)
The two eye cameras are rendered into a single RenderTexture, side by
side. That texture's id has been passed to the native code during an init
phase. There's only one GL.IssuePluginEvent() call per frame in the SDK,
and the native code it jumps into renders the distortion mesh twice, once
for each eye, to the screen. I don't think it changes glActiveTexture but
I'm not absolutely certain.
As for seeing the code, it hasn't been open sourced. If/when that happens
(hopefully "when" where "when" == "soon", but that's just my personal
feeling)...
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/cardboard-unity/issues/72#issuecomment-135579961
.

--

Graham Reeves
http://www.grahamreeves.com/

I read a great suggestion on a blog post somewhere:  if you run on a Tegra-based Android device, you can use PerfHud to grab all the gl calls.
On iOS, you can do this right in Xcode.  The Unity gl pipeline might be different on iOS (make sure it doesn't use Metal), but the Cardboard SDK gl calls should be the same as on Android.

Ah, that's good to know!
I doubt it needs any specific extensions too. I'll do that.
Just to reiterate for any readers, doesn't happen on every android device,
so just another quirk to work around. (Nothing's changed in 17 years ;)
On Friday, August 28, 2015, smdol<EMAIL_ADDRESS>wrote:

I read a great suggestion on a blog post somewhere: if you run on a
Tegra-based Android device, you can use PerfHud to grab all the gl calls.
On iOS, you can do this right in Xcode. The Unity gl pipeline might be
different on iOS (make sure it doesn't use Metal), but the Cardboard SDK gl
calls should be the same as on Android.
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/cardboard-unity/issues/72#issuecomment-135583691
.

--

Graham Reeves
http://www.grahamreeves.com/

It looks like glActiveTexture is being set, but the code saves and restores it.

@SoylentGraham Question:  Does Graphics.DrawMeshNow() cause any performance hiccups if used in an OnPostRender() method?

This issue has been fixed with the native Unity distortion pass.


If an empty array is passed, then print just a single default image

@SUI-Components/developers please review.
Now if an empty array is passed as images prop, then it will render a lazy-load (if set) and an image with the default image src.

Cancelling PR since there's a feature it does not work properly.


map(object) performance could be improved

http://goo.gl/CIbMkr
I get 0.4 in Chrome ; 0.55 in Firefox.

I would have no problem at all adding that optimization.

Did an awful mistake in the initial script. numbers + link updated.

Couple of notes:

This turned out during a profiling I did for a project that uses applySpec (which calls map) extensively. I think that at least in V8 some of the overhead is a result of very short-lived XWrap objects GC collecting in _reduce. The other issue is that the object is looped twice (keys, _reduce).
It's not just map. This pattern is repeating in few other functions (e.g. filter, mapObjIndexed).


Serde or API for Jsonpath queries

Is it possible to implement traits Serialization and Deserialization?
If it difficult may be provide API to inner jsonpath query that stored in MainEngine?

Do you mean serializing and deserializing the MainEngine?
So the MainEngine consists of the Automaton, which is the compiled query, and the SimdConfiguration.

The SimdConfiguration is not something one should serialize since it's not portable by design, it contains the SIMD capabilities of the host CPU.
The Automaton can be serialized, most likely automatically derived by serde-derive.

So to serialize one would serialize only the Automaton; and for deserialize one would deserialize the Automaton and use simd::configure() to get a new configuration applicable to the host CPU.
Support for serialization must be behind a new serde optional feature though, to not bloat dependencies unnecessarily. It will have to reach rsonpath-syntax as well (to serialize JsonUInt and JsonString and such). At that point it's probably worth to make the entire JsonPathQuery serializable.
I'd expect some basic proptests to make sure serialization round-trips. Could you tell me what format you're planning on serializing into?

One more thing is versioning – we don't expect the Automaton to be binary-compatible between different versions of rsonpath so serialization needs to save an additional version tag. We'll need a snapshot test that will tell us when the binary payload changes.

We use engine like this: we convert paths from Vec<String> to Vec<RsonpathEngine>
let paths: Vec<String> = vec![
    "$.personal.details.contact.information.phones.home".to_string(),
    "$.personal.details.contact.information.phones.office".to_string(),
];
let engines: Vec<RsonpathEngine> = paths
    .iter()
    .map(|path| {
        let a = Automaton::new(&rsonpath_syntax::parse(path).unwrap()).unwrap();
        RsonpathEngine::from_compiled_query(a)
    })
    .collect();

And I thought it would be a good idea. Deserialize engine from jsonpath, and serialize to path.
But maybe I'm missing something. And this view is one narrow use case among many. Then good way will be provide API just about jsonpathquery ($.personal.details.contact.information.phones.home). I will implement Serialize/Deserialize for my own wrapper using this information.

I realize in your code:
main.rs
impl MainEngine {
    pub fn get_jsonpath_strings(&self) -> Vec<String> {
        self.automaton.get_jsonpath_strings()
    }
}

automation.rs
    #[must_use]
    #[inline(always)]
    pub fn get_jsonpath_strings(&self) -> Vec<String> {
        let mut result = Vec::new();
        for state in self.states.iter() {
            for (pattern, _) in state.member_transitions.iter() {
                result.push(std::str::from_utf8(pattern.unquoted()).unwrap().to_string());
            }
        }
        result
    }

I don't like it, it's not obvious what this function would do for more complex queries. Does $['a', 'b'] return ["a", "b"]? What about nested stuff with filters, like:
$.a[<EMAIL_ADDRESS>
Is the semantics literally "return the labels from left to right as in the query"? That sounds like a syntactic property, and the Automaton doesn't need to preserve those.
For syntactic properties you have the JsonPathQuery. If you pass it along with the engine you can do this:
use rsonpath_syntax::prelude::*;

let paths = vec![
    "$.personal.details.contact.information.phones.home".to_string(),
    "$.personal.details.contact.information.phones.office".to_string(),
];
let engines: Vec<(JsonPathQuery, RsonpathEngine)> = paths
    .iter()
    .map(|path| {
        let q = rsonpath_syntax::parse(path).unwrap();
        let e = RsonpathEngine::compile_query(&q).unwrap();
        (q, e)
    })
    .collect();

let s: Vec<&str> = engines[0]
    .0
    .segments()
    .iter()
    .filter_map(|s| match s {
        Segment::Child(ss) => match ss.first() {
            Selector::Name(str) => Some(str.unquoted()),
            _ => None,
        },
        _ => None,
    })
    .collect();
println!("{:?}", s);

["personal", "details", "contact", "information", "phones", "home"]

If something like this is useful we could add it to the rsonpath-syntax public API as a left-to-right gathering of all JsonStrings in the query. But it doesn't fit into a method on the engine as that one has no responsibility to preserve the syntax.

@V0ldek in https://github.com/rsonquery/rsonpath/pull/625 i make more natural function name.
I use natural names literally as in code

Or may be rename to quoted_string_patterns

Okay, so continuing the discussion on serialization/deserialization, I can implement it easily. If you could please tell me what target format will you plan to use so that I can add snapshot tests specifically for that it'd be nice.

Let me tell you how we use it.
All we need is from jsonpathquery compile and match incoming json.
We store jsonpath as parameter config yaml
jsonpath:
  - $.phones.home
  - $.phones.office

And then we check incoming JSON if is matched or not.
Thats why I need to serialize/deserialize to something that looks like jsonpath.

I think you can implement serialize / deserialize as you see fit.
For my tasks i wrote wrapper around Engine and store original jsonpathquery in the string =)

This was released in 0.9.4.


fix: handle nil pointer exception in chat_prompt_template

There may be situation where promptValue is nil which will cause panic while accessing promptValue.Messages()
func (p ChatPromptTemplate) FormatMessages(values map[string]any) ([]llms.ChatMessage, error) {
	promptValue, err := p.FormatPrompt(values)
	if promptValue == nil {
		return nil, err
	}
	return promptValue.Messages(), err
}

PR Checklist

[x] Read the Contributing documentation.
[x] Read the Code of conduct documentation.
[x] Name your Pull Request title clearly, concisely, and prefixed with the name of the primarily affected package you changed according to Good commit messages (such as memory: add interfaces for X, Y or util: add whizzbang helpers).
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. Fixes #123).
[ ] Describes the source of new concepts.
[ ] References existing implementations as appropriate.
[ ] Contains test coverage for new functions.
[ ] Passes all golangci-lint checks.

@tmc Can you please review this small bug fix. Thank you!


Missing "authtype" and "authid" for "on_document_written_with_auth_context" trigger functions in emulators

Pretty much what the title says. The authid and authtype fields are present for all the other on_document_<...>_with_auth_context functions but are missing for on_document_written_with_auth_context
This might be an issue with the emulators themselves, if so please let me know and I'll post it to the relevant issue tracker.

Hello @andreas-thomik. Is this only reproducible with emulators?

Honestly not tested since #207 makes the _with_auth_context functions useless at the moment but I'll try a minimal setup later tonight and will report back.

@exaby73 I can confirm that this happens for both emulators and live functions.
Here's a minimal example to reproduce:
import logging

import firebase_functions.firestore_fn
from firebase_functions.firestore_fn import (
    AuthEvent,
    Change,
    DocumentSnapshot,
    _firestore_endpoint_handler,
    on_document_created_with_auth_context,
    on_document_written_with_auth_context,
)

logger = logging.getLogger()

def _inspect_endpoint_handler(*args, **kwargs):
    logger.warning("Args: %s", args)
    logger.warning("Kwargs: %s", kwargs)

    return _firestore_endpoint_handler(*args, **kwargs)

firebase_functions.firestore_fn._firestore_endpoint_handler = (
    _inspect_endpoint_handler
)

@on_document_written_with_auth_context(document="tests/{docId}")
def test_doc_written(event: AuthEvent[Change[DocumentSnapshot | None]]):
    return event

@on_document_created_with_auth_context(document="tests/{docId}")
def test_doc_created(event: AuthEvent[DocumentSnapshot]):
    return event

The actual parameters sent to _firestore_endpoint_handler can be seen in the logs, here's a (slightly redacted) copy of mine:
Logs for on_document_written_with_auth_context
{
  "attributes": {
    "specversion": "1.0",
    "id": "...",
    "source": "//firestore.googleapis.com/projects/MY-PROJECT/databases/(default)",
    "type": "google.cloud.firestore.document.v1.written",
    "datacontenttype": "application/protobuf",
    "dataschema": "https://github.com/googleapis/google-cloudevents/blob/main/proto/google/events/cloud/firestore/v1/data.proto",
    "subject": "documents/tests/LmbRywPwqsWgVJmG4JNe",
    "time": "2024-07-01T19:24:45.860351Z",
    "namespace": "(default)",
    "document": "tests/LmbRywPwqsWgVJmG4JNe",
    "location": "europe-west6",
    "database": "(default)",
    "project": "MY-PROJECT"
  },
  "data": "..."
}

Compare this with the logs for on_document_created_with_auth_context:
{
  "attributes": {
    "specversion": "1.0",
    "id": "...",
    "source": "//firestore.googleapis.com/projects/MY-PROJECT/databases/(default)",
    "type": "google.cloud.firestore.document.v1.created.withAuthContext",
    "datacontenttype": "application/protobuf",
    "dataschema": "https://github.com/googleapis/google-cloudevents/blob/main/proto/google/events/cloud/firestore/v1/data.proto",
    "subject": "documents/tests/LmbRywPwqsWgVJmG4JNe",
    "time": "2024-07-01T19:24:45.860351Z",
    "location": "europe-west6",
    "namespace": "(default)",
    "document": "tests/LmbRywPwqsWgVJmG4JNe",
    "authtype": "unknown",
    "project": "MY-PROJECT",
    "database": "(default)",
    "authid": "MY-EMAIL"
  },
  "data": "..."
}

This seems to be an upstream issue. I've raised this forward. I'll get back to you soon on an update on this issue

For context, seems to be a similar issue on the Node SDK as well (https://github.com/firebase/firebase-functions/issues/1582)

Should be fixed by https://github.com/firebase/firebase-functions-python/pull/214 and a release should go out soon


Way to reset the store

Hi @HarishJangra,
Thank you so much for your great work !
I like this project structure.
But I would like to inform you about a little issue during the logout process.
Indeed, after do logout action, I need that the store must be reset.
To achieve this, I do this following within :

the ConfigureStore.js file, I'v added this following in the createStore :

setState: action((state, payload) => payload)

the AppContext.js file, in _logoutUser action :

const _logoutUser = useCallback(async () => {
    const reset = resetLoginCredentials();

    if (reset) {
      // do logout

      // UPDATE HERE !
      // reset the store
      const initialState = StoreService.getState();
      initialState.auth.appstate = APP_STATE.PUBLIC;
      StoreService.dispatch.setState(initialState);
    }
  }, []);

Checks out this post for more information.
I don't know if this is the best way to achieve this.
I hope this help somebody !
Bye ! :smile:

Well thanks for asking. But i am doing like this in store initialization here
//used for resetting store
let initialState = {};

const createStore = () => {
  apiClient = Api.createApiClient();

  // you can use apiclient as injections in store or like this only
  store = ConfigureStore(
    {
      ...model,
      reset: action(state => ({
        ...initialState,
      })),
    },
    apiClient,
  );
  //set initial state to store's state
  initialState = store.getState();
//....
return store;
};

// 👇 Kickoff our StoreCreater and store instance

Oh great, it's a better way like this.
Thank you @HarishJangra !

Also you can import reset as
 const resetStore = useStoreActions(actions => actions.reset);

///and call
resetStore();

How can i import this action reset inside checklogin thunk on my Login model?  i've tried yours above, but it returns promise rejection. Any solution?

@rajinpangkalpundai  you can get a function getStoreActions in thunk see here
and call it like
getStoreActions().reset() //thats all

Thank

@rajinpangkalpundai you can get a function getStoreActions in thunk see here
and call it like
getStoreActions().reset() //thats all

Thanks for your reply, it worked. now, i got another question, how do i reset states from certain model (not all state) ?

You need to check easy-peasy documentation for detailed  information.

Thanks for your reply, it worked. now, i got another question, how do i reset states from certain model (not all state) ?


create class room

First draft was created in session on 02.11. --> https://github.com/ZDDduesseldorf/zdd-adventure/commit/b92007488f898a9eca45d2568ef53a166ea565a4
But --> complicated to add interactive story elements
To start coding the different rooms I would suggest to ignore the Room class (at least for now).
Better use simple functions to build the first rooms!
def room_basement_1(game):
    print("some story")
    player_choice = game.make_choice(choices)
    if player_choice == 1:
        pass
    else:
        pass

By having access to game (or player) the function has access to the inventory. By adding .visited_rooms to the Game class, the function could also see if the room is visited for the first time or not.


Create requirements / README just like isobib

Index: http://www.gb688.cn/bzgk/gb/index

the index page for Chinese GB standards.

Single standard: e.g., http://www.gb688.cn/bzgk/gb/newGbInfo?hcno=3EE019B0135404CE790692FAF5E6A85E

Includes the following data:

Standard number: GB/T 35890-2018

Chinese title: "高通量测序数据序列格式规范"

English title: "Technical specification of high throughput sequencing data format"

CCS (Chinese Classification System): "A40"

ICS: "07.080"

Publishing Date: "2018-02-06"

Activation Date: "2018-09-01"

Managing Entity: 国家标准化管理委员会

Authoritative Entity: 全国生化检测标准化技术委员会

Publishing Entity(ies): 中华人民共和国国家质量监督检验检疫总局 and 中国国家标准化管理委员会

"GB/T" means "Recommended standard"
"GB/Z" means "Guidelines"
"GB" means "Mandatory standard"

See https://github.com/riboseinc/gbdoc for model details.

Actually we should use this newer platform that provides more information:
http://www.std.gov.cn/gb/search/gbDetailed?id=64852AEA5AE5F437E05397BE0A0A3540

@andrew2net could you help update the README to explain how to use this gem? Thanks.


[BUG] Save Game filter buttons stopped working

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
No response
Expected Behavior
Save game compare filter buttons appear non-functional in some circumstances

Steps To Reproduce
No response
Environment
- Mod Assistant Version: current
- OS: Win 11
- Virtualized: No

Anything else?
No response

fixed somewhere, or unable to reproduce


Getting error when trying to run docker-compose on Ubuntu 16.04

One a fresh Ubuntu 16.04 VM, after installing Docker via this role (with all defaults), I'm getting:
$ docker-compose up
ERROR: Dependency conflict: an older version of the 'docker-py' package is polluting the namespace. Run the following command to remedy the issue:
pip uninstall docker docker-py; pip install docker

See related issue in the SaltStack queue: https://github.com/saltstack/salt/issues/39216

And as an aside, simply running sudo pip uninstall docker docker-py; sudo pip install docker (or running as root user instead of using sudo) fixes the problem—afterwards, docker-compose up (as long as your user is in the docker group!) works correctly.

I just noticed the pip_install_docker_py variable... that might be all I need.

Confirmed, this worked for me:
-
   hosts: all
   remote_user: vagrant
   sudo: true
   roles:
     - role: angstwad.docker_ubuntu
       docker_group_members: [ "{{ remote_user }}" ]
       pip_install_docker_py: false

vagrant@vagrant-ubuntu-trusty-64:~$ docker-compose --version
docker-compose version 1.11.0, build 6de1806
vagrant@vagrant-ubuntu-trusty-64:~$ docker --version
Docker version 1.13.1, build 092cba3

So based on your experience here, should I default to not installing docker-py on 16.04?

@angstwad - Yeah, that looks to be the fix!

@angstwad This fixes docker-compose, but breaks docker_container on Ansible tip.


Add LICENSE, CODE_OF_CONDUCT and CONTRIBUTING

This PR adds the standard Spine LICENSE, CODE_OF_CONDUCT, and CONTRIBUTING files to the repository.
As part of the PR, all the disclaimers in the existing source files are updated to the new standard (see https://github.com/SpineEventEngine/config/issues/155 for details).

@armiol PTAL.