Request handler called even when response.redirect() is called in preHandler

Disclaimer: I'm not absolutely certain whether this ticket is a bug with this plugin, or with Fastify itself, but I was not able to reproduce without using this plugin.
** Summary**
TLDR: A route's handler is still called even when the preHandler hook (of the same route) calls reply.redirect(...)
I have a route with a preHandler hook, and the hook is intended to protect the route by checking if the request is authenticated. If the request is not authenticated, then it is redirected to the login route. However, even when reply.redirect('/login') is called inside the route's preHandler, the route's handler is still called.

Setup

npm init -y && npm i -S fastify fastify-cookie fastify-session memorystore ms
Add the code from this gist to index.js
node ./index.js

Steps to reproduce

curl -L localhost:3000 (Or via a browser, postman, etc.)
Notice that the server log showsGET / -> preHandler()
GET / -> handler() !! This should never be shown !!
GET /login -> handler()

I think it's important to note that this issue does not occur in the following scenarios:

An error is thrown after reply.redirect('/login')
The preHandler hook uses the callback signature, and does not call next() if the request is not authenticated

Unfortunately I'm at a loss for where to start with this investigation, this seems like a very wonky issue 🤔

is missing a return in function "preHandler: async function (request, reply)"
Correction:
https://gist.github.com/GleisonMV/1c0490d1c82c8fa93ee86c113efb99e9
log:
server listening on port 3000
GET /login -> handler()

Based on the log, it looks like you navigated directly to /login, so the hook attached to the / route was never called 😕
With that said, a return; statement (or return undefined;) at the end of a function is equivalent to no return statement at all, so this won't have an impact on the execution.
However, to make sure I'm not going crazy, I did indeed make your change, but the issue persisted.

Yes it is, sorry, but what it seems is that the async of the hook, only interrupted the life cycle if it has a throw

first test with the initial code
Log: ```
server listening on port 3000
GET / -> preHandler()
GET / -> handler() !! This should never be shown !!
GET /login -> handler()

With throw

// With this hook, the handler is still called
preHandler: async function(request, reply) {
console.log('GET / -> preHandler()');
reply.redirect('/login');
throw new Error()
},

log: ```
server listening on port 3000
GET / -> preHandler()
GET /login -> handler()

Throwing an error does indeed interrupt the lifecyle. With that said, based on the fastify hooks documentation, throwing an error should not be required in this case 🤔.

hooks with async should be used with promise

I'm not quite sure what you mean, could you please elaborate? An async function implicitly returns a promise.

It is possible to reproduce the problem only using fastify (and fastify-plugin): https://gist.github.com/SerayaEryn/85b85867a81a9d25ad15d9978ce4cfd0
The problem occurs when the callback of the onSend hook is not being called synchronous.
Therefore an issue should be opened in the fastify repository.

Thanks for the investigation!
Expanding on your findings, the issue occurs even without fastify-plugin 😕
I have opened an issue in the fastify repository for this.


Support CLAide-based Danger plugins

Closes #131. Closes #145.

        1 Error

  </th>
 </tr>

:no_entry_sign:
Please include a CHANGELOG entry.
You can find it at CHANGELOG.md.

        2 Warnings

  </th>
 </tr>

:warning:
Author @segiddins is not a contributor

:warning:
Tests were not updated

  Generated by :no_entry_sign: danger

Yeah!
So this is definitely a part of it, but not enough to consider fixing it, @dbgrandi has been working on converting CocoaPods-Plugins to CLAide-Plugins so that it can power both CP and Danger

( I can't manually merge this by pushing to master, and I don't have access to the "update button" alas )


Xpath selector not valid but valid in actual browser

Steps to reproduce
a bunch of div elements with sku_item class
there are other elements with class photo_no_QV
sometimes the div with photo_no_QV may contain another div with class oos_label, sometimes not.
I need the ones that don't contain div with class oos_label
my expression xpath = //div[contains(@class, "sku_item")]//div[contains(@class, "photo_no_QV") and not(div[contains(@class, "oos_label")])]
Tell us about your environment:

Puppeteer version:  ^9.1.1
Platform / OS version: KUbuntu 20.04
URLs (if applicable): https://www.officedepot.com/catalog/search.do?Ntt=Mac+Book
Node.js version: 14

What steps will reproduce the problem?
you can find the elements on the provide page
Please include code that reproduces the issue.
let elements = await page.$$eval('//div[contains(@class, "sku_item")]//div[contains(@class, "photo_no_QV") and not(div[contains(@class, "oos_label")])]');
// let elements = await page.$$('.sku-item-list .sku-item button.add-to-cart-button.btn-leading-ficon');
console.log(elements.length);
while (elements.length == 0) {
await page.reload({ waitUntil: 'domcontentloaded', timeout: 0 });
elements = await page.$$('//div[contains(@class, "sku_item")]//div[contains(@class, "photo_no_QV") and not(div[contains(@class, "oos_label")])]');
}

What is the expected result?
number of elements
What happens instead?

you should use $x, $$ is for query selectors.


modify docker template files for proxyv2

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: GregHanson
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [GregHanson]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: GregHanson, rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [GregHanson,rshriram]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

linter is broken. Force merging


Handle terminated connections with the server

ref #22
There should be a nice wrapper library which I don't know.

Is there any way I could help with this? I am really interested in using Synceddb and if there is anything holding it back from being in production, I would love to chip in.
What exactly is going wrong when a connection is terminated? Reconnection attempts, etc?

@awitherow Thank you. Let me answer you at #22 .


Put announce updates view on create and recreate

Hello!
This pr is to direct the user to email subscription form after pressed button create and restore.

Thanks @josikie going to sleep soon. I will look at it tomorrow.  TYVM!

Hello! @kcw-grunt
Git doesn't want empty to be committed. So I add an empty file too.


no need for RecordCollector to know default serializers

@guozhangwang
Callers know which serializers to use and always specify them explicitly.

lgtm.


Fix split_on with multiple request parameters

Closes #219

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

Hi @malmans2,
thank you very much for this fix.


fix: check if the pattern upload, is valid

Notes for Reviewers
This PR fixes #
The designers sometimes get stuck when they try to upload docker-compose or a kubernetes manifest under design, since it is an invalid design construct.
Now we'll check for valid design files and only save them if they're valid, when users uploads.
Signed commits

[x] Yes, I signed my commits.

@harkiratsm did you address this feedback? If so, re-request a review.

and comment on how yo addressed the feedback.


Dependency walk failed

