bug: Vercel build fails with "Error: The file "/vercel/path0/dist/routes-manifest.json" couldn't be found."

Provide environment information
 System:
    OS: Linux 6.0 Ubuntu 22.10 22.10 (Kinetic Kudu)
    CPU: (4) x64 Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz
    Memory: 452.24 MB / 3.76 GB
    Container: Yes
    Shell: 5.9 - /usr/bin/zsh
  Binaries:
    Node: 16.18.1 - ~/.nvm/versions/node/v16.18.1/bin/node
    npm: 9.1.2 - ~/.nvm/versions/node/v16.18.1/bin/npm

"ct3aMetadata": {
  "initVersion": "6.11.0"
}

Describe the bug
Following the installation and setting the db to mysql for planetscale makes the Vercel build fail with the following error:
Error: The file "/vercel/path0/dist/routes-manifest.json" couldn't be found. This is normally caused by a misconfiguration in your project.
Please check the following, and reach out to support if you cannot resolve the problem:
   1. If present, be sure your `build` script in "package.json" calls `next build`.  2. Navigate to your project's settings in the Vercel dashboard, and verify that the "Build Command" is not overridden, or that it calls `next build`.  3. Navigate to your project's settings in the Vercel dashboard, and verify that the "Output Directory" is not overridden. Note that `next export` does **not** require you change this setting, even if you customize the `next export` output directory.
 Learn More: https://err.sh/vercel/vercel/now-next-routes-manifest

To reproduce

Follow the installation instructions, select all options (npm create t3-app@latest)
Change the db to mysql in planetscale (and add the indexs and relation_mode option)
Go to vercel, create the project
Add the env variables
a. (not sure if this causes the bug, but i put it just in case) Connect planetscale and vercel through their integration
Trigger a build
You get the error and the build fails

Additional information
Repo I'm working on: https://github.com/mauriciabad/dive-log
This is the literally only change I made to the generated code:

Envoirement variables in Vercel

Build & Development Settings  in Vercel

If I set the "Project Preset" to "Other", the build succeeds, but the page returns a 400 error:

Full Vercel log
[04:51:46.913] Retrieving list of deployment files...
[04:51:47.178] Previous build cache not available
[04:51:49.882] Downloading 45 deployment files...
[04:51:50.412] Running "vercel build"
[04:51:50.926] Vercel CLI 28.6.0
[04:51:51.238] Running "install" command: `npm install`...
[04:52:05.834]
[04:52:05.835] ><EMAIL_ADDRESS>postinstall
[04:52:05.835] > prisma generate
[04:52:05.835]
[04:52:07.054] Environment variables loaded from .env
[04:52:07.056] Prisma schema loaded from prisma/schema.prisma
[04:52:08.189]
[04:52:08.190] ✔ Generated Prisma Client (4.7.1 | library) to ./node_modules/@prisma/client in 110ms
[04:52:08.190] You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
[04:52:08.190] ```
[04:52:08.190] import { PrismaClient } from '@prisma/client'
[04:52:08.190] const prisma = new PrismaClient()
[04:52:08.190] ```
[04:52:08.224]
[04:52:08.224] added 317 packages, and audited 318 packages in 17s
[04:52:08.225]
[04:52:08.225] 103 packages are looking for funding
[04:52:08.225]   run `npm fund` for details
[04:52:08.226]
[04:52:08.226] found 0 vulnerabilities
[04:52:08.246] Detected Next.js version: 13.0.2
[04:52:08.248] Running "npm run build"
[04:52:08.559]
[04:52:08.559] ><EMAIL_ADDRESS>build
[04:52:08.559] > next build
[04:52:08.559]
[04:52:08.858] info  - Loaded env from /vercel/path0/.env
[04:52:09.004] Attention: Next.js now collects completely anonymous telemetry regarding usage.
[04:52:09.004] This information is used to shape Next.js' roadmap and prioritize features.
[04:52:09.004] You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
[04:52:09.004] https://nextjs.org/telemetry
[04:52:09.004]
[04:52:09.131] info  - Linting and checking validity of types...
[04:52:14.260] info  - Creating an optimized production build...
[04:52:20.975] info  - Compiled successfully
[04:52:20.975] info  - Collecting page data...
[04:52:25.837] info  - Generating static pages (0/6)
[04:52:25.923] info  - Generating static pages (1/6)
[04:52:25.938] info  - Generating static pages (2/6)
[04:52:25.950] info  - Generating static pages (4/6)
[04:52:25.970] info  - Generating static pages (6/6)
[04:52:25.982] info  - Finalizing page optimization...
[04:52:25.985]
[04:52:26.004] Route (pages)                              Size     First Load JS
[04:52:26.006] ┌ ○ /                                      3.28 kB         110 kB
[04:52:26.006] ├   /_app                                  0 B             107 kB
[04:52:26.006] ├ ○ /404                                   181 B           107 kB
[04:52:26.006] ├ λ /api/auth/[...nextauth]                0 B             107 kB
[04:52:26.006] ├ λ /api/examples                          0 B             107 kB
[04:52:26.007] ├ λ /api/restricted                        0 B             107 kB
[04:52:26.007] └ λ /api/trpc/[trpc]                       0 B             107 kB
[04:52:26.007] + First Load JS shared by all              109 kB
[04:52:26.007]   ├ chunks/framework-3b5a00d5d7e8d93b.js   45.4 kB
[04:52:26.007]   ├ chunks/main-94d897311acc2837.js        27.1 kB
[04:52:26.007]   ├ chunks/pages/_app-4e49c70b8a55ab64.js  33.2 kB
[04:52:26.007]   ├ chunks/webpack-ee7e63bc15b31913.js     815 B
[04:52:26.007]   └ css/14a4ce6fb40c3e06.css               2.16 kB
[04:52:26.007]
[04:52:26.008] λ  (Server)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
[04:52:26.008] ○  (Static)  automatically rendered as static HTML (uses no initial props)
[04:52:26.008]
[04:52:26.389] Error: The file "/vercel/path0/dist/routes-manifest.json" couldn't be found. This is normally caused by a misconfiguration in your project.
[04:52:26.389] Please check the following, and reach out to support if you cannot resolve the problem:
[04:52:26.390]   1. If present, be sure your `build` script in "package.json" calls `next build`.  2. Navigate to your project's settings in the Vercel dashboard, and verify that the "Build Command" is not overridden, or that it calls `next build`.  3. Navigate to your project's settings in the Vercel dashboard, and verify that the "Output Directory" is not overridden. Note that `next export` does **not** require you change this setting, even if you customize the `next export` output directory.
[04:52:26.390] Learn More: https://err.sh/vercel/vercel/now-next-routes-manifest

[04:52:26.390]   1. If present, be sure your `build` script in "package.json" calls `next build`.  2. Navigate to your project's settings in the Vercel dashboard, and verify that the "Build Command" is not overridden, or that it calls `next build`.  3. Navigate to your project's settings in the Vercel dashboard, and verify that the "Output Directory" is not overridden. Note that `next export` does **not** require you change this setting, even if you customize the `next export` output directory.

have you tried this?

I am getting the same error right now. Started a new T3 project today.

Could someone who is getting this error create a minimal reproduction (as close to stock create-t3-app as possible, and as few packages selected as possible) so we can try to figure out what is going on?
I just got a stock create-t3-app to deploy to Vercel successfully.

After I deleted the vercel.json from the documentation it worked.

I fixed it by deleting the vercel.json file and removing the overrides.
It's weird that the problem is the vercel.json file. Maybe the commands in it are wrong, because in the overrides i had the same as in vercel.json, so maybe Vercel is using other ones.

Mine is still not working guys :)

Mine is not working it stills says - Error: The file "/vercel/path0/.next/routes-manifest.json" couldn't be found. This is often caused by a misconfiguration in your project.
I have done all what you guys have suggested but still nothin g i am using pnpm + turbo for building the web

Check if you have modified distDir in next.config.js, if so you must also change it in the project configuration "Output Directory" in Vercel

[04:52:26.390]   1. If present, be sure your `build` script in "package.json" calls `next build`.  2. Navigate to your project's settings in the Vercel dashboard, and verify that the "Build Command" is not overridden, or that it calls `next build`.  3. Navigate to your project's settings in the Vercel dashboard, and verify that the "Output Directory" is not overridden. Note that `next export` does **not** require you change this setting, even if you customize the `next export` output directory.

have you tried this? In my experience you don't need to override any of the build settings.

Thanks it helped!!

Folks, in case of a monorepo, be sure to double check the config under "Build & Development Settings" and "Root Directory". In my case I has forgotten the custom build command with turbo run build and the root dir under a sub folder apps/my-app1.


Remove implicit dependency on NodeJS namespace

This type definition is currently tightly coupled with the node.d.ts implementation details. It'd be better to get access to the correct types you need from the exported instances. For example:
// Currently:
NodeJS.ReadWriteStream

// Use:
import { Tranform } from "stream"

Transform // Or whatever the correct stream instance actually is.

That's a great idea.  Just that I don't know what it should be either. :smirk: Will commit a version and ask the glup guys. :smile:


Markdown Blog Manager 1.0

Description
Adding a Raycast extension to manage markdown file based blogs.
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Whoa, thanks for reviewing, I've been using the extension for some time now and never ran into any of these issues. Glad to have someone else take a peek at it before it goes live 🙂
I'll have a look and get back to you with updates as soon as I can 👍

Awesome 📿
It happens to me all the time when developing, sometimes the best thing to do is to uninstall and start fresh since we always code for happy flows 😊
I'm looking forward to testing this extension again 🔥

You should consider using placeholders instead since it looks like this every time I enter the command

Done, I've switched the title to placeholder now

Consider using useForm instead, for better handling of the forms (and validation) - it's also possible to make a new post without a title.

The documentation seemed a bit incomplete at first, which is why I didn't pay much attention to useForm at first. Switched to useForm now and......its soooo much easier to handle forms that way 🤯

There is no folder path for public in the package.json file, shouldn't there be that?

Variable names throughout iterations got funky. Renamed, should be consistent now.

How does Category work, couldn't figure that out in the README

I've renamed "Category" to "Subdirectory". I use sub-directories as categories, but not everyone might want to do that. They are mentioned in the readme, so hopefully renaming made that clearer, but if it doesn't - I'll welcome any feedback that you may have on how to clarify further.

There is something funny going on when changing the title
https://user-images.githubusercontent.com/38033107/197706487-587933eb-6970-42ec-bd87-507123ce5d87.mp4

That was really funky. Looks like the issue went away now that I'm using useForm.

Do you think it could be an idea to auto-create the folders (draft/public) if they don't exist or at least handle the error telling the user to create the directories 😊

I really wish there was a "Raycast way" of handling that workflow. A lot can go wrong, like if I attempt to create a directory that doesn't exist, but the specified path was wrong by one character at the start of the string, that would create a long invalid path of directories.
But for now - I think you're right, some sort of error should be surfaced and the setting unset if the specified path is invalid.

Then maybe just check if the path exist and an error telling that the user has to create it instead?

