Add official driver adapter for pglite

Problem
Currently Prisma does not have support for any sort of in-memory postgres database adapter. This makes testing harder and requires an actual postgres instance running for any sort of integration test
Suggested solution
Recently https://github.com/electric-sql/pglite has popped up and become pretty popular. In fact they have an official integration with drizzle already
If Prisma were to build an official adapter for this tool, we could start using it in Jest/Vitest and load it with dummy data for testing
Related request: https://github.com/prisma/prisma/issues/23930
Related request: https://github.com/prisma/prisma/issues/11129
Slack message: https://prisma.slack.com/archives/CA491RJH0/p1711937021905059
Alternatives
Option 1: Run a full blown postgres database
Option 2: Run prisma with sqlite when testing (there will be incompatibilities)
Option 3: Support something like pg-mem (https://github.com/oguimbal/pg-mem) (not supported yet)
Additional context
N/A

See twitter thread with @sorenbs on the topic here: https://twitter.com/sorenbs/status/1773694307477705116
It also contains some advantages / use-cases of this approach.

Fantastic effort, thanks 🙏 Would love to see this happen (:

I would also like to add that https://github.com/stackframe-projects/pgmock is different but similar. Would love to have support for both!

@nahtnam Can you open a standalone feature request issue for that? Thank you.

Thanks to @lucasthevenet this is happening!
https://github.com/lucasthevenet/pglite-utils
https://github.com/lucasthevenet/pglite-utils/tree/main/packages/prisma-adapter
Via the sandbox folder in there you can already try it out. Also try to supply a path to PGlite(...) to see how it can persist files to disk, pretty interesting. I am sure Lucas is happy about feedback and some testing 🥳

Happy to help! Any testing and/or feedback is for sure welcome 😁

Wow - I just started to write a work-around using pglite + pglite-server to already push this forward before an adapter becomes available. Very cool work @lucasthevenet 🎊  I'll test it out for our team right away ❤

@lucasthevenet I tried this out and posted my experience here: https://github.com/lucasthevenet/pglite-utils/issues/8 I hope you consider this as helpful & friendly and thanks again for putting your effort into this!

FWIW, I think a temporary workaround until an official driver is available could be found here: https://github.com/supabase-community/pg-gateway - basically requires you to fire up a pglite + pg-gateway as a server and then do the prisma standard connection to it like a regular PG server. Isn't ideal, but it would skip the need for docker (for testing).

FWIW, I think a temporary workaround until an official driver is available could be found here: https://github.com/supabase-community/pg-gateway - basically requires you to fire up a pglite + pg-gateway as a server and then do the prisma standard connection to it like a regular PG server. Isn't ideal, but it would skip the need for docker (for testing).

Hey there, I also think this would be a nice workaround. I've tried to put a quick test cli together to test if this works and I ran into a few errors.
Right now I don't have the time to debug them but if someone wants to pick up from where I left feel free to do so.

pg-gateway has a pglite-example inside its repo. I've attempted to use it together with prisma, but it did not work, see my report on this here: https://github.com/supabase-community/pg-gateway/issues/4#issue-2459250943
The maintainer responded already and kindly offered to look into it and add an example that also contains prisma, so I'm staying tuned for that right now.

someone made this: https://github.com/electrovir/pglite-prisma-demo

someone made this: https://github.com/electrovir/pglite-prisma-demo

Seems to be using this: pglite-prisma-adapter

This works fine on the backend (yay!) but on the browser – see https://github.com/prisma/prisma/issues/25493


[0.56 bump] package version for client (patch)

            @fluidframework/build-common:     0.24.0 (unchanged)
     @fluidframework/eslint-config-fluid:     0.26.0 (unchanged)
      @fluidframework/common-definitions:     0.21.0 (unchanged)
            @fluidframework/common-utils:     0.33.0 (unchanged)
         @fluidframework/core-interfaces:     0.42.1 (unchanged)
    @fluidframework/protocol-definitions:   0.1027.0 (unchanged)
      @fluidframework/driver-definitions:     0.44.1 (unchanged)
   @fluidframework/container-definitions:     0.45.1 (unchanged)
                                  Server:   0.1035.0 (unchanged)
                                  Client:     0.56.9 -> 0.56.10
                  @fluid-tools/benchmark:     0.40.0 (unchanged)
                         generator-fluid:      0.3.0 (unchanged)
                             tinylicious:      0.4.0 (unchanged)
     @fluidframework/azure-local-service:      0.1.0 (unchanged)
                             dice-roller:      0.0.1 (unchanged)

@sdeshpande3 - Before you merge. I want to take a look and see if this will cause any test validation problems that we should fix in this PR.

Ok of course not because test validation only applies across major version bumps.  All good.

but like, 10 patches :(

npm run ci:test got cancelled 😢


Can you share the loss curve of the  Swin-UNETR pre-training process

Hi, Thanks for your great work on Swin-UNETR, I am trying to run pre-training on another dataset (~2000 CTs). But the loss curve seems not to be decreased:

Could you share your loss curve on the 5050 CTs dataset? Thank you very much!
I am pre-training the model on a single GPU with batch size 2.

Hi @upupming
I see. We trained the model using 4 nodes with 8 GPUs (total 32). We noticed scaling up the pre-training to multi-node is important for convergence.

Hi @ahatamiz, i meet the same problem ,as i pre-training the model on a single GPU with batch size 2.My input and ground-turth are shown in the image, but the output does not seem to have any resemblance to the original image, do you mean to train on multiple GPUs to have good results

x1_aug

x1_gt

x1_recon

hI @GaoHuaZhang ,
Thanks, batch size should be a key point. We don't have the record for this training any more, but we have this
https://github.com/Project-MONAI/tutorials/tree/main/self_supervised_pretraining
which is a similar strategy pre-trianing, you could see loss curves with this tutorial.
Thanks

Hi @ahatamiz, i meet the same problem ,as i pre-training the model on a single GPU with batch size 2.My input and ground-turth are shown in the image, but the output does not seem to have any resemblance to the original image, do you mean to train on multiple GPUs to have good results  x1_aug  x1_gt  x1_recon

Have you solved the problem? I have the same problem as you


Dependencies & Configs: Proposals for improvement and optimisation

It is possible to move most settings from separate files, such as setup.py, setup.cfg, MANIFEST.in, and other configuration files, inside pyproject.toml. Below is an example that combines these files and configures dependencies, package instructions, and other settings to reduce the number of separate files to a minimum:
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "flask-jsonrpc"
version = "4.0.0a7"  # Укажите нужную версию
description = "Adds JSONRPC support to Flask."
readme = {file = "README.md", content-type = "text/markdown"}
license = {text = "MIT"}
authors = [
    {name = "Nycholas Oliveira", email =<EMAIL_ADDRESS>    {name = "Your Name", email =<EMAIL_ADDRESS>]
maintainers = [{name = "Cenobit Technologies Inc.", email =<EMAIL_ADDRESS>keywords = ["flask", "flask-extensions", "jsonrpc", "json-rpc", "rpc"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Web Environment",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
    "Topic :: Software Development :: Libraries :: Application Frameworks",
]

requires-python = ">=3.7"
dependencies = [
    "Flask>=3.0.0,<4.0",
    "werkzeug>=1.0",
    "typeguard==4.4.0",
    "typing_extensions>=4.3.0",
    "typing_inspect==0.9.0",
    "pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4",
    "eval_type_backport==0.2.0"
]

[project.optional-dependencies]
async = ["Flask[async]>=3.0.0,<4.0"]
dotenv = ["Flask[dotenv]>=3.0.0,<4.0"]
dev = [
    "pytest",
    "black",
    "isort",
]
test = [
    "pytest",
    "pytest-cov",
]
lint = [
    "flake8",
    "black",
    "isort",
]
docs = [
    "sphinx",
    "sphinx-rtd-theme",
]

[project.urls]
Donate = "https://github.com/sponsors/nycholas"
Homepage = "https://github.com/cenobites/flask-jsonrpc"
Documentation = "https://flask-jsonrpc.readthedocs.io/"
"Source Code" = "https://github.com/cenobites/flask-jsonrpc"
"Issue Tracker" = "https://github.com/cenobites/flask-jsonrpc/issues/"
Website = "https://flask-jsonrpc.readthedocs.io/"

[tool.setuptools.packages.find]
include = ["flask_jsonrpc"]

# Конфигурация для инструментов
[tool.black]
line-length = 88
target-version = ["py37"]

[tool.isort]
profile = "black"

[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-v --tb=short"
testpaths = ["tests"]

[tool.flake8]
max-line-length = 88
extend-ignore = ["E203", "W503"]

# Конфигурация для tox
[tool.tox]
envlist = ["py37", "py38", "py39", "lint", "test"]

[tool.tox.env.py37]
description = "Run tests on Python 3.7"
package = "wheel"
requires = ["pytest", "pytest-cov"]
deps = ["pytest", "pytest-cov"]
commands = ["pytest"]

[tool.tox.env.py38]
description = "Run tests on Python 3.8"
package = "wheel"
requires = ["pytest", "pytest-cov"]
deps = ["pytest", "pytest-cov"]
commands = ["pytest"]

[tool.tox.env.py39]
description = "Run tests on Python 3.9"
package = "wheel"
requires = ["pytest", "pytest-cov"]
deps = ["pytest", "pytest-cov"]
commands = ["pytest"]

[tool.tox.env.lint]
description = "Run linters (flake8, black, isort)"
deps = ["flake8", "black", "isort"]
commands = [
    "flake8 src tests",
    "black --check src tests",
    "isort --check-only src tests"
]

[tool.tox.env.test]
description = "Run tests with coverage"
deps = ["pytest", "pytest-cov"]
commands = [
    "pytest --cov=flask_jsonrpc --cov-report=term-missing"
]

[tool.cibuildwheel]
before-all = "uname -a"
build-verbosity = 1
skip = [
    "cp3{8,9,10}-*",
    "*-manylinux_i686",
    "*-musllinux_i686",
    "*-win32",
    "pp*",
]
test-requires = [
    "pytest",
    "pytest-cov",
    "pytest-xdist",
    "pytest-sugar",
    "pytest-env",
    "requests"
]
test-command = "pytest -n auto -vv --tb=short --rootdir={project} {project}/tests --cov-fail-under=0"

[tool.cibuildwheel.environment]
MYPYC_ENABLE = "1"

[tool.ruff]
src = ["src"]
fix = true
show-fixes = true
output-format = "concise"
line-length = 120
target-version = "py39"

[tool.ruff.lint]
select = [
    "E",    # pycodestyle error
    "W",    # pycodestyle warning
    "F",    # pyflakes
    "UP",   # pyupgrade
    "ANN",  # flake8-annotations
    "B",    # flake8-bugbear
    "Q",    # flake8-quotes
    "SIM",  # flake8-simplify
    "T",    # flake8-type-checking
    "B",    # flake8-bandit
    "C",    # flake8-copyright
    "I",    # isort
]

[tool.ruff.lint.mccabe]
max-complexity = 10

[tool.ruff.lint.flake8-quotes]
inline-quotes = "single"
docstring-quotes = "double"

[tool.ruff.lint.flake8-type-checking]
exempt-modules = ["typing", "typing_extensions", "annotated_types"]

[tool.ruff.lint.flake8-bandit]
check-typed-exception = true

[tool.ruff.lint.flake8-copyright]
author = "Cenobit Technologies, Inc. http://cenobit.es/"

[tool.ruff.lint.isort]
length-sort = true
combine-as-imports = true
order-by-type = true
force-sort-within-sections = true
split-on-trailing-comma = false
section-order = [
    "future",
    "standard-library",
    "typing-extensions",
    "flask",
    "pydantic",
    "third-party",
    "first-party",
    "local-folder"
]

[tool.ruff.lint.isort.sections]
"flask" = ["flask"]
"pydantic" = ["pydantic"]
"typing-extensions" = ["typing_inspect", "typing_extensions"]

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.format]
quote-style = "single"
indent-style = "space"
skip-magic-trailing-comma = true
docstring-code-format = true
docstring-code-line-length = 79

[tool.coverage.run]
branch = true
source = [
    "src/flask_jsonrpc",
    "tests",
]
omit = [
    "*/settings.py",
    "*/fixtures.py",
    "*/tests.py",
    "*/test_*.py",
    "*/*_tests.py",
]

[tool.coverage.paths]
source = [
    "src",
    "*/site-packages",
]

[tool.coverage.report]
fail_under = 100
ignore_errors = true
skip_covered = true
exclude_lines = [
    "pragma: no cover",
    "pragma: no cover ${PRAGMA_VERSION}",
    "def __repr__",
    "if self\\.debug",
    "if settings\\.DEBUG",
    "if current_app\\.config\\['DEBUG'\\]",
    "if app\\.config\\['DEBUG'\\]",
    "raise AssertionError",
    "raise NotImplementedError",
    "if 0:",
    "if __name__ == .__main__.:",
    "if TYPE_CHECKING:",
    "if t\\.TYPE_CHECKING:",
]

[tool.mypy]
plugins = ["pydantic.mypy"]
files = ["src/flask_jsonrpc"]
python_version = "3.12"
pretty = true
strict = true
show_error_codes = true
ignore_errors = false
ignore_missing_imports = false
warn_redundant_casts = true
warn_unused_ignores = true
no_implicit_reexport = true
check_untyped_defs = true
disallow_any_generics = true
disallow_untyped_defs = true

[[tool.mypy.overrides]]
module = [
    "asgiref.*",
    "mypy-werkzeug.datastructures.*",
    "typeguard.*",
    "typing_inspect.*",
    "dotenv.*",
]
ignore_missing_imports = true

[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = true
warn_required_dynamic_aliases = true

[tool.pytype]
inputs = ["src/flask_jsonrpc"]
python_version = "3.11"
disable = ["invalid-annotation"]

[tool.pyright]
pythonVersion = "3.12"
include = ["src/flask_jsonrpc"]
typeCheckingMode = "basic"

Explanation of New Sections

[build-system] — Specifies the build system requirements, indicating the need for setuptools and wheel for building the package.

[project] — Contains essential project metadata, such as name, version, description, authors, classifiers, and main dependencies. It also includes optional dependencies for different environments like development, testing, linting, and documentation.

[project.optional-dependencies] — Defines optional dependencies that can be installed based on the specific needs of the project, such as development tools (dev), testing tools (test), linters (lint), and documentation tools (docs).

[project.urls] — Provides URLs related to the project, including the homepage, documentation, and source repository.

[tool.setuptools.packages.find] — Configures the packages to be included, similar to find_packages() in setup.py.

[tool.black] and [tool.isort] — Configuration settings for code formatting tools like black and isort, defining rules for code style.

[tool.pytest.ini_options] — Configuration for pytest, specifying minimum version requirements, command-line options, and test paths.

[tool.flake8] — Configuration for the flake8 linter, defining rules such as maximum line length and ignored errors.

[tool.tox] — Main section for configuring tox, listing the different environments for testing and their dependencies.

[tool.tox.env.] — Configuration for individual tox environments (like py37, py38, lint, and test), specifying dependencies, commands to run, and descriptions for each environment.

This consolidated configuration allows for easier management and eliminates the need for multiple configuration files like setup.py, setup.cfg, MANIFEST.in, .flake8, .isort.cfg, .coveragerc, tox.ini, and requirements/*.txt, streamlining the project structure.
You can then use docker's two-phase image creation in elegant style, where in the first phase you simply convert pyproject.toml to requirements.txt like this:
FROM python:3.12-slim as requirements-stage

WORKDIR /tmp

RUN pip install poetry

COPY pyproject.toml ./poetry.lock /tmp/

RUN poetry export -f requirements.txt --output requirements.txt --without-hashes

# Pull official base image
FROM python:3.12-slim

# Set work directory
WORKDIR /usr/src/app

# Create a non-privileged user that the app will run under.

# Make entrypoint.sh executable
RUN chmod +x ./entrypoint.sh

# Switch to the non-privileged user to run the application.
USER appuser

# Publish network port
EXPOSE 5000

# Execute script to start the application web server
ENTRYPOINT ["./entrypoint.sh"]

Hi @alexted,
Since the Python packaging tool has changed from setuptools to flit, it’s unfortunate that flit does not support Python C extensions, such as those compiled with Mypyc. For this reason, the project needs to continue using setuptools as its packaging tool. Specifically, the project requires the files setup.py, setup.cfg, and MANIFEST.in.
To fully migrate to flit, it would be necessary to develop a plugin or a custom backend to support Python C extensions. Additionally, there may be consideration of migrating to another packaging tool like Hatch.
The project has transitioned from using black, flake8, and similar tools to ruff, with the entire configuration now located in pyproject.toml.
The tox.ini file is intended to facilitate development and testing, and it is not a project dependency. The readability of the new pyproject.toml file is also improved.
Furthermore, the requirements/* files are maintained to lock the versions of dependencies and to enable GitHub Dependabot to discover new versions and create pull requests for patch management. Currently, this functionality is not feasible within pyproject.toml. Utilizing tools like poetry or pip-compile to generate requirements/* files is a good approach, as it can lock the versions of all dependencies (similar to pip freeze) and help prevent resolution issues with pip.

Dependabot has support for pyproject.toml and works fine with it. No problems.

 Good to know! Also, we can lock the versions with pip-compile, it is a huge update!
pip-compile --generate-hashes pyproject.toml --output-file=requirements/*.txt

Thank you!

For drops entires setuptools configuration files, I think that to wait for it. By the way, the first intention is to deprecate the setuptools and favor of flit.

It can and should be used to centrally manage tools configurations.

Certainly, but I see tox.ini as a Makefile, a tool to support development with automatizations. I don't see that as a good idea to put all these contents inside the pyproject.toml.

Glad to share! I didn't get your comment about using pip-compile - what do you use it for?

When a dependency gets bumped use the post-action of GitHub Dependabot PRs that update the requirements/* (pip’s lower-level requirements.txt file) to lock the version of the entire environment (pip freeze), not only the direct dependencies. This can help somebody to always test against the same dependency versions. Also, it makes and checks file hashes, to ensure compliance with hash-locked dependency specifiers, and eases uninstallation of packages and dependencies.


feat: remove typescript dependency

BREAKING CHANGE: removes TypeScript dependency

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


(GH-284) Added support for #region folding

Hello, as I mentioned in https://github.com/lingua-pupuli/puppet-vscode/issues/284, I would really like to see #region folding support for puppet manifests, this change adapted from https://github.com/Microsoft/vscode-python/issues/33 should handle that.

Before:

After:

We actually got folding "for free" due to the puppet manifest styleguide.  But this seems fine.
Thanks for the PR @neitik.

@jpogran or @michaeltlombardi You happy for merge?

Thanks for the code @neitik ! LGTM! really appreciate your contribution.


Release v0.4.1

Also, test the service against Node 6

Coverage remained the same at 93.764% when pulling cbaa544a9d8a2c129c510946e6a1474150b3de94 on d00rman:rel/v0.4.1 into 98f3b032457fe666b0bd7eec3563f49382ad02d4 on wikimedia:master.

Coverage remained the same at 93.764% when pulling 75cc782bd2cb9749ece5698eac6ecac6e857899b on d00rman:rel/v0.4.1 into 98f3b032457fe666b0bd7eec3563f49382ad02d4 on wikimedia:master.


Request mirroring conformance

This PR adds http request mirror conformance test.
Feedback is most welcomed
/cc @robscott
What type of PR is this?
/kind feature
/area conformance
What this PR does / why we need it:
Add tests for request mirroring
Which issue(s) this PR fixes:

Issue #1103
Does this PR introduce a user-facing change?:
- Added: conformance tests for http request mirroring.

/retest

@robscott @shaneutt PTAL

/retest

@robscott @arkodg can you take another look?

Thanks @LiorLieberman!
/lgtm
/approve

/cherry-pick release-0.7

@LiorLieberman do you mind manually creating a cherry-pick PR to the release-0.7 branch for this?

Sure, https://github.com/kubernetes-sigs/gateway-api/pull/2034
Just make sure I did it correctly


Document split for routers and template renders

I just found this in the Expressive v3 project:

Document v3 changes
We need to document version 3. We can begin by creating a new v3 section of the docs based on latest v2, and modifying it to conform to what will actually release with v3.
We may want to consider splitting documentation into discrete repositories as well: pushing router and template renderer docs to the appropriate repositories, etc.

Especially the last part. I'm all in favor of this. I've seen too many notes in those projects that docs need to be updated in zend-expressive.
I'm opening the issue here so we can discuss it and I can close the expressive v3 project.

Go ahead and close the v3 project; we've definitely completed the documentation milestone.
I do want to figure out a way to move documentation closer to the packages the documents describe. One issue, however, is that the current structure makes it trivial to link back and forth between documentation; that becomes much harder once we move docs to each package. As such, we need to start with an idea of how we want to manage that linking, and fit it into a bigger narrative of features and reference material.
I'd be happy for somebody to get the ball rolling on that aspect, and I can then provide help around implementation and delivery.

This repository has been closed and moved to mezzio/mezzio; a new issue has been opened at https://github.com/mezzio/mezzio/issues/10.


Algorithms and code snippets in C.

No description provided.

Made a commit for doubly linked lists in C

Hey, Can I be assigned to work on Banker's Algorithm problem for this issue? I noticed that it's not there here and I would like to contribute to Hacktoberfest too.

@abumaz definitely.
Create a PR with the algorithm implementation.
Also have a look at https://github.com/amanmehara/programming/blob/master/CONTRIBUTING.md and make changes accordingly.
I'll approve and merge afterwards! 😃

Can we add algorithms for C++ too in this repo?

@Dhruv-VINT yes, you can add, just create a PR having algorithms implemented in C++. 😃


[BUG] Scan folder missing thousands

Describe the bug
When setting up Diffusion Toolkit and adding the Outdir which contains the generations, the toolkit only finds 24 out of several thousand. The InvokeAI outdir folder structure has some subfolders for Thumbnails which I put in Exclude as I don't want those and I don't want duplicates.
Version:
I was first using 1.2.1 and had the issue, but also tried the 1.2.2 posted in Issues on github and it didn't seem to have any effect.
To Reproduce
Generate using latest InvokeAI and nothing shows up.
Expected behavior
I expect to be able to view my generations
Source Image

Source Image or Screenshots

Additional context
Add any other context about the problem here.

Can you show me your General settings?
Do you have Recursive checked?

The image you provided loads properly. Does it also load properly in your case? Is it part of the 24 images?
I will need a sample of images that do not load for you. Also, please attach your DiffusionToolkit.log file if it contains any error messages.

General settings:

I do have recursive checked (screenshot). The files are just PNG which is in the list.
The image I shared is not part of the 24 it discovers.

I went ahead and did another test as follows (incase the subfolder exclusions were related to the problem)

I noticed that Thumbnails are webm files while the generations are PNGs.
So I removed webm as a file extension in the tool, and removed all the exclusions.
rescanned but still only shows a few files. screenshot the folder as well showing the number and file type

Hello, sorry for the delay. I've been busy with other things.
Can you upload somewhere a set of images, maybe 10-20, that you're sure don't work? I can't seem to replicate your issue with the image you provided.
Also, is there any error listed in diffusion-toolkit.log?

Sorry, I never got back to you. I will get those now.

okay, yes, there are thousdands of errors. its a really long file.
An error occurred while reading C:\Users\ayelw\invokeai\outputs\000001.f75fd3bd.3539081754.postprocessed.png: The requested operation requires an element of type 'Array', but the target element has type 'String'.
at System.Text.Json.JsonElement.EnumerateArray()
at Diffusion.IO.Metadata.ReadInvokeAIParametersNew(String file, IEnumerable1 directories)    at Diffusion.IO.Metadata.ReadFromFile(String file)    at Diffusion.IO.Scanner.Scan(IEnumerable1 files)+MoveNext()
5/29/2023 4:08:39 PM: An error occurred while reading C:\Users\ayelw\invokeai\outputs\000005.66a11412.874975903.postprocessed.png: The requested operation requires an element of type 'Array', but the target element has type 'String'.

Anyone know if Avery went on vacation?

I'm in the process of moving to another country, also been a bit busy with work, so apologies if I haven't been able to look into issues.  I promise I will do so, when I'm freed up.  The move will happen in the next two months, but hopefully I can find some time to squeeze in a few fixes.  Thanks for holding up!

Hi, can you attach some of the images that have that specific error?

yes sir! However, there is a slight change now.
All of the above is Invoke 2.3.# behavior. Invoke just completed a complete rewrite of their system about a week ago.
Invoke 3.0 images your Diffusion Toolkit is finding and adding to the library, but it is not detecting the metadata. I will attach the following images:

Direct image that was generated
Screenshot from your tool where it found the image, but no metadata
Screenshot from Invoke 3 showing the metadata

This looks like a new metadata format for InvokeAI.
I've added support for it.

Let me know if the latest version 1.3 fixes this issue


x11_in_gtk: add support for min_size and base_size in XSizeHints of …

…plugin window. Thus allow init a Plugin UI with a default size and shrink it afterwards to the min size.
This is more comparable with the x11_in_qt wrappers.

It seems that we ain't talk about the same issue.
What I like to archive is the ability to open a X11 plugin UI with the base size, not with the min size, but still allow a user to shrink the UI to the min size, if required.
Currently any call from the plugin UI to the resize function in the suil wrapper set the newly given size as new min size, and ignore therewith the settings for  min_width/min_height in the XSetNormalHints() of the plugin UI. This patch simply reset the gtk widget property's to the values given in  XSetNormalHints(). So the UI has the ability to request a size, without forcing that to be the min size.
And yes, surely I've tried to disable the resize call during init,  but, as I said, that wouldn't lead to open the UI with the base size at all.

As discussed on IRC, prefer using size-request and remove the gtk_set_size_request(). Something along the lines of
diff --git a/src/x11_in_gtk2.c b/src/x11_in_gtk2.c
index 7ec9592..29dcd5e 100644
--- a/src/x11_in_gtk2.c
+++ b/src/x11_in_gtk2.c
@@ -37,6 +37,9 @@ struct _SuilX11Wrapper {
  const LV2UI_Idle_Interface* idle_iface;
  guint                       idle_id;
  guint                       idle_ms;
+ bool                        custom_size;
+ int                         req_width;
+ int                         req_height;
 };

 struct _SuilX11WrapperClass {
@@ -249,6 +252,28 @@ suil_x11_wrapper_key_event(GtkWidget*   widget,
 }

 static void
+suil_x11_on_size_request(GtkWidget*     widget,
+                         GtkRequisition* requisition)
+{
+ SuilX11Wrapper* const self = SUIL_X11_WRAPPER(widget);
+ if (self->custom_size) {
+   requisition->width  = self->req_width;
+   requisition->height = self->req_height;
+ } else if (x_window_is_valid(self)) {
+   GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(self->plug));
+   XSizeHints hints;
+   memset(&hints, 0, sizeof(hints));
+   XGetNormalHints(GDK_WINDOW_XDISPLAY(window),
+       (Window)self->instance->ui_widget,
+       &hints);
+   if (hints.flags & PMinSize) {
+     requisition->width  = hints.min_width;
+     requisition->height = hints.min_height;
+   }
+ }
+}
+
+static void
 suil_x11_on_size_allocate(GtkWidget*     widget,
                           GtkAllocation* a)
 {
@@ -283,12 +308,19 @@ suil_x11_wrapper_init(SuilX11Wrapper* self)
  self->instance   = NULL;
  self->idle_iface = NULL;
  self->idle_ms    = 1000 / 30;  // 30 Hz default
+ self->req_width  = 0;
+ self->req_height = 0;
+ self->custom_size = false;
 }

 static int
 wrapper_resize(LV2UI_Feature_Handle handle, int width, int height)
 {
- gtk_widget_set_size_request(GTK_WIDGET(handle), width, height);
+ SuilX11Wrapper* const wrap = SUIL_X11_WRAPPER(handle);
+ wrap->req_width   = width;
+ wrap->req_height  = height;
+ wrap->custom_size = true;
+ gtk_widget_queue_resize(GTK_WIDGET(handle));
  return 0;
 }

@@ -329,6 +361,11 @@ wrapper_wrap(SuilWrapper*  wrapper,
                   NULL);

  g_signal_connect(G_OBJECT(wrap),
+                  "size-request",
+                  G_CALLBACK(suil_x11_on_size_request),
+                  NULL);
+
+ g_signal_connect(G_OBJECT(wrap),
                   "size-allocate",
                   G_CALLBACK(suil_x11_on_size_allocate),
                   NULL);

Your patch didn't add the expected functionality. Still can't shrink the window below the initial size, still no support for aspect ratio.

As pointed out in IRC, to allow shrinking the UI from a initial base size to a min size set by the plugin UI, we need to reset the size request  of the widget to the min size AFTER size-allocate.
Thus will allow a user to shrink the widget down to min size.

` else if (x_window_is_valid(self)) {

GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(self->plug));
XSizeHints hints;
memset(&hints, 0, sizeof(hints));
XGetNormalHints(GDK_WINDOW_XDISPLAY(window),

  (Window)self->instance->ui_widget,

  &hints);

if (hints.flags & PMinSize) {

requisition->width  = hints.min_width;

requisition->height = hints.min_height;

}`

this part is useless, it will never ever run. The size-request callback is only fired when the widget itself do a size-request, not when a user resize the widget. And then, always the var self->custom_size is set to true.

still no support for aspect ratio.

That is correct.  There can only be a letterbox.
In case of Ardour, the host adds a preset-bar at the top, setting a fixed minimum width,  jalv adds a menu-bar.. Other hosts may add a left-side column (eg. Reaper once it gains LV2 support). The size of which is unknown. The best that can be done is center the child window and add letterbox bars either left/right or top/bottom.

Still that ain't work. In that case the UI will open with the min size, regardless how I set the size with XResizeWindow.
And I wonder, what you believe were the size for the GTK window should come from, as in that case, the size request is explicitly set to min_size for the GTK Window.

okay, there is a simple solution to solve my issue within your patch, without introduce additional size-request calls. What did you think about this:

static void
suil_x11_on_size_request(GtkWidget*     widget,
							GtkRequisition* requisition)
{
	SuilX11Wrapper* const self = SUIL_X11_WRAPPER(widget);
	static int o =1;
	if (self->custom_size && o) {
		requisition->width  = self->req_width;
		requisition->height = self->req_height;
	} else if (x_window_is_valid(self)) {
		GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(self->plug));
		XSizeHints hints;
		memset(&hints, 0, sizeof(hints));
		XGetNormalHints(GDK_WINDOW_XDISPLAY(window),
			(Window)self->instance->ui_widget,
			&hints);
		if (hints.flags & PMinSize) {
			requisition->width  = hints.min_width;
			requisition->height = hints.min_height;
		} else {
			requisition->width  = self->req_width;
			requisition->height = self->req_height;
		}
	}
	o = 0;
}

it use the simple fact that the size-request signal is fired 2 times, so the window open with the given size (if given) and reset the size_request to the min_size (if given) in the same run.

and therewith we could as well add support for base_size:

static void
suil_x11_on_size_request(GtkWidget*     widget,
                         GtkRequisition* requisition)
{
	SuilX11Wrapper* const self = SUIL_X11_WRAPPER(widget);
	static int o = 1;
	if (self->custom_size && o) {
		requisition->width  = self->req_width;
		requisition->height = self->req_height;
	} else if (x_window_is_valid(self)) {
		GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(self->plug));
		XSizeHints hints;
		memset(&hints, 0, sizeof(hints));
		long supplied;
		XGetWMNormalHints(GDK_WINDOW_XDISPLAY(window),
			(Window)self->instance->ui_widget,
			&hints, &supplied);
		if (o && supplied & PBaseSize) {
			requisition->width  = hints.base_width;
			requisition->height = hints.base_height;
		} else if (supplied & PMinSize) {
			requisition->width  = hints.min_width;
			requisition->height = hints.min_height;
		} else {
			requisition->width  = self->req_width;
			requisition->height = self->req_height;
		}
	}
	o ^= 1;
}

so if a plugin don't call ui_resize but set XSizeHints, it will open with the base size (if given) or with the min_size, if no base_size is given.
To archive that we need to check in wrapper_resize if a size is given to set custom_size accordingly:
	if (width > 0 && height > 0) {
		wrap->custom_size = true;
	}

Merged as db07a21, thanks.


Fix HamburgerMenu blinking when navigating

I think you are solving a problem that does not exist, Carsten.

Oh, it does in our solution. Never mind, I will add patch to our project fork.


add humble ci

Signed-off-by: Kenji Brameld<EMAIL_ADDRESS>

Rolling CI failure is due to gz_control_hw also failing. Merging, as it's not directly a fault in this repo.


Build step for fails for docker-compose service with a dash in the name

Running a build step for a docker-compose service with the name fastboot-server fails with:
[...]/commands/build.sh: line 35: cache_from__fastboot-server: bad substitution

Renaming that docker-compose service to fastboot works fine.

This is fixed in v2.5.1 (🛁 Bath Time)


dfflibmap: enable inference

What are the reasons/motivation for this change?
dfflibmap can't map flops with enables, so yosys has to use muxes. By using flops that have enables, we can save area and possibly delay.
Explain how this is achieved.
The next_state attribute of the ff block needs to be evaluated to see if it's an enable expression.
If applicable, please suggest to reviewers how they can test the change.
Run dfflibmap -liberty foo.lib on various liberty files you can find, and see if they a) parse without crashing and b) successfully detect the enable flops in the file.
Still to do:

a bunch of log_warnings are commented out because they are extremely noisy.

sky130 has some scan chain flops with the expression (D&DE&!SCE)|(IQ&!DE&!SCE)|(SCD&SCE), which the parser chokes on because of three ands instead of two - to investigate and fix. (to be clear, this won't infer, but it shouldn't issue the nonsense warning of "Inference failed on expression '(D&DE&!SCE)|(IQ&!DE&!SCE)|(SCD&SCE)' in next_state attribute of cell 'sky130_fd_sc_hd__sedfxtp_4' because it does not contain ff output 'IQ' - skipping." when it does. continue in a do/while loop did not do what I thought it did.
more generally, because the code loops through all cells to find each cell type, this results in a lot of duplicate warnings. there's now a lookup to avoid duplicate warnings.

flops with enable and reset - the infrastructure is there, I just don't know of any test cases to check they work, since sky130 just has edfxtp/edfxbp.

It would also be okay to skip scan flops. DFT is implemented in OpenROAD, and will replace flops with their scan equivalents.

Should we also extend techlibs/common/cells.lib with DFFE.* to make default synth represent realistic flows better now that we have this capability?

I don't think cells.lib has anything to do with synth

Well, seeing that cells.lib isn't referenced anywhere in the codebase, that certainly raises the question: what does cells.lib have to do with anything? But that's not relevant for this PR specifically.

The build failure should be possible to resolve with a rebase BTW

rebased, with log_assert in find_cell_sr when enapol is true.

Unfortunately, when used in ORFS, turns out this feature regresses area usage on ibex on sky130. When dfflibmap matches a $dffe of the opposite enable polarity, it emits an $_NOT_ and the PDK flop with enable. In ORFS, dfflibmap is ran before abc. When the mux is hidden in the PDK dffe cell, abc can't (in effect) make use of ITE(!a, x, y) = ITE(a, y, x) to eliminate the inverter by swapping the mux inputs, unlike when it emitted a regular flop and multiplexer.
Repro:
module foo(
    input se,
    input clk,
    input xi,
    output xo,
);
  // To test with more logic around,
  // uncomment and replace se with mod:

  // wire mod;
  // assign mod = ((a + b) % 7) == 3;

  initial begin
    xo = 0;
  end

  always @(posedge clk)
  begin
    if (se)
        xo <= xi;
  end
endmodule

read_verilog dff_regr.v
proc
opt
techmap
opt
stat
dfflibmap -liberty sky130_fd_sc_hd__tt_025C_1v80.lib
stat
abc -liberty sky130_fd_sc_hd__tt_025C_1v80.lib
stat -liberty sky130_fd_sc_hd__tt_025C_1v80.lib

I think we have work to do in dfflegalize to prevent this (maybe configurably)

I'm...not sure that's a valid transformation when the enable mux is baked into the flop?
But I can see that it can be an issue if the polarity doesn't exactly match. Hmm.

Yeah the idea is we probably should prevent baking the muxes into dffe PDK cells if it creates an inverter outside the PDK cell

I'm not so sure about this anymore. The regression doesn't reproduce on commits of this PR branch, because it's based on an older main commit. Hilariously, when qwp was removed, a constid was removed too, which made the ibex synthesize better, but not when DFFEs are inferred. Apparently, the 1% regression we saw is indistinguishable from hash perturbations. Can't wait to have --hash-seed available on main so we can chase fewer ghosts

On nangate45:
12. Executing DFFLIBMAP pass (mapping DFF cells to sequential cells from liberty file).
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFFRS_X1' because it does not contain ff output 'IQ' - skipping.
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFFRS_X2' because it does not contain ff output 'IQ' - skipping.
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFFR_X1' because it does not contain ff output 'IQ' - skipping.
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFFR_X2' because it does not contain ff output 'IQ' - skipping.
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFFS_X1' because it does not contain ff output 'IQ' - skipping.
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFFS_X2' because it does not contain ff output 'IQ' - skipping.
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFF_X1' because it does not contain ff output 'IQ' - skipping.
Warning: Inference failed on expression '((SE*SI)+(D*!SE))' in next_state attribute of cell 'SDFF_X2' because it does not contain ff output 'IQ' - skipping.

I think we need to demote those to log_debug


Add benchmarks + refactoring for downsample function

Although the benchmarks turned out to be uninteresting because they indicate that nothing in v_frame is particularly a bottleneck.

Codecov Report
Patch coverage: 100.00% and project coverage change: -4.20 :warning:

Comparison is base (1d8a986) 66.69% compared to head (f92e22c) 62.50%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #13      +/-   ##
==========================================
- Coverage   66.69%   62.50%   -4.20%
==========================================
  Files           5        5
  Lines        1009      984      -25
==========================================
- Hits          673      615      -58
- Misses        336      369      +33

Impacted Files
Coverage Δ

src/plane.rs
67.45% <100.00%> (-4.53%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Crash/leak on exiting with a Control node in Container Toolbar

Godot version
bfcc29635f92d5054de1acc0a51561638b28570b
System information
Windows 10, Vulkan, Intel® Core™ i7-8700K, Nvidia GTX 1080 (471.11)
Issue description
If you attempt to a exit the application with a Control node in the container toolbar (assigned via an EditorPlugin), the editor will not quit cleanly when attempting to exit. It will instead throw an exception when attempting to delete a polygon, presumably because the RendererCanvasRender singleton has already been freed at this point, and the console will also report the following error
ERROR: 1 RID allocations of type 'struct RendererCanvasCull::Item' were leaked at exit.
Steps to reproduce
Load the MRP then attempt to exit. The application will actually crash due to stepping on invalid memory rather than exiting cleanly.
Minimal reproduction project
crash_on_exit.zip

Does it still crash if you use remove_control_from_container?

I modified the _exit_tree method to this
func _exit_tree():
	if test_button:
		remove_control_from_container(CONTAINER_TOOLBAR, test_button)
		test_button.queue_free()

but yes, it still seems to be crashing

==17374==ERROR: AddressSanitizer: heap-use-after-free on address 0x7f64c1646810 at pc 0x56527d227a18 bp 0x7ffeb7a6aaa0 sp 0x7ffeb7a6aa90
READ of size 8 at 0x7f64c1646810 thread T0
    #0 0x56527d227a17 in RendererCanvasRender::Polygon::~Polygon() servers/rendering/renderer_canvas_render.h:153
    #1 0x56527d2bbb96 in RendererCanvasRender::Item::CommandPolygon::~CommandPolygon() servers/rendering/renderer_canvas_render.h:227
    #2 0x56527d23f993 in void memdelete<RendererCanvasRender::Item::Command>(RendererCanvasRender::Item::Command*) core/os/memory.h:109
    #3 0x56527d230298 in RendererCanvasRender::Item::clear() servers/rendering/renderer_canvas_render.h:514
    #4 0x56527d233dad in RendererCanvasRender::Item::~Item() servers/rendering/renderer_canvas_render.h:567
    #5 0x56527d25f40c in RendererCanvasCull::Item::~Item() (/usr/bin/godot4s+0x46d3a40c)
    #6 0x56527d2612c4 in RID_Alloc<RendererCanvasCull::Item, true>::~RID_Alloc() (/usr/bin/godot4s+0x46d3c2c4)
    #7 0x56527d23f6a6 in RID_Owner<RendererCanvasCull::Item, true>::~RID_Owner() core/templates/rid_owner.h:449
    #8 0x56527d225866 in RendererCanvasCull::~RendererCanvasCull() servers/rendering/renderer_canvas_cull.cpp:1723
    #9 0x56527c32f076 in void memdelete<RendererCanvasCull>(RendererCanvasCull*) (/usr/bin/godot4s+0x45e0a076)
    #10 0x56527c1e7f9b in RenderingServerDefault::~RenderingServerDefault() servers/rendering/rendering_server_default.cpp:404
    #11 0x565268933d6a in void memdelete<RenderingServer>(RenderingServer*) (/usr/bin/godot4s+0x3240ed6a)
    #12 0x5652688e15c9 in finalize_display() main/main.cpp:242
    #13 0x5652689300d3 in Main::cleanup(bool) main/main.cpp:2722
    #14 0x5652687b60dd in main platform/linuxbsd/godot_linuxbsd.cpp:60
    #15 0x7f64f968b564 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28564)
    #16 0x5652687b5c0d in _start (/usr/bin/godot4s+0x32290c0d)

0x7f64c1646810 is located 16 bytes inside of 2104112-byte region [0x7f64c1646800,0x7f64c1848330)
freed by thread T0 here:
    #0 0x7f64fa65a8f7 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:127
    #1 0x56527e172304 in Memory::free_static(void*, bool) core/os/memory.cpp:168
    #2 0x56527c64402c in void memdelete<RendererCanvasRenderRD>(RendererCanvasRenderRD*) core/os/memory.h:112
    #3 0x56527c637de6 in RendererCompositorRD::finalize() servers/rendering/renderer_rd/renderer_compositor_rd.cpp:153
    #4 0x56527c1e18ae in RenderingServerDefault::_finish() servers/rendering/rendering_server_default.cpp:213
    #5 0x56527c1e2831 in RenderingServerDefault::finish() servers/rendering/rendering_server_default.cpp:238
    #6 0x5652688e15ba in finalize_display() main/main.cpp:241
    #7 0x5652689300d3 in Main::cleanup(bool) main/main.cpp:2722
    #8 0x5652687b60dd in main platform/linuxbsd/godot_linuxbsd.cpp:60
    #9 0x7f64f968b564 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28564)

previously allocated by thread T0 here:
    #0 0x7f64fa65ac47 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x56527e1712c5 in Memory::alloc_static(unsigned long, bool) core/os/memory.cpp:75
    #2 0x56527e1711d6 in operator new(unsigned long, char const*) core/os/memory.cpp:40
    #3 0x56527c63f4a6 in RendererCompositorRD::RendererCompositorRD() servers/rendering/renderer_rd/renderer_compositor_rd.cpp:282
    #4 0x565268895fa0 in RendererCompositorRD::_create_current() servers/rendering/renderer_rd/renderer_compositor_rd.h:112
    #5 0x56527c0699c4 in RendererCompositor::create() servers/rendering/renderer_compositor.cpp:40
    #6 0x56527c1e7280 in RenderingServerDefault::RenderingServerDefault(bool) servers/rendering/rendering_server_default.cpp:395
    #7 0x565268907406 in Main::setup2(unsigned long) main/main.cpp:1604
    #8 0x5652688ffea4 in Main::setup(char const*, int, char**, bool) main/main.cpp:1402
    #9 0x5652687b5fd8 in main platform/linuxbsd/godot_linuxbsd.cpp:51
    #10 0x7f64f968b564 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28564)

I tried the reproduction project in alpha 6. I can't open Project Settings dialog. Nothing happens and the editor freezes. When I close it, my console window (without visible editor window) will keep spamming errors:

Not sure how much it's related to this issue, but doesn't happen with other projects 🤔

Yeah, I don't get any errors on exit either. And I don't get issues with the Project Settings window, so both of these can be assumed to be temporary issues with dev builds which were since fixed. Let me know if it's still reproduceable for you.


@conda-forge-admin, please add bot automerge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/fpdf-feedstock#2.


Richlist API cannot distinguish Legacy accounts

Currently Richlist API cannot provide an accurate Address for Legacy Accounts.

This has since been resolved with -indexaddress


Chat Message and Room are not persisted

Hi ,
Thanks for building a simple and useful chat application. How can we persist the message into the DB (in mongo or redis)

Of course you can - it's just a matter of implementation either using MongoDB or Redis.

can you tell me where to make changes

unfortunately I won't be able to help you with that.

if you can help me finding the write file, i will make necessary change and commit.


Compilation errors

Read from stdout: C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:19: object RuntimeEnvironment is not a member of package securesocial.core
C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:19: object RuntimeEnvironment is not a member of package securesocial.core
Read from stdout: import securesocial.core.RuntimeEnvironment
import securesocial.core.RuntimeEnvironment
Read from stdout: ^
^
Read from stdout: C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:20: object services is not a member of package securesocial.core
C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:20: object services is not a member of package securesocial.core
Read from stdout: import securesocial.core.services.UserService
import securesocial.core.services.UserService
Read from stdout: ^
^
Read from stdout: C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:22: not found: value RuntimeEnvironment
C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:22: not found: value RuntimeEnvironment
Read from stdout: class MyEnvironment extends RuntimeEnvironment.Default[DemoUser] {
class MyEnvironment extends RuntimeEnvironment.Default[DemoUser] {
Read from stdout: ^
^
Read from stdout: C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:23: not found: type UserService
C:\Users\Javon\Desktop\hello-play-java\app\service\MyEnvironment.scala:23: not found: type UserService
Read from stdout: override val userService: UserService[DemoUser] = new InMemoryUserService()
override val userService: UserService[DemoUser] = new InMemoryUserService()
Read from stdout: ^
^
Read from stdout: C:\Users\Javon\Desktop\hello-play-java\app\service\InMemoryUserService.java:38: securesocial.core.java.BaseUserService does not take type parameters
C:\Users\Javon\Desktop\hello-play-java\app\service\InMemoryUserService.java:38: securesocial.core.java.BaseUserService does not take type parameters
Read from stdout: public class InMemoryUserService extends BaseUserService {
public class InMemoryUserService extends BaseUserService {
Read from stdout: ^
^
Read from stdout: 5 errors found
5 errors found
Read from stdout: (compile:compileIncremental) Compilation failed
(compile:compileIncremental) Compilation failed

Still having problems? Please re-open if needed.


Support fractional seconds

Transaction timestamps have a 1s resolution. Add support for factional seconds.
See https://www.rfc-editor.org/rfc/rfc8949.html#name-epoch-based-date-time

Please note that even if this is a good improvement, blocktime resolution is the second so we don't need it in blockchain.

We should support both numbers and floats in the Timestamp structure, as well as encode/decode supporting both types.
The internal representation is always serialized to CBOR before being saved in the datastore, so this wouldn't be a breaking change as long as we support both.
As part of this work I'd like to see Timestamp being moved to its own file too. It's becoming a bit more complex now.

Blocking this because we should not have Floats in the data store as they can differ in binary representation per platform, and that would make the app hash diverge. Floats are by nature non-deterministic.

This could be the way to do it "properly", and could be implemented in backward compatible way. Version 2 just got released this month so it's still in draft and review, but let's keep an eye on it.
https://datatracker.ietf.org/doc/draft-ietf-cbor-time-tag/


Add Default Labels

We need to think, do we really need default labels or not. And if answer is yes, we need to think, how we will implement it.
There is several ways to implement:

Introduce new annotation @DefLabel or @LabelDef that will be used only for methods. It will has a parameter name with specified label string.
Increase functionality of @Action annotation and defLabels parameter.

Maybe there are other considerable ways, but currently only two are accepted.
Why?:
There are cases, when analytic with same category and action has 2 or 3 different labels.
For example: _category_= quiz, _action_= send, _label_= question/answer
In current implementation we can create an enum with two variants:
enum class QuizSendLabel {
    QUIESTION, ANSWER
}

And then pass it as a parameter of appropriate method:
interface AnalyticsQuiz {
    fun send(label: QuizSendLabel)
}

But maybe in such cases it is more interesting to write something like:
interface AnalyticsQuiz {
    @Action("send") @DefLabel("question") fun question()
    @Action("send") @DefLabel("answer") fun answer()
}

It seems that result takes up more space, but we eliminate one enum class with two additional instances. So it can be more important for space critical apps.
Also, with second proposed approach in the beginning of issue it will look like:
interface AnalyticsQuiz {
    @Action(name = "send", defLabel = "question") fun question()
    @Action(name = "send", defLabel = "answer") fun answer()
}

Which gives us possibility to not use redundant annotation, but takes up even more space.
P.S.: There is 3rd less obvious solutions: annotation @LabelFun with parameter action
which will turn name of the method to label name and action is needed to be defined as a parameter, by user of library:
interface AnalyticsQuiz {
    @LabelFun("send") fun question()
    @LabelFun("send") fun answer()
}

So it will take small space, but we will eliminate redundant objects and enum.
Also, it will have additional second parameter label for explicit defining a label.

Need to documentation


Add interactive plot

This relies on the .to_df() and .to_nparray() methods in my previous pull request!!
(not quite sure how that works with the git pull/merge - I think making this pull request would make my previous one redundant?)
Changes in this pull request:

Added visualizations/interactive.py containing the altair code to generate and display an interactive wavelength-averaged plot (I kept import altair out of imports for now). This has the argument quantity which allows the user to also plot the uncertainty
Added imshow_interact to the visualizations/init.py
Added imshow_interact to the rainbow.py plotting actions
Updated version to v0.0.25

Basic usage:
For unbinned data (will throw a warning because it will work but it's slow, also demonstrates the use of the ylog argument):

For binned data (demonstrating changing the timeformat argument to days)

I agree an uncertainty-weighted average would be better, I'll investigate whether it's possible in Altair! It's definitely not a built-in function but there may be a way.

This is fabulous! I'll merge it in now, and then we can open a new (very not urgent) issue to talk about the uncertainty-weighting question.

Fantastic work on this, @catrionamurray ! After looking more closely at the altair dependencies, I really think there's nothing particularly troublesome associated with it, so I just made it a core dependency for all of chromatic. I think there will be a lot of folks who will want to use your snazzy tool, so we might as well include it for everyone!
(And please forgive the working on a holiday; I'm skipping most of Friday this week, so trying to get ahead of things.)


BUG - creative_url_tag_history test failure

Are you a current Fivetran customer?

Tyler Schmidt, Data Scientist, Toggle/Farmers Insurance
Describe the bug

The unique_combination_of_columns test for stg_snapchat__creative_url_tag_history is giving a failure because of updated_at field not being included as part of the unique check despite being the ORDER BY for the is_most_recent_record
Steps to reproduce

Excute dbt test --select dbt_utils_unique_combination_of_columns_stg_snapchat__creative_url_tag_history_creative_id__param_key
See error

Expected behavior

I would exepct it to pass as the only reason for duplicate is updates to the information via the normal data flow (updated_at)
Project variables configuration

name: 'toggle_data_wh'
version: '1.0.0'
config-version: 2

# This setting configures which "profile" dbt uses for this project.
profile: 'toggle_data_wh'

# These configurations specify where dbt should look for different types of files.
# The `source-paths` config, for example, states that models in this project can be
# found in the "models/" directory. You probably won't need to change these!
model-paths: ["models"]
analysis-paths: ["analysis"]
test-paths: ["tests"]
seed-paths: ["data"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]

target-path: "target"  # directory which will store compiled SQL files
clean-targets:         # directories to be removed by `dbt clean`
  - "target"
  - "dbt_packages"

# Configuring models
# Full documentation: https://docs.getdbt.com/docs/configuring-models

# In this example config, we tell dbt to build all models in the example/ directory
# as tables. These settings can be overridden in the individual model files
# using the `{{ config(...) }}` macro.
models:
  toggle_data_wh:
    +materialized: table
    staging:
      +materialized: view
  snapchat_ads_source:
    +schema: stg_ads

vars:
  snapchat_ads_source:
    snapchat_database: fnv_raw_db
    snapchat_schema: snapchat_ads

Package Version

packages:

  - package: Datavault-UK/dbtvault
    version: 0.7.9

#  - package: fivetran/ad_reporting
#    version: 0.2.3

  - package: fivetran/snapchat_ads_source
    version: 0.3.0

Warehouse

[ ] BigQuery
[ ] Redshift
[x] Snowflake
[ ] Postgres
[ ] Databricks
[ ] Other (provide details below)

Additional context

Screenshots

Please indicate the level of urgency

This is not urgent as we turned off the test in production via --exclude .... and will not be updating our production run to DBT 1.0 for a bit so we will not be able to utlize any changes till after then anyway.
Are you interested in contributing to this package?

[ ] Yes, I can do this and open a PR for your review.
[ ] Possibly, but I'm not quite sure how to do this. I'd be happy to do a live coding session with someone to get this fixed.
[ ] No, I'd prefer if someone else fixed this.  I don't have the time and/or don't know what the root cause of the problem is.

hey there @tac14yo this is in v0.3.1 which will be up on the hub shortly! it is only dbt v0.1.* compatible however


Switch to Last Focused Project on Launch

This change is for the Chrome app only.  I've noticed a lot of chrome apps in Chrome OS will let you switch to an open window by selecting it from the launcher.  I've grown accustomed to doing this to switch windows, but zed always launches the new project picker.  This pull request changes it to instead switch to the most recently used zed window.  I've also tested this in linux.  I'm not sure if this behavior is desirable as a default or not.
This also puts the projects in most recently used order in the window list command.

Nice improvement! Thanks.


Uninstalling Files

Files app <IP_ADDRESS> does not uninstall using the Windows 11 Settings, Installed Apps, Right click on three dots, and clicking Uninstall method.  The listing for Files under Installed Apps disappears but the app is still present in the system.  Is there a way to manually uninstall the app?

If its not in the app list then it uninstalled. What make you think it isnt

If you made Files the default file manager, you can reinstall Files and turn off the setting to revert the registry changes.


non-steam games don't have controller compatibility

I added the ps3 emulator to steam and tried to play with a friend but I can't activate his controller
maybe changing the nonsteamapp from Spacewar to Retroarch can fix this

#7


ENYO-6034: Fixed not to scroll twice when page up/down key is pressed on scrollbars

Checklist

[x] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[ ] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
After #2262, a list scrolls twice by a single page up/down key press.
Resolution
We already have a scrolling logic by page keys on scrollbars to cover its own behavior, and another logic is added from #2262 for a general scrolling feature originally designed for contents not for scrollbars.
So, I changed a newly added general logic to be applied to the contents area only.
Links
ENYO-6034
PLAT-65757

You missed removing the login when an item in the contents area has a spot.

You missed removing the logic when an item in the contents area has a spot.

The issue that you pointed out is a bug not related to scrollbars, and I was tracking on it to make a new ticket separately. Thanks!


Merge settings api

settings: Merge settings API endpoints.
This API change removes unnecessary complexity from a client that
wants to change a user's personal settings, and also saves developers
from needing to make decisions about what sort of setting something is
at the API level.
We preserve the old settings endpoints as mapping to the same function
as the new one for backwards-compatibility.
TODOs include:

Manual testing.
Adjusting the API documentation.
Changing the webapp to use the post-migration endpoint.
As followup work, merging the property_types and notification_settings_types
lists to a single list, and potentially deduplicating tests and the like.

@timabbott I have started working on further steps here. I have a couple of questions -

Since we are keeping the old endpoint for backwards compatibility, do we need to keep the openapi documentation for those as well in zulip.yaml. It will lead to all the same parameters and responses in all the 3 endpoints, I don't have enough idea about how we can avoid this in openapi.
For tests, can we just test a single setting with the settings/display and settings/notifications endpoints, or we need to keep tests for all the settings. Though, we can avoid duplication easily in this case.

Those are good questions.  Let me look at your PR (closing this) and see what makes sense.


Outstanding test work on grid-angle rotations

Additional testing needed for minor features + behaviours of the grid_angles and rotate_grid_vectors routines in iris.analysis._grid_angles.
CODE CHANGES

angles routine should handle non-2d coords with meshgrid

ANGLES TEST ASPECTS

(cube)
unrecognised inputs (no shapes)
missing y + x not cube
coords

not 2d : (support?)
different shapes : error (except 1d?)
different cube dims (2d : ok for 1d)
different cs : error
no cs, but not angles, i.e. plain X+Y coords : ??
X/Y = coord/not, and not/coord
cell_angle_boundpoints unrecognised

ROTATE TEST ASPECTS

u+v
u+v with angles
u+v with angles and method
Exceptions:

angles not angular (bad unit)
angles not same dims

?possibly~ :  NaN angles handling ?

Moved all these issues into #3114


Python 2 / 3

Nice package! Just a heads up that track is only compatible with python 3, although it will successfully download on python 2. If anyone gets the following error:
def metric(*, iteration=None, **kwargs):                 ^ SyntaxError: invalid syntax
Try switching to python 3.

Thank you for raising this issue! I am considering trying to make track compatible with python 2 soon before I put it on pypi. Hopefully that's the only issue. It's possible to fix it by replacing * with a dummy argument like __unused=None but that is a bit messier.

Actually, it is a bit messy to make some of the fixes necessary to get things working on python 2 because of other dependencies (e.g. ray), so I'm just going to handle python 3 for now


[schema registry] Migrate @azure/schema-registry-json to ESM/vitest

Packages impacted by this PR

@azure/schema-registry-json

Issues associated with this PR

https://github.com/Azure/azure-sdk-for-js/issues/31338

Describe the problem that is addressed by this PR
Migrates the @azure/schema-registry-json to ESM/vitest via automation.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

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


fix: the pull command does not take effect to set the username and pa…

What this PR does / why we need it:
Fix:  https://github.com/helm/helm/issues/12117
The current implementation is to put the parameters of repositories.yaml after the list, which will cause the user and password to be overwritten even if we set them.
So, we put the contents of repositories.yaml at the front of the list.
Special notes for your reviewer:
@joejulian
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

Yes, the discussion said to add some warnings, so this PR should not fix that issue.
The problem with this PR is that when the user sets the username and password during pull and install, the information in the configuration is still used.
Should my PR be unlinked from that issue? And submit another PR to add the warning?

@0xff-dev Yes. This PR changes the behavior which goes against the guiding principal in hip-0004.

@0xff-dev Yes. This PR changes the behavior which goes against the guiding principal in hip-0004.

Thanks for the review, the code has been modified.


Grayscale anti-aliasing has replaced subpixel anti-aliasing (Windows 8/10)

My Setup
Windows 8 and Windows 10
2.1.0 and 2.2.0

[X] I have tested with the latest application version
[X] I can simulate the issue easily

Description
Version 1.3.1 displayed the text with subpixel anti-aliasing, as expected (since ClearType is enabled, with RGB pixel structure).
Version 2.1.0 and 2.2.0 now display the text with grayscale anti-aliasing.  This doesn't look as sharp on my LCDs.
Current Behavior
Zoomed text captured from 2.1.0 (2.2.0 is the same):

Expected Behavior
Zoomed text captured from 1.3.1:

Note that Rocket Chat also displays like this in Chrome (version 55.0.2883.87 m) and Firefox (50.1.0) - those both respect my system settings.  Only the Electron-based version seems to be different.

@SteveOnorato this may be due to the fact that we are using a newer version of electron.
@rodrigok is this a Electron issue? Is it even configurable?

Maybe related with https://github.com/electron/electron/issues/6344

@rodrigok but this was fixed on https://github.com/electron/electron/pull/6606
Are we using that version of Electron already?

The issue has been fixed in the latest version.


[Question] How to .Include if .Find is used?

Lets imagine we have following model
public class PrincipalContext : DbContext
{
    public DbSet<Staff> Staffs { get; set; }
}
interface IWithPrincipal
{
    Principal Principal { get; }
}
public class Staff : IWithPrincipal
{
    public int Id { get; set; }
    public Principal Principal { get; set; } = new Principal();
}

And we want to fetch it from database by reflection instead of regular query syntax
var item = db.Find(typeof(Staff), staffId);

Question:
How do we .Include(nameof(IPrincipal)) in this case?
Further technical details
EF Core version: 2.2.6
Operating system: windows
IDE:  Visual Studio 2019 16.1.6

Duplicate of #6935


Incorrect style for the keyword 'Function'

The language specification reads

It is a compile-time error if a built-in identifier is used as the declared name of a prefix, class, mixin, type parameter, or type alias.

and includes the identifier Function in the list of built-in identifiers.
Given the following code
class Function {}

the analyzer produces this diagnostic
info: Declaring a class named 'Function' is deprecated. (deprecated_function_class_declaration at ...)

This is using HintCode.DEPRECATED_FUNCTION_CLASS_DECLARATION, but I believe that that's the wrong code to use. I believe that it should be CompileTimeErrorCode BUILT_IN_IDENTIFIER_AS_TYPE_NAME, which would have the right message and the right severity.
The reason it doesn't produce the correct code is because the keyword function is defined to be a pseudo keyword rather than a built-in identifier (https://github.com/dart-lang/sdk/blob/master/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart#L206):
  static const Keyword FUNCTION =
      const Keyword("Function", "FUNCTION", KeywordStyle.pseudo);

I believe that this needs to be changed, and then the analyzer needs to stop producing the then-extraneous diagnostics.

Since we have a declaration of class Function { ... } in dart:core, we will need to special-case that (like we already do class FutureOr in dart:async). The difference is that Function has a static member (apply), which you still need to be able to access.

Since we have a declaration of class Function { ... } in dart:core, we will need to special-case that (like we already do class FutureOr in dart:async). The difference is that Function has a static member (apply), which you still need to be able to access.


Remove more stuff

Removes url-parse module in favor of our own URLBuilder to save a few kBs

url-parse is about 3.5 kB while URLBuilder is about 7 kB. Is it accurate @daschult that URLBuilder does stuff that url-parse can't?

Require specifically uuid/v4 to save a kB
Disable process polyfill to save a kB

Don't know how to help our users do this in their own webpack config, but it's a small thing and they're likely to have other code that depends on the process polyfill, so not sure if it matters

Replace msRestUserAgentPolicy.js with a stub in browser to save a few kBs

See the package-browser-field-spec to understand what I was doing there

Removes withCredentials: true in axios to enable more typical CORS use cases

Before, we were trying to send cookies over CORS in order to successfully run autorest.typescript tests in browser. We don't need that any more and withCredentials: true was preventing our runtime from communicating with ARM over CORS

Output es6 in ./es/ folder to get better results from webpack tree shaking. This saves about 10 kB.

Overall, this brings msRestBundle.js from 88.3 kB to 70.1 kB.

Please have a look when you get a chance @daschult

With the removal of withCredentials, how to use CORS in browser? I used to pass {credentials:"include"} via requestOptions when I constructed the autorest client, now obviously that doesn't work. Couldn't find anything in docs.

Was that back when we used fetch under the hood? We can definitely add a parameter for it--this PR just made it so we didn't hard code it with every single request, even with CORS configurations that disallow credentials e.g. Access-Control-Allow-Origin: *.

Yes, please! That seems like a very reasonable request.


its blocked on my school internet

can you pls add a deploy to heroku button in the description so i can make a new unblocked one?
thanks in advance

This repo is not configured to work well on heroku, so adding that button won’t help. You can check the faq in the discord faq or kahoot.js.org/websites for alternative links.
Sent over the interblag from a GUI.
https://github.com/theusaf
https://shortr.github.io/?llorkcir

On Dec 7, 2020, at 2:56 PM, BTStudz<EMAIL_ADDRESS>wrote:

can you pls add a deploy to heroku button in the description so i can make a new unblocked one?
thanks in advance
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Adding pre filter to detect get content for preview(excerpt)

Is your feature request related to a problem? Please describe.

Some plugin have the feature to replace content automatically using filter the_content .
ez-toc, add-to-any etc.
To output {{post.preview}} , the Timber\Post class uses $this->content() method, it calls the_content filter.
https://github.com/timber/timber/blob/f1fdbeb73eb897d227fda01b65da685abaeba830/lib/Post.php#L954
This causes the problem that post.preview becomes empty.
Because very long html code is generated for content in the_content filter, and it is to be removed by strip_tags().
Describe the solution you’d like

Please provide filter called before getting post content for preview, to disable plugin temporarily.

   add_filter('timber/post/before_get_content_for_preview", function($post) {
     $this->removed = remove_filter('the_content', 'my_plugin_content_filter');
  });

   add_filter('timber/post/after_get_content_for_preview", function() {
     if ($this->removed) add_filter('the_content', 'my_plugin_content_filter');
    });

It may be  better to use before_get_content instead of the name before_get_content_for_preview.
Then providing for_preview  as an extra argument named like $context, and call it in content() method.
This fix needs adding 3rd argument to Timber\Post::content($page,$len).
But this enables subclass to override content()  method to return different result by the context.
  public function content( $page = 0, $len = -1 , $context)

Describe alternatives you’ve considered

I have considered overriding preview() method and returning subclass of PostPreview object.
But the PostPreview->run() method is too long to change.
If I change it in subclass, it may be incompatible in future update.
I only want to disable the_content filter for some plugin easily.
Thanks .

@tscontenna thanks for the overview and helpful thinking. I wonder if it'd be most helpful to allow users to override/filter the call to $this->post->content(); regardless of how they intend to use it. This would work both for your situation and others that are based on different dependencies. Something like ...
$text = $this->post->content();
$text = apply_filters('timber/post_preview/content', $text);

You could the use this hook to substitute whatever output a user desired, completely configurable both for ez-toc, add-to-any, etc. You could also imagine that on something like a WooCommerce page, a user could designate a certain item description field as the "content" they want to preview (instead of the general page content). Would this approach address the situation you described?

Closing this as a stale issue. @jarednova , if you think we still need to address this, please reopen.


CosmosDB RBAC - disable account keys

Hello Microsoft,
I have two questions, regarding CosmosDB RBAC configuration.

The page is mentioning ARM property disableLocalAuth in resource type Microsoft.DocumentDB/databaseAccounts, but it is missing in the ARM definition/documentation page. So my question is does it apply? If so, please add it to the ARM definition.

The second page describe ARM property disableKeyBasedMetadataWriteAccess that is already present in the ARM definition. The question is what is difference between disableKeyBasedMetadataWriteAccess and disableLocalAuth? Is it disables different scopes (metadata/full)? Or is property disableKeyBasedMetadataWriteAccess successor of property disableLocalAuth when disableLocalAuth is missing in the ARM definition?

Thanks in advance for the clarification,
Josef

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: aba612b3-f404-11b2-45d9-6e10f1fbf11d
Version Independent ID: 86ccb46e-5ebd-50a4-a911-2ac83c8a41f4
Content: Configure role-based access control for your Azure Cosmos DB account with Azure AD
Content Source: articles/cosmos-db/how-to-setup-rbac.md
Service: cosmos-db
GitHub Login: @ThomasWeiss
Microsoft Alias: thweiss

@pohorely Thank you for the feedback. We are actively investigating and will get back to you soon.

Just ran into this as well, ARM returns an error when that property is sent.

@pohorely

Our apologies for the discrepancies across the documentation. The ARM docs get updated at a different frequency and we'll make sure that the disableLocalAuth property gets added.
disableKeyBasedMetadataWriteAccess prevents you from issuing any kind of management (aka metadata) operation when using the primary key. disableLocalAuth prevents the usage of the primary key altogether.

@thisisbrianstewart What's the API type of the Cosmos DB account you tried that on?

@thisisbrianstewart What's the API type of the Cosmos DB account you tried that on?

Tried Microsoft.DocumentDB/databaseAccounts@2021-04-15 and Microsoft.DocumentDB/databaseAccounts@2021-04-01-preview.
Interestingly, Microsoft.DocumentDB/databaseAccounts@2021-04-15 just started working.  Bicep does still throw a warning though:
Warning BCP037: The property "disableLocalAuth" is not allowed on objects of type "DatabaseAccountCreateUpdateProperties". Permissible properties include "apiProperties", "backupPolicy", "capabilities", "connectorOffer", "cors", "defaultIdentity", "disableKeyBasedMetadataWriteAccess", "enableAnalyticalStorage", "enableAutomaticFailover", "enableCassandraConnector", "enableFreeTier", "enableMultipleWriteLocations", "ipRules", "isVirtualNetworkFilterEnabled", "keyVaultKeyUri", "networkAclBypass", "networkAclBypassResourceIds", "publicNetworkAccess", "virtualNetworkRules".

@ThomasWeiss Thank you for the clarification.


(🎁) Update project to be more inline with the template

This PR makes many changes to the Gradle configuration and Github actions, importing a lot of changes from the intellij platform plugin template
It simplifies the changelog and automates the release process with a rolling draft release and automated publish.
It also adds plugin signing, so that will need to be configured in the projects secrets if that's what you want to go with. see this
The message about your cat was very touching, a similar thing happened to our cat last year 😞.

Thank you! I will look it over in a couple of days.

@lensvol if you could approve workflows I could continue working on it now.
Alternatively I could enable workflows on my fork.

me.lensvol.blackconnect.BlackdClientTestCase > test_windows_newlines_are_replaced_in_blackd_response FAILED
    java.lang.NullPointerException at BlackdClientTestCase.kt:40

me.lensvol.blackconnect.BlackdClientTestCase > test_unix_newlines_in_blackd_response_are_left_as_is FAILED
    java.lang.NullPointerException at BlackdClientTestCase.kt:64

me.lensvol.blackconnect.SmokeTestCase > test_whole_file_is_reformatted_via_menu_action FAILED
    com.intellij.testFramework.TestLogger$TestLoggerAssertionError at SmokeTestCase.kt:45
        Caused by: java.lang.NullPointerException at BlackdClient.kt:118

Please explain your last comment?

Oh sorry, it's just failed test in the ci and I need to investigate further, currently I'm just like, hmmm 😕

This is good now, just codecov complaining.

@lensvol There was an issue with your recent refactor of the version check, "".parseInt() throws an Exception, so I've fixed that here.

I agree, it's just that it was making the tests fail in this branch.

I understand, but that should go away as soon as the PR with the fix gets merged.

Okay, I'll remove it. likely there is an issue with this branch that is causing the version header to not appear during test time.


a.exe is not working

my ./a.exe file is not working on VS and i am trying to run my code of C i have refreshed so many times but still not working

please help meee!!!!!!

/question

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


[#154769249] Update cfdot cert paths for BBS health check

What
These recently changed in diego-release v1.33.0 and later which caused our BBS
check to fail with certificate errors because it couldn't do mutual TLS against
BBS:

cloudfoundry/diego-release@c9ff9ed3b9ea40b14b1b46b3ae3c985183dddee7

The defaults are hardcoded in alphagov/paas-datadog-bbs-integration but
that's difficult to update because:

the tests are currently failing because of unpinned dependencies
it requires three PRs to update the submodule and releases

So I'm fixing it here for the moment. I've set them as properties of the
job, rather than the VM, just in case the bbs key overrides something
in the bbs job. I've had to move the url because otherwise the job
properties overwrite it.
How to review
If you currently have DataDog enabled in your dev environment then you can deploy this branch and confirm that the "BBS healthy" monitor is no longer triggered.
If you don't then you can check the paths are correct with bosh ssh to a database VM.
Who can review
Anyone.

LGTM


Remove  from .dockerignore (Fixes #973)

Fixes #973
yarn run docker-build runs correctly.

Thanks for handling that @Mutugiii ! Nice one


[TF-TRT] Change default max workspace size to INT_MAX (fixed)

#55665 had to be rolled back due to using trt_utils.is_loaded_tensorrt_version_greater_equal outside of any functions, which causes an error when importing TF without TRT.
The solution I found is to use a special value None for the default and call a function to get the default value for the loaded TRT. It's a bit redundant, if someone can think of a cleaner solution, please let me know.

@bixia1 Is there a way to see the details of the test failures in the "ARM CI" job? I can only see the bazel logs but not the test.log files, and cannot reproduce these failures.

Approving this so that I can get it into google to test, to see if I can find out more details on the errors.

Why was this merged with some CI jobs failing, and some still pending?


Fix javadoc errors

NetflixOSS » SimianArmy » SimianArmy-pull-requests #61 FAILURE
Looks like there's a problem with this pull request


Should I use this in tests?

README.md:

Should NOT be used in reusable modules. Only in top-level apps / CLI tools.

That makes sense. But what about using it in tests for reusable modules?
For example, mocha now lets me return a promise. But let's say I forget to actually type return, so I just have a loose promise:
it('does something', function () {
  foo().then(function (result) {
     assert(result.isGood);
  });
});

..the test passes immediately, then some time later my promise silently fails.
Would you recommend calling loud-rejection at the top of any test script?

Yes, tests are a good use-case for this. I've improved the wording in the readme.
Though, ideally, the test runner should take care of this for you. I'm planning on integrating this into AVA.

How would I use this with Karma? I am trying to integrate this into a Webpack test context but it's not causing my tests to fail as I would expect. Effectively I am trying to track down some ERROR: 'Unhandled promise rejection', TypeError{} errors.
const loudRejection = require('loud-rejection');

beforeEach(() => {
  loudRejection(() => fail());
});

const context = require.context('./tests', true, /\.jsx?$/);
context.keys().forEach(context);

This is not a browser ready module.
A karma plugin would use entirely different hooks, both for capturing rejections, and reporting them to the user.
It's a good idea, but it would almost certainly be a separate thing.
karma-ava should have it built in, but I haven't tried to make it work with Webpack yet (all testing was via browserify).


Missing some input keys: {'input'} when using Combined memory and ConversationalRetrievalChain

Issue you'd like to raise.
Hello there,
I am currently attempting to add combined memory to ConversationalRetrievalChain (CRC). However, I am unsure if combined memory is compatible with CRC. I have made a few modifications, but unfortunately, I have encountered errors preventing it from running properly. I was hoping that someone could assist me in resolving this issue. Thank you.

from langchain.prompts import PromptTemplate
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferWindowMemory, CombinedMemory, ConversationSummaryMemory

chat_history = []

conv_memory = ConversationBufferWindowMemory(
    memory_key="chat_history_lines",
    input_key="input",
    output_key='answer',
    k=1
)

summary_memory = ConversationSummaryMemory(llm=turbo_llm, input_key="input", output_key='answer')

# Combined
memory = CombinedMemory(memories=[conv_memory, summary_memory])

_DEFAULT_TEMPLATE = """The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.
{context}
Summary of conversation:
{history}
Current conversation:
{chat_history_lines}
Human: {input}
AI:"""

PROMPT_= PromptTemplate(
    input_variables=["history", "input", "context", "chat_history_lines"],
    template=_DEFAULT_TEMPLATE
)

qa = ConversationalRetrievalChain.from_llm(
                        llm=turbo_llm,
                        chain_type="stuff",
                        memory=memory,
                        retriever=retriever,
                        return_source_documents=True,
                        return_generated_question=True,
                        combine_docs_chain_kwargs={'prompt': PROMPT_})

chat_history = []
query = "What did the president say about Ketanji Brown Jackson"
result = qa({"question": query, "chat_history": chat_history})`

Error:
ValueError: Missing some input keys: {'input'}
when I replace "input" with "question" in DEFAULT_TEMPLATE and PROMPT
then  the error is :
ValueError: One output key expected, got dict_keys(['answer', 'source_documents', 'generated_question'])
Suggestion:
No response

That's great. I've managed to resolve the issue, but now I would like to inspect both the source documents and the generated question. Is there a way to access them?


Does it provide an average final grade or Score?

I want to use it to fail build pipeline, for instance let's say the "quality" of the project is 78 and my threshold is 95 the reporter  process returns 1 instead 0 (success)

I found Score at the text format (it's absent from json format) and then I use gnu/linux:
# if the score is lower than 65 it's going to return 1 otherwise it'll return 0
goreporter -p . -f text | grep Score | awk -F':' '$2 < 65 {print; err = 1} END {exit err}'

Is there any easier way?

There are:
Quality and Score, what's the difference?
Does the score follows the rule:
//    +--------------------------------------------------+
//    |   issues    |               score                |
//    +==================================================+
//    | 5           | 100-issues*2                       |
//    +--------------------------------------------------+
//    | [5,10)      | 100 - 10 - (issues-5)*4            |
//    +--------------------------------------------------+
//    | [10,20)     | 100 - 10 - 20 - (issues-10)*5      |
//    +--------------------------------------------------+
//    | [20,40)     | 100 - 10 - 20 - 50 - (issues-20)*1 |
//    +--------------------------------------------------+
//    | [40,*)      | 0                                  |
//    +--------------------------------------------------+


Encountering a weird edge case where exposures are ignored?

Hi there!
For context, been using Statsig for a bit on iOS, but recently ran into a very confusing scenario (I've never had this problem before):

...I've logged ~800 exposures
...Statsig UI says I've logged ~19

I tried to examine my code but so far no luck in identifying a problem. Then I realized I maybe am doing something relatively unique and that could be a trigger for issues?
This is my recap of the flow on how I am utilizing Statsig for this scenario:

I have a Statsig feature gate that's set to use a stable ID via Statsig website GUI
App starts for the first time for a newly downloaded user
Statsig.start gets called and the app waits
After start (which could have error-ed due to timeout or else), app calls Statsig.getFeatureGateWithExposureLoggingDisabled("gate_here") (note: no exposure logged)
User logs in...and note that everything from here happens very quickly together
⚠ Statsig.updateUser(StatsigUser(userID: userId)) gets called
⚠ Statsig.manuallyLogGateExposure("gate_here") gets called

⚠ Could this combination of stable id, and calling Statsig.updateUser AND calling Statsig.manuallyLogGateExposure mess something about Statsig? (this happens quite quickly together but the order is correct: updateUser first, then manuallyLogGateExposure)
The update user does have some code around removing exposures:
https://github.com/statsig-io/ios-sdk/blob/345133bb464a4b10916e1cc743c3784ac1c4e159/Sources/Statsig/StatsigClient.swift#L122-L125

(If you wonder why I chose a stable id when I'm logging exposure after getting the user...I was actually afraid that Statsig might not handle this scenario of logging exposures/gate while updateUser is called in such close succession...it felt safer to choose a stable id because I didn't think anything should go wrong with that...I've had some other previous weird experiences where metrics felt off when running experiments early in the app flow)

Statsig version for iOS (I only use iOS): 1.40.1

Stable ID set:

Here are all the exposures I see:

Here is what my analytics see for the Statsig.getFeatureGateWithExposureLoggingDisabled call (and I know that most of these result in a call to Statsig.manuallyLogGateExposure("gate_here")):

The "uninitialized" is NULL is based off this logic (I know its a bit custom haha, but I've used this for other gates without a problem):
/// if null, we are assuming the value has not actually been fetched from Statsig
  func isGateEnabledV2(_ gate: String, logExposure: Bool = true) -> Bool? {
    let featureGate = Statsig.getFeatureGateWithExposureLoggingDisabled(gate)
    let didReceiveGate: Bool = {
      switch featureGate.evaluationDetails.reason {
      case .Recognized:
        return true
      case .Unrecognized:
        return false
      case .Sticky:
        return true
      case .LocalOverride:
        return true
      case .none:
        return false // likely null (we don't know..so assume not initialized)
      }
    }()
    if didReceiveGate {
      if logExposure {
        logGateExposure(gate)
      }
      return featureGate.value
    } else {
      return nil
    }
  }

Hmm Statsig returned true for this (which means it was returned successfully???):
Statsig.getFeatureGateWithExposureLoggingDisabled("enable_onboarding_questions")
Yet when calling Statsig.manuallyLogGateExposure("enable_onboarding_questions") it seems to have returned this:
[Statsig]: The feature gate with name enable_onboarding_questions does not exist. Returning false as the default.

It seems like much of my confusion stems from how Statsig clears the gates when calling Statsig.updateUser.
It makes sense that Statsig needs to fetch new values for a user. That being said, in this specific case the user is the same, it's just that the "user_id not established yet" until they log in - but rest is "the same." Not sure if there's a way to communicate that to Statsig.
I am trying to combat this problem by thinking that I can just rely on the idea that my gate uses a "Stable ID" so "it should just work across logins!" but maybe that's just not true?

I also maybe could have save the statsig gate and use this function instead (instead of a String):
    public func manuallyLogExposure(_ gate: FeatureGate) {
        logGateExposureForGate(gate.name, gate: gate, isManualExposure: true)
    }

Hey @kgaidis, sorry for the late reply here.
It sounds like you found the issue, but let me lay it out to keep things clear.

Statsig.start (No UserID), values are loaded.
Statsig.getFeatureGateWithExposureLoggingDisabled returns values from step 1
Statsig.updateUser (With UserID), pervious values are removed and new values are being fetched
Statsig.manuallyLogGateExposure re-checks the gate, which the SDK currently has no values for (its in-flight from the update)

To resolve this, you could move the manual exposure to the updateUser callback .
Or, if you want the cache values from the original initialize call to line up (Since its only the userID that changed), you could use the StatsigOptions.customCacheKey function. This way you could have a custom storage solution for the User. Be careful with this though, as we usually consider UserID+CustomIDs to be the main thing that decides to bust caching


DBZ-8291 DBZ-6709 Handle store.only.captured.tables.ddl regression

closes https://issues.redhat.com/browse/DBZ-8291 and https://issues.redhat.com/browse/DBZ-6709

@ani-sha Rebased and force-pushed

Hi @mfvitale, I am uncertain about this failure. Do you believe it's connected to the change? Thanks.
2024-12-18T07:42:45.5123349Z [ERROR] NotificationsIT>AbstractNotificationsIT.notificationNotSentIfNoChannelIsConfigured:135->AbstractConnectorTest.assertNoRecordsToConsume:1029 expected:<[tru]e> but was:<[fals]e>

@ani-sha Hi, yes, it is related. You need to run whole test NotificationsIT locally, test method in isolation won't show it. It seems that the test expects no messages but probably schema changes are sent.

@ani-sha I tried to push a cumiit with the fix.

Thanks @jpechane, it is working!


Allow stable versions of >=2.0.0 push-client to be installed

Description
This commit addresses an error that gets raised when trying to
install a non-alpha version of push-client 2.0.0 and above. This
change is necessary for the upcoming push-client release.
Issues Resolved
An error no longer gets raised when trying to install a non-alpha
version of push-client 2.0.0 and above.
=====================================================================
Error executing action `create` on resource 'template[/etc/sv/opscode-push-jobs-client/run]'
=====================================================================

Chef::Mixin::Template::TemplateError
------------------------------------
No info for version '2.1.0'

Cookbook Trace:
---------------
/var/chef/cache/cookbooks/runit/libraries/provider_runit_service.rb:282:in `block in <class:RunitService>'

Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/runit/libraries/provider_runit_service.rb

82:           template "#{sv_dir_name}/run" do
83:             owner new_resource.owner unless new_resource.owner.nil?
84:             group new_resource.group unless new_resource.group.nil?
85:             source "sv-#{new_resource.run_template_name}-run.erb"
86:             cookbook template_cookbook
87:             mode '0755'
88:             variables(options: new_resource.options)
89:             action :create
90:             notifies :run, 'ruby_block[restart_service]', :delayed
91:           end
92:

Compiled Resource:
------------------
# Declared in /var/chef/cache/cookbooks/runit/libraries/provider_runit_service.rb:82:in `block in <class:RunitService>'

template("/etc/sv/opscode-push-jobs-client/run") do
 action [:create]
 retries 0
 retry_delay 2
 default_guard_interpreter :default
 source "sv-opscode-push-jobs-client-run.erb"
 cookbook "push-jobs"
 variables {:options=>{"logging_level"=>"info", "node"=>{"push_jobs"=>{"package_url"=>"http://scottopherson.s3.amazonaws.com/push-jobs-client_2.1.0-1_amd64.deb", "package_checksum"=>"1404dbae510863b214782b8189b3de011c76e24f792652355a63c5d0f546471e", "package_version"=>nil, "gem_url"=>nil, "gem_checksum"=>"", "config"=>{"template_cookbook"=>nil}, "whitelist"=>{"chef-client"=>"chef-client"}, "environment_variables"=>{"LC_ALL"=>"en_US.UTF-8"}, "chef"=>{"verify_api_cert"=>false, "ssl_verify_mode"=>"verify_none", "chef_server_url"=>nil, "node_name"=>nil, "include_timestamp"=>false, "client_key_path"=>"/etc/chef/client.pem", "trusted_certs_path"=>"/etc/chef/trusted_certs", "install_path"=>nil, "exec_name"=>nil}, "service_string"=>"runit_service[push-jobs-client]", "init_style"=>"runit", "logging_level"=>"info"}}, "config"=>"/etc/chef/push-jobs-client.rb"}}
 declared_type :template
 cookbook_name "push-jobs"
 mode "0755"
 atomic_update true
 path "/etc/sv/opscode-push-jobs-client/run"
end

Template Context:
-----------------
on line #3
 1: #!/bin/sh
 2: exec 2>&1
 3: exec <%= PushJobsHelper.linux_install_path(@options['node']) %>/bin/<%= PushJobsHelper.linux_exec_name(@options['node']) %> -l <%= @options['logging_level'] %> <% if @options['config'] -%> -c <%= @options['config'] %> <% end -%>

Platform:
---------
x86_64-linux

Check List

[x] All tests pass.
[x] New functionality includes testing.
[x] New functionality has been documented in the README if applicable
[x] The CLA has been signed.

👍 pending travis being happy


Responzive signUp Form and improvement of CSS

Responzive signUp Form
Issue Reference:
#36
Description:
Little improvement of CSS on signup page.
Screenshots:
Mobile
Before Mobile

After Mobile

Web
Before Web

After Web

Type of change:

[ ✔] Bug fix
[ ✔] New feature

Checklist:

[ ✔] I have tested my changes and verified that they work
[ ✔] My code follows the style guidelines of this project
[ ✔] I have commented my code, particularly in hard-to-understand areas
[ ✔] I have made corresponding changes to the documentation
[✔ ] My changes generate no new warnings
[ ✔] I have added tests that prove my fix is effective or that my feature works
[ ✔] New and existing unit tests pass locally with my changes

@slavomirStucka  it is affecting home page navbar logo make sure it should also look fine

@Yashgabani845 I think that navbar is okay right now. What do you think ?
here is link on video where you can see how navbar is doing with different types of screen.
https://www.youtube.com/watch?v=_4arKKP9h3U