Document boosting

Related product team resources: PRD (internal only)
Related spec: WIP
Motivation

Add Promoting and boosting features to cater for e-commerce use cases and close the competitor gap.
Usage

Refer to: https://www.notion.so/meilisearch/Document-boosting-API-usage-20aae06bc85e41dba828a90331a69f2c
TODO

[ ] Define scope of implementation
[ ] Release a prototype
[ ] If prototype validated, merge changes into main
[ ] Update the spec

Impacted teams

@meilisearch/docs-team @meilisearch/integration-team

Sorry, not possible for v1.6.0, other priorities have been done.
I remove it from the milestone

Is this something that will be similar to 'Function scoring' in ElasticSearch[1]? If not, I think you should consider it.
It's a powerful primitive that solves many types of problems in search:

"Advanced Rank/Sort"
"Scored Filter"
"Field Weighting"
"Promoting documents"

To give some concrete use-cases of the above:

Rank nearby restaurants/hotels/etc higher
Rank old records (or new records) higher
Reddit-style tradeoff, recency vs. many votes
Leniency in price-range queries (show some things outside the range, but only when they are close; taper heavily for those far outside)

It's one of those foundational features that will solve a lot of "long-tail problems".
When you are planning the roadmap, sometimes it's better to build one slightly larger feature that solves 10+ "smaller requests", than building 10 smaller features to solve individual problems.
[1] https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html
cc @curquiza @Kerollmops

Hello @sandstrom,

Is this something that will be similar to 'Function scoring' in ElasticSearch[1]? If not, I think you should consider it.

It is not the same. Meilisearch isn't a score-based search engine but rather a bucket-sort-based one. It doesn't rely on a global score by document to determine the order of the document but rather on buckets spilling into other smaller buckets. This algorithm is helpful when each ranking rule has a different level of importance.
However, thanks to the Score Details feature, Meilisearch can output a global ranking score as a simple number. Our Hybrid Search system uses it to rank documents using the semantic similarity score (a number) and the keyword search score.

To give some concrete use-cases of the above [..]

It is already possible to Rank nearby restaurants/hotels/etc higher with the Geo Sort feature. You can already sort documents by asc/desc creation date with the Search-side Sort or Ranking Rule Sort features.
Regarding the Reddit-style tradeoff, recency vs. many votes I agree that it is currently impossible without updating the documents regularly. However, even with the Elasticsearch Function Scoring feature, the document score depends on an external $now timestamp parameter to compute the final score. The formula should be something like that: doc.upvotes / ($now - doc.date) * magicScaling 🤔
About the Leniency in price-range queries I understand the use case of showing documents that are outside of a filtered range but not too far from the original range given. However, wouldn't it be possible to increase the range slightly? This way, it shows more documents, and you decide on the distance gap. There is currently no way to do conditional filtering, and this feature will evolve that way. We first want to be able to apply filtering based on the query content: add specific documents in certain conditions...

When you are planning the roadmap, sometimes it's better to build one slightly larger feature that solves 10+ "smaller requests", than building 10 smaller features to solve individual problems.

Thank you for your insights and have a great day 🍥

Thanks @Kerollmops for an extensive answer!
To be more specific, the main thing we are missing is some kind of decay functionality (in our case based on time, but could likely be a numerical value for others).
We currently use Elastic Search Decay Function Scores. See query below.
Having to run a scheduled job every day, to calculate e.g. ($now - doc.date) * magicScaling ), iterate over all docs (hundreds of thousands?) and store it as a property on each doc, seems like a needlessly complicated step, instead of having that computed at query-time.
There also isn't an atomic update-all document REST endpoint available, afaik.
But maybe there is an inherent restriction in the bucket vs. score-based engine, that makes this very difficult or impossible?
// if you are curious, this is the ElasticSearch query we are using today

query_body = {
  'query' => {
    'bool' => {
      'must' => [{
        'function_score' => {
          'query' => {
            'multi_match' => {
              'query' => query,
              'type' => 'cross_fields',
              'fields' => ['title', 'reference', 'user'],
              'operator' => 'and',
            },
          },
          'functions' => [{
            # reduce score for older reports with exponential decay
            'exp' => {
              'submitted_at' => {
                'origin' => Time.now,
                'offset' => '30d', # no score reduction (i.e. modifier = 1.0) within 30 days
                'scale' => '730d', # 2 year falloff until `decay` value
                'decay' => 0.5, # modifier at `offset`+`scale`, i.e. 2y+30d old => modifier = 0.5
              },
            },
          }],
          'score_mode' => 'multiply', # multiply score modifier values for final score
        },
      }],
      'filter' => {
        'bool' => {
          'must' => [
            { 'term' => { 'company_id' => company.id } }, # scope to company
            { 'bool' => { 'must_not' => { 'exists' => { 'field' => 'archived_at' } } } }, # exclude archived
          ],
        },
      },
    },
  },
}

To be more specific, the main thing we are missing is some kind of decay functionality (in our case based on time, but could be a numerical value for others).
[..]
There also isn't an atomic update-all document REST endpoint available, afaik.

Indeed, there is no /update-all route or decay functionality in Meilisearch right now. Would you say that an /indexes/{name}/update route with a body that looks like the following would help you use Meilisearch and decay the document scores?
{
  "filter": "category = gaming", // only update this subset
  // inserts the new score and scoreUpdatedAt fields with the given computation in the filtered documents
  "formulas": {
    // Upvotes and timestamp are fields already in the documents
    "score": "upvotes / ((1709139095 - timestamp) * 20.0)",
    "scoreUpdatedAt": "1709139095"
  }
}

But maybe there is an inherent restriction in the bucket vs. score-based engine, that makes this very difficult or impossible?

No, I don't think so. You can define the right ranking rules to sort your documents and change the numeric field value accordingly. Nothing is inherently impossible or hard to do.
Have a great day 🍡

@Kerollmops Yes, it would!
As long as it isn't too expensive to run (we'd be running it on all docs in an index with ~1M rows and growing), this would do the job!
There is a slight win in having scores computed on-the-fly, in the sense that we'll only need to update a query to change the behavior. But in the grander scheme of things, that's a small thing. We could easily setup a scheduled job that does this daily or weekly.

As an aside, I've followed MeiliSearch since ~2001 -- wrote about this back then. It's a great project and we would love to use Meili! This has been the only remaining blocker for a while now, that keeps us from dropping ElasticSearch.

Is there an eta on the implementation of this feature?

Is there an eta on the implementation of this feature?

Hi @pepijn-vanvlaanderen , we had to deprioritize the feature in favor of more urgent work so don't have an ETA yet. You're welcome to add your use case and vote to the Function Scoring discussion if it aligns with your needs, or you can also start a new discussion.

This is an important feature for our organization as well. Without it, our search results become less and less relevant. Our website is built on Laravel and we love that it is compatible with Meilisearch. Meilisearch lets us store our search engine's database locally, due to our privacy & policy, we can't store it on the cloud.
Anyway, we have so-called publication documents and for our search results to stay relevant we need to introduce time decay on the following parameters:

Publication date (older publications are less relevant)
Authors' resignation/retirement dates (the longer an author is not with our company anymore, the less relevant their publications are to our clients)
Average daily readership (most read publications should be more relevant)
As per @sandstrom comments above, documents' promotion would be very useful as well. Sometimes some publications are more important than others and we would like to promote them.

With the current filtering and sorting mechanism it is just simply not achievable. If we manage to get newer results, then they are less relevant query-wise, if we manage to get more relevant results then most of them are old.
Sadly, if this functionality is not something that will be prioritized in the near future, we will need to think of other alternatives.
Thank you for your time reading this.

Thank you @Tadaz for your feedback, I informed the product team 👌

Hey @sandstrom and @Tadaz 👋
I just released a first prototype of a way to edit documents by using a Rhai function. You can read more on the Public Usage page.
Please, tell me more about what you think.
The documentation may be improved but it's only the first prototype.
Have a nice day 🍾

Sorry @sandstrom, fixed it 🤭

Hello @Kerollmops and thanks for your input into this matter!
I finally found some time to test it.
The proposed decaying ranking strategy works the same way as what we can currently achieve. At the PHP level, we can calculate the relevance score and then pass it to the index for it to be sorted but the issue remains the same.
Grouping similar relevance scores leads us to the same trap. Irrelevant documents will stay at the bottom of the first group even though the following group could contain more relevant results to the search keywords.
In my opinion, as per the very first @sandstrom's message, we should be able to modify the score of documents that are being retrieved. We retrieve textual search results (ranking rules already applied) and then we apply our decaying algorithms to modify those results.

Thank you @Tadaz for you feedback,

The proposed decaying ranking strategy works the same way as what we can currently achieve. At the PHP level, we can calculate the relevance score and then pass it to the index for it to be sorted [..]

That's mostly the purpose of this feature without the burden of having to compute it on your side. Running your decaying function on Meilisearch side without re-uploading potentially millions of documents.

Irrelevant documents will stay at the bottom of the first group even though the following group could contain more relevant results to the search keywords. [..] we should be able to modify the score of documents that are being retrieved. We retrieve textual search results (ranking rules already applied) and then we apply our decaying algorithms to modify those results.

What kind of decaying score are you using, is it based on a combination between the recency and the upvotes?
Have you tried putting decaying-score:desc ranking rule, the first one?
Have you tried filtering to hide documents with a score too small?