Sounds good 👍

Hi @pernielsentikaer,
I've wrapped both commands in a helper that checks if the paths are valid, and if they aren't - it'll show a somewhat user-friendly error message:

It's not looking as pretty as I'd want it to be, but I guess that's a limitation in Raycast for now. Or is there a better way?

Hi @pyronaur 👋
It's much better now, could you look into this linter error, maybe one of the old files still exists?

Oooh. I'm using rsync without --delete to sync my own repository with raycast extensions. I need to update my workflow 😅

🎉🎉🎉
Thank you @pernielsentikaer for patiently walking through the code review with me. Truly appreciate it 👍


⚠ Turnos 24x7 has degraded performance

In eec4c47, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1009 ms

Resolved: Turnos 24x7 performance has improved in 2639da6.


PangMqtt default constructor support

When a developer uses PangMqtt class. Must support default constructor that load user and user key from pang.properties file.
And also PangMqtt support username and user key constructor.
E.g. PangMqtt pang = new PangMqtt("username", "userkey");

Test and release completed.


Tweaks to respect namespace when using global.rbac.namespaced

Signed-off-by: Joni Collinge<EMAIL_ADDRESS>Description

NOTE: This is still WIP whilst I test various things. Also this is a hack aimed at getting a Dapr control plane deployment working within a namespace - this may bastardize things not originally intended for this use case so we can add new settings where required.

Once you enable global.rbac.namespaced the Dapr control plane gets RBAC permissions limited to a single namespace. Currently the Dapr control plane still tries to access resources outside of that namespace and then crashes.
Changes required to make this work:

Update sentry to work the same as the operator and use the Kubernetes downward API to get the namespace it is deployed in and get the dapr configuration from there. (is this a breaking change?)
Update the sidecar injector to do the same when loading the configuration. (is this a breaking change?)
Update the mutating webhook to use a namespace selector limited to the deployment namespace.
Add a new flag to the operator no-crd-patch which stops the operator trying to patch the cluster level CRD resources with the expectation that the CRDs will be installed and patched separately. This is needed as the operator will never have permission to access the cluster level CRD resources with the current RBAC restrictions. This needs further investigation to understand how to handle the cabundle in the conversion webhook properly externally.
Updates the RBAC to NOT deploy cluster role or cluster role binding when running in namespaced mode and move permissions down to role. This needs further reviewing to see if it'll cause any issues.

Issue reference
Please reference the issue this PR will close: https://github.com/dapr/dapr/issues/6611
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

Hey @jjcollinge, have you been able to find a fix for when we enable global.rbac.namespaced and it's not working?


clang-tidy: Apply fixes "readability-else-after-return"

Problem
else after return has no purpose, and increases control flow complexity.
Summary of Changes
Run run-clang-tidy.py -header-filter='.*' -checks='-*,readability-else-after-return for Linux clang build.

@mspang can we get this from clang-format?

@mspang can we get this from clang-format?

I think this is beyond clang-format's capabilities.


How to properly sync changes between helix-editor/helix and this repo?

Hi, so I changed the catppuccin theme in https://github.com/helix-editor/helix/pull/12167 and in https://github.com/helix-editor/helix/pull/12205
Should that change be copied here? Should future changes be made in both repos or how should it be done?

Changes should ideally be made in this repository and then copied upstream to Helix's repository I think. If you want to raise a PR backporting new changes from upstream to this repository that would be great.

Okay!


[ci] Add code coverage reporting for PRs and main

Makes progress on #453

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Quick Matrix{3,4}f and Rotation3 fixes

The Rotation3 class decomposes an affine transformation into a rotation, scaling, another rotation and a translation.


Pod changes: Updated Pods and enabled some Obj-C/Swift interoperability

What does this PR do :question:
This PR contains changes that updates Podfile syntax, updates the Pods themselves, updates a pod reference to its Swift version, and includes changes some build settings to the project target to enable the pod that was rewritten in Swift to be used in the project. Now, the project should be able to build and run in XCode 10.2 🎉
Build setting changes:

Runpath Search Paths: added /usr/lib/swift as the first argument
Library Search Paths: added $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)

How to test it :microscope:

Run the app!
The app should build and run successfully with no pod-related errors (there may be some warnings, though!)

Any background info you would like to include :white_check_mark:
👋Hello! I'm Britney Smith, an iOS developer at Detroit Labs. @AishaBlake approached me and some of my colleagues and asked for some assistance in updating this app. I hope this contribution helps to move things along 😄
Screenshots (if applicable) :camera:

Thanks @jeffaburt! And I appreciate the feedback on my PR 😄
I'll go ahead and merge it, but I would still love @northofnormal's thoughts on it even after it's merged, if she's not too busy being awesome, of course!


Docker support

The code base is incompatible with OpenGL 4 which is shipped with most recent distributions. Therefore, I have created a minimal Docker image based on Alpine Linux (Dockerfile).
All of the custom libraries compiled successfully and were installed to /usr/local/lib. However, when I try to use Morphologica in a downstream project, some of its dependencies cannot be found by cmake. This is reproducible as follows:
git clone https://github.com/stuartwilson/SelfOrganisingMaps.git
cd SelfOrganisingMaps
docker run -v $(pwd):/code -i tindzk/morphologica:2019-02-07 sh
cd /code
mkdir build
cd build
cmake ..