poetry export to requirements.txt fails with Dependency walk failed at torch (>=1.6.0) error
Any fix available? if not any workaround available?
Poetry (version 1.2.2)
System Version: macOS 13.2 (22D49)
Kernel Version: Darwin 22.3.0
pyproject.toml
[tool.poetry.dependencies]
python = "^3.9.9"
torch = [
    {markers = "platform_machine == \"arm64\"", url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp39-none-macosx_11_0_arm64.whl"},
    {markers= "platform_machine != \"arm64\"", url="https://download.pytorch.org/whl/torch-1.13.1-cp39-cp39-manylinux2014_aarch64.whl"}]
sentence-transformers = "2.2.2"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

the poetry.lock has 2 versions for torch "1.13.1" and torch = ">=1.6.0"
[package.source]
type = "url"
url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp39-none-macosx_11_0_arm64.whl"
[[package]]
name = "torch"
version = "1.13.1"
description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
category = "main"
optional = false
python-versions = ">=3.7.0"

and torch = ">=1.6.0" coming from sentence-transformers
[[package]]
name = "sentence-transformers"
version = "2.2.2"
description = "Multilingual text embeddings"
category = "main"
optional = false
python-versions = ">=3.6.0"

[package.dependencies]
huggingface-hub = ">=0.4.0"
nltk = "*"
numpy = "*"
scikit-learn = "*"
scipy = "*"
sentencepiece = "*"
torch = ">=1.6.0"
torchvision = "*"
tqdm = "*"
transformers = ">=4.6.0,<5.0.0"

I encountered the same bug too.
part of pyproject.toml
[tool.poetry.dependencies]
python = ">=3.10,<3.11"
torch = [
    { platform = "darwin", url = "https://download.pytorch.org/whl/cpu/torch-2.1.0-cp310-none-macosx_11_0_arm64.whl" },
    { platform = "linux", url = "https://download.pytorch.org/whl/cu121/torch-2.1.0%2Bcu121-cp310-cp310-linux_x86_64.whl" }
]
torchvision = [
    { platform = "darwin", url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.0-cp310-cp310-macosx_11_0_arm64.whl" },
    { platform = "linux", url = "https://download.pytorch.org/whl/cu121/torchvision-0.16.0%2Bcu121-cp310-cp310-linux_x86_64.whl" }
]
open-clip-torch = "^2.22.0"

then the exception is thrown if you run poetry export. But the exception is not thrown without lines containing darwin.

I encountered the same bug too.
part of pyproject.toml
[tool.poetry.dependencies]
python = ">=3.10,<3.11"
torch = [
    { platform = "darwin", url = "https://download.pytorch.org/whl/cpu/torch-2.1.0-cp310-none-macosx_11_0_arm64.whl" },
    { platform = "linux", url = "https://download.pytorch.org/whl/cu121/torch-2.1.0%2Bcu121-cp310-cp310-linux_x86_64.whl" }
]
torchvision = [
    { platform = "darwin", url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.0-cp310-cp310-macosx_11_0_arm64.whl" },
    { platform = "linux", url = "https://download.pytorch.org/whl/cu121/torchvision-0.16.0%2Bcu121-cp310-cp310-linux_x86_64.whl" }
]
open-clip-torch = "^2.22.0"

then the exception is thrown if you run poetry export. But the exception is not thrown without lines containing darwin.

I encountered the same bug too.
part of pyproject.toml
[tool.poetry.dependencies]
python = ">=3.10,<3.11"
torch = [
    { platform = "darwin", url = "https://download.pytorch.org/whl/cpu/torch-2.1.0-cp310-none-macosx_11_0_arm64.whl" },
    { platform = "linux", url = "https://download.pytorch.org/whl/cu121/torch-2.1.0%2Bcu121-cp310-cp310-linux_x86_64.whl" }
]
torchvision = [
    { platform = "darwin", url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.0-cp310-cp310-macosx_11_0_arm64.whl" },
    { platform = "linux", url = "https://download.pytorch.org/whl/cu121/torchvision-0.16.0%2Bcu121-cp310-cp310-linux_x86_64.whl" }
]
open-clip-torch = "^2.22.0"

then the exception is thrown if you run poetry export. But the exception is not thrown without lines containing darwin.

I'm having the same issue with the same dependency structure for torch and torchvision like yours

I found a workaround for my use case which is to make the darwin wheel a dev dependency so that only the linux wheel gets exported to the requirements.txt file.

I was running into this issue when building my docker image, setting the platform flag fixed it for me.

Duplicate of #183


Feature unity vr

WARNING: This PR updates the Oculus plugins.

[ ] Branch and roll-back the Oculus version. Verify that the older LeapOVRPlayerController still works.
[ ] Verify that the absence of either Center of Left+Right cameras does not break the alignment.

KNOW ISSUE: When using the Center camera, the right eye pass-through image is vertically misaligned.
KNOWN ISSUE: In the editor, the peripheral requires a frame adjustment of 2. Maybe there is a logic issue?

Pulling this back for further integration work.


fix: handle list of lists from fetch_data

CATEGORY
Choose one

[x] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[x] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY
Currently SupersetResultSet is unable to handle results that are coming in as a list of lists. This causes trouble later when converting the result into a numpy array. While the convention for PEP-249 is to return a list of tuples, this is not strictly enforced, and hence many connectors return a list of lists.
This PR ensures that the result set is a list of lists that numpy can handle properly. A test case is also added that fails without the change.
BEFORE

AFTER

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS
@robdiciuccio @dpgaspar @kunaldawn

Codecov Report

Merging #9322 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9322   +/-   ##
=======================================
  Coverage   59.08%   59.08%
=======================================
  Files         374      374
  Lines       12205    12205
  Branches     2989     2989
=======================================
  Hits         7211     7211
  Misses       4815     4815
  Partials      179      179

Impacted Files
Coverage Δ

superset-frontend/src/explore/controls.jsx
40.14% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c36a7e3...f0bbe4e. Read the comment docs.


Revisit Namespaced keywords

I think this is going to be a more & more pressing issue as namespaced keywords are now the recommended way of doing business.
What is the blocker to enabling them?

To be clear, I'm interested in getting them working, and can put in some effort in order to do so.

Is this issue getting any attention?

Hiya, I am currently fleshing out support for namespaced maps in rewrite-clj. I'll come back here and have a look at this issue when I'm done over there.

Until someone finds some time to have a look at my pull request over at rewrite-clj, I have been playing locally on my computer with adding namespaced map support to rewrite-cljs.
It all looks good with the exception of sepxr support. Unless someone has a better idea, I think I'll take the same approach as was taken with rewrite-cljs keywords and simply throw an exception.

This issue has been addressed in https://github.com/clj-commons/rewrite-clj


Add ECMAScript Modules support

Any plans for supporting ECMAScript Modules?

Is the idea that a transpilation step with Babel would also be included in the generator for this?
Given the versions of node that Express needs to support, I don't see es module support being added to express or this generator without an included transpilation step (which greatly increases the complexity of adding es module support).
That said, PRs are always welcome.

The age of this issue and no elaboration of what, exactly the feature should look like makes this not very actionable by us. If someone wants to provide enough details for someone to work on this, it can be reopened.


AttributeError: 'module' object has no attribute 'path' with Django 1.6

Hi,
I tried installing django-pickling on my Django 1.6 setup (Python 2.7.9), following the advise in cacheops performance tips.
Adding it to INSTALLED_APPS results in this stacktrace:
10:55:44 web.1  | Traceback (most recent call last):
10:55:44 web.1  |   File "/usr/lib64/python2.7/wsgiref/handlers.py", line 85, in run
10:55:44 web.1  |     self.result = application(self.environ, self.start_response)
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
10:55:44 web.1  |     return self.application(environ, start_response)
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
10:55:44 web.1  |     self.load_middleware()
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/core/handlers/base.py", line 47, in load_middleware
10:55:44 web.1  |     mw_instance = mw_class()
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/middleware/locale.py", line 24, in __init__
10:55:44 web.1  |     for url_pattern in get_resolver(None).url_patterns:
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/core/urlresolvers.py", line 365, in url_patterns
10:55:44 web.1  |     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/core/urlresolvers.py", line 360, in urlconf_module
10:55:44 web.1  |     self._urlconf_module = import_module(self.urlconf_name)
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
10:55:44 web.1  |     __import__(name)
10:55:44 web.1  |   File "/home/olive/sources/1flow/oneflow/urls.py", line 66, in <module>
10:55:44 web.1  |     url(r'^djangojs/', include('djangojs.urls')),
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 26, in include
10:55:44 web.1  |     urlconf_module = import_module(urlconf_module)
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
10:55:44 web.1  |     __import__(name)
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/src/django.js/djangojs/urls.py", line 36, in <module>
10:55:44 web.1  |     url(r'^translation$', 'django.views.i18n.javascript_catalog', js_info_dict(), name='js_catalog'),
10:55:44 web.1  |   File "/home/olive/.virtualenvs/1flow/src/django.js/djangojs/urls.py", line 25, in js_info_dict
10:55:44 web.1  |     for path in module.__path__:
10:55:44 web.1  | AttributeError: 'module' object has no attribute '__path__'
10:55:44 web.1  | [06/Feb/2015 10:55:44] "GET / HTTP/1.1" 500 59

Removing it from INSTALLED_APPS solves the crash so I assume it comes from this package, but I don't have a detailled stacktrace for this crash.
Looking at available stacktraces, I found this one that could imply an interaction problem with django-position and is probably different than the current one which just prevents the webserver from handling any request.
The whole setup — and other interacting apps — is quite complex, but it's here if you dare looking at it ;-)
Do you have any hint of what could be causing this strange problem ?
Thanks & best regards,

It's an error in djangojs/urls.py line 25. It assumes module has __path__ attribute, but this is only true if module is a package and django_pickling is just a single file. It has however __file__ set, so this will work:
import os.path
os.path.dirname(module.__file__)

OK thanks. I will report the bug to Django-js.


Buildkite: Run weeder as early as possible, after build, before test

Moves the Weeder command earlier in the Stack Rebuild step.
Updates Weeder to 2.2.0, which fixes the problem of false weeds due to stale .hie files.

It looks like the 2.2.0 Weeder release from a few days ago fixes the issue with reading .hie files that don't have a corresponding .hs file. :tada:

We no longer use Stack. The context for this pull request has been lost to time. Closing.


(JS-0359) Detected the use of require statements except in import statements

Description
In other words, the use of forms such as var foo = require("foo") are banned. Instead use ES6 style imports or import foo = require("foo") imports. Example - The not-preferred way :
Occurrences
There is 1 occurrence of this issue in the repository.
See all occurrences on DeepSource → deepsource.io/gh/PleahMaCaka/SEOA/issue/JS-0359/occurrences/

(resloved)[https://github.com/PleahMaCaka/SEOA/commit/6c5ff27435175490a261ffb230fae640d933d75c]


About a bug in   File "icml18-jtnn/fast_jtnn/chemutils.py",

I obain a bug when runing to icml18-jtnn/fast_jtnn/chemutils.py:
"
line 320, in
get_nid = lambda x:0 if node.is_leaf else node.nid
NameError: name 'node' is not defined
"
I find that here the variable "node" should be "ctr_node".  The code is ok after I fixed it.

Thanks for pointing this out. The correct fix is
get_nid = lambda x:0 if x.is_leaf else x.nid

The code has been fixed.


Run EER evaluation for ECAPA-TDNN

I am trying to run EER evaluations on a self-trained ECAPA model. I keep running in to the following error: "FileNotFoundError: [Errno 2] No such file or directory: '/network/datasets/restricted/voxceleb_users/voxceleb/voxceleb1/meta' "
Since this line is pre-defined in the verification_ecapa.yaml, I am wondering how to fix this issue. Thanks!

It looks like you didn't change the variable voxceleb_source in the yaml file with your own path.

Thanks Mirco! As it turned out, If one were to run EER the first time, he only needs to leave voxceleb_source blank.


Consume mesos 1.0.1

Bumps the mesos version to 1.0.1 and updates executor to consume a specified mesos binary given a URI.
Confirmed to work on DC/OS 1.7 and 1.8.

retest this please

retest this please

retest this please

retest this please

retest this please

dcos-tests flakes SHOULD finally be fixed now

retest this please

retest this please

rest this please

retest this please

retest this please

retest this please


GMI import: stop imported instances before creating GMIs

GMI import: stop imported instances before creating GMIs to avoid any consistency issues.

/unhold


[cypress]:add types for custom takeSnapshot command

Issue: #AP-4657
What Changed

This PR adds types for the custom takeSnapshot Cypress command.
How to test

Install the Canary in project.
Verify typings in VSCode.

@thafryer looks like there's one linting issue that popped up, an ignore should take care of it: https://github.com/chromaui/chromatic-e2e/actions/runs/9228813683/job/25393669604?pr=141


Week of 2022/11/30 - .NET Core Buildpack releases

https://github.com/paketo-buildpacks/dotnet-core/releases/tag/v0.27.0


BMSCC Refactor

Cleans up formatting
Adds functions to modify points and access other collision data

I managed to keep construct.Terminated but I don't think this is the best way to go about it. I would like feedback on how to approach this so only Dread uses that last field, since it doesn't exist for MSR. @duncathan

I guess I got it?  I just copied from BMSAD.


Add gzip to the protocol

@mafintosh and I were looking at why some hyperdrive feeds were taking a long time to sync metadata, and found that there's a lot of redundancy in the metadata. @mafintosh gzipped it and reduced ~6MB to a few hundred KB. The conclusion was that, whatever other optimisations might be added to the indexing etc., a simple optimisation that will help in almost all cases is to gzip everything.
@mafintosh - are we talking about gzipping on the fly during transport, or gzipping the metadata on disk?

Just transport for now. Disk is cheap.

Recording discussion from IRC:

@mafintosh suggested trying other compression algorithms - e.g. snappy
@yoshuawuyts suggested looking at brotli
we probably want to optimise for slower connections, since that's where large metadata will impact the user experience most
that likely means preferring a higher compression ratio over faster compression speed
benchmark all of this

Just throwing zstd in the mix :)

@emilbayes nice
Also looking at:

lzturbo, especially lzturbo -31
lz4

Here's a pair of hyperdrive v8 keys that can be used to test: https://github.com/codeforscience/sciencefair-elife/issues/1
One is ~3.6k small JSON files, the other is ~3.6k academic papers in JATS xml format with figures in jpg.

@mafintosh some v8 feeds that have flat dir structure:

json 538ff422e03f2b748421a347cb547b9d547297cdecfb267548c0ae32f907bdf7
articles 4e3f9a83f8b5bdd193b0c805196fa8db9878ef5efcfafced86fbbd7013d32585

@mafintosh you said compression is now added to append-tree right?

To update: this hasn't been added anywhere yet. Bigger priorities like multiwriter =).

Still interesting! Join the discord if y'all wanna discuss further.


fdr: fix Qt library dependency

Motivation for this change
https://github.com/NixOS/nixpkgs/commit/25b3a8a961397bfc36ece5bcc6182717c572038b broke FDR, this fixes it.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thanks!


Dire need for a major update/overhaul

I sincerely apologize if this issue comes off too critical. I appreciate express-generator, and it is my go-to tool for generating boilerplate for express, but this project is severely outdated. It hasn't had a commit since May 2019!

The JS files still haven't been updated to ES6-style syntax like const, let, and arrow functions, and the PR that does add such functionality (#200) has been sitting dormant for almost 2 years now (and has been locked!).

Jade is the default template engine despite the fact that the project has moved on to becoming Pug.js now

hjs is an option even though it hasn't had a publish in 8 years. The project has moved on to becoming Hogan.js

The default handlebars implementation as it is right now has no support for partials (The issue bringing this up has been sitting dormant since June 2017!!)

I find express-generator to be an extremely useful tool, and I want to see this project be the best it can be but right now it is in dire need of an overhaul.
I'd be willing to work on these issues but I don't want to pour time and effort into a patch only for it to sit unmerged for years.
So the questions I have for @dougwilson (who I assume is the project owner) are:

Is this project even still alive?
If it is, would you like help in maintaining it?
Are some of the completed PRs with long-awaited feature additions (such as #200) going to be merged any time soon?

Again, I would like to reiterate that I appreciate all the work and effort being put into this project and I apologize if this issue comes off too harsh, but this project is lagging way behind and as the "official" boilerplate generator that's listed prominently in the https://expressjs.com/ website, a major overhaul that addresses all these problems is way overdue

Hi @anirudhgiri you are correct, this project is in need of a overhaul. Things like the es6 option are juat unsustainable to add in the long term (I mean, how many if statements can you out around raw text in a file in the end?). A project member was rewriting the generator to not only be up to date, but use the new npm init (https://docs.npmjs.com/cli/v8/commands/npm-init) syntax instead of needing to first insall an executable and then run it. This is supposed to completely replace this generator. I'm not sure what happned to that project. I will take a look in to the state of that, but will also at least get this one generating with the current express 4 in the interim.

Here is the repo that is the WIP to replace this package: https://github.com/wesleytodd/create-express-app

@dougwilson unfortunately, that WIP seems to be outdated too, having the latest commit from Jun 3, 2019 :smile:

Hi @mstranecky-deloittece have you considered trying to contribute there to help it along if you find it outdated? The purpose is to replace this package. If not, what do you think the plan forward should be and who should do it?

As for the original issue here, I never heard back and the answer to the question was provided: yes, this package is in dire need for a major update/overhaul and that effort is located here: https://github.com/wesleytodd/create-express-app


Milestones

These are the milestones for eris - our discord ACME
Project Lead: @jacksebastian17
Supervisor: @geooot
Proposal Doc
Tasks/Features (in order-ish):

[x] Create Next JS project, add it to galaxy
[ ] Make a read only discord channel with correct messaging (and probably link in the future)
[ ] Make a discord role that can only see that channel.
[x] Setup a Discord Sign in button (Discord OAuth)
[x] When user connects discord account, store appropriete discord id to a database (firestore, mongodb, etc)
[x] #4
[x] Create function where given a TD user auth id, set their discord nickname on the server to a specified name
[ ] Create UI and appropriate APIs for each step (look at entrypoint 1 in document for more info)

Use the functions created in the backend APIs

[x] Create Admin API that let admins assign roles by calling an api endpoint (given TD user auth id...)
[x] Create Admin API that let admins set user server nickname by calling an api endpoint (given TD user auth id...)

[ ] make responsive for mobile
[ ] Make nope button do thing
[ ] Title should be "Join the TD Discord" instead of harmonia
[ ] Try to speed it up


Ensure the filesystem-based backend works for all HTTP verbs

Should be covered by the integration tests we have now.


Added feeding options and methods

Hi,
I have added the feeding options and methods that were missing for us. See if you want to merge this :-).
Grtz,
Jeroen.

Hi! Thanks for taking the time to submit a PR. I am slightly hesitant about this change, but not totally opposed to it. If this PR is to be merged it will need to be linted. Check out CONTRIBUTING.md#development for more about how to lint and resolve any issues. Once those are resolved and the CI build process succeeds, I can take a closer look.

Closing this due to inactivity.


how do I solve wrong result ?

For VGG16 and AlexNet
Start verifying results ...
Item=0 is wrong (result=0.000000, golden_ref=-6.000000)
Item=1 is wrong (result=0.000000, golden_ref=3.000000)
Item=2 is wrong (result=0.000000, golden_ref=-8.000000)
Item=3 is wrong (result=0.000000, golden_ref=-9.000000)
Item=4 is wrong (result=0.000000, golden_ref=-5.000000)
Item=5 is wrong (result=0.000000, golden_ref=-1.000000)
Item=6 is wrong (result=0.000000, golden_ref=-12.000000)
Item=7 is wrong (result=0.000000, golden_ref=7.000000)
Item=8 is wrong (result=0.000000, golden_ref=10.000000)
Totally 941 Wrong Results

it seems that your program has not correctly load the image.dat file, so everything was zeros

it seems that your program has not correctly load the image.dat file, so everything was zeros

So how I would solve it? I was put all information in the /data folder. But it doesn't access it.


Issue with $location.search

I've made a new PR #185 that checks if $location.search is empty and if so then it tries to call a custom function to get the parameters of an url.
I was getting this problem when running an app with angular.js v1.3.9.

Yeah, this appears to be a bug with older versions of angular not adhering to the RFC ... $location.search() parsing seems to work as expected with trailing fragments in 1.4.4.


Empty field in scrapped profile

Describe the bug
Profile fields after scrapping are empty.
To Reproduce
Code
profile = Profile("hm")
profile.scrape()
profile.username
Gives the output
nan
Expected behavior
Right output (in this case "hm")
Desktop (please complete the following information):

OS: Ubuntu 20.04 (LTS) x64
Python 3.8.5
insta-scrape==1.1.0

Hello @klabertants ! Thanks for opening an issue
I wasn't able to reproduce the missing field value, it works fine for me. Can you show me what you get in profile.json_dict?

example: https://www.instagram.com/p/COSzSS4DQNG/


adding word boundaries to the acoustic model for Na

Since 2018, the model for Na includes tone-group boundaries. But up till now (Oct. 2018), the model for Na still disregards word boundaries. A look at story-fold cross-validation materials suggests that longer words have somewhat different acoustic properties. So there could be value for phoneme & tone recognition in adding word boundaries to the training.
A first step (suggested by @oadams ) could be to produce separate error rates for short words versus longer words by using the word segmentation in the reference transcription as a guide.
(Suggested label for this Issue: Yongning Na)

This relates to #214, in that the word boundary in the training corpus is a space.

"it's important that if users want to explictly predict spaces (in character prediction), then that is accounted for. Probably best with a flag to segment_into_chars() or something similar, which would generate special tokens that represent spaces, such as underscores, for training and decoding. These then would get removed as a postprocessing step."


Allow user to configure the number of comments in history to look back

Currently the bot just checks the most recent 100 comments. Could change this to look further back.

Not going to implement this because it would cause undue load on APIs.


[Docs] Need to list the aggregate type we support

File: /docs/table_design/table_types/aggregate_table.md

I think we support "sum", "max", "min" and "replace".


add info about issues templates to CONTRIBUTING.md

NIT: Ideally should be handled by issues templates. There is a support for forms introduced recently, can show it to you next week. E.g. see https://github.com/jenkins-infra/helpdesk/tree/main/.github/ISSUE_TEMPLATE by @lemeurherve
Originally posted by @oleg-nenashev in https://github.com/keptn/keptn.github.io/pull/1060#r810540138

stale


Question

Can schools directly patch this or is this left up to google to fix it.

I hope it never gets patched

@paperoll this is a issue google has to fix and judging by google's past patches, this is not gonna be patched for a long time

pls star repo if this helped


Question

What is the permission?

permission for each clothes/cosplays is set in the config.yml

Permission for rank

everyone can use the command,there only have permission for specific clo/cos


Do protect release versions branches with name vX.X.X

In GitLab by @perarnau on Apr 25, 2019, 09:56
TODO after release

In GitLab by @perarnau on May 8, 2019, 10:53
closed


fix typo in the CVE-2023-38646 manual

非typo。请使用最新版docker，vulhub所有命令已全部修改为docker compose v2m，即docker compose子命令：

Note that as of April 2022, docker compose is merged into Docker as a subcommand as Docker Compose V2, the Python version of docker-compose will be deprecated after June 2023. So Vulhub will no longer require the installation of additional docker-compose, and all documentation will be modified to use the docker compose instead.


Windows arm build

Hi, will there ever be an aarch64 build for windows?

Reasonable ask. Though currently I am  using the GitHub workers to produce and test the Windows binaries as I don't have access to Windows machines. GH hosted workers provide only x86 machines so I cannot use them to produce ARM Windows builds. May be there is a way to cross-compile them, but I am not sure, it needs investigation

closing as duplicate of #238


Make drop queue infer queue type

/claim #302
This PR makes pgmq.drop_queue infer the queue type using is_partitioned and removes the partitioned argument directly.
Also removes the usage of the argument from everywhere.

@ChuckHend I have committed the changes you requested, tell me what you think

Thanks for the reviews
I'd appreciate if the other PRs were checked too/merged.

Thanks, @Neptune650 !

@ChuckHend @v0idpwn Thanks! Can the bounty be paid off.


⚠ DesiTorrents has degraded performance

In ca06a8b, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 1571 ms

Resolved: DesiTorrents performance has improved in a94c42a.


Options maxSize and basePath implemented

Add the ability to change the base path for the templates using options.basePath;
Add the ability to ignore templates with size bigger than options.maxSize in bytes;
Upgrade dependency through2;

Thank you very mach for your contribution. It is first pull request in my life. Very glad to know that this project useful for someone else then me.


Unable to parse a class get method with a decorator

The error is thrown when the jsdoc lib is trying to parse a class with get method which has a decorator.

Current Behavior
Parser throws ERROR: Unable to parse <file-path>: Stage 2 decorators may only be used with a class or a class method error.
Your Environment

software
version

Babylon
7.0.0-beta.17

node
v7.8.0

npm
3.10.8

Operating System
windows 10 (64bit)

Hey @mbehzad! We really appreciate you taking the time to report an issue. The collaborators
on this project attempt to help as many people as possible, but we're a limited number of volunteers,
so it's possible this won't be addressed swiftly.
If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack
community that typically always has someone willing to help. You can sign-up here
for an invite.


Don't use absolute position in DataGrid

It seems like this makes the CI more stable?
At least I haven't gotten it to fail with these changes in several runs - maybe Playwright has issues getting the bounding box sometimes since the data grid was using absolute position.

Seems like its failing CI again

Yep, I ran the CI one more time and it failed, will keep trying to figure this out, I still don't know what's causing the issues.


Critical Path to Launch Crisis Cleanup 3.0a

From a high level, the following items must occur to launch by Friday

[x] Finish designing coronacommunity.org
[x] Add content to coronacommunity.org
[x] Finish, integrate, and test coronacommunity.org intake form
[x] Add "Suggest a Service Provider" email form to coronacommunity.org with captcha
[ ] Add "Get an Update" feature to coronacommunity.org. https://github.com/CrisisCleanup/crisiscleanup-3-api/issues/149
[x ] Add Public Map to coronacommunity.org on How to Volunteer (this will tell the story of who needs help and drive community engagement)
------- PHONE -------
[ ] Finish, integrate, and test the phone system
[ ] 1	Call management page  Boxes
[ ] 2	Intake form connected
[ ] 2.1    Capture any missed call and dump it into call back list
[ ] 3	Prompt for bad number
[ ] 4	Leaerboard
[ ] 5	Caller Edit
[ ] 6	Personal Stats
[ ] 7	Clean up layout
[ ] 8	Agent Phone Training Flags (Jimmy)
[ ] 9	Soft Phone or hide.
[ ] SUCCESSFULLY log in, "start taking calls", get connected, fill in form, save, get prompted for another call.
[x] Develop Phone System Business logic (prioritization)
------- phone -------
[x] Stabilize and test Crisis Cleanup Core Functionality
[x] Design and record helpdesk material/videos
[x] Purchase SSL Cert for coronacommunity.org
[x] Install SSL cert for coronacommunity.org and crisiscleanup.org
[x ] Fix XML for http and https://[bare domain]
[x ] Forward covidcommunity.org to coronacommunity.org
[x ] Update DNS for covidcommunity.org, coronacommunity.org, and crisiscleanup.org

...Please add high level items.

I am closing this out, because we are well past Alpha launch, and the phone system is the only major missing component.


⚠ Samsung has degraded performance

In 00686fa, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2553 ms

Resolved: Samsung performance has improved in 1f275d5.


SpotifyWebAPI\SpotifyWebAPI->followPlaylist()  Uncaught TypeError

If i Use a sting i get this error
Fatal error: Uncaught TypeError: SpotifyWebAPI\SpotifyWebAPI::sendRequest(): Argument #3 ($parameters) must be of type array|string, null given, called in /homepages/34/d680223326/htdocs/vendor/jwilsson/spotify-web-api-php/src/SpotifyWebAPI.php on line 626 and defined in /homepages/34/d680223326/htdocs/vendor/jwilsson/spotify-web-api-php/src/SpotifyWebAPI.php:109 Stack trace: #0 /homepages/34/d680223326/htdocs/vendor/jwilsson/spotify-web-api-php/src/SpotifyWebAPI.php(626): SpotifyWebAPI\SpotifyWebAPI->sendRequest() #1 /homepages/34/d680223326/htdocs/vendor/CitWebApi/CitaurusWebAPI.php(1304): SpotifyWebAPI\SpotifyWebAPI->followPlaylist() #2 /homepages/34/d680223326/htdocs/SongSubmit.php(50): CitaurusMusicWebAPI->FollowPlaylists() #3 {main} thrown in /homepages/34/d680223326/htdocs/vendor/jwilsson/spotify-web-api-php/src/SpotifyWebAPI.php on line 109
If i Use a string arry i get this Error
Fatal error: Uncaught TypeError: SpotifyWebAPI\SpotifyWebAPI::followPlaylist(): Argument #1 ($playlistId) must be of type string, array given, called in /homepages/34/d680223326/htdocs/vendor/CitWebApi/CitaurusWebAPI.php on line 1305 and defined in /homepages/34/d680223326/htdocs/vendor/jwilsson/spotify-web-api-php/src/SpotifyWebAPI.php:614 Stack trace: #0 /homepages/34/d680223326/htdocs/vendor/CitWebApi/CitaurusWebAPI.php(1305): SpotifyWebAPI\SpotifyWebAPI->followPlaylist() #1 /homepages/34/d680223326/htdocs/SongSubmit.php(50): CitaurusMusicWebAPI->FollowPlaylists() #2 {main} thrown in /homepages/34/d680223326/htdocs/vendor/jwilsson/spotify-web-api-php/src/SpotifyWebAPI.php on line 614
`Public function FollowPlaylists(string $PLid ): bool{
		 $myret = false;
		$p = array($PLid);

        if ($this->go){
		 try {
			 //$myret =  $this->api->followPlaylist($PLid); //using in case 1
			 $myret =  $this->api->followPlaylist($p); //using in case 2
		 }catch (Exception $e) {
				// allgemeiner Fehler
			  $this->response .= $e->getMessage();
		  }
		}
		  return $myret;
	 }`

Hey!
You should pass a string like you're doing in case 1. But it looks like I missed a place when adding type definitions a while back. So the error is an internal one, I'll get a patch published.


Typehinting luasnip

See #1110
As Luasnip uses lazy loading in the code logic, the type hinting chain breaks before getting to the user. This is the first step towards a better type hinted Luasnip, leveraging the lua-ls LSP server and its use of the annotations (e. g. ---@params name string).
I don't see another way to ensure type hinting than to cast a type to the lazy table at the end of lua/luasnip/init.lua. But I am sure we can still improve the type hiniting from functions that are using too ofter an any type. Typically for the opts or for the snippets.
This first try put the type hints a bit all over the place, so the author can better understand to what part of the code they are linked. It would be advisable to put the ---@alias in a types.lua file in the future, so that the type hints don't pollute too much of the code.
I apologize if it is sometimes messy, I wanted to do this first iteration quickly before I get lost into the type hinting madness ^^ I am of course available if you have questions or if I can help in any way (I'm sure you will 😅).

Hey @michaeldebetaz, really happy about the quick PR and you tackling this at all, a big Thank You! already for that :D
I'm a bit busy this week and the next and don't have much time to spend on luasnip, but I'll check your changes as soon as I have free time on my hands :)

Thank you for your kind words and thank you for helping me getting started.
Take your time of course, there is no rush.
If my code is too messy (I rushed it sometimes I think), we can speak on discord and pair program. Anyway, I'm here to help 👍

Hey, I've been reading up on LuaLS annotations, and found @module did you try to use it?
https://luals.github.io/wiki/annotations/#module
From the 2nd example, it looks like you could define a lazy local var as the target module, and later fill it and use it. :thinking:
This way the 'complexity' of lazyness could be only where the lazyness happens, and all other modules would be clean without the need to define endless aliases and pseudo classes for modules.

@bew Yeah! I saw it but didn't find a useful application in our case. Maybe you see something that I missed 💡
Anyway, I don't see a way around type casting/forcing when we use the lazy_table. It would be easier if we could capture a type with some kind of typeof, but no idea how to do that.

I've looked a bit into the lazy_table-issue, and it seems like @generic, used as shown here, is a good solution.
---@generic T1: table<string, fun(): any>
---@generic T2: table<string, fun(): any>
---@param lazy_t T1
---@param lazy_defs T2
---@return T1 | T2
return function(lazy_t, lazy_defs)
...
end

One issue with this is that the function-arguments (to eg. insert_node in require("luasnip").insert_node), are not passed through, maybe it needs some more tricks, or luals just can't do that (yet?) :/

Hi @L3MON4D3 👋 I was away the pas weeks, but I am still available if I can help! What's the course of action so far? does my PR bring any help?
I tried to merge incrementally the solution from @bew (https://github.com/L3MON4D3/LuaSnip/pull/1117#discussion_r1468457076) but I see it creates a conflict with the autogenerated docs.
In any case, I am still here if I can help :)

does my PR bring any help?

Oh yeah, it certainly does :D

I see it creates a conflict with the autogenerated docs.

Oh, don't worry about that, those will be generated anew anyway :)
Did you try my suggestion for the lazy_table on your end? Did you run into the same issue? It seems like it would reduce the burden of manually keeping things in sync a bit :D

I did work on it, but I can't find a way with my knowledge of leveraging lua-ls :/ I don't think it's avoidable. Type casting still is the best solution I found.

Oh hey, sorry, I totally forgot to actually answer you :grimacing:
I'm fine with just typecasting, it's not very maintainable, but then again, there probably won't be many more big additions, so it won't cause too much additional work in the future, and will give us the (probably) best results right now :D

Okay, no problem at all :) what's the next step then? Should I go on with the PR? Or will you take it and adapt the changes with with your preferences before merging?

Hey, back again after a break :sweat_smile:
I think I'll do a few of the changes that need more intimate knowledge of luasnip, the low-hanging but tedious fruits you've addressed nicely :)

That's great! Let me know if I can do anything to help. Otherwise we can close this PR after you're done with the implementation :)

Ahhh here it is. I was wondering why this plugin didn't have any types/completion. Since it's June now and there still aren't any types, perhaps this could be addressed in an incremental fashion? E.g. for the time being just start by implementing the most common/central interfaces for creating snippets (like s(), i(), and t())?
Also FWIW, I have a decent amount of experience with emmylua/luals type annotations and can help or give an opinion if needed (though the luals impl can be a bit tricky and quirky at times, so the result is practically never going to be 100% perfect, especially in comparison to other languages that are statically-typed by default like rust or typescript). With that said, having types or some types/hints is usually better than having none at all (in which case you have to constantly cross-reference with a browser window or another document containing documentation).

I'm still planning to finish this, but I don't have that much time for it right now :/
Sorry for not giving some kind of update @michaeldebetaz
@tmillr, feel free to take a look, I'd appreciate input from someone who has experience with lua-annotations :) (mine is limited to what I've done here in luasnip, which isn't much :D)


Inspect doesn't work Linux

Issue Report Checklist

[ ] Searched the issues page for similar reports
[ ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[ ] Restarted Spyder
[ ] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[ ] Completed the Problem Description, Steps to Reproduce and Version sections below

Inspect doesn't work on Linux.
Inspect doesn't work on Linux. Inspect works on Windows and opens the Help Pane.
What steps reproduce the problem?

In the script editor input import datetime as dt
Use dt.datetime
The datetime classes docstring should display as a popup balloon
It doesn't on Windows or Linux
Highlight the datetime class and select Inspect
Nothing Happens on Linux, Help Pane Loads the Documentation on Windows
Right click it and press Ctrl + i
Nothing Happens, Help Pane Loads the Documentation on Windows

What is the expected output? What do you see instead?
The list of identifiers display from dt. as expected:

The docstring popup balloon displays for the date class as expected:

No docstring popup balloon displays for the datetime class:

Highlighting the datetime class and selecting Inspect:

This does nothing on Linux and opens the documentation up in the Help Pane in Windows. The same behaviour happens with a builtin such as print so more generally the Help Pane can't be used in Linux.
The list of identifiers displays correctly in the IPython Console and the docstring displays here for the datetime class:

No docstring displays for the datetime class (possible there is some confusion because the module and the class are both called datetime) or the tzinfo abstract class. Works fine for the other functions and classes in the datetime module.
Code completion works much better in this version of Spyder than previous versions. However it now works better in Windows than in Linux. If np. is input and the down arrow is pressed to highlight an item.  I think I know what's the cause for this problem and we'll take a look at it in Spyder 6, to be released during the second half of the year.


More flexible command line options

Currently we have to either specify the user and repository name, or an org name. It should be possible in addition to specify:

Just a user name, and have it treated like an org: get all contributors to repos owned by that user
Just a repo, in which case the owner is the owner of the auth token
nothing, in which case if we're in a git repo, we get the origin and check that, if no origin, or not in a git repo, abort.
Maybe other things too

:tada: This issue has been resolved in version 3.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


GROUP BY applied after LIMIT

GROUP BY (at least in some cases) is applying LIMIT before the grouping.
orientdb {db=WikiData}> SELECT oid FROM HPwIV WHERE iid=31 AND rank >= 0 AND out.deleted IS NULL ORDER BY iid ASC,oid ASC LIMIT 10 TIMEOUT 5000

----+------+----
#   |@CLASS|oid
----+------+----
0   |null  |1
1   |null  |2
2   |null  |3
3   |null  |4
4   |null  |5
5   |null  |5
6   |null  |8
7   |null  |8
8   |null  |15
9   |null  |16
----+------+----

10 item(s) found. Query executed in 0.0 sec(s).

orientdb {db=WikiData}> SELECT oid FROM HPwIV WHERE iid=31 AND rank >= 0 AND out.deleted IS NULL ORDER BY iid ASC,oid ASC GROUP BY oid LIMIT 10 TIMEOUT 5000

----+------+----
#   |@CLASS|oid
----+------+----
0   |null  |1
1   |null  |2
2   |null  |3
3   |null  |4
4   |null  |5
5   |null  |8
6   |null  |15
7   |null  |16
----+------+----

8 item(s) found. Query executed in 0.01 sec(s).

Note: there is a related index "create index HPwIVIidIdx on HPwIV (iid, oid) notunique";

@AaronSchulz your query seems to provide correct results. The second one has GROUP BY, so it's correct it has 2 records less than the first one, because 2 values are duplicated in 1st query result.


Structure/format of level files? (how to create levels?)

Hello,
First of all, a huge thank you for making such as great implementation of a timeless classic!
What is the structure of the level files i.e. is there a way to modify the levels or even create new ones? It would be great if there are ways to mod the game (new music and art would be great, too). Thanks!

Thanks @tigrouind, really excited that levels can be created/edited!


Make sure clang build successfully

What type of PR is this?

[x] bug
[ ] feature
[ ] enhancement

What problem(s) does this PR solve?
Description:
CI failed when building with clang and ASAN
How do you solve it?
Disable ASAN temporarily to make sure the CI can run successfully.

@Shylock-Hg Before this PR, 4 CI test will failed, with this PR, there are still 2 CI failed, please help to review.


Projects_RpaChallenge_Harish

Use Task Capture tool to create Process Design Document (PDD) for adding user details in rpachallenge.com website.

Task #1973 completed. Please refer screenshots and close the issue. Thanks.


Issue 719: register spotfleet instances with ALB target group(s)

Codecov Report

Merging #765 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #765   +/-   ##
======================================
  Coverage    35.3%   35.3%
======================================
  Files          56      56
  Lines        2985    2985
======================================
  Hits         1054    1054
  Misses       1787    1787
  Partials      144     144

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7f7cdc5...7ab40df. Read the comment docs.

@Cptn727 Hi, thank you very much for your contribution 👍
I seems like you need to sign CLA.
Also, could you addresses comments made by @redbaron?
Anyways, I guess I can adapt this PR and make necessary changes on my side if you'd want me to do so.

I'm taking over your work in #821.
Thank you very much for your contribution @Cptn727 👍


codevelop build failure when configuring CMake

I ran into a segfault in an mfem call, so I switched "SERAC_CODEVELOP=ON" and reconfigured serac in Debug mode to track down the issue, but CMake seems to be failing in the configuration process with the following error message:
[cmake] -- Looking for HYPRE ...
[cmake] --    in HYPRE_DIR = /home/sam/code/serac_libs_5_7_2024/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-12.3.0/hypre-2.26.0-ncfa2miwza7t7a4gadov6hyxi2z24akx
[cmake] -- Performing Test HYPRE_USING_CUDA
[cmake] -- Performing Test HYPRE_USING_CUDA - Failed
[cmake] -- Performing Test HYPRE_USING_HIP
[cmake] -- Performing Test HYPRE_USING_HIP - Failed
[cmake] -- Found HYPRE: /home/sam/code/serac_libs_5_7_2024/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-12.3.0/hypre-2.26.0-ncfa2miwza7t7a4gadov6hyxi2z24akx/lib/libHYPRE.a
[cmake] -- HYPRE_INCLUDE_DIRS=/home/sam/code/serac_libs_5_7_2024/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-12.3.0/hypre-2.26.0-ncfa2miwza7t7a4gadov6hyxi2z24akx/include
[cmake] CMake Error at mfem/config/cmake/modules/FindHYPRE.cmake:74 (message):
[cmake]   Unable to determine HYPRE version.
[cmake] Call Stack (most recent call first):
[cmake]   mfem/CMakeLists.txt:268 (find_package)

My submodules are up to date, and my TPLs were built on May 7th.

on develop I also get the error message
[cmake] CMake Error at /home/sam/code/serac_libs_5_7_2024/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-12.3.0/conduit-0.9.1-fdle5ykhzyve3ltgg4kyqqieenipeamf/lib/cmake/conduit/conduit_setup_deps.cmake:78 (find_package):
[cmake]   Could not find a package configuration file provided by "caliper" with any
[cmake]   of the following names:
[cmake]
[cmake]     caliperConfig.cmake
[cmake]     caliper-config.cmake
[cmake]
[cmake]   Add the installation prefix of "caliper" to CMAKE_PREFIX_PATH or set
[cmake]   "caliper_DIR" to a directory containing one of the above files.  If
[cmake]   "caliper" provides a separate development package or SDK, be sure it has
[cmake]   been installed.

with CODEVELOP on


Add Quad and Dataset

As discussed on dev it would be good to have a Quad and Dataset types added, corresponding to the RDF concept Dataset and Quad semantics.
Generated Javadocs from this branch of the new interfaces:
http://stain.github.io/incubator-commonsrdf/quad/org/apache/commons/rdf/api/Quad.html
http://stain.github.io/incubator-commonsrdf/quad/org/apache/commons/rdf/api/Dataset.html
http://stain.github.io/incubator-commonsrdf/quad/org/apache/commons/rdf/api/GraphOrDataset.html
http://stain.github.io/incubator-commonsrdf/quad/org/apache/commons/rdf/api/TripleOrQuad.html
The discussion on dev concluded that although Quad looks like Triple (getSubject() getPredicate() and getObject() - a Quad necessarily have different .equals() semantics. Allowing a Quad to pretend it is a Triple leads to some murky equivalence questions - so instead this branch rather makes a common interface TripleOrQuad (modelled after BlankNodeOrIRI) which contains the subject/predicate/object methods - while Triple and Quad have different equals - that is Quad.equals require to also match on getGraphName.
I modelled getGraphName as an Optional<BlankNodeOrIRI - where Optional.empty() represents the default graph.  An alternative would be to make a DEFAULT_GRAPH BlankNodeOrIRI constant -- but should this have a ntriplesString()==null - or would we need yet another upper interface, BlankNodeOrIRIOrDefaultGraph ?
The use of Optional makes it a bit inconsistent in Dataset if we also follow the advice that Optional should not normally appear as a parameter argument -  - Dataset.add uses graphName=null to indicate the default graph - while in contains and remove we use null as a wildcard, and Optional.empty() to mean the empty graph.
If we also have an equivalent common interface GraphOrDataset - and allow the expanded filter methods in there, then those would operate on the default graph in the Dataset.  Thus you would have two routes to filter on the default graph.
We can reduce which methods should be included in GraphOrDataset - to only have the generic T-typed methods - and not force getTriples() onto Dataset - where it would need to call Quad.asTriple to return Triple instances.
Upper interfaces
The two "ducktyping" interfaces GraphOrDataset and TripleOrQuad could be removed as their signatures are duplicated in Graph and Dataset - I intended them for any kind of generic usage that can handle both Graph and Dataset - e.g. parsers and serializers.
TripleOrQuad could be generalized to return RDFTerm on all of getSubject(), getPredicate() and getObject() - I know both Jena and JSON-LD can potentially have generalized RDF triples. But this could be out of scope and force additional casting for anyone using TripleOrQuad interface.

Q: Should Dataset have a public Graph getDefaultGraph(); method? If so - would that then need to be dynamically updating Dataset?  Or is getTriples() sufficient?

What is the use case for TripleOrQuad?
The proposal (the reply to the discussion referenced) is Quad.asTriple to go between the Quad world and the Triple world.

TripleOrQuad is only useful as a duck-type interface, if someone needs to be able to do getSubject(),  getPredicate() or getObject() on both a Triple or Quad - e.g. in a filter used with a Stream without needing to do a double instanceof.
It is therefore also used in the other duck-type interface GraphOrDataset - they are basically most useful if they both exist - and mostly for any intermediate util methods that don't care too much if something is a Quad or Triple - rather than for end users.
You can imagine a JSON-LD serializer being able to deal with TripleOrQuad directly and just do the odd instanceof Quad check to access getGraphName() - otherwise it would need to have duplicates of everything.

If we have Quad.asTriple - then should there also be a Triple.asQuad()?
If so - would this then be used to get the 'original quad'?:
Quad q1;
assert(q1.getGraphName().isPresent());
assert(q1.asTriple().asQuad().equals(q1));

Otherwise - if we do add Triple.asQuad() as well, the should the returned Quad always be in the default graph?

BTW - I'm OK with removing both GraphOrDataset  and TripleOrQuad if we don't think it's useful to have common interface for the common methods of Graph/Dataset  and Triple/Quad.
(better names might be GraphLike and TripleLike ?)

"default graph" is a context-sensitive attribute.  Freestanding Quad (like a Triple) can be processed in ways that don't have the idea of dataset. I think this is more useful building block to have a general pruprose quad rather than than putting the idea that quads with no graph name are the default graph. A dataset is a set of triples and a set of quads.

OK, so I think what you are saying is also in line with the different kinds of semantics explained in https://www.w3.org/TR/2014/NOTE-rdf11-datasets-20140225/ - so we don't want to make too many assumptions about the default graph - and so can't automatically have a Dataset.getGraph() -- and also this implies that GraphOrDataset<T> interface might not be very useful as its Triple methods should be removed and it remains just as duck-typing interface.

BTW - what is your view @afs on how we should represent the default graph in a Quad?  Is Optional then meaningful - or is it better to have some kind of constant?

A dataset is a default graph and zero or more (name, graph) (= named graph).  Quads are nto actually mentioned in the dataset definition but following form the defn, a quad is a (name, triple) and many systems treat that as a 4-tuple.
Dataset.getGraph() returns the default graph (which must exist BTW).
Dataset.getGraph(name) follows the dataset definition closely.
getQuads could cover just named graphs or named graphs and default graph with some marker (to me, unset is better than a URI - it's more a design choice than spec following).
I'm not seeing much use for GraphOrDataset<T> -- is there a concrete use case?

I think if (as in the branch now) we leave out the getTriples() and other
default graph operations from Dataset, then the use case for GraphOrDataset
is dropping by the hour, as those would be accessible from (presumably
mutable) Dataset.getGraph() (or getDefaultGraph())
GraphOrDataset could still be useful in parsers (e.g. intoGraphOrDataset()
or return type) - or internally in utility code that just passes both types
around (e.g. a utility method for merging two Graphs would work just as
well iterating over a GraphOrDataset and call
add(T).
Perhaps we should try to write a couple of such util methods just to see if
GraphOrDataset and TripleOrQuad is really needed. Generics in Java can
often just cause a bigger headache than a classic cast in the right place,
and it wouild need generics to avoid graph.add(quad)
On 11 Apr 2016 17:31, "Andy Seaborne"<EMAIL_ADDRESS>wrote:

A dataset is a default graph and zero or more (name, graph) (= named
graph). Quads are nto actually mentioned in the dataset definition but
following form the defn, a quad is a (name, triple) and many systems
treat that as a 4-tuple.
Dataset.getGraph() returns the default graph (which must exist BTW).
Dataset.getGraph(name) follows the dataset definition closely.
getQuads could cover just named graphs or named graphs and default graph
with some marker (to me, unset is better than a URI - it's more a design
choice than spec following).
I'm not seeing much use for GraphOrDataset -- is there a concrete use
case?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-commonsrdf/pull/19#issuecomment-208436358

This suggests that Quad should be containing a Triple rather the
subj/pred/obj - should asTriple () be renamed to getTriple()? The default
methods could be swapped around so default getSubject() { return
getTriple().getSubject() }
The text of Quad.hashCode() and Quad.equals() could be similarly modified
to use the getTriple(), although the actual semantics would be the same.
On 11 Apr 2016 17:31, "Andy Seaborne"<EMAIL_ADDRESS>wrote:

A dataset is a default graph and zero or more (name, graph) (= named
graph). Quads are nto actually mentioned in the dataset definition but
following form the defn, a quad is a (name, triple) and many systems
treat that as a 4-tuple.
Dataset.getGraph() returns the default graph (which must exist BTW).
Dataset.getGraph(name) follows the dataset definition closely.
getQuads could cover just named graphs or named graphs and default graph
with some marker (to me, unset is better than a URI - it's more a design
choice than spec following).
I'm not seeing much use for GraphOrDataset -- is there a concrete use
case?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-commonsrdf/pull/19#issuecomment-208436358

The interface for Quad is getGraph, getSubject, getProperty, getObject and asTriple.  Defaulting getSubject is presumimg an implementaion. As far as I know, no toolkits works that way - they tend to have Quads from parsers.
I find asTriple mildly better than getTriple - (1) too many "get"s (2) to conveys projection, a form of conversion.
On parsers: Parsers can be decoupled. They send triples/quads/prefixes/baseURIs (i.e. syntax concepts) to a channel (StreamRDF in Jena). Different implementations behind the channel are possble; print (i.e. parse and output NT, NQ pure streaming), send to a graph, send to a datasets (triples to default graph).
What CommonsRDF needs is that channel abstraction so external parses can be plugged in.
For parsing quads to graph there is a choice point: both make sense. Either triples to graph (i.e. extract the default graph) or all quads to triples (caveat: quads might be separate triples for a reason).
from graph, dataset whatever.  They can be used without such as storage.

I've removed the GraphOrDataset superinterface, and added:

Graph getGraph()
Optional<Graph> getGraph(graphName)
Stream<BlankNodeOrIRI> getGraphNames()

See http://stain.github.io/incubator-commonsrdf/quad/org/apache/commons/rdf/api/Dataset.html#getGraph-- and below
In simple's DatasetImpl these are pretty simple for now - just extracting them from its internal Set<Quad> - meaning that the returned Graph would not mutate the Dataset.
Do we want to add stronger links between the returned Graphs and the Dataset? I can see this expanding with addGraph and removeGraph..
(An alternative DatasetImpl would be to either have a GraphInDataset proxy class, allowing mutation, or to change the backing to be a Map<BlankNodeOrIRI, Graph> -- that would complicate many of the methods to have to merge the corresponding streams from the underlying Graphs)

OK, @afs - so we'll leave Quad as proposed now then.
As for parsing - it might make sense to expand/split the parser-writer-interface branch to have a separate "low-level" parser interface that just yield triples/quads.
Would a Stream<T extends TripleOrQuad> be sufficient? Implementation wise (e.g. adapting Jena's StreamRDF) I am not sure how easy it would be to make a Stream from a callback - perhaps using a Queue as intermediary?  Would love having the yield keyword in Java.. :)
Unlike StreamRDF you would lose namespace prefix bindings perhaps - but that's not really part of RDF Core concepts.
Let's continue the parser discussion on a new pull request #21

Test comment to see if it is forwarded to dev@commonsrdf

Moving forward with quads! I have taken a stance.
Rather than TripleOrQuad I propose a similar interface, called TripleLike. This can also support generalized RDF statements with any RDFTerm subtype for getSubject(), getPredicate() and getObject(). This can be useful both for parsers and for SPARQL compatibility.
Then naturally we also have its extension QuadLike which adds a generalized getGraphName.
Instead of DatasetOrGraph I propose a generalized GraphLike that contains TripleLike statements. GraphLike do not have the split-up methods for subject/predicate/object - thus Quad does not need to support the ambiguous contains(s,p,o).
As Graph and Dataset previously differed in returning the stream by getTriples() and getQuads()  and this crucial method therefore could not be in the common interface, I've gone brave here and renamed both to .stream().
What do you think?

See my previous question - what has fundamentally changed from before around equality?
When are two quad objects .equals?

Tracked in Jira as https://issues.apache.org/jira/browse/COMMONSRDF-37

@afs I've updated the quad javadocs to clarify my view:
http://stain.github.io/incubator-commonsrdf/quad/org/apache/commons/rdf/api/Quad.html#equals-java.lang.Object-
says:

Two Quads are equal if and only if their getGraphName(), getSubject(), getPredicate() and getObject() are equal.
Implementations MUST also override hashCode() so that two equal Quads produce the same hash code.
Note that a Quad MUST NOT be equal to a Triple, even if this Quad's getGraphName() is Optional.empty(). To test triple-like equivalence, callers can use:

 Quad q1;
 Triple t2;
 q1.asTriple().equals(t2));

The last statement means that Triple don't need to support the inverse .equals(Quad) and if someone really wanted to do Quad extends Triple then they would need to have a boolean isQuad; or similar to know which semantics to use in its .equals() (just as if they wanted to implement both Literal and IRI).

Doing the rdf4j implementation I noticed that there a Statement has 0 or more contexts (e.g. graph names if assuming a Dataset) - however these Statements are used both in "union Graph like" and "Dataset like" settings and thus would have unclear equality semantics, in particular for .remove() methods.
So I think with Commons RDF you would have to force either view on the Statement rather than be a fuzzy hybrid. In fact from a single Statement you would get a single Triple, but potentially multiple Quads with different getGraphName(), which obviously should not be .equals() each-other even if they are backed by the very same Statement.
Thus for rdf4j I would assume that a a graph.remove(triple) would remove the Statement - removing it from the union graph would mean removing from all contexts.
while I would expect  dataset.remove(quad)  would remove that quad from only that context - that is the other quads from the other contexts would remain in the dataset.
I don't think rdf4j supports such a "Statement-modifying" call and would have to re-insert the Statement with the shrunk context list. Devil's in the detail.. but I can see why formalizing this kind of semantics could be valuable over "Look at the source code" for knowing what happens.

btw.. neither TripleLike or QuadLike have defined equality semantics (beyond Object.equals()) - so I've clarified that in [GraphLike](file:///home/stain/src/incubator-commonsrdf/target/site/apidocs/org/apache/commons/rdf/api/GraphLike.html) as that would obviously affect its .contains() and .remove() methods:

As TripleLike do not have a specific Object.equals(Object) semantics, the behaviour of methods like contains(TripleLike) and remove(TripleLike) is undefined for arguments that are not object identical to previously added or returned TripleLike statements.

Looks OK - the hashCode algorithm must be defined. Both Quad and Triple could provide a hashCode of Objects.hash(...) as a default method.

If there are no objections, I'll merge this Quad and Dataset branch next week, then perhaps we can try to make a 0.3.0 release.


Maybe stop release workflow from running

For some reason the publish workflow is running on every push as well 😞

so ... it turns out that I forgot to put quotes around the * selecting all branches ... because things that aren't quoted are intelligently coerced to strings or numbers except when they aren't 🤬


Added lazy loading by wrapping the pyenv function

I wanted to make pyenv load lazily.
In order to do that, I wrapped the original code in a function with the pyenv name so that pyenv is only activated when the user first calls pyenv.  After the first call, the user can invoke pyenv as normal.

If I'm reading this change correctly, this will prevent pyenv from being automatically activated when entering a folder with a .python-version file unless the pyenv command was manually ran in the shell.
Is that right (and expected)?

You are correct. Pyenv won't be activated when entering a folder with a .python-version file. It's a tradeoff, but  I prefer not having pyenv load unless I explicitly request for it to load.
What do you think?

Thank you for your contribution. However, I'm going to decline the PR. I prefer to have it activate when I enter a folder with the .python-version file.


Enable remote snapshotter to receive creds from containerd CRI plugin

https://github.com/containerd/stargz-snapshotter/issues/270
https://github.com/kubernetes-sigs/kind/pull/2076#pullrequestreview-591224262
Issue
Though CRI plugin uses creds passed from kubelet (e.g. kubernetes.io/dockerconfigjson secrets) to pull images from the private registries, these creds aren't accessible from (remote) snapshotters.
So stargz snapshotter currently deals with private registries by CRI proxy or directly fetching registry secrets from Kubernetes API or ~/.docker/config.json. This requires additional permissions (listing/watching secrets) to nodes. However, this doesn't work if adding these permissions to nodes isn't acceptable. Furthermore, this doesn't work if kubelet retrieve creds from somewhere not API server (e.g. credential provider).
Solution
For solving this issue, I'd like to propose a helper plugin "image distribution helper" to enable snapshotters to retrieve creds from CRI plugin.
Could anyone give comments on it?
Similar to CNI/NRI/stream processor helper binary plugin, "image distribution helper" is an executable plugin executed by CRI plugin before CRI plugin queries remote snapshots to the snapshotter.
CRI plugin executes this helper plugin with passing JSON data that contains registry creds (e.g. {"host": <host>, "user": <user>, "secret": <secret>}) to it via stdin. Remote snapshotter developer will implement the helper that shares the creds to the remote snapshotter. After that helper exits, CRI plugin queries remote snapshots to the snapshotter in a gereral way. Remote snapshotter can retrieve the queried layer contents from the private registry using that creds.
RFC
Is this sort of plugin is acceptable? Or, can we seek ways to enable snapshotters to retrieve creds from CRI plugin?

Just trying to make sure my understanding is correct:
we are proposing a new helper plugin. And when CRI pulls an image, CRI calls this helper plugin and passes the credentials and the image name to it. The helper plugin, implemented by the remote snapshotter developers, receives the image name and credentials and passes them to the remote snapshotter, which uses them to authorize the image content fetch. The rest of image pull and snapshot prepares remain the same.
Is my understanding correct? (I am pretty new to the plugin implementations so wanted to make sure I didn't mistake anything :))

Is my understanding correct?

Yes, you're correct.

@ruiwen-zhao Do you think we should also have something similar for regular containerd case,  e.g. containerd being able to share credentials with remote snapshotter via similar mechanism?

@ruiwen-zhao @ktock Do you think we should also have something similar for regular containerd case, e.g. containerd being able to share credentials with remote snapshotter via similar mechanism?

Can you elaborate what you mean by "regular" containerd case? This plugin merely provides a mechanism to get credentials and should work for all kinds of snapshotters.

By a "regular", I am referring to a usecase where containerd has remote snapshotter configured as default e.g. stargz.  Currently only way i can share credentials with stargz is by performing a docker login. This will cache the credentials into the credsStore configured in .docker/config.json. An image pull with stargz as snapshotter will use docker-credential-helper to read credentials or  it will use the flat file as the source of credentials.
What i am looking for is a mechanism by which containerd can directly share credentials with stargz without going through this external mechanism like docker login. Also is there a mechanism to cache the credentials in stargz itself so that we can avoid using docker's config file or any of the credential helpers indicated in docker config.

What about passing them via annotations, like all the image refs/layers information? And IMO we should consider containerd auth configs as well, instead of passing the runtime auth directly to the snapshotter. I created #6336 to illustrate how it can be done. Please take a look!

@ktock Is there any progress on this RFC? I'm interested in that.

@zyfjeff  No progress yet but I think we can move this forward as this sees demands. What is your usecase? Of course contributions are welcome.

@ktock Like the estargz snapshotter, nydus snapshotter also requires auth information to download data.

@zyfjeff No progress yet but I think we can move this forward as this sees demands. What is your usecase? Of course contributions are welcome.

@ktock  I thinks all the remote snapshotters implementations (stargz, nydus, overlaybd and other remote snapshotters that are not in Containerd org yet ) are all suffering the pain getting credentials. There is not a light-weight or efficient way to pass credentials to the remote snapshotter right now especially when deploying the remote snapshotters to the K8s cluster. I believe that solving this will promote and benefit all the snapshotters and their end-users.  So I am asking for making this move further as the most the remote snapshotters see absolute demand for this. I will try to make some bandwidth to demo this to help this feature move on if you have not worked on it yet. :-)

@ktock @changweige
We (@coreweave) are looking to implement nydus as a feature in our cloud. The inability in not having the snapshotter receive creds from containerD is a bit of a problem.
We would really like to see this move forward. Let me know if there is anything I could do to help to get more traction on this!

I would like to resurface this thread re @ddymko's comments. This seems like it is still a blocker.

will be useful for soci-snapshotter as well!


Only add operand-fusion to MobileNetV2.

Fixes https://github.com/google/iree/issues/5634

Tested in https://buildkite.com/iree/iree-android-benchmark/builds/2395


Rename libzlib -> libz

This renames the cc_library to z, so that the generated lib is libz.{a,so} instead of libzlib.{a,so}.
This fixes #716 so that rules that depend on the library having the "correct" name will find it, while leaving the @zlib//:zlib target name in as an alias so that previous uses still work.
I wasn't sure what to do about version numbers, since the policy is not to change existing versions, but the zlib versioning matches upstream... so I just added a 4th digit.

@meteorcloudy as a module maintainer

Since this is a BCR specific change, we should follow https://github.com/bazelbuild/bazel-central-registry/blob/main/docs/README.md#versions-format to update the version number.
So the version should be 1.2.13.bcr.1.
IIRC, this will be the first time this version format is used in the BCR. /cc @Wyverald

Ack -- let's use 1.2.13.bcr.1

I've switched this patch over to using 1.2.13.bcr.1.
I don't expect things to change in this PR, but FWIW using .bcr.1 doesn't provide a particularly great user experience. After I made this PR I also started to use sqlite3 which also has a .bcr.1, but because bzlmod is using SemVer semantics, it sees .bcr.1 as a pre-release to 1.2.13, not as a post release.
I'm not familiar enough with bzlmod to know where that might cause problems, other than it makes it more annoying to copy/paste stuff out of BCR, because the snippet you get is for the highest version number, not the latest release, and since .bcr.1 is a pre-release, the non .bcr.1 version takes precedence. See sqlite3 for an example.
Might be something to think about special casing somewhere? I dunno.

X.bcr.1 is not a pre-release (it comes after X). A pre-release would look like X-bcr.1 (note the dash). The website needs to be fixed -- we'll look into this. Thanks for reporting!

X.bcr.1 is not a pre-release (it comes after X). A pre-release would look like X-bcr.1 (note the dash). The website needs to be fixed -- we'll look into this. Thanks for reporting!

That's not what the documentation says I think?

SemVer prescribes that the "release" part of the version must consist of 3 segments: MAJOR.MINOR.PATCH. In Bazel, this requirement is loosened so that any number of segments is allowed.
In SemVer, each of the segments in the "release" part must be digits only. In Bazel, this is loosened to allow letters too, and the comparison semantics match the "identifiers" in the "prerelease" part.

Or I guess maybe the documentation is just confusing, and is just saying the comparison matches the pre-release part, but not the semantics?

In Bzlmod versions, each of the segments, whether in the release part or the prerelease part, is compared with the semantics of a SemVer "prerelease identifier" (called "prerelease" since "identifiers" are not allowed in the MAJOR.MINOR.PATCH part in SemVer).
I see how that wording can be confusing. Feel free to suggest a better wording for the docs and we can update it.


Do not use GetResolvedPropertyName

The default behavior for a JsonProperty in Json.NET is to ignore NameingStrategy unless overrideSpecifiedNames is true.
However due to how NJsonSchema used contractResolver.GetResolvedPropertyName the behavior would not match the expected.
Calling contractResolver.GetResolvedPropertyName would process JsonProperty.Name that where already correct making them incorrect if overrideSpecifiedNames was false on the NamingStrategy.
If we re-configure DefaultPropertyNameHandling == PropertyNameHandling.SnakeCase and DefaultPropertyNameHandling == PropertyNameHandling.CamelCase to overrideSpecifiedNames they act as they use to.
This allows us to use JsonProperty.Name without breaking compatibility.

Won't this break existing users which manually specify and use the CamelCasePropertyNamesContractResolver?

Won't this break existing users which manually specify and use the CamelCasePropertyNamesContractResolver?

Won't this break existing users which manually specify and use the CamelCasePropertyNamesContractResolver?

I don't believe so, as JsonSchemaGenerater uses ResolveContract from JsonSchemaGeneratorSettings to get the JsonProperty in the first place.

By default [CamelCasePropertyNamesContractResolver](https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Serialization/CamelCasePropertyNamesContractResolver.cs#L50) has OverrideSpecifiedNames set for its NamingStrategy. Meaning that it overwrites the casing of JsonProperties.
Therefor this change has no effect on users manually specifying CamelCasePropertyNamesContractResolver.

This breaks everything:
https://ci.appveyor.com/project/rsuter/nswag-25x6o/build/tests

Looks like I assumed incorrectly that we would always be getting a JsonProperty.
Will add a fallback to: contextualMember in case JsonProperty is null.

already added the fallback (see referenced commit)
is that ok?

Think you need to run the PropertyName thought Settings.ActualContractResolver.GetResolvedPropertyName, otherwise PropertyNameHandling.CamelCase / PropertyNameHandling.SnakeCase wont be applied to PropertyName generated for the WebAPIGenerator.
https://github.com/RicoSuter/NJsonSchema/pull/1091/files#diff-67f7e91275d00612d276ab9f67fabbe1L329-L332

Is this ok now?
https://github.com/RicoSuter/NJsonSchema/commit/0225d2a5f8c39dafac372db8a09f3462c7b9cde2

Looks good to me


n-auto-complete Property 'handleInput' does not exist on type 'unknown'.

TuSimple/naive-ui version (版本)
2.34.3
Vue version (Vue 版本)
3.2.47
Browser and its version (浏览器及其版本)
Microsoft Edge 112.0.1722.48
System and its version (系统及其版本)
MacOS 13.3.1
Node version (Node 版本)
18.16.0
Reappearance link (重现链接)
https://github.com/CodeActions/code-actions
Reappearance steps (重现步骤)
      <n-auto-complete
        v-model:value="profileForm.email"
        :options="emailAutoCompleteOptions">
        <template
          #default="{
            handleInput,
            handleBlur,
            handleFocus,
            value: slotValue
          }">
          <n-input
            :placeholder="$t('userSettings.profile.email')"
            :status="data.emailAutoCompleteStatus"
            :value="slotValue"
            clearable
            maxlength="100"
            show-count
            @blur="handleBlur"
            @focus="handleFocus"
            @input="handleInput" />
        </template>
      </n-auto-complete>

pnpm run build
Expected results (期望的结果)
build success
Actual results (实际的结果)
Property 'handleInput' does not exist on type 'unknown'.
40                 handleInput: handleInput,
Remarks (补充说明)
typescript version 5.0.4

This issue does not have any recent activity. If you are still experiencing similar problems, open a new error, including a minimal copy of the problem

This issue does not have any recent activity. If you are still experiencing similar problems, open a new error, including a minimal copy of the problem


Proposition: init frame buffer

Hello,
I am using double buffering in comination with lv_vdb_set_adr() and just ran into an issue where the display backgrouns was full of weird colors. Filling the buffers with 0xFF eliminated the problem. Too bad it took a day to get there.. So my proposition would be to do this in lv_init() for example and make life easier.
Greetings

@harteware07 Does this problem only appear when using double buffering or does it apply to a single framebuffer as well?

happens with both options

@harteware07 I have never seen this issue. Can you show a complete example where the display background has weird colors? If this is a LittlevGL issue you should be able to reproduce it on the pc_simulator as well.

@harteware07
There was an issue earlier with 32 bit color depth because the alpha channel of colors was not initialized to 0xFF by default. However, it was about a half year ago.  Maybe have you faced with this?

I will update to latest version and test again!

I updated to 5.2 and still the same problem. But I think the problem is not linked to the missing init. It also happens when I move objects or drag them on the screen: the old buffer content is still visible, along with the new content. I attach a picture where you can see the effect. I draw a button and make it draggable. I then drag it around a little bit, you can see the image gets redrawn but the old content is not erased from the buffer. Any idea what I could try? The buffer is in external SRAM.
Thank you for your input!

@harteware07 Just had a thought: are you using cache?

what cache do you mean?
I define the buffer with
static __IO uint8_t __attribute__((section (".SDRAM"))) lvgl_buff1[LV_VDB_SIZE_IN_BYTES];
then i pass the pointer to the buffer with
lv_vdb_set_adr((void *)lvgl_buff1, NULL);
The interesting thing is that it worked on the discovery board. On my custom board it fails?! Any ideas what I could try?

@harteware07 Did you enable cache on the processor (i.e. is it an STM32F7, etc)?

Why are the horizontal borders are missing?
The old content should be overdrawn by the white background. Maybe the two issue is related.
Please try this:
    lv_init();

    lv_color_t c[5000];
    uint16_t i;
    for(i = 0; i < 5000; i++) c[i] = LV_COLOR_RED;

    your_disp_flush(10, 40, 60, 80, c);

    while(1);

@embeddedt  yes, it is an stm32f746, I have caching enabled. Tried to disable the i-cache, but same problem
@kisvegabor  I don't know why the h borders are missing. it is really strange. Also what happens, is when i move an item, sometimes it appears 2 times, next to each other. I will try your test code tomorrow and report back.

@harteware07 The I-Cache can be left enabled. You need to disable the D-Cache. My dev board is an F746G-DISCO and the display doesn't work right unless you disable D-Cache or configure the MPU to turn off caching on the framebuffer.

@embeddedt does the D-cache work on the external SRAM? If yes, how could I tell the MPU not to use it on certain variables?

What happens if:

frame buffer in SRAM
VDB in internal RAM (e.g. with screen_size / 20 size)
No GPU

@kisvegabor Putting the framebuffer in SRAM may not be an option. It may be too large to fit.

I did testing with

frame buffer in SRAM
VDB in internal RAM (e.g. with screen_size / 20 size)
No GPU
The problems are the same, but plus a new error on the second (aka wrong) slider, a fine black line

@kisvegabor  i also tried your idea of
`    lv_init();
lv_color_t c[5000];
uint16_t i;
for(i = 0; i < 5000; i++) c[i] = LV_COLOR_RED;

your_disp_flush(10, 40, 60, 80, c);

while(1);`

but nothing happened at all, the display remained white. Not sure what that means?

@harteware07 Sounds like the contents are not written to the display. Are you using DMA or any other type of acceleration?

yes i use DMA. I will roll back to the disco board hw and if this doesnt help to an old version of lvgl and see if the problem persists.

@harteware07 It's not the version of LittlevGL that's the problem if @kisvegabor's test code does not function correctly. I haven't actually tried it myself but it should work.
Can you do a test without DMA?

I have it working now without GPU. The problem was that I changed data alignment in the DMA controller a while back because I was working on video playback.
The other problem, that the elements are not drawn correctly still happens when using GPU. Any ideas what could be wrong here?
Again thanks for all your help!

@harteware07 Maybe the DMA (ChromART?) and LittlevGL disagree on the color format (i.e. 16-bit vs 24-bit).

Hi,
Wanna try ARGB mode in gpu dma?

I had to switch to 32 Bit color ARGB8888 because alignment of the external SDRAM is 32 Byte and in 16Byte color mode the system crashed on redraw. GPU Mode (aka DMA2D) is still disabled due to the wrong rendering. Can anyone tell how much performance gain can be expected from GPU mode?

@harteware07 I'm using F746G-DISCO without DMA and if I keep the VDB large enough I never need DMA.

@embeddedt my VDBs are the size of the screen so it should be fine? Btw. I dont quite understand the difference betwwen GPU mode versus "normal" DMA mode. What is the DMA2D doing differently from the DMA already running?

@harteware07 I think GPU mode is capable of doing more complex graphical effects (i.e. blending) whereas standard DMA just copies bytes from place to place.
If your VDB is the same size as the screen I think performance won't be an issue.

In case of large displays, the GPU (DMA2D) can help even when filling the background with a color. LittlevGL has only a simple GPU interface (fill and blend) right now but using it resulted in a really big difference on an 800x480 display.
If you have big areas on a wallpaper GPU blending can definitely speed up things.
But first, let's make work the most simple set-up without DMA and DMA2D.

@harteware07 Is there any news?


Add urban area trafficsign

Add two file to urban area trafficsign

There are larger size ratio boards for larger names.
https://www.virages.com/Produits/Categorie.asp?CID=A2&Filtre=A2_1&Affichage=24&Trier=1&Idaf=220
The algorithm looks for any size or we need to prepare a file for panels whose name is written on two lines ?

@operon Thanks so much for proposing these templates for the signs.
I did some search and feel that the templates in wikimedia will be better suited for integration with the following naming
information--built-up-area--g3
And the existing information--end-of-built-up-area--g4 already cover the templates information--end-urban-area--FR-EB20-1.svg
Again, sorry for the delay getting back to you. We will update the specification/guidelines for the adding new templates to the library later on. With the specification, it should make it easier for you to contribute.


Add a complete hello-world example

I struggled a bit with your example, so here's a complete one that should run out of the box.

:+1: For merge and also README.md has typo in CMD supervisor

Documentation typo fixed in https://github.com/3scale/docker-openresty/pull/6
@winks could youd add to the repo the directory web/logs for a better experience?

From configuration point of view, it is not right to serve a folder that contains log. Is that intentional?
If not, then logs should go to /var/log/ instead of /var/www/log/.


iOS spacebar cursor disappears sometimes

With iOS you can use spacebar to move your cursor inside a textfield. In CodeMirror the cursor disappears if I move it too far up (see attached video).
At about 3 seconds in to my video I move the cursor too far up and it disappears and is not visible even if I move the cursor down again. I can see CodeMirror scrolling so some selection is happening but I don't know where anymore.
Unclear if this is a bug in CodeMirror or something to do with iOS Safari's handling of contentEditable.
Example
I uploaded the example (which is just an index.html file, you can view page source to see it all) to see here: https://lying-wind.surge.sh/ - but in short it's just a textarea with a bunch of text and initiating the editor like this:
var editor = CodeMirror.fromTextArea(document.querySelector('textarea'), {
  lineWrapping: true,
  singleCursorHeightPerLine: false
})

Video showing issue
Video: https://lying-wind.surge.sh/example.mp4
GIF: https://lying-wind.surge.sh/example.gif

Info
CodeMirror version: 5.61.1
Browser: iOS Safari (iOS version 14.6)

What the browser seems to be doing in this case is moving the selection into the gutter (which isn't even editable) while keeping the focus on the editor. This makes zero sense, but is rather in keeping with the general brokenness of cursor handling in mobile Safari.
I tried to find a workaround with user-select styles and some more dodgy hacks, but wasn't able to find anything that actually worked. So I'd say this isn't fixable in a reasonable way in this library, and your only hope is to report it to the Safari developers (which, admittedly, isn't very likely to get you much response either).


Capturing the exception and raising an appropriate one

Description
Currently the exception is being raised, captured and re-raised, captured again and printed with log.exception, which shown the error in Sentry.
This approach will convert the tarfile.ReadError into a CCXMessagingError that will be shown, but not as a traceback, causing Sentry to don't care about it
Fixes #CCXDEV-12711
Type of change

Bug fix (non-breaking change which fixes an issue)

Testing steps
Tested in a local deployment
Checklist

[x] pre-commit run -a passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report
Attention: Patch coverage is 92.30769% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 84.73%. Comparing base (a637107) to head (c6932a5).

Files
Patch %
Lines

ccx_messaging/engines/multiplexor_engine.py
92.30%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #187      +/-   ##
==========================================
- Coverage   84.77%   84.73%   -0.04%
==========================================
  Files          33       33
  Lines        1051     1055       +4
==========================================
+ Hits          891      894       +3
- Misses        160      161       +1

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


ValueError: Invalid value ('536') for attribute xHeight when compiling new delivery of NotoSansHebrew-MM.glyphs

When I compile a new delivery of https://github.com/googlei18n/noto-source/blob/master/src/NotoSansHebrew-MM.glyphs I get the following error:
"    raise ValueError("Invalid value ({0}) for attribute {1}.".format(repr(value), name))
ValueError: Invalid value ('536') for attribute xHeight."
Is this something that I need to report to the vendor or is this an issue with the fontmake?

Also there are 8 occurrences of "xHeight = 536" in the source. I assume that the message pertains to the first one.
xHeight = 536;
xHeight = 536;
xHeight = 536;
xHeight = 536;
xHeight = 536;
xHeight = 536;
xHeight = 536;
xHeight = 536;

I forgot to add that I can export both TTF and OTF from the Glyphs app for the same source that we generate the above error.

verified as fixed


Fix last word in title capitalization bug

Maintain consistency with last word in a bibtex entry title according to the retain flag. As an example, add LOTR to the example in lotr.bib:
@book{tolkien54,
    maintitle = {The Lord of the Rings},
    title = {The Fellowship of the Ring: LOTR},
    author = {J. R. R. Tolkien},
    date = {1954-07-29},
    publisher = {Allen & Unwin (AU)},
    location = {London},
    volume = {1},
}

Old output:
J. R. R. Tolkien, The Fellowship of the Ring: Lotr, vol. 1, London: Allen & Unwin (AU), 1954.
Fixed output:
J. R. R. Tolkien, LOTR: The Fellowship of the Ring: LOTR, vol. 1, London: Allen & Unwin (AU), 1954.

I believe there are still bugs in the SentenceCase.apply() method re. Issue #39, but this is a minor (unrelated I think) fix.


Fixes for reads/search

fix referenceId and referenceName not getting passed correctly
sanitize pysam getrname calls

Issue #455
The first error was probably introduced when we backported the paging changes to stable without taking into account the API signature change.
We should bundle this change, along with the paging fix in #433, into a new bugfix release, IMHO.
We should also forward-port the sanitization changes.

Looks good, thanks @dcolligan. I agree about the process --- we should get a bugfix release out ASAP.
On the process though, I think we should start using a release branch. We should keep the stable branch just for stuff we've actually released, not stuff we're about to release soon. I've created the release-0.1 branch for this; can you change this PR so that it's against that branch please?