If you want to sort relevant but recent documents first, the most straightforward approach is to put the decaying-score:desc the first rule but also to make sure that the scores are grouped. For example, if you have YouTube videos and want to show the most relevant videos with a sense of recency, create a group with the todays videos, then with the videos of the week, etc. However, you'll see less relevant video in the first group due to the grouping taking advantage here.
Maybe score-filtering @dureuill's feature can help here. By filtering-out documents with a bad score. Can we also target the score of specific ranking rules or only the main score?

Maybe score-filtering @dureuill's feature can help here. By filtering-out documents with a bad score. Can we also target the score of specific ranking rules or only the main score?

I'm a bit late to the party, but to answer this: we can only target the main score in the current state of the feature.
On the broader topic of document boosting, the federated search feature that is coming in v1.10 (release candidates available) can address the need: one can execute two queries in the same request, one of which will have a bigger "weight" so that its results are favored.
Example in usage page


[TypeChecker][Diag] Suggest fixits for close-match range operators

Pretty straight-forward and ugly, but performTypoCorrection, namely lookupVisibleDecls, doesn't include member decls from other modules, and manually doing unqualified lookup for Comparable to include the results IMO isn't worth the expense and arguably neater code.
Goes in front of juxtaposition diagnosing not to treat ...< as one.
Resolves SR-6012

cc @jckarter

Reminder @DougGregor

If everybody else is okay with hardcoding cases for '...' and '..<', I'm okay as well, as a drawback - it doesn't seem to scale and doesn't cover other operators...

I'm OK with that, since those are standard operators defined by the standard library, and they're easy to typo in a hard-to-see-at-a-glance way.

I can't deny this isn't the right way of doing it, especially if it scales.
As of now, operator typo corrections are done without any type support. Moreover, as mentioned above, we don't look into members of other modules whatsoever, because that is the way lookupVisibleDecls currently works. Operators are a special case, they are visible without a base despite being static members. That said, I see 2 possible solutions:

complement lookupVisibleDecls to do extensive search for operators across the current and other modules
Not only filter out operator overloads, but the operators themselves, which will be found being declared in global scope.

I would go with the second options for now because the first one implies possible changes to various parts of the compiler that exploit lookupVisibleDecls, code completion in particular.

Your existing patch seems like good incremental progress to me; if you want to keep working on more general solutions that can replace it, that shouldn't block us from taking this patch in the meantime. @xedin, how do you feel?

Sorry, I've been on vacation so still trying to catch up with things. I think it make sense to make this and keep working on direction of more scalable solution.


Authentication failure connecting to mongodb