The output is:
-- Install prefix: /usr/local
--   (This can be changed with `cmake -DCMAKE_INSTALL_PREFIX=/some/place`
-- Operating system: Linux-5.5.3-arch1-1
-- Have pkg_config, searching for libmorphologica...
-- Checking for module 'libmorphologica'
--   Package 'hdf5', required by 'libmorphologica', not found
Package 'lapack', required by 'libmorphologica', not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:419 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:586 (_pkg_check_modules_internal)
  CMakeLists.txt:82 (pkg_check_modules)

-- Configuring incomplete, errors occurred!
See also "/code/build/CMakeFiles/CMakeOutput.log".

The following files exist in /usr/local/lib:
/usr/local/lib
/usr/local/lib/pkgconfig
/usr/local/lib/pkgconfig/opencv.pc
/usr/local/lib/pkgconfig/libmorphologica.pc
/usr/local/lib/pkgconfig/jsoncpp.pc
/usr/local/lib/pkgconfig/armadillo.pc
/usr/local/lib/pkgconfig/hdf5_cpp-1.10.6.pc
/usr/local/lib/pkgconfig/hdf5_hl_cpp-1.10.6.pc
/usr/local/lib/pkgconfig/hdf5_hl-1.10.6.pc
/usr/local/lib/pkgconfig/hdf5-1.10.6.pc
/usr/local/lib/morph
/usr/local/lib/morph/libmorphologica.a
/usr/local/lib/libmorphologica.so
/usr/local/lib/libarmadillo.so
/usr/local/lib/libjsoncpp.a
/usr/local/lib/cmake
/usr/local/lib/cmake/jsoncpp
/usr/local/lib/cmake/jsoncpp/jsoncppConfig.cmake
/usr/local/lib/cmake/jsoncpp/jsoncppConfig-release.cmake
/usr/local/lib/cmake/jsoncpp/jsoncppConfigVersion.cmake
/usr/local/lib/libarmadillo.so.9
/usr/local/lib/libarmadillo.so.9.850.1
/usr/local/lib/libhdf5.so.103.2.0
/usr/local/lib/libhdf5_hl.so
/usr/local/lib/libhdf5_hl_cpp.a
/usr/local/lib/libhdf5_hl_cpp.so
/usr/local/lib/libhdf5_cpp.so.103.2.0
/usr/local/lib/libhdf5_tools.so.100
/usr/local/lib/libhdf5.so.103
/usr/local/lib/libhdf5.settings
/usr/local/lib/libhdf5_hl.a
/usr/local/lib/libhdf5_tools.so
/usr/local/lib/libhdf5.so
/usr/local/lib/libhdf5.a
/usr/local/lib/libhdf5_hl.so.100
/usr/local/lib/libhdf5_tools.a
/usr/local/lib/libhdf5_cpp.a
/usr/local/lib/libhdf5_cpp.so
/usr/local/lib/libhdf5_hl.so.100.1.3
/usr/local/lib/libhdf5_hl_cpp.so.100.1.4
/usr/local/lib/libhdf5_hl_cpp.so.100
/usr/local/lib/libhdf5_cpp.so.103
/usr/local/lib/libhdf5_tools.so.100.1.3
/usr/local/lib/libopencv_objdetect.so
/usr/local/lib/libopencv_shape.so
/usr/local/lib/libopencv_stitching.so.3.2
/usr/local/lib/libopencv_photo.so.3.2
/usr/local/lib/libopencv_flann.so.3.2
/usr/local/lib/libopencv_videostab.so
/usr/local/lib/libopencv_videostab.so.3.2
/usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_superres.so.3.2
/usr/local/lib/libopencv_ml.so.3.2
/usr/local/lib/libopencv_photo.so
/usr/local/lib/libopencv_highgui.so.3.2.0
/usr/local/lib/libopencv_imgproc.so.3.2
/usr/local/lib/libopencv_objdetect.so.3.2.0
/usr/local/lib/libopencv_videoio.so.3.2.0
/usr/local/lib/libopencv_video.so.3.2.0
/usr/local/lib/libopencv_superres.so
/usr/local/lib/libopencv_imgcodecs.so.3.2
/usr/local/lib/libopencv_objdetect.so.3.2
/usr/local/lib/libopencv_imgcodecs.so.3.2.0
/usr/local/lib/libopencv_calib3d.so.3.2.0
/usr/local/lib/libopencv_ml.so.3.2.0
/usr/local/lib/libopencv_core.so.3.2
/usr/local/lib/libopencv_flann.so.3.2.0
/usr/local/lib/libopencv_calib3d.so.3.2
/usr/local/lib/libopencv_flann.so
/usr/local/lib/libopencv_shape.so.3.2.0
/usr/local/lib/libopencv_videoio.so.3.2
/usr/local/lib/libopencv_calib3d.so
/usr/local/lib/libopencv_video.so.3.2
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_highgui.so
/usr/local/lib/libopencv_shape.so.3.2
/usr/local/lib/libopencv_core.so
/usr/local/lib/libopencv_imgproc.so.3.2.0
/usr/local/lib/libopencv_stitching.so
/usr/local/lib/libopencv_photo.so.3.2.0
/usr/local/lib/libopencv_features2d.so.3.2.0
/usr/local/lib/libopencv_stitching.so.3.2.0
/usr/local/lib/libopencv_ml.so
/usr/local/lib/libopencv_features2d.so.3.2
/usr/local/lib/libopencv_superres.so.3.2.0
/usr/local/lib/libopencv_videoio.so
/usr/local/lib/libopencv_highgui.so.3.2
/usr/local/lib/libopencv_videostab.so.3.2.0
/usr/local/lib/libopencv_core.so.3.2.0
/usr/local/lib/libopencv_imgproc.so
/usr/local/lib/libopencv_imgcodecs.so

Also, the ctest command returns with a non-zero exit code because some of the test cases fail. Is this expected?

Hello,
The OpenGL code in display.h/cpp is all OpenGL 2 code; it compiles and runs happily on Ubuntu 18 and 19 systems. On what platform did it not compile?
Incidently, I have recently coded up a replacement visualisation scheme in Visual.h/cpp (and friends) which is all Opengl 4+ compatible and which I have been using in my recent projects. Stuart used the OpengGL 2 display.h/cpp code in SelfOrganisingMaps, though.
As for your cmake build error - I'm at a bit of a loss. The cmake error messages suggest that pkg-config can't find hdf5, which are required in the morphological pkg-config file. However, your listing of files shows that the .pc files for hdf are present. The other error is for lapack. I'd be surprised if your system didn't have a lapack.pc file (on the system I'm on right now it's at /usr/lib/x86_64-linux-gnu/pkgconfig/lapack.pc
In the master branch, there's one ctest which leaves a window open (you can press x in the window to close it). Other than that, the tests should work, so a failure is work its own issue.

I am using Arch Linux. The compilation failed because display.{c,h} references types/functions that were removed in OpenGL 4. Here is the full log output:
$ make
make[1]: Entering directory '/home/tim/edu/morphologica/build'
make[2]: Entering directory '/home/tim/edu/morphologica/build'
Scanning dependencies of target morphstatic
make[2]: Leaving directory '/home/tim/edu/morphologica/build'
make[2]: Entering directory '/home/tim/edu/morphologica/build'
[  1%] Building CXX object src/CMakeFiles/morphstatic.dir/display.cpp.o
/home/tim/edu/morphologica/src/display.cpp: In member function ‘void morph::Gdisplay::saveImage(std::string)’:
/home/tim/edu/morphologica/src/display.cpp:2259:5: error: ‘IplImage’ was not declared in this scope; did you mean ‘XImage’?
 2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
      |     ^~~~~~~~
      |     XImage
/home/tim/edu/morphologica/src/display.cpp:2259:16: error: ‘capImg’ was not declared in this scope
 2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
      |                ^~~~~~
/home/tim/edu/morphologica/src/display.cpp:2259:39: error: ‘cvSize’ was not declared in this scope; did you mean ‘PSize’?
 2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
      |                                       ^~~~~~
      |                                       PSize
/home/tim/edu/morphologica/src/display.cpp:2259:52: error: ‘IPL_DEPTH_8U’ was not declared in this scope
 2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
      |                                                    ^~~~~~~~~~~~
/home/tim/edu/morphologica/src/display.cpp:2259:25: error: ‘cvCreateImage’ was not declared in this scope; did you mean ‘XCreateImage’?
 2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
      |                         ^~~~~~~~~~~~~
      |                         XCreateImage
/home/tim/edu/morphologica/src/display.cpp:2269:39: error: ‘cvarrToMat’ is not a member of ‘cv’
 2269 |     imwrite(outFile.str().c_str(),cv::cvarrToMat(capImg));
      |                                       ^~~~~~~~~~
/home/tim/edu/morphologica/src/display.cpp:2269:5: error: ‘imwrite’ was not declared in this scope; did you mean ‘cv::imwrite’?
 2269 |     imwrite(outFile.str().c_str(),cv::cvarrToMat(capImg));
      |     ^~~~~~~
      |     cv::imwrite
In file included from /usr/include/opencv4/opencv2/highgui.hpp:48,
                 from /usr/include/opencv4/opencv2/opencv.hpp:68,
                 from /home/tim/edu/morphologica/src/display.cpp:1:
/usr/include/opencv4/opencv2/imgcodecs.hpp:222:19: note: ‘cv::imwrite’ declared here
  222 | CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
      |                   ^~~~~~~
/home/tim/edu/morphologica/src/display.cpp:2270:5: error: ‘cvReleaseImage’ was not declared in this scope
 2270 |     cvReleaseImage(&capImg);
      |     ^~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/morphstatic.dir/build.make:63: src/CMakeFiles/morphstatic.dir/display.cpp.o] Error 1
make[2]: Leaving directory '/home/tim/edu/morphologica/build'
make[1]: *** [CMakeFiles/Makefile2:295: src/CMakeFiles/morphstatic.dir/all] Error 2
make[1]: Leaving directory '/home/tim/edu/morphologica/build'
make: *** [Makefile:141: all] Error 2

As for the Docker image, I managed to eliminate the CMake errors by replacing the OpenBLAS dependency by LAPACK. The other error occurred because hdf5.pc was missing. This was solved by:
cp /usr/local/lib/pkgconfig/hdf5-1.10.6.pc /usr/local/lib/pkgconfig/hdf5.pc

Thanks for the pointers!

ah, you meant OpenCV. Now I am less confused.
On Mon, 17 Feb 2020, 23:04 Tim Nieradzik<EMAIL_ADDRESS>wrote:

I am using Arch Linux. The compilation failed because display.{c,h}
references types/functions that were removed
https://github.com/opencv/opencv/wiki/Opencv4 in OpenGL 4. Here is the
full log output:
$ make
make[1]: Entering directory '/home/tim/edu/morphologica/build'
make[2]: Entering directory '/home/tim/edu/morphologica/build'
Scanning dependencies of target morphstatic
make[2]: Leaving directory '/home/tim/edu/morphologica/build'
make[2]: Entering directory '/home/tim/edu/morphologica/build'
[  1%] Building CXX object src/CMakeFiles/morphstatic.dir/display.cpp.o
/home/tim/edu/morphologica/src/display.cpp: In member function ‘void morph::Gdisplay::saveImage(std::string)’:
/home/tim/edu/morphologica/src/display.cpp:2259:5: error: ‘IplImage’ was not declared in this scope; did you mean ‘XImage’?
2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
  |     ^~~~~~~~

  |     XImage

/home/tim/edu/morphologica/src/display.cpp:2259:16: error: ‘capImg’ was not declared in this scope
2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
  |                ^~~~~~

/home/tim/edu/morphologica/src/display.cpp:2259:39: error: ‘cvSize’ was not declared in this scope; did you mean ‘PSize’?
2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
  |                                       ^~~~~~

  |                                       PSize

/home/tim/edu/morphologica/src/display.cpp:2259:52: error: ‘IPL_DEPTH_8U’ was not declared in this scope
2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
  |                                                    ^~~~~~~~~~~~

/home/tim/edu/morphologica/src/display.cpp:2259:25: error: ‘cvCreateImage’ was not declared in this scope; did you mean ‘XCreateImage’?
2259 |     IplImage * capImg = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3);
  |                         ^~~~~~~~~~~~~

  |                         XCreateImage

/home/tim/edu/morphologica/src/display.cpp:2269:39: error: ‘cvarrToMat’ is not a member of ‘cv’
2269 |     imwrite(outFile.str().c_str(),cv::cvarrToMat(capImg));
  |                                       ^~~~~~~~~~

/home/tim/edu/morphologica/src/display.cpp:2269:5: error: ‘imwrite’ was not declared in this scope; did you mean ‘cv::imwrite’?
2269 |     imwrite(outFile.str().c_str(),cv::cvarrToMat(capImg));
  |     ^~~~~~~

  |     cv::imwrite

In file included from /usr/include/opencv4/opencv2/highgui.hpp:48,
             from /usr/include/opencv4/opencv2/opencv.hpp:68,

             from /home/tim/edu/morphologica/src/display.cpp:1:

/usr/include/opencv4/opencv2/imgcodecs.hpp:222:19: note: ‘cv::imwrite’ declared here
222 | CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
  |                   ^~~~~~~

/home/tim/edu/morphologica/src/display.cpp:2270:5: error: ‘cvReleaseImage’ was not declared in this scope
2270 |     cvReleaseImage(&capImg);
  |     ^~~~~~~~~~~~~~

make[2]: *** [src/CMakeFiles/morphstatic.dir/build.make:63: src/CMakeFiles/morphstatic.dir/display.cpp.o] Error 1
make[2]: Leaving directory '/home/tim/edu/morphologica/build'
make[1]: *** [CMakeFiles/Makefile2:295: src/CMakeFiles/morphstatic.dir/all] Error 2
make[1]: Leaving directory '/home/tim/edu/morphologica/build'
make: *** [Makefile:141: all] Error 2
As for the Docker image, I managed to eliminate the CMake errors by
replacing the OpenBLAS dependency by LAPACK. The other error occurred
because hdf5.pc was missing. This was solved by:
cp /usr/local/lib/pkgconfig/hdf5-1.10.6.pc /usr/local/lib/pkgconfig/hdf5.pc
Thanks for the pointers!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ABRG-Models/morphologica/issues/5?email_source=notifications&email_token=AAA72BC3IWZSG2OWJAA7K43RDMJW5A5CNFSM4KWUID3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL73YGY#issuecomment-587185179,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA72BBRD4T7BPYAX3I2WK3RDMJW5ANCNFSM4KWUID3A
.

It might be worth pulling in your work creating docker images into the morphologica code base, so I reopened this issue.

I will submit a pull request.

Closing, as I merged the Docker creation script (albeit with a commented-out glfw section)


Add Ethereum deploy scripts for exchangeIssuanceZeroEx

Duplicate of #7 for the Ethereum network
PR also includes some fixes for the Ethereum folder to support forked network testing - this is the repo's first Ethereum deployment

Kovan

0x30BA25b354Cf1A23Ead0Ad84aa81d3E3eD494234

:tada: This PR is included in version 1.0.0-t1.1 :tada:
The release is available on:

npm package (@test dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Custom screenshot folder per test file

Our design system is broken up into dozens of individual components, each with their own set of tests.
What I'd love to see is a way to specify where all of the screenshots go per set of tests.
shots
  button_shots
  alert_shots
  form_shots
  ...

This could be a value passed into the .webdrivercss() function, or better yet, allow the screenshotRoot to be relative to the test file, rather than the project root.

This would be great for me as well

I've found that webdrivercss is extremely restrictive if you want to integrate it into any sort of larger workflow. It seems to be suited for one person making tests against a single page.
If you try and pass different folder names to it for each test you run, you very quickly encounter problems.


[Bug]: error 100 and 111

Version of the software
0.2.4
Operating system
kali linux
Browser / Native
chrome
What happened?
i have this problem please help me to fix ???
https://imgur.com/a/YZx1jSG this is image of the error
Relevant LoliCode if needed
No response

Hi, can you give me more context on when this happened? Like, can you consistently reproduce the error? What are the steps to reproduce it / what were you doing when it happened?
It seems like it's having trouble rendering the MultiRunJobViewer page. Maybe try to download OB2 again? It might be corrupted.

Closing stale issue


📝 Overhauling The Documentation

Changes

improvements: Docs

Check off the following

[x] I have tested my changes with the current requirements
[x] My Code follows the pep8 code style.

i know its a draft but so far they dont look like useful changes

I agree with Ooliver on this


assert vspace(vjp_y) == x_vs

I must be missing something very obvious here, but why doesn't the below code work:
from autograd import numpy as np
from autograd.extend import primitive, defvjp
from autograd.test_util import check_grads

@primitive
def f(x):
    y = np.zeros(2)
    y[0] = x[0] ** 2
    y[1] = x[0] + x[1]
    return y

def df(y, x):
    def _df(g):
        dy = np.zeros(2)
        dy[0] = 2 * g[0] * x[0]
        dy[1] = g[0] + g[1]
        return dy
    return _df

defvjp(f, df)
check_grads(f, modes=["rev"])(np.array([1, 2]))

I get the following error:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-33-d116044e6089> in <module>()
----> 1 check_grads(f, modes=["rev"])(np.array([1, 2]))

/.../lib/python3.5/site-packages/autograd/wrap_util.py in nary_f(*args, **kwargs)
     18             else:
     19                 x = tuple(args[i] for i in argnum)
---> 20             return unary_operator(unary_f, x, *nary_op_args, **nary_op_kwargs)
     21         return nary_f
     22     return nary_operator

/.../lib/python3.5/site-packages/autograd/test_util.py in check_grads(f, x, modes, order)
     61             check_grads(grad_f, (0, 1), modes, order=order-1)(x, v)
     62     if 'rev' in modes:
---> 63         check_vjp(f, x)
     64         if order > 1:
     65             grad_f = lambda x, v: make_vjp(f, x)[0](v)

/.../lib/python3.5/site-packages/autograd/test_util.py in check_vjp(f, x)
     29
     30     vjp_y = x_vs.covector(vjp(y_vs.covector(y_v)))
---> 31     assert vspace(vjp_y) == x_vs
     32     vjv_numeric = x_vs.inner_prod(x_v, vjp_y)
     33     vjv_exact   = y_vs.inner_prod(y_v, jvp(x_v))

AssertionError:

I would have asked help on gitter, IRC or something similar but I couldn't find any such forum for Autograd.

This issue tracker is the perfect place to ask for help!
This error message isn't very clear, but the issue is that you're passing in an integer array argument to f, namely np.array([1, 2]), but your VJP is returning a float64 array (because that's the default dtype for np.zeros(2)). I think you probably just want to pass in a float64 argument by using np.array([1., 2.]). Then this error should go away.
The VJP check fails, though. For first-order, you might want something like this:
from autograd import numpy as np
from autograd.extend import primitive, defvjp
from autograd.test_util import check_grads

@primitive
def f(x):
    y = np.zeros(2)
    y[0] = x[0] ** 2
    y[1] = x[0] + x[1]
    return y

def df(y, x):
    def _df(g):
        dy = np.zeros(2)
        dy[0] = 2 * g[0] * x[0] + g[1]
        dy[1] = g[1]
        return dy
    return _df

defvjp(f, df)
check_grads(f, modes=["rev"], order=1)(np.array([1., 2.]))  # note order=1

However, that fails for second order because then g is an Autograd Box type and you can't stuff a Box type in the float64 array dy. There's an interesting asymmetry that is good to keep in mind: inside a primitive you can do whatever you want (i.e. no Boxes will ever appear), but VJP code isn't itself primitive. In other words, while 'anything goes' inside a primitive, you have to play by the rules in your VJP to allow higher-order autodiff. (Actually, you're free to make the VJP itself a primitive, but then if you want higher-order autodiff you'd need to define its VJP manually.)
Here's a VJP definition that works to arbitrary order:
from autograd import numpy as np
from autograd.extend import primitive, defvjp
from autograd.test_util import check_grads

@primitive
def f(x):
    y = np.zeros(2)
    y[0] = x[0] ** 2
    y[1] = x[0] + x[1]
    return y

def df(y, x):
    def _df(g):
        dy0 = 2 * g[0] * x[0] + g[1]
        dy1 = g[1]
        dy = np.array([dy0, dy1])
        return dy
    return _df

defvjp(f, df)
check_grads(f, modes=["rev"])(np.array([1., 2.]))

(Whoops, closed accidentally.) Please close the issue if this resolved your problem!

Can we close this?

I didn't yet test but I'm pretty sure the issue was about missing order. Thanks!


Add reuse compliance checking

Description
Add reuse compliance checking to PR action.
Type of change
Please insert 'x' one of the type of change.

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

Dear @bjk7119 ,
I add to check reuse when requesting PR.
Please merge this after review.


[camera] Add ProcessCameraProvider class to CameraX plugin

Overview
In the CameraX library, the ProcessCameraProvider class is used to bind the various CameraX use cases to the lifecycle of any lifecycle-aware component. Thus, this class is essential to initiating any camera use case (taking a picture, taking a video, etc.) in the CameraX plugin.
The following is a running list of the methods required for adding the ProcessCameraProvider class to the CameraX plugin.
Requirements
Instance Methods

[ ] Camera bindToLifecycle(...)
[ ] List<CameraInfo> getAvailableCameraInfos()
[ ] boolean hasCamera(CameraSelector cameraSelector)
[ ] boolean isBound(UseCase useCase)
[ ] void unbind(UseCase... useCases)
[ ] void unbindAll()

Static Methods

[ ] static void configureInstance(CameraXConfig cameraXConfig)
[ ] static ListenableFuture<ProcessCameraProvider> getInstance(Context context)

is it a camera of cameraX issue?


Post-run commands

I know this plugin does a great job as a wrapper over xcodebuild. But do we have any approach on peaking at the runtime log while the app is running in the simulator?

I've been thinking about this lately as well. Based on this answer (which seems to be accurate), the logs are currently in ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
Based on the run script we already have the UDID for the simulator. So we could probably do something smart, especially with tmux, to spawn a new pane/window running a tail -f to this log.

Maybe the Xrun command should also print out the path to ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log so we can tail it into any terminal pane of our choice

@keith and I have been talking about using hooks for things like this and possibly LLDB access. I wonder if something like this would work:
let g:xcode_post_run_command = "tail ~/Library/Logs/CoreSimulator/{sim-hash}/system.log`

That could be the default, but you could override it with whatever you want. We'd then just send that command to the already-defined runner command.
For now we could simply pass the sim hash, but it's possible that we could get more intricate with multiple tokens ({pid}, {sim-hash}, {bundle-id}, ???). This would also mean moving the run commands to be internal instead of being sent to the runner command (because otherwise we'd have no way to know when the run command completed successfully). I'm OK with that.

I think if we were to do something like this we'd actually need to make it an array of commands, or an array of functions. Because now we have at least 2 use cases for this that you would ideally use simultaneously

seems reasonable

Updating the name to track what we actually want out of this.
I'm a little worried that #69 actually complicates this a bit. Since we're now building & running, it's going to be hard to know when the run command has completed, and so it'll be hard to get the pid/simulator uuid/etc.

I'd like to try expanding on this as outlined in here, but for now, I've opened a PR (#76) to tail the logs by default after running.

So now with os log you can use a command with simctl in order to get live logs from the simulator. I think this is something we should just advice people to do in a separate pane, as it can be left open between runs


317 issue fixed

Issue Fixed
Closes #317
Tech Stack

[x] HTML
[x] CSS
[x] JavaScript

Screenshots

Update the project number to 81

Ok sir

I have made the changes as suggested. Kindly review the PR

@shivam123-dev Thank you for your contribution. Looking forward to more such amazing contributions 🥂


Error spawn EACCES

Preconditions

[X] Requirements fulfilled
[X] The bug is not a known issue
[X] The bug has not been solved in the past or the solution that was provided in the past does not work on my system
[X] There is currently no other opened issue that describes this bug
[X] I cannot find any solution to the problem in GitHub discussions
[X] I am certain that the problem that I am having is a bug

Analysis
Similar to #161 but with venv instead of python.
Expected Behavior
Before updating the plugin everything worked without any issues. Everything in HB is up-to-date.
Steps To Reproduce
Plugin is running in child bridge and is restarting repeatedly.
Logs
[3/1/2024, 7:58:38 AM] [Apple TV Enhanced] Child bridge process ended
[3/1/2024, 7:58:38 AM] [Apple TV Enhanced] Process Ended. Code: 1, Signal: null
[3/1/2024, 7:58:45 AM] [Apple TV Enhanced] Restarting Process...
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] Launched child bridge with PID 31834
[3/1/2024, 7:58:46 AM] Registering platform 'homebridge-appletv-enhanced.AppleTVEnhanced'
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] Loaded homebridge-appletv-enhanced v1.2.5 child bridge successfully
[3/1/2024, 7:58:46 AM] Loaded 0 cached accessories from cachedAccessories.0EEEC59787E4.
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] [I] Platform: Finished initializing platform: Apple TV Enhanced
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] [D] Platform: Executed didFinishLaunching callback
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] [I] Python check: Starting python check.
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] [I] Python check: plugin dir exists.
[3/1/2024, 7:58:46 AM] Homebridge v1.7.0 (HAP v0.11.1) (Apple TV Enhanced) is running on port 32017.
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] [I] Python check: Python 3.8.10 is installed and supported by the plugin.
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] [I] Python check: Virtual environment already exists.
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] [I] Python check: Venv is using current system python version (3.8.10).
Error: spawn /var/lib/homebridge/appletv-enhanced/.venv/bin/pip3 EACCES
    at Process.ChildProcess._handle.onexit (node:internal/child_process:286:19)
    at onErrorNT (node:internal/child_process:484:16)
    at processTicksAndRejections (node:internal/process/task_queues:82:21)
[3/1/2024, 7:58:46 AM] [Apple TV Enhanced] Child bridge process ended

Configuration
{
            "mediaTypes": [
                "music",
                "tv",
                "video"
            ],
            "deviceStates": [
                "paused",
                "playing"
            ],
            "remoteKeysAsSwitch": [
                "turn_off",
                "turn_on"
            ],
            "discover": {
                "unicast": [],
                "blacklist": [],
                "multicast": true
            },
            "name": "Apple TV Enhanced",
            "avadaKedavraAppAmount": 15,
            "forceVenvRecreate": false,
            "platform": "AppleTVEnhanced",
            "_bridge": {
                "username": "0E:EE:C5:97:87:E4",
                "port": 32017
            }
        }

Operating System
Linux
Operating System: Bits
64-bit
Operating System: Distribution
Slackware
Operating System: Distribution Version
15.0
Docker
yes
Docker Image
oznu/homebridge
Docker Image Tag
latest
Homebridge Version
1.7.0
Homebridge Config UI Version
v4.54.2
Homebridge Storage Path
/var/lib/homebridge
Homebridge Apple TV Enhanced Version
1.2.5
Node Version
v20.11.1
NPM Version
10.2.4
Python Version
3.8.10
PIP Version
20.0.2
HDMI Hops
No response
Audio Output
no
Same Subnet
yes
Additional Context
No response

/check

@Rene1695 as the pre-check bot already suggested, you need to use the most recent docker image of homebridge (homebridge/homebridge:2024-01-08

@maxileith  thank you very much, now its working :)


COLLADA LOADER

Error applying initial transformation matrix models with animation
The initial transformation matrix is applied properly to geometry, position, normal, tangent, but the animation produces strange effects.