The latest version of funnel (0.11) does not connect to a MondoDB database using the same setting as previous versions.
Namely providing the mongo db host, username, password (e.g. mongodb://mymongo.test:27017, username="XX", password="YY") gives the error:
Error: error creating database resources: Authorization failure
while using funnel 0.10 works without problem.
On a related note Is there a mechanism to provide the SSL certificate to funnel?
Thanks in advance for your help

Answering my question:
The mongodb URI needs to contain the username and password e.g.
mongodb://user:passwd@mymongo.test:27017
Previously the username and password were provided as different fields in the configuration file.


Create Character Creator Form/Page

Done when:

Character Creator page exists
Character Creator form has the following fields:

Character Name (text, freeform, max length 200)
Character Pronouns (text, freeform, max length 100)
Ranger Color (text, freeform, max length 50)
Personality Traits (series of text boxes w/ "add another trait" button. each box is freeform, max length 500)
Personal Abilities (dropdown, default to one but have checkbox "yes, i have approval to get a second starter ability" that adds another)
Notable NPC Relationships (series of text box pairs w/ "add another npc" button. each pair has one box for "Name" and one for "Relationship")

Dropdown selection of personal abilities pushed to later update, when ability creator is hooked up to the DB


Slim 1638 resolve too many parameters

SonarQube analysis reported 12 issues

 6 major
 6 minor

Watch the comments in this conversation to review them.
4 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AbstractPushSetupDto.java#L175: Return an empty collection instead of null.
 AbstractPushSetupDto.java#L194: Return an empty collection instead of null.
 PushSetupAlarmDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.
 PushSetupSmsDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.

All is well.

All is well.

SonarQube analysis reported 10 issues

 4 major
 6 minor

Watch the comments in this conversation to review them.
4 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AbstractPushSetupDto.java#L175: Return an empty collection instead of null.
 AbstractPushSetupDto.java#L194: Return an empty collection instead of null.
 PushSetupAlarmDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.
 PushSetupSmsDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.

SonarQube analysis reported 10 issues

 4 major
 6 minor

Watch the comments in this conversation to review them.
4 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AbstractPushSetupDto.java#L176: Return an empty collection instead of null.
 AbstractPushSetupDto.java#L195: Return an empty collection instead of null.
 PushSetupAlarmDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.
 PushSetupSmsDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.

All is well.

SonarQube analysis reported 4 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AbstractPushSetupDto.java#L176: Return an empty collection instead of null.
 AbstractPushSetupDto.java#L195: Return an empty collection instead of null.
 PushSetupAlarmDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.
 PushSetupSmsDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.

All is well.

SonarQube analysis reported 4 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AbstractPushSetupDto.java#L176: Return an empty collection instead of null.
 AbstractPushSetupDto.java#L195: Return an empty collection instead of null.
 PushSetupAlarmDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.
 PushSetupSmsDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.

All is well.

SonarQube analysis reported 4 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AbstractPushSetupDto.java#L176: Return an empty collection instead of null.
 AbstractPushSetupDto.java#L195: Return an empty collection instead of null.
 PushSetupAlarmDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.
 PushSetupSmsDto.java#L26: Constructor has 7 parameters, which is greater than 6 authorized.

All is well.


Configure Rx Shipment and BVA Hearing for Incoming SMS Webhook

VeText has two use cases that are ready to have their inbound messages forwarded from pinpoint to the designated VeText endpoint.
STAGING

[ ] Use Postman to Create (or Update if the numbers exist) Inbound Number record for VeText service for 53941 and +12029517856

{
    "number": "53941",
    "provider": "pinpoint",
    "self_managed": false,
    "service_id": "a57c326a-2c37-4cdf-a2b7-a261bd5909b1",
    "url_endpoint": "https://staging.api.vetext.va.gov/api/vetext/pub/inbound-message/aws"
}

{
    "number": "+12029517856",
    "provider": "pinpoint",
    "self_managed": false,
    "service_id": "a57c326a-2c37-4cdf-a2b7-a261bd5909b1",
    "url_endpoint": "https://staging.api.vetext.va.gov/api/vetext/pub/inbound-message/aws"
}

[ ] Update Pinpoint record for 53941 and +12029517856 to use SNS topic: staging-notify-incoming-sms

We can't do this in staging because these are live numbers and you can only assign 1 SNS topic to a phone number. If you updated it to staging all live inbound messages would route to the VEText staging URL


[Errno 2] No such file or directory: b'command'

The host is Debian 11.
Role release: 0.2.0
The first task fails with the following error (with -vvv):
The full traceback is:
  File "/tmp/ansible_ansible.legacy.command_payload_milu51_m/ansible_ansible.legacy.command_payload.zip/ansible/module_utils/basic.py", line 2022, in run_command
    cmd = subprocess.Popen(args, **kwargs)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
fatal: [docker01]: FAILED! => {
    "changed": false,
    "cmd": "command -v /usr/local/bin/docker-compose",
    "failed_when_result": true,
    "invocation": {
        "module_args": {
            "_raw_params": "command -v /usr/local/bin/docker-compose",
            "_uses_shell": false,
            "argv": null,
            "chdir": null,
            "creates": null,
            "executable": null,
            "removes": null,
            "stdin": null,
            "stdin_add_newline": true,
            "strip_empty_ends": true,
            "warn": false
        }
    },
    "msg": "[Errno 2] No such file or directory: b'command'",
    "rc": 2,
    "stderr": "",
    "stderr_lines": [],
    "stdout": "",
    "stdout_lines": []
}

command is a SHELL BUILTIN COMMAND in bash, thus the task should use module shell instead of command imho. However, I wonder if the stat module would not be more accurate here.

Btw, this role is very close to what I was looking for, so thank you!

However, I wonder if the stat module would not be more accurate here.
You're completely right !

I'll merge your PR as a first step to improve Docker Compose check, but I think I should improve it again, since Docker Compose is now a plugin of docker command, and must now be invoked using docker compose without hyphen.

@btravouillon I just created 0.3.0 tag, to allow use of this change :wink:


Docker Troubles

I have some trouble when using docker for installation.

specifically? do you get the
#10 5.917 E: Couldn't find any package by glob 'python3.6'
#10 5.917 E: Couldn't find any package by regex 'python3.6'
#10 5.917 E: Unable to locate package python3.6-dev
#10 5.917 E: Couldn't find any package by glob 'python3.6-dev'
#10 5.917 E: Couldn't find any package by regex 'python3.6-dev'

error after the 6'th command? It might have something to do with what the docker VM's permissions are, I'm tryna figure it out as well, have you solved it btw?

@viktorashi use this Dockerfile : https://gist.github.com/aygupt1822/95ac3841e9e6de9ceb014b78cd1f4dec
I updated some things and this worked for me.

@viktorashi were you able to solve this ?
I am running into the same errors

@viktorashi were you able to solve this ?
I am running into the same errors

It's been 10 months and I honestly forgot what this is about but omma look into it when I got the time)))

@viktorashi  Change the Ubuntu container version to 22.04 and change the Python version to 3.8 or higher.

@viktorashi Change the Ubuntu container version to 22.04 and change the Python version to 3.8 or higher.

still doesn't really really work, it gets about halfway in building the image and i get the
ModuleNotFoundError: No module named 'distutils.cmd'
error in the end
can't find where to install that


x10: install the x10 headers to repair CI

The x10 headers should not be distributed.  However, the conflated
tensorflow and x10 modules results in a mixup where the headers are
needed.

Going to abandon in favour of #854


Added comb sort doc

Have you read the Contributing Guidelines on Pull Requests?
yes
(Write your answer here.)
Description
Added comb sort doc
(Write your answer here.)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Fixed #376
(Write your answer here.)

@HarshCasper could you please look into this once


cmd/go/internal/modcmd: go.work local module fetching from remote by mistake

Go version
go version go1.21.1 darwin/arm64
Output of go env in your module/workspace:
GO111MODULE='on'
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/violapioggia/Library/Caches/go-build'
GOENV='/Users/violapioggia/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/violapioggia/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/violapioggia/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/usr/local/go'
GOSUMDB='off'
GOTMPDIR=''
GOTOOLCHAIN=''
GOTOOLDIR='/usr/local/go/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.21.1'
GCCGO='gccgo'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
GOMOD='/Users/violapioggia/GolandProjects/rgo/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/2y/q5hfz55n7yx__bgtrj0pwgpw0000gn/T/go-build2698698558=/tmp/go-build -gno-record-gcc-switches -fno-common'

What did you do?
I have a repo which module name is github.com/violapioggia/fake_module and it is used by my main repo by go.work, it can import and work successfully but when I use command go mod tidy, it tried to get the module from remote and return error even if I had already have this module locally by go.work.
What did you see happen?
go mod tidy
go: finding module for package github.com/violapioggia/fake_module/test
go: rgo_test imports
github.com/violapioggia/fake_module/test: cannot find module providing package github.com/violapioggia/fake_module/test: module github.com/violapioggia/fake_module/test: git ls-remote -q origin in /Users/violapioggia/go/pkg/mod/cache/vcs/1947ab1c5f53e39b9356cdc44ed18f4f16ffcc10b0bedf604238c177732107de: exit status 128:
remote: Repository not found.
fatal: repository 'https://github.com/violapioggia/fake_module/' not found
What did you expect to see?
I want to use go mod tidy to not to get remote module when I already have this module in go.work.

Related Issues

`go mod tidy` tries to download local package #70227 (closed)
cmd/go: `go mod tidy` failed in workspace mode #52962 (closed)
cmd/go: go mod tidy ignores the go.work file #51106 (closed)
cmd/go: `go mod tidy` ignores `go.work` file #50750
cmd/go: go mod tidy in workspace will err like: a.b.c/a: cannot find module providing package  #55139 (closed)
cmd/go: clarify error message when importing a package that could be (but isn't) in the main module #34491
cmd/go: go mod -sync fails although go get succeeds #26601 (closed)
cmd/go: go get <module> is not restricted to desired module #47195 (closed)
Can't import package from non-github repo #43251 (closed)
cmd/go: misleading error message for `go mod download` in incorrect workspace #54419

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Thanks for the report. Are you able to share a go.work and other files needed to trigger the behavior you're seeing, preferably reduced to a minimal set? Also, Go 1.21.1 is a bit old, does this still happen with a newer version of Go?
As go mod tidy works to add missing modules to go.mod, it's expected it will need to look up modules that might provide packages. Quoting from https://go.dev/ref/mod#go-mod-tidy:

Once go mod tidy has loaded this set of packages, it ensures that each module that provides one or more packages has a require directive in the main module’s go.mod file [...]. go mod tidy will add a requirement on the latest version of each missing module (see Version queries for the definition of the latest version).

So this might be working as intended, or there may be a bug, and I don't think it's possible to tell which without more information about the go.mod file content.
CC @matloob, @samthanawalla.

see #50750


Same changes as linux version

Found at docs/core/install/linux-scripted-manual.md.
Summary
Describe your changes here.
Fixes #Issue_Number (if available)

Apologies, misread and misclicked.


Add centrifugal force to magazine drops

Other known issues. Mag drop can be affected by player running at high speeds. This maybe realistic, because game characters tend to run very fast, but it doesn't make sense for player experience.


[Snyk] Fix for 61 vulnerabilities

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

api/pacman-api-compliance/pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity
Reachability

475/1000  Why? Has a fix available, CVSS 6.5
Directory Traversal SNYK-JAVA-COMAMAZONAWS-2952700
com.amazonaws:aws-java-sdk:  1.12.234 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1009829
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1047324
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

560/1000  Why? Has a fix available, CVSS 8.2
XML External Entity (XXE) Injection SNYK-JAVA-COMFASTERXMLJACKSONCORE-1048302
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1052449
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1052450
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1054588
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056414
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056416
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056417
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056418
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056419
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056420
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056421
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056424
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056425
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056426
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056427
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-1061931
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-174736
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

525/1000  Why? Has a fix available, CVSS 7.5
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-2421244
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

520/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 5.9
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038424
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

670/1000  Why? Proof of Concept exploit, Is reachable, Has a fix available, CVSS 5.9
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038426
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
Reachable

520/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 5.9
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-450207
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

705/1000  Why? Mature exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-450917
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Mature
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-455617
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-467014
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

675/1000  Why? Mature exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-467015
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Mature
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-467016
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-469674
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-469676
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-471943
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-472980
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-540500
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-548451
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-559094
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-559106
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-560762
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-560766
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-561362
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-561373
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

630/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-561585
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-561586
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-561587
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-564887
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-564888
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-570625
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-572300
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-572314
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-572316
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

555/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-6056407
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

780/1000  Why? Proof of Concept exploit, Is reachable, Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-608664
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
Proof of Concept
Reachable

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-72448
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-72449
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-72450
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-72451
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-72882
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-72883
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

563/1000  Why? Has a fix available, CVSS 8.1
Deserialization of Untrusted Data SNYK-JAVA-COMFASTERXMLJACKSONCORE-72884
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

525/1000  Why? Has a fix available, CVSS 7.5
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONDATAFORMAT-1047329
com.amazonaws:aws-java-sdk-lambda:  1.11.264 -> 1.12.687
No
No Known Exploit
No Path Found

540/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Allocation of Resources Without Limits or Throttling SNYK-JAVA-IONETTY-6483812
com.amazonaws:aws-java-sdk:  1.12.234 -> 1.12.687
No
Proof of Concept
No Path Found

(*) Note that the real score may have changed since the PR was raised.
Vulnerabilities that could not be fixed

Upgrade:

Could not upgrade<EMAIL_ADDRESS>to<EMAIL_ADDRESS>Reason could not apply upgrade, dependency is managed externally ; Location: provenance does not contain location
Could not upgrade<EMAIL_ADDRESS>to<EMAIL_ADDRESS>Reason could not apply upgrade, dependency is managed externally ; Location: https://maven-central.storage-download.googleapis.com/maven2/software/amazon/awssdk/aws-sdk-java-pom/2.17.230/aws-sdk-java-pom-2.17.230.pom

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Directory Traversal
🦉 Deserialization of Untrusted Data
🦉 XML External Entity (XXE) Injection
🦉 More lessons are available in Snyk Learn

Checkmarx One – Scan Summary & Details – d061816d-20c5-4c46-9041-235b38f6c6b8
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

CVE-2023-52428
Maven-com.nimbusds:nimbus-jose-jwt-9.8.1
Vulnerable Package

CVE-2024-22243
Maven-org.springframework:spring-web-5.0.8.RELEASE
Vulnerable Package

CVE-2024-22257
Maven-org.springframework.security:spring-security-core-5.0.7.RELEASE
Vulnerable Package

CVE-2024-22259
Maven-org.springframework:spring-web-5.0.8.RELEASE
Vulnerable Package

CVE-2024-23672
Maven-org.apache.tomcat.embed:tomcat-embed-core-8.5.32
Vulnerable Package

CVE-2024-23672
Maven-org.apache.tomcat.embed:tomcat-embed-websocket-8.5.32
Vulnerable Package

CVE-2024-29180
Npm-webpack-dev-middleware-5.3.0
Vulnerable Package

CVE-2024-24549
Maven-org.apache.tomcat.embed:tomcat-embed-core-8.5.32
Vulnerable Package


Questions about MPC

Q1:  Do you have any spec for mpc control to help us to kown the matrix?
In apollo-master\modules\control\controller\mpc_controller.cc :
matrix_a_(5, 5) = 0.0;
Why the element is 0 instead of 1 since is related to speed error?
Q2: The output of SolveLinearMPC is the increasment of control, delta u ?

Q1:因为这是状态控制方程的形式，等号左边是dot_station_rate，所以 matrix_a_(5  5)=0，而matrix_a_(5  6)=1  正好满足等式。Q2:MPC的输出是控制增量，目的是为防止控制量发生突变。
——回复参考来自Apollo开发者社区issue达人赛 https://apollo.auto/developer/questiondata_cn.html?target=527


"load more" button doesn't work in FireFox

It console.logs:
ReferenceError: event is not defined

thanks for the info, have the same problem but thought it was installation error
now at least I can use chrome until the fix if needed

This is a duplicate of #928.


Counting Sort in Javascript

PR for Issue #73 with updated README.md

I just found out that the CONTRIBUTING.md says that I should put everything in a main() function. Should i change it?

Thanks for your great contribution.


Struct log for adapter call sites

Updated logging call sites for core/dbt/adapters

Please see  #4210 for the preserved laziness in fire_event.


ConnectionResetError(104) in KitchenLowdimRunner during environment initialization

Thank you for the great work on this project. I’ve encountered an issue when running KitchenLowdimRunner during environment initialization. Specifically, I’m seeing a ConnectionResetError that causes the process to fail when trying to initialize the AsyncVectorEnv.
Here is a summary of the problem:

Error: ConnectionResetError(104, 'Connection reset by peer')
Relevant file: diffusion_policy/env_runner/kitchen_lowdim_runner.py
Error stack trace:

  Error in call to target 'diffusion_policy.env_runner.kitchen_lowdim_runner.KitchenLowdimRunner':
  ValueError("XML Error: top-level default class 'main' cannot be renamed\nElement 'default', line 0\n")
  full_key: task.env_runner
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env_runner/kitchen_lowdim_runner.py", line 180, in __init__
      env = SyncVectorEnv(env_fns)
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/gym_util/sync_vector_env.py", line 30, in __init__
      self.envs = [env_fn() for env_fn in env_fns]
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/gym_util/sync_vector_env.py", line 30, in <listcomp>
      self.envs = [env_fn() for env_fn in env_fns]
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env_runner/kitchen_lowdim_runner.py", line 58, in env_fn
      env = KitchenAllV0(use_abs_action=abs_action)
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env/kitchen/base.py", line 61, in __init__
      super(KitchenBase, self).__init__(use_abs_action=use_abs_action, **kwargs)
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env/kitchen/relay_policy_learning/adept_envs/adept_envs/franka/kitchen_multitask_v0.py", line 193, in __init__
      super(KitchenTaskRelaxV1, self).__init__(
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env/kitchen/relay_policy_learning/adept_envs/adept_envs/utils/configurable.py", line 132, in __init__
      base_init(self, *args, **kwargs)
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env/kitchen/relay_policy_learning/adept_envs/adept_envs/franka/kitchen_multitask_v0.py", line 51, in __init__
      super().__init__(
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env/kitchen/relay_policy_learning/adept_envs/adept_envs/robot_env.py", line 80, in __init__
      super(RobotEnv, self).__init__(
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env/kitchen/relay_policy_learning/adept_envs/adept_envs/mujoco_env.py", line 62, in __init__
      self.sim_robot = MujocoSimRobot(
    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/env/kitchen/relay_policy_learning/adept_envs/adept_envs/simulation/sim_robot.py", line 62, in __init__
      self.sim = dm_mujoco.Physics.from_xml_path(model_file)
  ValueError: XML Error: top-level default class 'main' cannot be renamed
  Element 'default', line 0

  The above exception was the direct cause of the following exception:

    File "/home/mrq/project/diffusion_policy-main/diffusion_policy/workspace/train_diffusion_transformer_lowdim_workspace.py", line 113, in run
      env_runner = hydra.utils.instantiate(
    File "/home/mrq/project/diffusion_policy-main/train.py", line 34, in main
      workspace.run()
    File "/home/mrq/project/diffusion_policy-main/train.py", line 37, in <module>
      main()
  hydra.errors.InstantiationException: Error in call to target 'diffusion_policy.env_runner.kitchen_lowdim_runner.KitchenLowdimRunner':
  ValueError("XML Error: top-level default class 'main' cannot be renamed\nElement 'default', line 0\n")
  full_key: task.env_runner

The error seems to occur when AsyncVectorEnv is initialized, and the observation space check is performed via communication with child processes (pipe.recv()), resulting in the connection being reset.

@mr20010112  hi bro , have you solved it?

Yes, by setting the gym version to 0.21.0 I guess.

@mr20010112 thx,bro,I will try it

Yes, by setting the gym version to 0.21.0 I guess.

Unfortunately, this doesn't change the issue for me. Have you changed anything else additionally?

Yes, by setting the gym version to 0.21.0 I guess.

Unfortunately, this doesn't solve the issue for me. Have you changed anything else additionally? Can you tell us your python version?

https://drive.google.com/file/d/1yhYW4pBkRQlkUtFwvHIGS3H4J--HMkva/view?usp=sharing

Yes, by setting the gym version to 0.21.0 I guess.

Unfortunately, this doesn't solve the issue for me. Have you changed anything else additionally? Can you tell us your python version?

3.9.15


Non-minified files are not guaranteed ASCII

I'd like to note that ascii_only: true is a terser-only option, so the non-minified files may contain arbitrary UTF-8 chars.
Originally posted by @aduh95 in https://github.com/highlightjs/highlight.js/pull/3209#discussion_r644125281

We may need to take some action on this knowledge...

% file build/highlight.min.js
build/highlight.min.js: ASCII text, with very long lines
% file build/highlight.js
build/highlight.js: UTF-8 Unicode text, with very long lines

Confirm.  Since this:

hasn't been an actual issue for anyone (people are using minified, as they should)
Can be resolved with the HTML attribute charset
UTF-8 is the future

... I'm declaring the existing behavior correct and this should be a docfix if at all.
The minified file is provided ASCII only for convenience.  The non-minified file is intentional UTF-8.


Fix typo in release note

This fixes a small typo in the release notes in the r2.0 branch with the assumption that the change will propagate into the master branch and/or later releases from the r2.0 branch.

These release notes have now been copied back into master. I will now close and re-submit this pull request against master.


define a const variable for max_depth

It is better to define a const for 12
https://github.com/semaphore-protocol/semaphore/blob/8eb19e83fda62644872b2fcfbd85011d3b2c21e2/packages/contracts/contracts/Semaphore.sol#L139

since 12 will be updated as max depth is increased, it's better to define it as a const variable. It highlights the use of the constant and there is lower chances of forgetting it in case a modification is needed.


Docker setup for bitsandbytes

Hello,
I've tried multiple times to install bitsandbytes extension inside docker (to have more controlled environment and test it in Whisper Fine-tuning Sprint).
I've started from few different images, but withou any success to install it properly.
Only way I get it to work was older build bitsandbytes-cuda113 with this Dockerfile

RUN apt update -y && apt upgrade -y && \
   apt install -y ffmpeg && \
   apt install -y git-lfs && \
   apt install -y mc vim && \
   rm -rf /var/cache/apt/*

ENV PYTHONPATH=/usr/src/app:$PYTHONPATH
WORKDIR /usr/src/app

COPY requirements.txt requirements.txt

RUN pip3 install --upgrade pip && \
    pip3 install --no-cache-dir -r requirements.txt && \
    pip3 list --format=json > pip.json && \
    git clone https://github.com/huggingface/community-events.git && \
    pip3 install -r community-events/whisper-fine-tuning-event/requirements.txt

ENTRYPOINT ["/bin/bash"]

When I try to install latest version via pip install I am not able to run it. My last try was:
docker run -it --rm --gpus all pytorch/pytorch:1.13.0-cuda11.6-cudnn8-devel
inside docker pip install bitsandbytes
but python -m bitsandbytes command has problem to find CUDA
  warn("The installed version of bitsandbytes was compiled without GPU support. "
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++ DEBUG INFORMATION +++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++ POTENTIALLY LIBRARY-PATH-LIKE ENV VARS ++++++++++
'LD_LIBRARY_PATH': '/usr/local/nvidia/lib:/usr/local/nvidia/lib64'
'LIBRARY_PATH': '/usr/local/cuda/lib64/stubs'
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

WARNING: Please be sure to sanitize sensible info from any such env vars!

++++++++++++++++++++++++++ OTHER +++++++++++++++++++++++++++
COMPILED_WITH_CUDA = False
COMPUTE_CAPABILITIES_PER_GPU = []
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++ DEBUG INFO END ++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Running a quick check that:
    + library is importable
    + CUDA function is callable

Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW

I've searched all historical issues, tried every possible fix, but without any success.
Do you have anybody working Docker image with bitsandbytes installed properly?

fixed this. in case anyone else has an issue - they can refer to my notebook
https://github.com/sandys/SimpleDiffuserDreambooth/blob/main/DreamBooth_Stable_Diffusion.ipynb

Used Docker image for deepspeed and inside that bitsandbytes working like a charm!
https://zzhou.info/2022/11/22/deepspeed_docker/

Running into the same issue using base image nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu20.04


1st level header doesn't translated as

Page: https://sites.ind.ntou.edu.tw/
Source: https://github.com/ntouind/sites.ind.ntou.edu.tw/blob/master/README.markdown
The output page doesn't contain any  elements.
I noticed that in mod_markdown.c the title has been handled but somehow not worked properly
    title = mkd_doc_title(doc);
    if (title) {
        ap_rprintf(r, "<title>%s</title>\n", title);
}

I'm currently using 1.0.3

you need to specify title block for title:
% title
% author(s) (separated by semicolons)
% date

see http://pandoc.org/MANUAL.html

Thanks!


Light Ballista requires 72 fletching

🐛 Bug Report
On the bot, the light ballista requires 72 fletching to create, while in game, it only requires level 47.
https://github.com/oldschoolgg/oldschoolbot/blob/0099c3e36e0eb317d164491279a6f72c36ebfe8d/src/lib/skilling/skills/fletching/fletchables/slayer.ts#L19
https://oldschool.runescape.wiki/w/Light_ballista

Fixed in next update.


make size output easier to read via bytes

Fixes #2.
I also fixed an unrelated bug, as it seems that npm's 404 output has changed recently.

ping :)

@transitive-bullshit You were right to ping me. I'll try to have a deeper look in the weekend.
Seems good so very likely I'll merge and publish


Remove special characters including space from Site Alias to keep onl…

Type

[ ] Bug Fix

Related Issues?
From the user interface when a site is created only underscore, dash, single quotes, and period (_, -, ', .) are allowed.
However if a site is created with special characters in sitealias using the following cmdlet
new-pnpsite -Type TeamSite -Title "Test site with special characters1" -Alias "TestSiteWithSpecialCharacters1" -SiteAlias " Test & _ site -%) with '¬! special ^. characters@~1"
The site is created with url .../sites/ Test & _ site --) with '¬! special ^. characters@~1
Site URL with special characters may have unpredicted behaviours like unable to delete site from SharePoint Admin Centre or restore from deleted sites.
What is in this Pull Request ?
The fix is to strip any special characters and space to allow only underscore, dash, single quotes, and period (_, -, ', .)
Running the cmdlet
new-pnpsite -Type TeamSite -Title "Test site with special characters2" -Alias "TestSiteWithSpecialCharacters2" -SiteAlias " Test & _ site -%) with '¬! special ^. characters@~2"
Results
../sites/Test_site-with'special.characters2

hi @reshmee011 , can you please try with the latest nightly build and check ? We did make some improvements for related to this.

@gautamdsheth: Thanks, I checked it against the 1.9.15-nightly and seems fixed. Can I know where the improvements were done related to this?

Hii we made the changes in the PnP framework repo.
will close this pr now. Thanks again 😊
https://github.com/pnp/pnpframework/pull/558


Cost models fit & finish: create cost model - price list sub step - view rates

Describe the bug
Fit and finish to the sub step in create cost model wizard - view rates
Expected behavior

[ ] Space between title-description section and table-filter part
[ ] Use "Remove" instead of "Delete" in the action button
[ ] Add pagination with 2, 4 and 6 items per page
[ ] Add search icon in the filter input

Screenshots

I suspect this is in progress; thus, adding Sprint 33 as the milestone and epic (for QE to test)


cmdbar.cpp:150:16: error: 'get_wch' was not declared in this scope

I am trying to add a Dockerfile to this project, to ease installation (you can try it out by just installing docker)
I am having trouble getting it to run with this Dockerfile:
FROM alpine:3.7

COPY . /usr/local/plebtrk
WORKDIR /usr/local/plebtrk

RUN apk add --no-cache alpine-sdk ncurses-dev fftw-dev alsa-utils inotify-tools
RUN cd ./Tracker/src && make && ./INSTALL.sh && cd ../../Interpreter/src && make && ./INSTALL.sh

ENTRYPOINT ["plebtrk"]

docker build .

Sending build context to Docker daemon  58.77MB
Step 1/6 : FROM alpine:3.7
 ---> 3fd9065eaf02
Step 2/6 : COPY . /usr/local/plebtrk
 ---> Using cache
 ---> e456797f511b
Step 3/6 : WORKDIR /usr/local/plebtrk
 ---> Using cache
 ---> bf0c1788b56e
Step 4/6 : RUN apk add --no-cache alpine-sdk ncurses-dev fftw-dev alsa-utils inotify-tools
 ---> Using cache
 ---> e9ba090f6443
Step 5/6 : RUN cd ./Tracker/src && make && ./INSTALL.sh && cd ../../Interpreter/src && make && ./INSTALL.sh
 ---> Running in d5036bb0b085
g++ -c -o ../obj/cmdbar.o cmdbar.cpp -std=c++11 -I../include
cmdbar.cpp: In function 'bool editor::getCommand(const char*)':
cmdbar.cpp:150:16: error: 'get_wch' was not declared in this scope
     get_wch(&in);
                ^
make: *** [Makefile:23: ../obj/cmdbar.o] Error 1
The command '/bin/sh -c cd ./Tracker/src && make && ./INSTALL.sh && cd ../../Interpreter/src && make && ./INSTALL.sh' returned a non-zero code: 2

do I need to install ncurses differently in alpine, maybe?

That's likely the same issue as in Ubuntu (as detailed in the readme.md) On
some distributions they separate wide character capabilities into ncurses
and ncursesw. Check to see if there are ncursesw alternative packages (e.g.
libncursesw5 and libncursesw5-dev) available to you.
If you do install those, unfortunately that also means that the #include
directives in the header files in Tracker/include/ and Tracker/src/main.cpp
need to change to point to that library, so in the ncursesw5 example would
be #include<ncursesw/ncurses.h> and the LIBS variable in
Tracker/src/Makefile would change to -lncursesw rather than - lncurses.
Sorry about that.
Tell me if that works or doesn't work for ya. Thanks for contacting me, I'm
happy to help!
On Mon, Jun 4, 2018, 17:38 David Konsumer<EMAIL_ADDRESS>wrote:

I am trying to add a Dockerfile to this project, to ease installation (you
can try it out by just installing docker)
I am having trouble getting it to run with this Dockerfile:
FROM alpine:3.7
COPY . /usr/local/plebtrkWORKDIR /usr/local/plebtrk
RUN apk add --no-cache alpine-sdk ncurses-dev fftw-dev alsa-utils inotify-toolsRUN cd ./Tracker/src && make && ./INSTALL.sh && cd ../../Interpreter/src && make && ./INSTALL.sh
ENTRYPOINT ["plebtrk"]
docker build .
Sending build context to Docker daemon  58.77MB
Step 1/6 : FROM alpine:3.7
---> 3fd9065eaf02
Step 2/6 : COPY . /usr/local/plebtrk
---> Using cache
---> e456797f511b
Step 3/6 : WORKDIR /usr/local/plebtrk
---> Using cache
---> bf0c1788b56e
Step 4/6 : RUN apk add --no-cache alpine-sdk ncurses-dev fftw-dev alsa-utils inotify-tools
---> Using cache
---> e9ba090f6443
Step 5/6 : RUN cd ./Tracker/src && make && ./INSTALL.sh && cd ../../Interpreter/src && make && ./INSTALL.sh
---> Running in d5036bb0b085
g++ -c -o ../obj/cmdbar.o cmdbar.cpp -std=c++11 -I../include
cmdbar.cpp: In function 'bool editor::getCommand(const char*)':
cmdbar.cpp:150:16: error: 'get_wch' was not declared in this scope
get_wch(&in);
^
make: *** [Makefile:23: ../obj/cmdbar.o] Error 1
The command '/bin/sh -c cd ./Tracker/src && make && ./INSTALL.sh && cd ../../Interpreter/src && make && ./INSTALL.sh' returned a non-zero code: 2
do I need to install ncurses differently in alpine, maybe?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/danfrz/PLEBTracker/issues/16, or mute the thread
https://github.com/notifications/unsubscribe-auth/AJdi7qnOO1VLHDpRA3WIm1IRRfm8VQQCks5t5bbvgaJpZM4UZ41Y
.

I will try it out. I couldn't find anything that looked like that, but I will see if I can figure it out.
If nothing else, I can follow the ubuntu instructions and make the documented change in the Dockerfile, or maybe we can use a def to set it up right for different environments.
If you want to follow the docker progress, I'm working on it over here. I'll make a PR when I get it working.

Yeh, doesn't look like there is a ncursesw package in alpine. I was hoping to get it working with a lighter docker- base, but I can convert it to ubuntu.

Well, it is just one package. I don't really Ubuntu much but can't you add
like a ppa or something? Or just manually install the one package.
Ncursesw5 shouldn't depend on any Ubuntu packages. I'd hope
On Mon, Jun 4, 2018, 18:09 David Konsumer<EMAIL_ADDRESS>wrote:

Yeh, doesn't look
https://pkgs.alpinelinux.org/packages?name=ncurses&branch=edge like
there is a ncursesw package in alpine. I was hoping to get it working with
a lighter docker- base, but I can convert it to ubuntu.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danfrz/PLEBTracker/issues/16#issuecomment-394528594,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJdi7nJ0HIpgbFFK6iutQfAaORRtD9mYks5t5b4YgaJpZM4UZ41Y
.

alpine is not ubuntu, it's just sort of similar. it uses apk instead of apt, and no debs or ppa.

it's very light, a good choice generally as a base for docker images because it installs really fast and the downloaded image is pretty small.

what distro do you use to compile it without any trouble? maybe I could just start with that as the base.

I built it on archlinux (recently) and debian (a year ago?) without needing
to get fancy with the packages (arch is my preferred flavor). It takes some
work to get arch set up, if you haven't set it up before. But it is pretty
light weight. Otherwise debian worked well, and you probably know more
about debian than I do haha. I don't know how heavy it is.
On Mon, Jun 4, 2018 at 6:19 PM, David Konsumer<EMAIL_ADDRESS>wrote:

what distro do you use to compile it without any trouble? maybe I could
just start with that as the base.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danfrz/PLEBTracker/issues/16#issuecomment-394530441,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJdi7p_y6GH2Pt9DtopIXK6uDKyvmTA8ks5t5cCVgaJpZM4UZ41Y
.

Got it working with arch pretty quickly. I'll make the PR for that, and we can maybe lighten it up later.  Should I also publish on docker hub, and add instructions for running to README? Happy to leave publishing to you, if you want it under your name on dockerhub, too.
It will be something like this:
You can try it out, without compiling anything, if you have docker installed with docker run -it konsumer/plebtrk

Awesome! okay :D I'll make a docker account and publish it. Feel free to
add instructions to the README. I have only poked around with docker for
like a cumulative hour a year ago but this is really cool and I will
definitely credit you for setting this up :). How do I publish it?
On Mon, Jun 4, 2018 at 6:51 PM, David Konsumer<EMAIL_ADDRESS>wrote:

Got it working with arch
https://asciinema.org/a/VvpE1POg74CKtdQW4Mh7aDH6B pretty quickly. I'll
make the PR for that, and we can maybe lighten it up later. Should I also
publish on docker hub, and add instructions for running to README? Happy to
leave publishing to you, if you want it under your name on dockerhub, too.
It will be something like this:
You can try it out, without compiling anything, if you have docker
installed with docker run -it konsumer/plebtrk
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danfrz/PLEBTracker/issues/16#issuecomment-394535989,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJdi7lffArCsseLu4VNCJ4wF5mj23gupks5t5cgBgaJpZM4UZ41Y
.

I'll wait till you publish to update README.
Basically, you can build/run local:
git clone git@github.com:konsumer/PLEBTracker.git
git checkout docker
docker build -t plebtracker .
docker run plebtracker

Then you login:
docker login --username=yourhubusername<EMAIL_ADDRESS>
Then you tag it. I recommend making it match a git tag, and using semver, so people can track back to it more easily. Below, instead of semver, I will use firstdocker:
docker tag plebtracker yourhubusername/plebtracker:firstdocker

and then people can run it with this:
docker run -it yourhubusername/plebtracker

it will default to pseudo-tag latest but they could run the specific tag, too:
docker run -it yourhubusername/plebtracker:firstdocker

I wasn't sure how to make the tracker play, though, so didn't get a chance to test sound.

Looks like getting it to play sound in docker might be more complicated. :(

If you just want to test audio you can try to run plebplay on an example
song, but for quick testing use any song but electrosmash.plb it takes a
long time to render.
On Mon, Jun 4, 2018, 19:20 David Konsumer<EMAIL_ADDRESS>wrote:

I wasn't sure how to make the tracker play, though, so didn't get a chance
to test sound.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danfrz/PLEBTracker/issues/16#issuecomment-394540708,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJdi7kOdeLO3ciHdNaoGD6dkRHYVTQiyks5t5c7ngaJpZM4UZ41Y
.

Yeh, on my mac, this doesn't make sound:
docker run --entrypoint ./Interpreter/src/plebplay -it plebtracker examples/electrosmash.plb

I think for a linux docker host, you can do something like this:
docker build -t plebtracker .
docker run --device /dev/snd  --entrypoint ./Interpreter/src/plebplay -it plebtracker examples/electrosmash.plb

electrosmash is the song that you shouldn't test with because it takes over
a minute to render: Intrepid is smaller. I'll try running that when I get
home! Do you want me to publish on Docker hub after audio is figured out?
Or will people just have to figure that out on whatever distribution they
prefer?
On Mon, Jun 4, 2018, 20:07 David Konsumer<EMAIL_ADDRESS>wrote:

Yeh, on my mac, this doesn't make sound:
docker run --entrypoint ./Interpreter/src/plebplay -it plebtracker examples/electrosmash.plb
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danfrz/PLEBTracker/issues/16#issuecomment-394547756,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJdi7q4_GUOBh3QOCovlgf6pC2Eupd6mks5t5dnsgaJpZM4UZ41Y
.

Yeh, from my research, audio seems to only work on linux hosts (since you can pass audio device through.) On windows & mac, it's not simple (you can use network audio like pulse, with a little trickery.)

I got docker set up and
docker run --device /dev/snd  --entrypoint ./Interpreter/src/plebplay -it plebtracker examples/intrepid.plb
produces audio!
Unfortunately when I run docker run --device /dev/snd -it plebtracker the interface looks really messed up and doesn't produce sound. (Same result with and without the --device assignment)

I get same. I think this is caused by however your app figures out the terminal-sizing from the environment. I'm not really sure what it's supposed to look like, and other ncurses-based software doesn't seem to have this issue, for example Glances is a complex ncurses-based UI for monitoring docker:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it docker.io/nicolargo/glances

I tried it with this command, and still got bad term layout, but there is probly some trick to make your term figure out how big the console is:
docker run -e TERM=xterm -e COLUMNS="`tput cols`" -e LINES="`tput lines`" -it plebtracker examples/intrepid.plb

I'm actually working on a text-based tracker myself, and was hoping I could get yours running on my box quickly, for inspiration & ideas :(
When I have more time, I'll run it in a virtualbox and check it out.


Remove deprecated outlines.integrations

Fixes #1054

@lapp0 I addressed your comments. Please review one last time before we merge.


How can I use my own runtime?

I have rebuilt my runtime image and pushed it to my repository in Dockerhub, but I don't know how to change rest-server config to use it. Can anyone help?

https://github.com/microsoft/pai/blob/bf41920d6d7319e310760df5b9ad1bb4a1531241/src/rest-server/deploy/rest-server.yaml.template#L62
Please change this line to your image name.


Fix padding on person details fragment

There is currently an incorrect bottom padding for the whole person details fragment, leading to a gray space at the bottom of the layout. It blends in with the navbar on some devices, but on devices where Gesture navigation is enabled or which have hardware keys, it becomes noticable:

Incorrect
Correct

I also found that the 12dp additional space at the bottom was too much. I reduced it to 8dp to align with the vaccination, recovery and test views.
The RecyclerView already had clipToPadding set to false, hence all that is needed to fix this issue is to move the padding there.

Thanks again for your contribution and 🦅  👁 ! :)


Improve error handling

@Kha What is the context for these changes on the old frontend? We are going to delete it eventually.

I found both of them annoying enough to fix them now. Because they return invalid JSON, they break lean-mode completely.

merged


[GEN] Use OCL builtin for bf16<->f32 conversions

Use intel_convert_bfloat16_as_ushort OCL builtin instead of the __spirv_ConvertFToBF16INTEL SPIR-V builtin to express bf16<->f32 conversions.

First step of https://github.com/intel/intel-xpu-backend-for-triton/issues/1266

Apparently this requires OCL 2.0. Abandoning for now.


Unable to parse simple text payload from MQTT Broker

Scenario
@davidyaha
I have sensor nodes that publish data to a topic as follows:
<company>/<site>/<country>/<city>/<sensor_hardware_address>/env

I would like to subscribe to a generic topic:
 <company>/<site>/<country>/<city>/+/env

I assume the wildcards +, # won't work right now since the NPM registry isn't updated with the new merged PRs (#9)
The data being sent by the sensor is in plain-text format:
  env,<some_meta_data> temp=23,humid=32 <epoch_timestamp>

The Documentation assumes that data is always sent as a JSON viz. {somethingChanged: {id; "123"}
which makes it easy to parse with withFilter however I am unable to return the string payload back.
I tried the following:
       subscribe: (_, args) => pubsub.asyncIterator(args.topic)

but I only get null (See StackExchange Query below)
I tried it with:
  subscribe:
            withFilter(
                (_, args) => pubsub.asyncIterator(args.topic),
                (payload, variables) => {console.log(payload); console.log(variables)}
            )

which provides me the following in the console:
env,MAC=1245 temp=23,humid=34 158809832
{topic: 'company/site1/US/dallas/1245/env }

how do I return the payload in this case ?
StackExchange Query
Query

I was finally able to solve this issue by performing Payload Transformation
Step 0
I changed the data coming from the sensor into a JSON format:
  {"data": "env,MAC=1245 temp=23,humid=34 158809432"}

Step 1
Where I did the following in the resolvers.js:
Subscription {
   subscribe2 {
       resolve: (payload) => {
                return {
                    data: payload.data,
                };
            },
            subscribe: (_, args) => pubsub.asyncIterator([args.topic]),
   }
}

where the resolve method mapped the incoming data to that of the output format defined in the schema
Result
   subscription {
       subscribe2(topic: "test/1/env") {
           data
      }
   }

provides me the information from sensor


sitl gps stop not working

In simulation, even though I do "gps stop", I still have gps.

SITL uses gpssim. --> use gpssim stop


how can I download multiple audio track in the same time.

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
I use --list-format and result as follow
[info] Available formats for index:
ID                      EXT RESOLUTION FPS │   TBR PROTO  │ VCODEC        VBR ACODEC     MORE INFO
──────────────────────────────────────────────────────────────────────────────────────────────────────
audio-AACL-128-Chinese  mp4 audio only     │       m3u8_n │ audio only        unknown    [zh] Chinese
audio-AACL-193-Japanese mp4 audio only     │       m3u8_n │ audio only        unknown    [ja] Japanese
758                     mp4 480x270     30 │  758k m3u8_n │ avc1.42c01e  758k video only
823                     mp4 480x270     30 │  823k m3u8_n │ avc1.42c01e  823k video only
1317                    mp4 640x360     30 │ 1317k m3u8_n │ avc1.4d401f 1317k video only
1382                    mp4 640x360     30 │ 1382k m3u8_n │ avc1.4d401f 1382k video only
2072                    mp4 960x540     30 │ 2072k m3u8_n │ avc1.4d401f 2072k video only
2137                    mp4 960x540     30 │ 2137k m3u8_n │ avc1.4d401f 2137k video only
3114                    mp4 1280x720    30 │ 3114k m3u8_n │ avc1.640028 3114k video only
3179                    mp4 1280x720    30 │ 3179k m3u8_n │ avc1.640028 3179k video only
6196                    mp4 1920x1080   30 │ 6196k m3u8_n │ avc1.640028 6196k video only
6260                    mp4 1920x1080   30 │ 6260k m3u8_n │ avc1.640028 6260k video only

I knew I Can select specfic track by use  -f 'bestvideo+bestaudio[language=zh]. what if I want to download both tracks. what should I do?
Thank you.
Verbose log
No log

--audio-multistreams -f bestvideo+all[vcodec=none]

Thank you.

so I used  --audio-multistreams -f bestvideo+all[vcodec=none] output as below
info] index: Downloading 2 format(s): 6260+audio-AACL-193-Japanese, 6260+audio-AACL-128-Chinese
[download] index [index].f6260.mp4 has already been downloaded
[download] 100% of 1017.12MiB
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 725
[download] Destination: index [index].faudio-AACL-193-Japanese.mp4
[download] 100% of 43.01MiB in 11:29
[Merger] Merging formats into "index [index].mp4"
Deleting original file index [index].f6260.mp4 (pass -k to keep)
Deleting original file index [index].faudio-AACL-193-Japanese.mp4 (pass -k to keep)
[download] index [index].mp4 has already been downloaded
even though that it shjows started downloading two audios however when it comes to merege and download. only single audio contain and download by the tool.
is it becaused that the problem of mp4 container ?
Thank you

Just apply a filter that selects the correct audio, or directly give the format_id. Eg: --audio-multistreams -f bv+ba[language=zh]+ba[language=ja]

Thankyou for your kindly help.  so I tried --audio-multistreams -f bv+ba[language=zh]+ba[language=ja]
result as below
[generic] index: Requesting header
[generic] index: Downloading m3u8 information
[info] index: Downloading 1 format(s): 6445+audio-AACL-128-Chinese+audio-AACL-128-Japanese+audio-AACL-128-Japanese+audio-AACL-128-Chinese
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 242
and finally the output files contains 4 audio trackers instead of 2.
and I tried  -f bv+ba[language=zh]+ba[language=ja]+mergeall[vcodec=none] without --audio-multistreams. only one audio track :/
[generic] index: Requesting header
[generic] index: Downloading m3u8 information
[info] index: Downloading 1 format(s): 6445+audio-AACL-128-Chinese
any suggestions?

Provide full verbose log

D:\Backup\Downloads\Documents\yt-dlp_win\yt-dlp>
D:\Backup\Downloads\Documents\yt-dlp_win\yt-dlp>yt-dlp.exe --proxy socks5://<IP_ADDRESS>:7890 --add-header "Referer":"https://hamivideo.hinet.net" "https://webvod-hamivideo.cdn.hinet.net/vod/hamivideo2/hamivideo-2251-2251104643_f_001/_/hd_6840-hls-ae-all-ma-6s/index.m3u8?url_type=&token=xxx&expires=xxx&content_id=xxx&product_id=xxx6&serial_no=xxx&auth_type=sn&auth_by=google_xxxx3&sales_plan_id=xx2&ts_id=&chsm=xxxx6a&auth_login_id=google_xxx3" --audio-multistreams -f bv+ba[language=zh]+ba[language=ja]+mergeall[vcodec=none] -o "12353231" -N 16 -R infinite --merge-output-format mkv
[generic] index: Requesting header
[generic] index: Downloading m3u8 information
[info] index: Downloading 1 format(s): 6445+audio-AACL-128-Chinese+audio-AACL-128-Japanese+audio-AACL-128-Japanese+audio-AACL-128-Chinese
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 242
[download] Destination: 12353231.f6445.mp4
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download]  16.2% of ~981.81MiB at 399.39KiB/s ETA 01:37 (frag 39/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  23.6% of ~1000.12MiB at  1.68MiB/s ETA 01:28 (frag 57/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  57.2% of ~1.01GiB at 183.64KiB/s ETA 00:49 (frag 139/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  58.0% of ~1022.53MiB at  3.96MiB/s ETA 00:48 (frag 140/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 2 of inf) ...
[download]  67.4% of ~1.00GiB at  3.91MiB/s ETA 00:38 (frag 163/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  67.8% of ~1.00GiB at  1.53MiB/s ETA 00:38 (frag 164/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download] 100% of 1.03GiB in 02:00
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 242
[download] Destination: 12353231.faudio-AACL-128-Chinese.mp4
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download]  14.9% of ~34.09MiB at  2.23MiB/s ETA 00:19 (frag 36/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  22.7% of ~34.09MiB at  1.48MiB/s ETA 00:16 (frag 54/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  57.9% of ~34.08MiB at 216.12KiB/s ETA 00:09 (frag 140/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  67.9% of ~34.08MiB at  5.15MiB/s ETA 00:06 (frag 164/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  72.9% of ~34.08MiB at 374.79KiB/s ETA 00:05 (frag 176/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  74.8% of ~34.08MiB at 669.13KiB/s ETA 00:05 (frag 181/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download] 100% of 34.06MiB in 00:23
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 242
[download] Destination: 12353231.faudio-AACL-128-Japanese.mp4
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download]  15.3% of ~34.09MiB at 76.91KiB/s ETA 00:22 (frag 37/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  40.9% of ~34.04MiB at  2.16MiB/s ETA 00:14 (frag 99/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  78.7% of ~34.04MiB at 39.15MiB/s ETA 00:05 (frag 190/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download]  99.2% of ~34.05MiB at 977.28KiB/s ETA 00:00 (frag 240/242)[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download] Got server HTTP error: <urlopen error [WinError 10054] An existing connection was forcibly closed by the remote host。>. Retrying (attempt 1 of inf) ...
[download] 100% of 34.03MiB in 00:26
[download] 12353231.faudio-AACL-128-Japanese.mp4 has already been downloaded
[download] 100% of 34.03MiB
[download] 12353231.faudio-AACL-128-Chinese.mp4 has already been downloaded
[download] 100% of 34.06MiB
[Merger] Merging formats into "12353231.mkv"
Deleting original file 12353231.faudio-AACL-128-Japanese.mp4 (pass -k to keep)
Deleting original file 12353231.faudio-AACL-128-Chinese.mp4 (pass -k to keep)
Deleting original file 12353231.f6445.mp4 (pass -k to keep)
here is how it looks like

yt-dlp.exe --proxy socks5://<IP_ADDRESS>:7890 -vU --add-header "Referer":"https://hamivideo.hinet.net" "https://webvod-hamivideo.cdn.hinet.net/vod/hamivideo2/hamivideo-2251-2251104643_f_001//hd_6840-hls-ae-all-ma-6s/index.m3u8?url_type=&token=xxx&expires=xxx&content_id=xxx&product_id=xxx6&serial_no=xxx&auth_type=sn&auth_by=google_xxxx3&sales_plan_id=xx2&ts_id=&chsm=xxxx6a&auth_login_id=google_xxx3" --audio-multistreams -f bv+ba[language=zh]+ba[language=ja]+mergeall[vcodec=none] -o "12353231" -N 16 -R infinite --merge-output-format mkv
[debug] Command-line config: ['--proxy', 'socks5://<IP_ADDRESS>:7890', '-vU', '--add-header', 'Referer:https://hamivideo.hinet.net', 'https://webvod-hamivideo.cdn.hinet.net/vod/hamivideo2/hamivideo-2251-2251104643_f_001//hd_6840-hls-ae-all-ma-6s/index.m3u8?url_type=&token=xxx&expires=xxx&content_id=xxx&product_id=xxx6&serial_no=xxx&auth_type=sn&auth_by=google_xxxx3&sales_plan_id=xx2&ts_id=&chsm=xxxx6a&auth_login_id=google_xxx3', '--audio-multistreams', '-f', 'bv+ba[language=zh]+ba[language=ja]+mergeall[vcodec=none]', '-o', '12353231', '-N', '16', '-R', 'infinite', '--merge-output-format', 'mkv']
[debug] Encodings: locale cp936, fs utf-8, out utf-8, err utf-8, pref cp936
[debug] yt-dlp version 2022.04.08 [7884ade] (win_dir)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 2022-04-14-git-ea84eb2db1-essentials_build-www.gyan.dev (setts), ffprobe 2022-04-14-git-ea84eb2db1-essentials_build-www.gyan.dev
[debug] Optional libraries: brotli, certifi, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {'http': 'socks5://<IP_ADDRESS>:7890', 'https': 'socks5://<IP_ADDRESS>:7890'}
Latest version: 2022.04.08, Current version: 2022.04.08
yt-dlp is up to date (2022.04.08)
[debug] [generic] Extracting URL: https://webvod-hamivideo.cdn.hinet.net/vod/hamivideo2/hamivideo-2251-2251104643_f_001/_/hd_6840-hls-ae-all-ma-6s/index.m3u8?url_type=&token=xxx&expires=xxx&content_id=xxx&product_id=xxx6&serial_no=xxx&auth_type=sn&auth_by=google_xxxx3&sales_plan_id=xx2&ts_id=&chsm=xxxx6a&auth_login_id=google_xxx3
[generic] index: Requesting header
[debug] Identified a direct video link
[generic] index: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] index: Downloading 1 format(s): 6445+audio-AACL-128-Chinese+audio-AACL-128-Japanese+audio-AACL-128-Japanese+audio-AACL-128-Chinese
[download] 12353231.mkv has already been downloaded

let me use this video as sample. it contains multiple audios and can be public reach
yt-dlp --list-formats https://www.zdf.de/serien/greyzone/zugriff-100.html
[ZDF] zugriff-100: Downloading webpage
[ZDF] zugriff-100: Downloading JSON content
[ZDF] zugriff-100: Downloading JSON metadata
[ZDF] 181004_2015_sendung_gzo: Downloading m3u8 information
[ZDF] 181004_2015_sendung_gzo: Downloading m3u8 information
[ZDF] 181004_2015_sendung_gzo: Downloading m3u8 information
[ZDF] 181004_2015_sendung_gzo: Downloading m3u8 information
[info] Available formats for 181004_2015_sendung_gzo:
ID                                      EXT RESOLUTION │   FILESIZE   TBR PROTO  │ VCODEC        VBR ACODEC     ABR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
hls-aac-Originalton-0                   mp4 audio only │                  m3u8_n │ audio only        unknown        [dan] Originalton
hls-aac-TV_Ton-0                        mp4 audio only │                  m3u8_n │ audio only        unknown        [deu] TV Ton
hls-96-0                                mp4 audio only │ ~ 28.79MiB   96k m3u8_n │ audio only        mp4a.40.2  96k [dan] auto, ot
hls-aac-Originalton-1                   mp4 audio only │                  m3u8_n │ audio only        unknown        [dan] Originalton
hls-aac-TV_Ton-1                        mp4 audio only │                  m3u8_n │ audio only        unknown        [deu] TV Ton
hls-96-1                                mp4 audio only │ ~ 28.79MiB   96k m3u8_n │ audio only        mp4a.40.2  96k [deu] auto, main
hls-aac-Originalton-2                   mp4 audio only │                  m3u8_n │ audio only        unknown        [dan] Originalton
hls-aac-TV_Ton-2                        mp4 audio only │                  m3u8_n │ audio only        unknown        [deu] TV Ton
hls-96-2                                mp4 audio only │ ~ 28.79MiB   96k m3u8_n │ audio only        mp4a.40.2  96k [dan] med, ot
hls-aac-Originalton-3                   mp4 audio only │                  m3u8_n │ audio only        unknown        [dan] Originalton
hls-aac-TV_Ton-3                        mp4 audio only │                  m3u8_n │ audio only        unknown        [deu] TV Ton
hls-96-3                                mp4 audio only │ ~ 28.79MiB   96k m3u8_n │ audio only        mp4a.40.2  96k [deu] med, main
hls-374-0                               mp4 480x272    │ ~112.17MiB  374k m3u8_n │ avc1.77.30   374k video only     [dan] auto, ot
hls-374-1                               mp4 480x272    │ ~112.17MiB  374k m3u8_n │ avc1.77.30   374k video only     [deu] auto, main
hls-374-2                               mp4 480x272    │ ~112.17MiB  374k m3u8_n │ avc1.77.30   374k video only     [dan] med, ot
hls-374-3                               mp4 480x272    │ ~112.17MiB  374k m3u8_n │ avc1.77.30   374k video only     [deu] med, main
hls-603-0                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [dan] auto, ot
hls-603-1                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [dan] auto, ot
hls-603-2                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [deu] auto, main
hls-603-3                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [deu] auto, main
hls-603-4                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [dan] med, ot
hls-603-5                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [dan] med, ot
hls-603-6                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [deu] med, main
hls-603-7                               mp4 640x360    │ ~180.86MiB  603k m3u8_n │ avc1.77.30   603k video only     [deu] med, main
hls-1155-0                              mp4 852x480    │ ~346.42MiB 1155k m3u8_n │ avc1.77.30  1155k video only     [dan] auto, ot
hls-1155-1                              mp4 852x480    │ ~346.42MiB 1155k m3u8_n │ avc1.77.30  1155k video only     [deu] auto, main
hls-1155-2                              mp4 852x480    │ ~346.42MiB 1155k m3u8_n │ avc1.77.30  1155k video only     [dan] med, ot
hls-1155-3                              mp4 852x480    │ ~346.42MiB 1155k m3u8_n │ avc1.77.30  1155k video only     [deu] med, main
hls-1796-0                              mp4 1024x576   │ ~538.67MiB 1796k m3u8_n │ avc1.77.30  1796k video only     [dan] auto, ot
hls-1796-1                              mp4 1024x576   │ ~538.67MiB 1796k m3u8_n │ avc1.77.30  1796k video only     [deu] auto, main
hls-2577-0                              mp4 1280x720   │ ~772.91MiB 2577k m3u8_n │ avc1.640028 2577k video only     [dan] auto, ot
hls-2577-1                              mp4 1280x720   │ ~772.91MiB 2577k m3u8_n │ avc1.640028 2577k video only     [deu] auto, main
http-h264_aac_mp4_http_na_na-low-0      mp4 unknown    │                  https  │ h264              aac            [dan] low, ot
http-h264_aac_mp4_http_na_na-low-1      mp4 unknown    │                  https  │ h264              aac            [deu] low, main
http-h264_aac_mp4_http_na_na-high-0     mp4 unknown    │                  https  │ h264              aac            [dan] high, ot
http-h264_aac_mp4_http_na_na-high-1     mp4 unknown    │                  https  │ h264              aac            [dan] high, ot
http-h264_aac_mp4_http_na_na-high-2     mp4 unknown    │                  https  │ h264              aac            [deu] high, main
http-h264_aac_mp4_http_na_na-high-3     mp4 unknown    │                  https  │ h264              aac            [deu] high, main
http-h264_aac_mp4_http_na_na-veryhigh-0 mp4 unknown    │                  https  │ h264              aac            [dan] veryhigh, ot
http-h264_aac_mp4_http_na_na-veryhigh-1 mp4 unknown    │                  https  │ h264              aac            [dan] veryhigh, ot
http-h264_aac_mp4_http_na_na-veryhigh-2 mp4 unknown    │                  https  │ h264              aac            [deu] veryhigh, main
http-h264_aac_mp4_http_na_na-veryhigh-3 mp4 unknown    │                  https  │ h264              aac            [deu] veryhigh, main
eg I only want to download two of audio from the video. so I perform.
  I didn't check the readme carefully.
Have a good day sir.


Better workflow for working with monad transformers

🚀 Feature request
Current Behavior
So say i combine WriterT with StateT ReaderT and Either for a (I'd say pretty common) monad stack. Everything is great when it comes to typing, and I can even get a barebones monad instance, but no more than that. What if I need a curried map / chain function? What if I want to instantiate the monad with a right value? Since the of operation gives me a left I have to make my own helper.

Desired Behavior

I'd like to have a way to just call a function and get a bunch of curried functions and helpers I can use with the stack I chose
Suggested Solution
We can already get a barebones monad so maybe we need a function which takes that and returns curried helpers

Who does this impact? Who is this for?
People who use monad transformers

Describe alternatives you've considered
Writing the helpers myself for each new stack, gets boring and repetitive

Additional context
I'm sorry if this library already offers something to solve this, in my limited time I wasn't able to find any solution

Your environment

Software
Version(s)

fp-ts
2.5.1

TypeScript
3.7

You can get curried pipeable operations like map and chain using the pipeable function:
import { pipeable } from 'fp-ts/lib/pipeable';

const { map, chain } = pipeable(monadStackInstance);

Thanks a lot @aqrln. Is there also a good way of creating a helper which intialized the stack containing a left?

I think you’d need to define it manually, unfortunately. Everything that follows from all of the monads in the stack being monads should be in the resulting monad instance, but everything that follows from the semantics and not the general laws can’t be automated easily, I believe, so one has to compose functions the way it makes sense (when such composition exists at all). You may look at some predefined monad stacks (e.g., https://github.com/gcanti/fp-ts/blob/master/src/StateReaderTaskEither.ts) to draw inspiration from, but as you can see, there’s quite a bit of boilerplate there.

But then again, I don’t have very much experience with typed FP prior to fp-ts, so I sure may be missing something. I’d be curious how does it look like in, e.g., Scala’s cats.

@aqrln I see, thanks for the help:)

I'd also like to mention that a prebuilt stack for Reader + State + Writer would be really nice, maybe even a getting started blog about Writer for begginers


Configure php.ini

I am not familiar with PHP at all. I am going to configure the php.ini file according to NextCloud's documentation and reading through the options myself to choose best practices, but the default file is very large. Would appreciate help securely and correcting setting up the php.ini file.
https://github.com/arikalfus/nextcloud-ansible/blob/master/files/php/php.ini.j2

I have not needed to configure or change anything in php.ini, nor have I had to modify it. I will see what I can provide as to setting specific values and how they translate post installation.

Ok, good to know. There are likely sensible defaults we would want to modify if the Nextcloud server is intended to be accessible from the public internet. But I can ignore that for the time being.


What am I doing wrong, all my modals are initialised on page load

Version
vue-final-modal: ^2.4.3
vue: ^2.7.10
nuxt: 2.17.0
OS: Mac
So I have created a plugin:
import Vue from 'vue'
import { vfmPlugin } from 'vue-final-modal/lib'

Vue.use(vfmPlugin)

Set in in my plugins section in nuxt config:
'~/plugins/vue-final-modal.js'
Added modals container to my default.vue file:
<template>

    <navbar />

    <nuxt></nuxt>
    <modals-container></modals-container>
    <bird-blocker-footer />

</template>

And created a dynamic modal according to this: https://v2.vue-final-modal.org/dynamic-modal:
<template>
  <vue-final-modal name="login" :ssr="false" classes="modal-container" content-class="modal-content">

      <is-loading-overlay />
      <login-form />

  </vue-final-modal>
</template>

Thats not working when I call $vfm.show('login') from any other component... But the modal is visible in vue devtools in Chrome, and the content is loaded (I have networking calls in it). I expect it only to be visible in devtools (loaded) when I call $vfm.show('login').
What am I missing here?

@BorisKamp Can you try to put all modal in <ClientOnly>, I think<EMAIL_ADDRESS>not fully support the ssr


First issue

Step 1: Create a Task List

[x] Turn on GitHub Pages
[x] Outline my portfolio
[x] Introduce myself to the world

Tareas por reaizar


Evaluate whether Notify* pattern is still required.

Its very possible we can use another method to detect changes on-save, like a hash or such of the struct.

It is: The pattern is required because it allows upwards-filtering-dirtification. i.e., a child asset will dirty a parent asset.


Add OPENSHIFT_DEBUG_TOOLING variable to work with enabling/disabling …

…populating a cluster with a kubeconfig and ssh keys for debugging purposes

@chaitanyaenr PTAL and review