Collada file now its parsed with Y_UP axis and left handed coordinates: b2276245632cecb282c483de7c58469b2780454d
Initial transform is out for now: opened issue #49


Fix LH Navbar comments_for link

Fixes a bug reported by user 6698

Coverage: 93.529%. Remained the same when pulling 1de6ab44000cfd3e8b0bd399ce5fb212c69cfa8c on jdc-comments_for-lh-navbar into 06647fe9cb5b3f8d4abc215487c836f42c87747f on main.


Program node app.js exited with code 0

I'm using Express and I'm getting this error multiple times just after doing supervisor apps.js:

I found no way to run it.
It only seems to work if I do supervisor bin/www.
I wonder why this is not specified in the docs somehow.
I guess its because of my package.json file? The default one used with express.
 "scripts": {
    "start": "node ./bin/www"
  },

I have the same issue, without using express, pure node, so the hot reload never stops...

I have the same problem as the OP.    What is the reason behind this and can you update documentation?

I have too......please help!!!

I have a same issue. I don't understand how to solve the problem. Can everybody help me?

same issue...


I can't see any quic packet in tcpdump

I can't see any quic packet in tcpdump.
Therer is no udp packet. only tlsv1.2.

it's working now


Remove the Netty dependency from azure-core

Moving it into a separate azure-core-http-netty module instead. The main stumbling block at this point is converting FluxUtil to work with it, and updating the unit tests to no longer use ByteBuf. I've already introduced a simple mechanism for plugging back in the netty http client, but everything is placeholder for now and can be improved. If this is successful, we should introduce the ability to configure a custom http client in our builder classes.
Please feel free to fork my fork and continue to improve the broken code!

Should run some perf tests with other client implementations. We'll also want to watch out for ByteBuf vs ByteBuffer performance differences.

Yes, it would be very interesting to plug in a Retrofit HTTP client implementation (seeing as this is what we will use on Android) and do a performance comparison. Even more interesting would be to see a performance comparison before / after this change whilst still using Netty (i.e. the cost of using ByteBuffer rather than ByteBuf).

I like the move from extracting our transport layer dependency netty into another library. Would make this easier to replace HTTP libraries if we need.

Related https://github.com/Azure/azure-sdk-for-java/issues/4555

@alzimmermsft In SharedKeyCredential, there is a usage of QueryStringDecoder to split the query string to create the canonicalized resource. QueryStringDecoder is a util from reactory-netty, and is therefore not something that is present any longer. Are you able to replace this with something else and submit it as a PR into this fork / branch?


Add CORS support for skygear assets

Skygear currently doesn't support adding CORS headers for assets.
This is useful for apps that uses the HTML5 canvas with images hosted as skygear assets.
https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

If I want to suggest that besides setting environment variables / command line, maybe we can also have this option on portal.skygear.io, how shall I do it? Open another issue?

This primary concerns with cloud assets, which is a Skygear Cloud feature.
We will add CORS headers to cloud assets so that you can access cloud assets in cross origin requests. You’ll need to host your web site under *.skygear.io though.

Both asset.skygeario.com and S3 now returns CORS headers.


[Disable] Concurrency test dispatch_inference.swift

https://github.com/apple/swift/issues/70759

Merging to unblock CI


Update BlockTag type for zksync-ethers docs

Hi @AnastasiiaVashchuk, this project is being replaced by the newest ZKsync Docs and SDK Docs repos:

https://github.com/matter-labs/zksync-docs
https://github.com/zksync-sdk/sdk-docs

You'll want to make the edits in one of those repos. For these changes it looks like you'll want to edit the sdk-docs project.

Thanks for flagging.


Github is bought by Microsoft.  Shitty Government.
They teach us to use proprietary software in our schools and colleges, also in the books.

The government of .....

Sorry i can't tell. But it is so bad

This thread isn't constructive: locking this until Redmond and the team come online.
/cc @RyanCavanaugh

Amazing

Good morning @jack-williams 👋


x/website: document modules/gomod-ref missing godebug introduced in go 1.23

Go version
1.23
Output of go env in your module/workspace:
n/a

What did you do?
research godebug syntax in go.mod reference https://go.dev/doc/modules/gomod-ref
What did you see happen?
not seeing this godebug in the doc at all.
What did you expect to see?
it appears to be introduced in go 1.23: https://go.dev/doc/godebug#default , which are missing in gomod-ref document

CC @golang/tools-team

cc @matloob @samthanawalla


fix missing ep.tim_pingresp_recv_.cancel() after pingresp_packet.

In version 1.0.4, if set_ping_resp_recv_timeout_ms, the connection will definitely be disconnected due to timeout.

Codecov Report

Merging #37 (8fddffd) into main (a3f93da) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #37      +/-   ##
==========================================
- Coverage   89.61%   89.61%   -0.01%
==========================================
  Files          89       89
  Lines        9719     9721       +2
==========================================
+ Hits         8710     8711       +1
- Misses       1009     1010       +1

Impacted Files
Coverage Δ

include/async_mqtt/endpoint.hpp
87.24% <100.00%> (+0.02%)
:arrow_up:

... and 1 file with indirect coverage changes

Thank you for sending the PR.
Could you cleanup the commit history and force push ?
The first commit isn't needed.
After the update, I will merge the PR and then, I will release 1.0.5.

Thank you for sending the PR. Could you cleanup the commit history and force push ? The first commit isn't needed.
After the update, I will merge the PR and then, I will release 1.0.5.
updated.

Thank you very much!!


Add indirect draw functionality to MultiMesh

Currently has errors with the automated tests, not sure how to solve this, if anyone with experience could have a look and tell me what I'm missing, I'd be very grateful.
Implements a new indirect mode to MultiMeshes, when allocating data a "use_indirect" Boolean can be set to true, initiating generation of a command buffer, this will be updated whenever a new mesh is added, and works with multiple surfaces, or theoretically non-indexed meshes, this hasn't been tested however.
The command buffer can be used to allow multimeshes, or any buffer alteration function, directly alter the number of instances drawn, in the example project is a C# implementation, as well as a GDScript test, which is much less robust.
Example Project:
IndirectDrawMultimeshExample.zip
The C# example in the project, 32k instances being enabled and disabled using a sine wave controlled through a compute shader with the command buffer bound to one of it's uniforms:

There's also a very ham-handed attempt at frustum culling in here which does not work, just an evening of me messing around with it.
Things that may be able to be improved, the method by which I composite the data into the command buffer within the mesh_storage could be improved, I am inexperienced in handling vectors in c++ and as such ended up with a somewhat clumsy struct method of building the data. Every other attempt I had to just write to a single entry in the command buffer (for example to directly update the number of instances without touching anything else) resulted in errors, and even crashing my computer several times, so for now I figured I would go ahead and put out what I have, and see what you all think.

Awesome, though could  this bring a significant improvement upon instancing thousands of say blade of grass like some unity video had?
Aside, making it more frustrum culling friendly would be a cool thing to investigate, maybe internally partition the multimesh in chunks? Not sure.

Awesome, though could this bring a significant improvement upon instancing thousands of say blade of grass like some unity video had?
Aside, making it more frustrum culling friendly would be a cool thing to investigate, maybe internally partition the multimesh in chunks? Not sure.

Oh to be fair, the frustum culling not working is entirely my bad xD I just never implemented frustum culling and I failed at it, this system should work just fine with frustum culling, it's entirely user error in it not working in the test project.
And using it for grass is exactly what I'll be doing, this is mostly to help with grass not being used but still needing to be in memory when you are in a location that doesn't have any grass.

To fix the error see https://docs.godotengine.org/en/latest/contributing/development/handling_compatibility_breakages.html#id3
You can add the error to the file 4.3-stable.expected.

To fix the error see https://docs.godotengine.org/en/latest/contributing/development/handling_compatibility_breakages.html#id3 You can add the error to the file 4.3-stable.expected.

Unfortunately I figured that out as well, and it has not resolved the error, not sure why, maybe I added it incorrectly?

Looks like the error says RenderingServer but you put RenderingDevice.

Looks like the error says RenderingServer but you put RenderingDevice.

I don't think I could sigh any louder.
Thank you very much, we'll see how the checks go.

Mickeons change implemented, they worded it way better than me lol, thank you!
Rebased and conflicts solved.

 I'm only seeing a topic 3d tag but the title doesn't indicate anything to that end

This PR does not account for multimesh2d, however I believe it should be doable in a similar fashion, I would have to take a look, but it's a good direction for added functionality.

Got all the updates sorted, also revamped the example project to have a second more complex implementation of command buffer manipulation for a bit more robust documentation (gotta add it later on after this gets merged with master.)
The new example project shows an implementation of very basic view distance based culling:

The instances will disappear or go to lower lod when you get further away from origin, this is just because of the AABB, you can adjust the size to account for the larger distances with larger number of instances.
newindirectdrawmultimeshexample.zip
I think this one is good to merge, just awaiting another review by Clay.


Include file name during go build and go vet

Both go and govet rules fail as they are right now.

Something like this fails on a per-file basis for go build:
test/file.go:
package main

const T = 5

test/main.go:
package main

func main(){
  return T
}

Error: ./main.go:76: undefined: T

With the example you've posted above, opening go files from another directory, like nvim test/main.go (instead of nvim main.go), doesn't set CWD correctly to go build or go vet.
Ideally, we'd provide directory associated with current buffer. This pull request causes way more problems than it solves. I'll close it and file a new issue.

augroup auto_change_directory
	autocmd!
	au BufEnter * silent! lcd %:p:h
augroup END

Putting this in your init.vim is a quick workaround, but yeah, setting the cwd property to the correct package for the maker is probably the best choice.


How to upload an image file with a task over API?

API  method
https://labelstud.io/api#operation/api_projects_import_create
http://{URL_LABEL}/api/projects/{id}/import'
How to upload a source file for a task via API?

You should call /api/projects/<id>/import with form data, e.g.:
curl 'http://localhost:8000/api/projects/353/import' \
  -H 'Content-Type: multipart/form-data;' \
  --data-raw $'------WebKitFormBoundary9QieDF8NQI7gPZdx\r\nContent-Disposition: form-data; name="img.png"; filename="img.png"\r\nContent-Type: image/png\r\n\r\n\r\n------WebKitFormBoundary9QieDF8NQI7gPZdx--\r\n' \

However, I strongly discourage the use of downloads in production. LS is not meant for that.
Use Local Storage instead: https://labelstud.io/guide/storage.html#Local-storage

However, I strongly discourage the use of downloads in production. LS is not meant for that. Use Local Storage instead: https://labelstud.io/guide/storage.html#Local-storage

Yes, I had to use local storage to add images manually
Is it possible to add files to local storage via API?

@DimIsaev no, but you can use your own python webserver for this:
import os
from flask import Flask, request, jsonify
from werkzeug.utils import secure_filename

app = Flask(__name__)

UPLOAD_FOLDER = 'uploaded_files'
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}

if not os.path.exists(UPLOAD_FOLDER):
    os.makedirs(UPLOAD_FOLDER)

app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

@app.route('/upload', methods=['POST'])
def upload_file():
    if 'file' not in request.files:
        return jsonify({'error': 'No file part in the request'}), 400
    file = request.files['file']
    if file.filename == '':
        return jsonify({'error': 'No file selected for uploading'}), 400
    if file and allowed_file(file.filename):
        filename = secure_filename(file.filename)
        file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        return jsonify({'message': f'File {filename} uploaded successfully'}), 200
    else:
        return jsonify({'error': 'File extension not allowed'}), 400

if __name__ == '__main__':
    app.run(host='<IP_ADDRESS>', port=5000, debug=True)

run it:
python file_upload_server.py

and use
curl -X POST -H "Content-Type: multipart/form-data" -F<EMAIL_ADDRESS>http://localhost:5000/upload

OR you can try hosting solutions like these:

Nextcloud: Nextcloud is an open-source, self-hosted file sharing and communication platform. It allows you to upload, manage, and share files through its web interface or APIs. You can also extend its functionality with various apps and plugins. Find more information and installation instructions here: https://nextcloud.com/

ownCloud: Similar to Nextcloud, ownCloud is an open-source, self-hosted file sync and share solution. It provides APIs for managing files, users, and permissions. You can find more information and installation instructions here: https://owncloud.com/

Seafile: Seafile is another open-source, self-hosted file synchronization and sharing solution. It offers a web interface, desktop clients, and mobile apps. It also provides APIs for managing files, users, and groups. More information and installation instructions can be found here: https://www.seafile.com/

FileRun: FileRun is a self-hosted file management and sharing solution that provides a web-based interface, mobile apps, and API access. It offers various features like file versioning, sharing, and access control. More information can be found here: https://filerun.com/

Pydio: Pydio, formerly known as AjaXplorer, is an open-source file sharing and synchronization platform that provides a web interface, desktop clients, and mobile apps. It also offers APIs for managing files and users. More information and installation instructions can be found here: https://pydio.com/

These solutions typically provide more advanced functionality than a simple file upload server, such as user management, access control, file versioning, and sharing features.


Amplitude Matrices (check)

Related issues

Closes #

Checklist

[ ] I am following the contributing guidelines

[ ] Tests are passing

[ ] Lint workflow is passing

[ ] Docs were updated and workflow is passing

out of date - that is earlier attempt to implement matrices. Already in package


Loaders and cursors for DBFlow

This pull request contains the implementation of the following classes to improve Loader support for DBFlow.

FlowCursorAdapter: The purpose of this class is to improve support for CursorAdapter. In particular, we overload the getItem (position) method to return the actual model element at that position instead of a Cursor.
FlowSimpleCursorAdapter: This class allows the SimpleCursorAdapter to easily support DBFlow. Similar to FlowCursorAdapter, we overload the getItem(position) method to return a model element, instead of a Cursor.
FlowCursorLoader: This class integrates DBFLow with the Android Loader framework. In particular, the loader must be created with a Queriable object. The Queriable object is used by the loader to load models. The end result of this loader is a Cursor that can be used like the cursor returned by CursorLoader. A key feature of this loader is the ability to leverage the model observer framework in DBFlow via the (un)registerForContentChanges() methods. Using this methods will configure the loader to observe changes to models of interest. Any change observed will trigger the loader to automatically reload. This simplifies storing data in the database via DBFlow models, and updating corresponding views as a result of the storage updates.
FlowSingleModelLoader: This is the base class for the following single model classes: FlowModelLoader, FlowModelViewLoader, FlowModelQueryLoader. Single model loaders are for queries that return 1 model, not a list of models or a cursor to a list of models. We treat these different from the list loaders because we need to appropriate InstanceAdapter to create the single model, and load it from the cursor. The result of each load is a single, usable model. Similar to the FlowModelLoader, these loaders will automatically reload if the underlying table changes. Also, you can register for updates to models that have nothing to do with the final model. This is of interest when dealing with query models since the final model may be the composition of data from many different tables.

Lastly, each loader has been tested in applications that I am currently using. It would be great if these classes can be incorporated into the next release of DBFlow.

@agrosner Is there anything blocking this PR for being merged?

This PR is a key feature for me.
@hilljh82 is not alone, I'm happy when this PR is merged soon

@hilljh82 please solve the conflict to let us (who wait for this feature) know, if @agrosner ever will merge this PR. Thank you !

@hilljh82 I am trying to use FlowCursorLoader class. It works but sometimes, I get
java.lang.IllegalStateException: Cannot execute task: the task is already running.
at android.support.v4.content.ModernAsyncTask.executeOnExecutor(ModernAsyncTask.java:424)
at android.support.v4.content.AsyncTaskLoader.executePendingTask(AsyncTaskLoader.java:219)
at android.support.v4.content.AsyncTaskLoader.dispatchOnCancelled(AsyncTaskLoader.java:232)
at android.support.v4.content.AsyncTaskLoader$LoadTask.onCancelled(AsyncTaskLoader.java:88)
at android.support.v4.content.ModernAsyncTask.finish(ModernAsyncTask.java:474)
at android.support.v4.content.ModernAsyncTask$InternalHandler.handleMessage(ModernAsyncTask.java:493)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
I have been stuck at this issue, after googling a lot. I am probably doing something wrong.
I wonder, if you ever got this issue and/or know how to fix this?
Thanks !

No, I have not. Do you mind sharing the code where you are creating the
loader?
On Tue, Mar 21, 2017, 6:41 AM Zubin Mehta<EMAIL_ADDRESS>wrote:
@hilljh82 https://github.com/hilljh82 I am trying to use FlowCursorLoader
class. It works but sometimes, I get
java.lang.IllegalStateException: Cannot execute task: the task is already
running.
at
android.support.v4.content.ModernAsyncTask.executeOnExecutor(ModernAsyncTask.java:424)
at
android.support.v4.content.AsyncTaskLoader.executePendingTask(AsyncTaskLoader.java:219)
at
android.support.v4.content.AsyncTaskLoader.dispatchOnCancelled(AsyncTaskLoader.java:232)
at
android.support.v4.content.AsyncTaskLoader$LoadTask.onCancelled(AsyncTaskLoader.java:88)
at
android.support.v4.content.ModernAsyncTask.finish(ModernAsyncTask.java:474)
at
android.support.v4.content.ModernAsyncTask$InternalHandler.handleMessage(ModernAsyncTask.java:493)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
I have been stuck at this issue, after googling a lot. I am probably doing
something wrong.
I wonder, if you ever got this issue and/or know how to fix this?
Thanks !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Raizlabs/DBFlow/pull/1091#issuecomment-288039402, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AB7C_QGHPrDHeGBWoU_rYDskdynf5yR9ks5rn6k9gaJpZM4LA5AA
.

sigh I really hate to see this PR just go to waste.
@agrosner Did you make a final decision on declining this PR yet?

@Harti Yes, it is unfortunate this PR has not been integrated into master—especially since I have twice addressed merge conflicts due to master changing only for my updates to become outdated once again.
If you are interested, I have create a separate project that provides these loaders:
https://github.com/onehilltech/backbone/tree/master/backbone-dbflow
Until this PR gets merged, I have been using this project. It is also a place that I use to implement support classes for DBFlow since the experience with this PR leaves me with little confidence some cool ideas I have will ever be integrated!
In addition, I have been working on another project called backbone-data that is designed to the equivalent of ember-data for Android. It's a work in progress, but its making my life a LOT easier on Android!


Ensure that all media have license_url in meta_data field

Problem

The API expects license_name and license_version to exist in the database. For the license_url, it checks if it exists in the meta_data, and if not, calculates the URL based on the license name and version.
In #66 we made sure that all the items add a valid license_url parameter to the meta_data field.   We can be confident that all data that was added after that PR contains license_url, but we need to check the older data.
Currently, there are 366,974 images that have a NULL value in meta_data, based on the following SQL query:
deploy@localhost:openledger> SELECT
 COUNT(*) as total,
 COUNT(*) FILTER (WHERE meta_data IS NULL) as meta_data,
 FROM image;
-[ RECORD 1 ]-------------------------
total                   | 563667181
meta_data               | 366974
SELECT 1

from the public Slack chat message
Description

By checking the database for license_url and backfilling the values, if necessary, we can clean up the downstream API and frontend code that will expect the license_url to be present as a required field.
Alternatives

We could continue computing the license URL as we do now, which would mean that we have duplicated code across the stack.
Implementation

[ ] 🙋 I would be interested in implementing this feature.

Some more details about this:

meta_data object has two items: raw_license_url and the license_url. They have the same value if the provider gives the canonical license url: starting with https, with valid combination of license name, version, the jurisdiction (for ported licenses) and a trailing slash.
Prior to running any backfillling queries, we should do quick test for objects that there is no items with the following weird state: having the raw_license_url but no license_url in the meta_data. There probably are no such items, but it would be nice to check to be sure.

It would be nice to see if we have any value for license version besides "N/A" (for publicdomain), "2.1" (for ported licenses only?), and "1.0", "2.0", "2.5", "3.0", "4.0".

My understanding is that if we have the license name and version, but no URL, in the database, then the license is not ported (i.e., does not have the jurisdiction at the end of the path, like /jp, /au, /es, because it's not recoverable from the two datapoints. Or we have something like "2.1/jp" for the version value...

I'm trying one other query but in case I forget:
deploy@localhost:openledger> SELECT count(*) FROM image WHERE meta_data->>'license_url' IS NULL and meta_data->>'raw_license_url' IS NOT NULL;
+-------+
| count |
|-------|
| 0     |
+-------+
SELECT 1
Time: 881.233s (14 minutes 41 seconds), executed in: 881.226s (14 minutes 41 seconds)

Looks like we don't have any cases where raw_license_url is not null but license_url is :)


[Outlining] Missing functionality

[ ] menu page for outlining where you can check which language constructs
[ ] you want outlined
[ ] should be collapsed by default
[x] open blocks
[x]  #* blocks
[ ] and for mutually recursive types and functions
[x] lists
[x]  arrays
[ ] attributes
[x] computation expression
[ ] if
[ ] else
[ ] elif
[ ] then
[ ] then in constructors
[x] with in object expressions
[x] member in object expressions
[ ] member in type extensions
[x] match
[ ] lambdas
[x] list comprehensions
[ ] for
[ ] (* *) comments
[ ] /// comment blocks
[ ] // comment blocks

Standard key bindings do not work. No context menu either.

It seems that we're missing a lot of ranges of important constructs. I wonder whether we should make use of DepthParser here; it has lots of functions for processing ranges https://github.com/fsprojects/VisualFSharpPowerTools/blob/master/src/FSharpVSPowerTools.Core/DepthParser.fs ?
There are different ways of using DepthParser: (1) Use their range functions (2) Use their main functions (3) Use their tags from a tag aggregator.
Either way, I think it's still better to recreate the logic one more time.

I can take care of the key binding stuff. A command handler is missing here.

As we plan to add settings for what kind of symbols are outlined and what of them are collapsed by default, we should keep "kind" of block (module level N, let binding level N, DU, class, record, enum, PM etc.) alongside with it. It makes DepthParser unusable for the task.

I understand that people want to control the depth of outlining. Why do we treat some constructs better than others? It seems too complex without added benefits.
Why don't we support all constructs above (if possible) and allow controlling outlining depth?

@dungpa ok
As you working on key bindings, are you sure "Collapse to definitions" will work?

I'm not sure, but it's no harm to try. I'll only get to that in a few days when I have Internet at home.

Keybindings work on my machine. Both via VsVim bindings, and via the normal bindings, and via the Edit menu.

Try it in experimental instance.

https://github.com/fsprojects/VisualFSharpPowerTools/pull/1159

@dkinitiate Maybe another extension has implemented that for you. Possibly Python Tools for VS, NodeJs Tools for VS, PowerShell Tools for VS, etc.

@dungpa  Ctrl+M, Ctrl+X & Ctrl+M, Ctrl+A work for me too

Lots of missing features have been implemented in https://github.com/fsprojects/VisualFSharpPowerTools/pull/1175
What's left is a settings page and handling comments of all kinds.

I'm working on semantically highlighted outlining hints.

@dungpa :+1: :+1: :+1:

Can you treat the scope block?
begin
  let x = 10
  printfn "%d" x
end
(
  let x = 10
  printfn "%d" x
)

This is what customization dialog look like in IDEA:

We have lots of checkboxes in General Options dialog that uses WinForms. If you like more fancy solutions, we can look into Lint Options dialog in WPF :-).

The only missing thing is block comment support. I'm gonna open a separate issue to track it.


Support the SvgTeX support proposal for Pandoc!

I wrote a proposal to extend Pandoc's (X)HTML writer with support for SvgTex. This would allow to inject SVG math directly into the (X)HTML rendered by Pandoc.
Please, express your support in favour of this proposal over at the pandoc forum!

Hi Serge,
I wrote a line to that forum, I hope it will be helpful for you.
Anton
On 8 February 2015 at 01:10, Serge Y. Stroobandt<EMAIL_ADDRESS>wrote:

I wrote a proposal
https://groups.google.com/forum/#!topic/pandoc-discuss/TbOlj9qv94Y to
extend Pandoc
http://johnmacfarlane.net/pandoc/README.html#math-rendering-in-html's
(X)HTML writer with support for SvgTex. This would allow to inject SVG math
directly into the (X)HTML rendered by Pandoc.
Please, express your support in favour of this proposal over at the
pandoc forum!
https://groups.google.com/forum/#!topic/pandoc-discuss/TbOlj9qv94Y
—
Reply to this email directly or view it on GitHub
https://github.com/agrbin/svgtex/issues/11.

I saw that. Thank you very much for everything!

I wrote a Haksell Pandoc JSON filter for SvgTex myself. The code is up at
https://groups.google.com/forum/#!msg/pandoc-discuss/MJggAXUmOII/


selectedDays over several months

Hi again
Could you please advise how I am able to select dates over several months?
As per documentation, I can select days on a single month using the following code:
$scope.selectedDays = [moment().date(13), moment().date(15), moment().date(17)];
How could I go about having preselected dates in another month?
Many thanks

Hi,
you just have to change month :
$scope.selectedDays = [moment.month(2).date(13), ...]

Didn't tested it but you can check the momenJs Doc
Be aware of the warning here : https://momentjs.com/docs/#/get-set/date/


Changelist search field and filters issues

While playing around with the demo, I noticed a few bugs related to search / filters functionality:

If you first apply filters and then apply search filter, it will reset applied filters
The filters submit button resets search filter

I just tested filters and it seems to be okay. Which URL exactly you were testing and what are the steps to reproduce?

I'm comparing to the default Django admin.
Steps to reproduce bug #1:

Apply a filter: https://demo.unfoldadmin.com/admin/formula/driver/?status__exact=ACTIVE
Apply the search field filter and the url is gonna be: https://demo.unfoldadmin.com/admin/formula/driver/?q=Paul. The url should keep original query params, but it doesn't.

Steps to reproduce bug #2:

Apply the search field filter: https://demo.unfoldadmin.com/admin/formula/driver/?q=Paul
Apply a filter, hit submit button and the urls is gonna be: https://demo.unfoldadmin.com/admin/formula/driver/?status__exact=ACTIVE. Same here.

Fixed #566

I just pulled the newest update to my local env and it seems not working?
By checking on the js code, it seems just check the existing q parameter and change its value to searchString. Which works for repeatly searching for different keywords, but back to the default changelist when there's no q param in queryparam it won't add q param to the queryparams causing the website just keeps refreshing itself.
(By the way the ordering parameter ?o= may also need to be preserved somehow? (Though I'm not that sure if it's needed?


[BUG] crc stuck on Linux machine

Machine: Red Hat Enterprise Linux release 8.10 (Ootpa)
The crc command stuck even for crc version or crc help. If reboot the machine, crc back to normal.
This happens frequently and only in this machine.

[cloud-user@rhel-crcqe ~]$ ps -elf | grep crc
0 S cloud-u+   97926       1  0  80   0 - 55650 -      Sep01 ?        00:00:00 /bin/bash crc-e2e/run.sh -targetFolder crc-e2e -junitFilename e2e-junit.xml -bundleLocation /home/cloud-user/OpenshiftLocal/bundle/4.16.7/crc_libvirt_4.16.7_amd64.crcbundle -e2eTagExpression ~@minimal && ~@story_microshift
0 S cloud-u+   97950   97926  0  80   0 - 527961 -     Sep01 ?        00:00:02 ./e2e.test --bundle-location=/home/cloud-user/OpenshiftLocal/bundle/4.16.7/crc_libvirt_4.16.7_amd64.crcbundle --pull-secret-file=/home/cloud-user/crc-e2e/pull-secret --cleanup-home=false --crc-memory= --godog.tags=linux && ~@minimal && ~@story_microshift --godog.format=junit
5 S dnsmasq   105622       1  0  80   0 - 14412 -      Sep01 ?        00:00:02 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/crc.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
1 S root      105623  105622  0  80   0 - 14405 -      Sep01 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/crc.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
0 S cloud-u+  105950    1593  0  80   0 - 528058 -     Sep01 ?        00:00:07 /home/cloud-user/.crc/bin/crc daemon
6 S qemu      106370       1 71  80   0 - 4005494 -    Sep01 ?        19:49:04 /usr/libexec/qemu-kvm -name guest=crc,debug-threads=on -S -object {"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-5-crc/master-key.aes"} -blockdev {"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.cc.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"} -blockdev {"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/crc_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"} -machine pc-q35-rhel8.6.0,usb=off,dump-guest-core=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,memory-backend=pc.ram -accel kvm -cpu host,migratable=on -m 10752 -object {"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":11274289152} -overcommit mem-lock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 0186d168-bfe2-4fa7-a2c4-fb2565bfa5b4 -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=35,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot menu=off,strict=on -device pcie-root-port,port=16,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 -device pcie-root-port,port=17,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 -device pcie-root-port,port=18,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 -device pcie-root-port,port=19,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 -device pcie-root-port,port=20,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 -device pcie-root-port,port=21,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 -device qemu-xhci,id=usb,bus=pci.3,addr=0x0 -blockdev {"driver":"file","filename":"/home/cloud-user/.crc/cache/crc_libvirt_4.16.7_amd64/crc.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-2-format","read-only":true,"driver":"qcow2","file":"libvirt-2-storage","backing":null} -blockdev {"driver":"file","filename":"/home/cloud-user/.crc/machines/crc/crc.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage","backing":"libvirt-2-format"} -device virtio-blk-pci,bus=pci.4,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 -chardev socket,id=chr-vu-fs0,path=/var/lib/libvirt/qemu/domain-5-crc/fs0-fs.sock -device vhost-user-fs-pci,id=fs0,chardev=chr-vu-fs0,tag=dir0,bus=pci.1,addr=0x0 -netdev tap,fd=36,id=hostnet0,vhost=on,vhostfd=38 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:fd:fc:07:21:82,bus=pci.2,addr=0x0 -chardev stdio,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -audiodev {"id":"audio1","driver":"none"} -vnc <IP_ADDRESS>:0,audiodev=audio1 -device cirrus-vga,id=video0,bus=pcie.0,addr=0x1 -object {"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"} -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.5,addr=0x0 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on
0 S cloud-u+  106704  106645  0  80   0 - 509433 -     Sep01 ?        00:00:02 crc podman-env
0 S cloud-u+  121100       1  0  80   0 - 55650 -      Sep01 ?        00:00:00 /bin/sh crc-support/run.sh main https://crcqe-asia.s3.amazonaws.com/nightly/microshift/4.16.7/20240901/RHEL-8.10 crc-linux-amd64.tar.xz.sha256sum /home/cloud-user/OpenshiftLocal/crc/main true true crc true false
0 S cloud-u+  121123  121100  0  80   0 - 546235 -     Sep01 ?        00:00:00 crc cleanup
0 S cloud-u+  124218       1  0  80   0 - 55650 -      02:38 ?        00:00:00 /bin/sh crc-support/run.sh main https://crcqe-asia.s3.amazonaws.com/nightly/crc/20240902/RHEL-8.10 crc-linux-amd64.tar.xz.sha256sum /home/cloud-user/OpenshiftLocal/crc/main true true crc true false
0 S cloud-u+  124241  124218  0  80   0 - 490872 -     02:38 ?        00:00:00 crc cleanup
0 S cloud-u+  128044  127877  0  80   0 - 55496 -      07:33 pts/0    00:00:00 grep --color=auto crc

@anjannath made some investigation on the machine:
crc makes use of the secrets service of dbus on linux to store the pull-secret, but to unlock the secrets collection it needs a password, from a GUI you'll see a dialog asking you to enter the password, but while on a SSH session this is not possible so its stuck.

@anjannath does this happen when pull-secret-file is used as part of config?

@anjannath does this happen when pull-secret-file is used as part of config?

this happens early on when we want to initalize the config object, when executing this line: https://github.com/crc-org/crc/blob/4e80c4c48c6c0c13d0399cc0436a0a38d9dda0a2/cmd/crc/cmd/root.go#L152
this tries to determine if the secrets store is accessible by trying to store a value, but if the login secrets collection is locked, and crc is being run in an ssh session then it gets stuck, because the prompt to unlock the keyring is a GUI prompt

Agreed with @praveenkumar. Even if we want to triage and resolve this (crc stuck with accessing pull request) which probably is just timeout and warn about the problem (no access to secret service: Something for user to resolve) --pull-secret-file is a valid workaround, as we don't want any prompt for a non interactive session.

This'll be stuck even when we use the --pull-secret-file flag or set it before hand using crc config set pull-secret-file
from crc we should at least let the user know that the secret service is not accessible and should not block forever when failing to access the keyring

I check documentation and a collection may or may not ask for a prompt
https://www.freedesktop.org/wiki/Specifications/secret-storage-spec/secrets-api-0.1.html#eggdbus-method-org.freedesktop.Secrets.Service.CreateCollection
I did a quick test and it always ask me for prompt:
$ cat keyring-create.py
#!/usr/bin/env python

from pydbus import SessionBus
from gi.repository import GLib

collection_name = "crc-test"
properties = {"org.freedesktop.Secret.Collection.Label": GLib.Variant.new_string(collection_name)}

ses_bus = SessionBus()
service_name = 'org.freedesktop.secrets'
secret_service = ses_bus.get(service_name, '/org/freedesktop/secrets')

mainloop = GLib.MainLoop()

def _received_pw(dismissed, object_path):
    print("dismissed?", dismissed, object_path)
    mainloop.quit()

def show_prompt(prompt_id):
    prompt = ses_bus.get(service_name, prompt_id)
    prompt.onCompleted = _received_pw
    prompt.Prompt("random_id_for_window")
    mainloop.run()
    print('Prompt closed')

def add_my_collection():
    result = secret_service.CreateCollection(properties, "")
    print("result from CreateCollection", result)
    if result[1] != '/':
        show_prompt(result[1])

def main():
    add_my_collection()

if __name__ == '__main__':
    main()

$ cat keyring-list.py
#!/usr/bin/env python

from pydbus import SessionBus
from gi.repository import GLib

collection_name = "MyTestCollection"
properties = {"org.freedesktop.Secret.Collection.Label": GLib.Variant.new_string(collection_name)}

ses_bus = SessionBus()
service_name = 'org.freedesktop.secrets'
secret_service = ses_bus.get(service_name, '/org/freedesktop/secrets')

mainloop = GLib.MainLoop()

def list_collections():
    print('print collection names')
    for test_collect in secret_service.Collections:
        print(test_collect)

def main():
    list_collections()

if __name__ == '__main__':
    main()

$ cat keyring-delete.py
#!/usr/bin/env python

from pydbus import SessionBus
from gi.repository import GLib

collection_name = "crc-test"
properties = {"org.freedesktop.Secret.Collection.Label": GLib.Variant.new_string(collection_name)}

ses_bus = SessionBus()
service_name = 'org.freedesktop.secrets'
secret_service = ses_bus.get(service_name, '/org/freedesktop/secrets')

mainloop = GLib.MainLoop()

def _received_pw(dismissed, object_path):
    print("dismissed?", dismissed, object_path)
    mainloop.quit()

def show_prompt(prompt_id):
    prompt = ses_bus.get(service_name, prompt_id)
    prompt.onCompleted = _received_pw
    prompt.Prompt("random_id_for_window")
    mainloop.run()
    print('Prompt closed')

def add_my_collection():
    result = secret_service.CreateCollection(properties, "")
    print("result from CreateCollection", result)
    if result[1] != '/':
        show_prompt(result[1])

def remove_my_collection():
    print('print collection names')
    for test_collect in secret_service.Collections:
        print(test_collect)
        #if collection_name in test_collect:
        if True:
            print('deleting collection')
            this_collection = ses_bus.get(service_name, test_collect)
            result = this_collection.Delete()
            print(result)
            if result != '/':
                show_prompt(result)

def main():
    #add_my_collection()
    remove_my_collection()

if __name__ == '__main__':
    main()

but after create two same collections, they get a different suffix:
$ ./keyring-create.py
result from CreateCollection ('/', '/org/freedesktop/secrets/prompt/p25')
dismissed? False /org/freedesktop/secrets/collection/crc_2dtest
Prompt closed
[alberto@fedora crc]$ ./keyring-create.py
result from CreateCollection ('/', '/org/freedesktop/secrets/prompt/p26')
dismissed? False /org/freedesktop/secrets/collection/crc_2dtest_5f1
Prompt closed
[alberto@fedora crc]$ ./keyring-list.py
print collection names
/org/freedesktop/secrets/collection/crc_2dtest_5f1
/org/freedesktop/secrets/collection/crc_2dtest

And it always ask for a prompt, so I'm not sure how crc can access a collection without prompting, or a locked collection can ask for prompt and block the crc execution
Can we patch the crc cli to add extra traces on CreateCollection or CreateItem to check when it needs a prompt and fail like this?

And it always ask for a prompt, so I'm not sure how crc can access a collection without prompting, or a locked collection can ask for prompt and block the crc execution

for crc we are not creating a new collection, but using the pre-existing login collection (actually this is decided for us by the go module we are using)
/org/freedesktop/secrets/collection/login or /org/freedesktop/secrets/aliases/default depending on which exists.
maybe i had this wrong observation, but i remember from testing this earlier that on a GUI flow where an users types in their password to login will have the login collection automatically unlocked after successful login

but while on a SSH session this is not possible so its stuck.

On my headless RHEL9 machine, I get an error when it tries to access the secret:
INFO Loading bundle: crc_microshift_libvirt_4.16.0_amd64...
DEBU Cannot load secret from configuration: empty path
DEBU Cannot load secret from keyring: The name is not activatable
CRC requires a pull secret to download content from Red Hat.
You can copy it from the Pull Secret section of https://console.redhat.com/openshift/create/local.
? Please enter the pull secret

Similar error with keyring-list.py:
$ python3 ./keyring-list.py
Traceback (most recent call last):
  File "/home/teuf/dev/crc/./keyring-list.py", line 11, in <module>
    secret_service = ses_bus.get(service_name, '/org/freedesktop/secrets')
  File "/home/teuf/.local/lib/python3.9/site-packages/pydbus/proxy.py", line 44, in get
    ret = self.con.call_sync(
gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable (2)

If I install a package providing /org/freedesktop/secrets maybe I'll start seeing these freezes as well.

pkg/crc/cluster/pullsecret.go
const helpMessage = `CRC requires a pull secret to download content from Red Hat.

https://github.com/crc-org/crc/blob/main/pkg/crc/cluster/pullsecret.go#L168
pkg/crc/cluster/pullsecret.go
53:21:	pullSecret, err := promptUserForSecret()

https://github.com/crc-org/crc/blob/main/pkg/crc/cluster/pullsecret.go#L53
Looks like crc detects when session is non interactive, so it cannot prompt and ask for pull-request-file directly

Using waypipe we get access to graphical interface from a ssh wayland session.
Removing current login storage and restarting it now password is know and gnome-keyring-daemon --replace --unlock works.
That's still a workaround until we identify what locks the login collection.
$ is-collection-locked login
method return time=1726572308.964656 sender=:1.1013 -> destination=:1.1028 serial=51 reply_serial=2
   variant       boolean true

$ echo -n "mypassword" | gnome-keyring-daemon -r --unlock
discover_other_daemon: 0** Message: 13:25:13.345: Replacing daemon, using directory: /run/user/1000/keyring
GNOME_KEYRING_CONTROL=/run/user/1000/keyring
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh

$ is-collection-locked login
method return time=1726572316.108909 sender=:1.1029 -> destination=:1.1030 serial=21 reply_serial=2
   variant       boolean false

@cfergeau can you check if you have this service available?

Hadn't seen this request before, but:
$ busctl list --user | grep secrets
$

After rebuild key storage, it was not locked again. there's a log checking each second
We might close this issue, or keep open to continue tracking it


chore: disable test matrix when enable_debug_vnc or enable_debug_tmate

Only run stable/stable nvim/kitty when debugging and skip other tests. This avoids conflict with ngrok and unnecessary workloads.

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


vdebug always stops at the entry point of the code instead of directly stopping at the set breakpoint

Using vdebug with nvim and xdebug
vdebug always stops at the entry point of the code instead of directly stopping at the set breakpoint

@asadsureify that is default behaviour, if you don't want that disable break_on_open
see https://github.com/vim-vdebug/vdebug/blob/master/doc/Vdebug.txt#L864
to change this you can add:
" vdebug settings
let g:vdebug_options = {
    \'break_on_open': 0
\}

in your init.vim

thanks


[FixedMap/EnumMap] Add support for references for map-values

... to match std::map behavior.

Fixed in #7


nixos: init LACT module

Description of changes
Fixes #317544.
Leaving in draft - Might need a wantedBy addition. I had to manually start it.
Seems to work. Things that were disabled before are enabled, though it still doesn't detect my mobile gpu fan speed.
Someone else can finish this if they want to test/fix wantedBy before I get to it.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@colemickens My own module implements a few more things, like allowing you to configure it through Nix, allowing you to enable GPU overclocking, and setting the systemd unit's niceness level, like is done upstream. You're welcome to integrate it.

Just throwing in my hat aswell ^^'
I like @poperigby's usage of option defaults on the settings over my defaults.yaml. Although we should find a way to keep this up to date somehow.


C# tutorials - attributes

Show how to provide additional information about programming elements such as types, fields, methods, and properties by using attributes.
Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

I'd be interested in writing this tutorial. Anything in particular that needs to be covered? The basics of how to write one, conventions, and how to use it?
Attributes really don't do anything by themselves (with some exceptions like CallerMemberName, CallerFilePath, and some others that I can't think of right now). So this would be a reflection-heavy tutorial?
Certainly a lot of tools/frameworks use them: MVC, Json.Net, EF, NUnit, and so on, and it might be worthwhile mentioning them as an example.

@mgroves Thanks for wanting to take this on! I apologize for the slightly late reply. I was traveling.
I think this should cover:

How to add attributes to code.
How to create new attribute types.
How to restrict attribute usage to Class, Method, etc.
How to find Attributes attached to a code element (which would use reflection.)
Examples of a few common attributes in the BCL (obsolete, conditional, and so on).

Let me now if you have want early reviews of outlines or drafts.

Sounds great. Should I just submit pull request for your review/feedback?

That would be great. Just @ - message me when you submit it.


(Suggestion) Allow and check for null values in HttpUrl.parse()

Using some of our code as an example since we've run into this recently:
Consider the case where you're consuming JSON data from an API, and you want to extract metadata from a url field. HttpUrl is great for this, but it assumes that the passed in value is not null (it calls .length() early on).
The result is that you have to do two null checks before you can safely start real work.
if (url != null) {
  HttpUrl httpUrl = HttpUrl.parse(url);
  if (httpUrl != null) {
    // Do stuff
  }
}

If it is lenient enough to take empty strings, I think it would make sense to also accept null values (the result is the same right?)
HttpUrl httpUrl = HttpUrl.parse(url);
if (httpUrl != null) {
  // Do stuff
}

What do you think? Obviously it's a trivial issue, but I think this solution would prove useful to the many that allowed try/catch + MalformedUrlException to catch potentially null values as well. It should be fairly easy to add in, but I'd be happy to submit a PR if you're open to it.

I don't like it because it hides bugs. In particular it collapses two cars together:

I have a URL, but it's not valid
I don't have a URL

You could imagine your JSON app failing because you mistyped "url" as "ur1" but not crashing.

I guess that's fair. I think it's also valid for the case of "I might have a URL and it might be invalid", but we might be an overly specific use case.