Cannot insert import

If I type some code and want to add an import for something, I can type CMD + SHIFT + A, and get the action menu including "add import for..." as expected for an unimported item. However, when I select that item, the import is not added.
I didn't see this as a known issue in the readme, sorry if it's listed somewhere and I missed it.

Hi there! Thanks for the report but I'm not really sure what are you referring to.
Is this action menu provided with vanilla Nova? I wasn't able to find it with the shortcut you pointed out or inside Nova as a whole. Would you mind be more descriptive about the process or even better attaching some screenshost?
Thanks a lot!

Hi, @tommasongr thanks for your quick reply. I'm very new to Nova, so I'm not 100% sure 😅
I am using only the Vue and TypeScript plugins. After disabling the TS plugin, the action still works:

You can get this action menu by placing the cursor on the unimported item and then either clicking the "lightbulb" or pressing "CMD + SHIFT + A".

Hi there! Sorry for the delay.
I took the weekend for a big update/refactor #29. Now a lot of options for configuring the Vue Language Server (VLS) are exposed.
I'm not really sure what is the cause of your issue. Probably is something out of the scope of the extension. Maybe a problem of Nova or how Nova and the Vue Language Server communicates.
I tried to upgrade the working version of VLS to the latest release but I've encountered some breaking issues. I need to investigate on it.
Anyway I'm sorry that the problem isn't solved but maybe you can try to tweak the new preferences and see if something changes 🤷🏼♂
I'll keep the issue open for now. Thanks

You're doing this for free! Take as long as you want to reply, hahah 😄
Thanks for following up. Maybe if I can find some time it would be fun to delve into this a bit deeper, and see what the root cause is... time is, of course, the issue.

Also, just to clarify, does auto-import work for you?

ahaha Thanks!
You are free to investigate as much as you want! I would love to have some help, also because most of the time I have no idea what I'm doing 😂
With the last update I basically rewritten all the Javascript implementation and add a lot of comments to explain as best as I can what is going on. If you decide to take a look that would help I hope.
Anyway auto-import doesn't work for me either... Probably @yoyo930021 is the right person to ask for some insights on this

Sorry, closed by accident ahaha

Thanks a lot. I think you're right that it's probably a bug (or just missing feature) in Nova's language client.

It works fine in vscode.
I don't know how to trace nova and language serve messages. =_=
It can help us to find questions.
Probably reason:

Vue LSP returns wrong data or unsupport date when codeAction.
Vue LSP has some wrong with special env.

Thanks @yoyo930021 I'll reach out to @panicinc and see if they are aware of this issue

Anyway @yoyo930021 I selected the DEBUG log level, but I don't see any useful prompts.
This is all:
Vue Language Server[10:55:34.844000] [INFO ] Find node_modules paths in /Volumes/Macintosh HD/Users/tommaso/Studies/vue/hello-vue3 - 95ms

Vue Language Server[10:55:34.845000] [INFO ] Loaded bundled<EMAIL_ADDRESS>
Vue Language Server[10:55:34.893000] [INFO ] Loaded<EMAIL_ADDRESS>from /Volumes/Macintosh HD/Users/tommaso/Studies/vue/hello-vue3/node_modules/prettier.

Vue Language Server[10:55:34.893000] [INFO ] Loaded bundled @starptech/prettyhtml.

Vue Language Server[10:55:34.894000] [INFO ] Loaded bundled prettier-eslint.

Vue Language Server[10:55:34.894000] [INFO ] Loaded bundled prettier-tslint.

Vue Language Server[10:55:34.894000] [INFO ] Loaded bundled stylus-supremacy.

Vue Language Server[10:55:34.938000] [INFO ] Loaded bundled @prettier/plugin-pug.

Vue Language Server[10:55:34.938000] Vetur initialized

When I fire the import action nothing is logged in the console. Is that right?

Another possible factor is that currently I'm using VLS v0.5.7 instead of the latest v0.7.2. I tried to upgrade but I encounted some breaking issues. This is what I get in the console when I try to run the v0.7.2:
Vue Language Server[11:04:53.713000] Vetur initialized

Vue Language Server[11:04:53.718000] Registering request handler for textDocument/formatting failed.

Vue Language Server[11:04:53.718000] (node:3468) UnhandledPromiseRejectionWarning: Error: Invalid parameter: registrations
Registrations must be of type Registration[]
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33573
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33868
    at Immediate.<anonymous> (/Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:34233)
    at processImmediate (internal/timers.js:461:21)
(Use `node --trace-warnings ...` to show where the warning was created)

Vue Language Server[11:04:53.718000] (node:3468) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

Vue Language Server[11:04:53.718000] (node:3468) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Vue Language Server[11:04:53.719000] Registering request handler for workspace/didChangeWorkspaceFolders failed.

Vue Language Server[11:04:53.719000] (node:3468) UnhandledPromiseRejectionWarning: Error: Invalid parameter: registrations
Registrations must be of type Registration[]
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33573
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33868
    at Immediate.<anonymous> (/Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:34233)
    at processImmediate (internal/timers.js:461:21)

Vue Language Server[11:04:53.719000] (node:3468) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

Have any idea of what is going on? Thanks

Anyway @yoyo930021 I selected the DEBUG log level, but I don't see any useful prompts.
This is all:
Vue Language Server[10:55:34.844000] [INFO ] Find node_modules paths in /Volumes/Macintosh HD/Users/tommaso/Studies/vue/hello-vue3 - 95ms

Vue Language Server[10:55:34.845000] [INFO ] Loaded bundled<EMAIL_ADDRESS>
Vue Language Server[10:55:34.893000] [INFO ] Loaded<EMAIL_ADDRESS>from /Volumes/Macintosh HD/Users/tommaso/Studies/vue/hello-vue3/node_modules/prettier.

Vue Language Server[10:55:34.893000] [INFO ] Loaded bundled @starptech/prettyhtml.

Vue Language Server[10:55:34.894000] [INFO ] Loaded bundled prettier-eslint.

Vue Language Server[10:55:34.894000] [INFO ] Loaded bundled prettier-tslint.

Vue Language Server[10:55:34.894000] [INFO ] Loaded bundled stylus-supremacy.

Vue Language Server[10:55:34.938000] [INFO ] Loaded bundled @prettier/plugin-pug.

Vue Language Server[10:55:34.938000] Vetur initialized

When I fire the import action nothing is logged in the console. Is that right?

The log level only provides minimal information.
I want this information.
https://github.com/vuejs/vetur/wiki/Collecting-LSP-log
But this option only works in vscode language client.

Another possible factor is that currently I'm using VLS v0.5.7 instead of the latest v0.7.2. I tried to upgrade but I encounted some breaking issues. This is what I get in the console when I try to run the v0.7.2:
Vue Language Server[11:04:53.713000] Vetur initialized

Vue Language Server[11:04:53.718000] Registering request handler for textDocument/formatting failed.

Vue Language Server[11:04:53.718000] (node:3468) UnhandledPromiseRejectionWarning: Error: Invalid parameter: registrations
Registrations must be of type Registration[]
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33573
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33868
    at Immediate.<anonymous> (/Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:34233)
    at processImmediate (internal/timers.js:461:21)
(Use `node --trace-warnings ...` to show where the warning was created)

Vue Language Server[11:04:53.718000] (node:3468) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

Vue Language Server[11:04:53.718000] (node:3468) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Vue Language Server[11:04:53.719000] Registering request handler for workspace/didChangeWorkspaceFolders failed.

Vue Language Server[11:04:53.719000] (node:3468) UnhandledPromiseRejectionWarning: Error: Invalid parameter: registrations
Registrations must be of type Registration[]
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33573
    at /Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:33868
    at Immediate.<anonymous> (/Users/tommaso/Library/Application Support/Nova/Extensions/com.tommasonegri.Vue/dependencyManagement/node_modules/vls/dist/vueServerMain.js:1:34233)
    at processImmediate (internal/timers.js:461:21)

Vue Language Server[11:04:53.719000] (node:3468) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

Have any idea of what is going on? Thanks

I think it's a nova language client problem.
Relative issue:
https://github.com/bmewburn/vscode-intelephense/issues/1534
https://microsoft.github.io/language-server-protocol/specifications/specification-current/#client_registerCapability
This request is wrong from nova language client.

Thanks! I'll report it


Fix Issue #815

Fixes issue #815 by evaluating each of the user_expressions and returning them in an execute_result.

Please advise on how best to test this.  I didn't see a unit test in test/execute_request.jl that looked like an obvious starting point for a test of the user_expressions functionality.  I did test it ad-hoc in the terminal, would a brief write-up of that be good enough?

@minrk, I have to say that I find the documentation of user_expressions pretty vague.  Is the execute_reply supposed to be a dictionary of execute_reply-like contents, or display_data-like contents?  e.g. is it supposed to have an execution_count field?

@bzinberg, not that according to the docs we should check for exceptions, with something like:
try
    value = include_string(current_module[], ex)
    user_expressions[v] = Dict("data" => display_dict(value), "metadata" => metadata(value))
catch e
    user_expressions[v] = error_content(e, catch_backtrace())
end

Thanks Steven for the review!  Incorporated your suggestions above.  Agreed that it would be great to clarify the API docs.  It might make sense to wait for that clarification before merging this PR.

On second thought, I think we can reasonably decouple this PR from the task of updating the API docs (which should also happen, but without a blocking dependency).  We can do this by assuming the API allows whatever the IPython kernel does -- quoting here:

Kernel Zero is IPython, which you can get through ipykernel, and is still a
dependency of jupyter. The IPython kernel can be thought of as a reference
implementation, as CPython is for Python.

Here is what the IPython kernel does:
Via this line, the content of the user_expressions is the output of user_expressions(...).
For user_expressions that evaluate successfully, the formatting is controlled by _format_user_obj, which produces something that looks like a display_data except that it also has a status field.
For user_expressions that produce an exception, the formatting is controlled by this function which returns an exception object with fields status, ename, evalue, traceback as described in the API doc.
I have updated the IJulia implementation to produce these formats.  @stevengj, how does this sound to you?

LGTM.


New adapter: Appstock

🏷 Type of documentation

[x] new bid adapter
[ ] update bid adapter
[ ] new feature
[ ] text edit only (wording, typos)
[ ] bugfix (code examples)
[ ] new examples

📋 Checklist

[x] Related pull requests in prebid.js or server are linked -> Paste link in this list or reference it on the PR itself
[x] For new adapters check submitting your adapter docs

@imedvedko - this looks fine, but many bid adapters include information about how interested publishers can register.

@bretg Thanks for bringing it to my attention. I added sales contact email in this commit: https://github.com/prebid/prebid.github.io/pull/4822/commits/228195a9a55276aad533b3b508112d446c6e3438


Move networkx graph schema from client to engine

What do these changes do?
Move networkx graph schema from client to engine

Related issue number

Fixes #1451

Codecov Report

Merging #1485 (4e19b81) into main (2bc40ad) will decrease coverage by 8.23%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1485      +/-   ##
==========================================
- Coverage   73.50%   65.27%   -8.24%
==========================================
  Files          88       88
  Lines        9738     9738
==========================================
- Hits         7158     6356     -802
- Misses       2580     3382     +802

Impacted Files
Coverage Δ

python/graphscope/framework/dag_utils.py
56.17% <ø> (-5.87%)
:arrow_down:

python/graphscope/framework/graph_schema.py
62.35% <ø> (-0.24%)
:arrow_down:

...aphscope/tests/kubernetes/test_resource_builder.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...on/graphscope/tests/kubernetes/test_demo_script.py
0.00% <0.00%> (-91.75%)
:arrow_down:

python/graphscope/deploy/kubernetes/utils.py
11.90% <0.00%> (-58.58%)
:arrow_down:

python/graphscope/tests/unittest/test_java_app.py
49.33% <0.00%> (-50.67%)
:arrow_down:

python/graphscope/deploy/kubernetes/cluster.py
23.55% <0.00%> (-50.20%)
:arrow_down:

python/graphscope/analytical/app/java_app.py
24.24% <0.00%> (-44.95%)
:arrow_down:

...thon/graphscope/tests/kubernetes/test_with_mars.py
0.00% <0.00%> (-44.83%)
:arrow_down:

python/graphscope/interactive/query.py
41.12% <0.00%> (-38.71%)
:arrow_down:

... and 12 more

Continue to review full report at Codecov.

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


iOS: Invalid Pinboard token returns "error: (null)" and there is no outside way to reset the token in the device keychain.

https://getsatisfaction.com/newsblur/topics/ios_app_when_sending_to_pinboard_unable_to_reset_api_token?utm_content=reply_link&utm_medium=email&utm_source=reply_notification#reply_13329638
Erroneous Pinboard tokens aren't detected and don't get deleted from the iOS device keychain. This entry in the keychain persists even after application uninstallation and reinstallation. If the user inputs an invalid API key or changes their key on Pinboard, their only recourse to restore this functionality is to:

Jailbreak the device and edit the keychain items to remove the offending database entry.
Wipe the device and reinstall everything without using backups.
Restore the backup to a similar iOS device and then restore that backup to the original device. This will invalidate the original device's keychain en masse.

Good thing we moved to native iOS share controls in iOS 7 in 2014. Thanks for reporting this!


"ServiceNow Change Management" - cannot be used as Environment gate on Azure Devops Server 2020

The extension ServiceNow Change Management can be used as an environment gate.
This works in Azure Pipelines (cloud) but not in Azure Devops Server 2020 . In ADO-Server ServiceNow gates shows up in Classic Pipelines but not in the Environment "Add check" list.
Azure DevOps Server: Dev18.M170.6
ServiceNow Change Management Extension: 4.176.1

cc @pavanvamsi3

@shashban This feature is not available currently in Server 2020, what are your thoughts here?

This was implemented after Server 2020, this will be available in the next Server release.


Modify Checklist in Projects module, under Planning tab

In the Projects module, under Planning tab:
Please replace the item that says "Verify site resources needed” with “Coordinate with Site Host - Sign-in sheets, iPad/phone access for Endis, food & drinks, etc."
Please add an item immediately below it that says “Coordinate with Project Advocate - Specific ministry opportunities with client/volunteers, other needs, pray"

I added the two fields and removed the one for verification. It might require a restart of the database.

Looks good!


can not auto scroll in chrome built-in pdf viewer

thank you for your great works.
I'v met a problem: when i open pdf file in chrome, it's multiple pages, but this capture tool just get one page instead of multiple pages with auto scroll.
I'v noticed that, the page's html has just one "embed" element and it occupies whole body, so document.body.clientHeight....etc is always 1 page height, but the embed element can scroll internally.
hope this can help you fix it if you have time.

Hrm… I didn’t consider PDF files, since they’re essentially printable/emailable files already (while a web page is not a standalone file). Sounds like you’re saying chrome creates a special element for this… is it scrollable via JavaScript? I’d be open to a pull request that checks for this special case and handles the scrolling inside the embed instead of the page (or in conjunction with the page? e.g., if a whole page doesn’t fit in the screen, do both the embed and the screen have to scroll?)

Thanks for your quick response.

I didn’t consider PDF files, since they’re essentially
printable/emailable files already

Some pdf file are not permitted to print. This became a trick.
Not only the embed, some html use single div to do internal scrolling. So i
suguest that do not depennds on tag name.

is it scrollable via JavaScript?
I am not sure, it should be scrollable via java script because the embed is
expanded to another html like ihtml.

do both the embed and the screen have to scroll?

No, only the embed scroll.
Regards.
2015年9月10日木曜日、Peter<EMAIL_ADDRESS>
Hrm… I didn’t consider PDF files, since they’re essentially
printable/emailable files already (while a web page is not a standalone
file). Sounds like you’re saying chrome creates a special element for this…
is it scrollable via JavaScript? I’d be open to a pull request that checks
for this special case and handles the scrolling inside the embed instead of
the page (or in conjunction with the page? e.g., if a whole page doesn’t
fit in the screen, do both the embed and the screen have to scroll?)
—
Reply to this email directly or view it on GitHub
https://github.com/mrcoles/full-page-screen-capture-chrome-extension/issues/37#issuecomment-139248830
.

Unfortunately it’s all hidden inside a mysterious embed element that doesn’t expose any methods to manipulate it, so I don’t think I can scroll it via the extension :(

thanks.
2016年5月9日月曜日、Peter<EMAIL_ADDRESS>
Unfortunately it’s all hidden inside a mysterious embed element that
doesn’t expose any methods to manipulate it, so I don’t think I can scroll
it via the extension :(
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/mrcoles/full-page-screen-capture-chrome-extension/issues/37#issuecomment-217794410


Encapsulate WebGPU - 2D

Create a 2D API backed by WebGPU and WGSL

Define an API for drawing in a 2D Context.
2D API Operations

Operation
Description
Supports

get_context
Provides a canvas that can be drawn on.

clear
Clears the canvas with a provided color.
color

pan
Moves the 2D camera.
direction, distance

circle
Draws a circle.
center, radius, stroke, fill

square
Draws an axis-aligned square.
origin=(CENTER, UPPER_LEFT, UPPER_RIGHT, ...) , edge_size: float, stroke, fill

rect
Draws an axis-aligned rectangle.
origin=(CENTER, UPPER_LEFT, UPPER_RIGHT, ...) , edge_size: float, stroke, fill

poly
Draws a polygon

line
Draws a line

bézier
Draws a curve.

spline
Draws a spline curve.

text
Draws text.

Advanced Features

Parallax Rendering
Sprite Sheet based animation.
Rendering Text

Considerations

Representing shaders in a Python code project. I want syntax highlighting and code hints.

References

Processing 2D API
three.js 2D API
vello 2D Graphics Engine

Resources
Rectangles

Blurred rounded rectangles

Curves

Coding Curves
Parallel curves of cubic Béziers
Simplifying Bézier paths
Cleaner parallel curves with Euler spirals
Fitting cubic Bézier curves
Flattening quadratic Béziers
An update on spline licensing
spiro, A Python spline library.
How long is that Bézier?
A new spline
Secrets of smooth Béziers revealed

Engine Architecture

Fast 2D rendering on GPU
A sort-middle architecture for 2D graphics
2D Graphics on Modern GPU
A crate I want: 2d graphics

Text Rendering

Sub-pixel Distance Transform

Tooling

wgsl-analyzer VSCode Extension
Debugging wgpu Applications

Switching to a GPU based rendering is going to require making some changes to the overall architecture.

The way that renderers are currently declared will need to be replaced.
The default sims renderer is going to need to leverage instancing for having a large number of sims running around.
What part of the pipeline can leverage compute shaders?
Panning and zooming should be easier with a camera model.

Debugging
Debugging shaders is a major pain in the Python ecosystem. The debug tools that work with Rust don't work with Python. I want a way to get debug information out of shaders.
Ideas

Have a debug buffer that is available to all shaders in a pipeline. Use this buffer to write debug information.
Option A: Write the debug buffer to the STDOUT. This can be directed to the terminal or a log file.
Option B: Have an additional render pipeline that writes the debug information into screen space.
Option C: Make the primary render pipeline be deferred. Each render pass writes to a temporary texture. An optional DEBUG texture can be used to overlay debug text over the frame.

Challenges

If each vert/frag shader can write to a debug buffer then the data generated could quickly get larger than what can be displaced on screen.
I haven't solved how to displaying text with WebGPU yet.


support for IBC 3.18.0, timezone support, update config.ini template …

support for IBC 3.18.0
timezone support for IBGateway
update IBC config.ini template
add new env variables to support IBC 3.18.0 funcionality

kind remiender

Why not change the dockerfile to use 3.18.0?

@gnzsnz Surprised this was closed.

I have forked and heavily modified this repo.
If you are interested check it here gnzsnz/ib-gateway-docker
On Tue, 20 Feb 2024 at 02:03 Nate Halsey @.***> wrote:

@gnzsnz https://github.com/gnzsnz Surprised this was closed.
—
Reply to this email directly, view it on GitHub
https://github.com/UnusualAlpha/ib-gateway-docker/pull/97#issuecomment-1953332245,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB75CQQB2SEEVYY676O4QKTYUPY7NAVCNFSM6AAAAAA3NICK7KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJTGMZTEMRUGU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Write a TypeScript program to swap two numbers

Description
Write a TypeScript program to swap two numbers
Input  : 10 20
Output : 20 10

How to contribute

Save the solution in SwapTwoNumbers.ts file
Add SwapTwoNumbers.ts file in swap-two-numbers folder

!assign


Handle multi use token for reset password

Backport of: https://github.com/apereo/cas/pull/5499
It is fully backward compatible.

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

@apereocas-bot runci


Realtime detection

Hello, looks very good, can we have an example using opencv or any way of realtime detection?
Great job.

Hi, thanks. You can very easily adapt to process frames from a stream/video/camera/etc.:
import cv2

from fast_alpr import ALPR

alpr = ALPR(
    detector_model="yolo-v9-t-384-license-plate-end2end",
    ocr_model="european-plates-mobile-vit-v2-model",
    ocr_providers=["CPUExecutionProvider"]  # If you want to run the OCR on CPU ...
    # ... any other params, see the docs ...
)

# Open a video capture from camera, stream, video, etc.
# cap = cv2.VideoCapture("rtsp://user:pass@ip:port")  # RTSP Stream
# cap = cv2.VideoCapture(0)  # Default camera
cap = cv2.VideoCapture("path/to/vid.mp4")  # Default camera

if not cap.isOpened():
    print("Error: Unable to open video capture.")
    raise SystemExit

while True:
    ret, frame = cap.read()
    if not ret:
        print("Error: Unable to read frame.")
        break

    annotated_frame = alpr.draw_predictions(frame)
    cv2.imshow("ALPR Real-Time Detection", annotated_frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()


Update constraints.md

What are you changing in this pull request and why?
Revises the verbiage based on a recent conversation with the core team, where multiple column-level primary key constraints actually fails silently in 1.7, but will generate a warning in 1.8 as unsupported.
We are not clear about this today in docs, leading to potential
Checklist

[ ] Review the Content style guide so my content adheres to these guidelines.
[ ] For docs versioning, review how to version a whole page and version a block of content.
[ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."

Adding or removing pages (delete if not applicable):

[ ] Add/remove page in website/sidebars.js
[ ] Provide a unique filename for new pages
[ ] Add an entry for deleted pages in website/vercel.json
[ ] Run link testing locally with npm run build to update the links that point to deleted pages

See https://github.com/dbt-labs/dbt-bigquery/issues/1016#issuecomment-1871134412 where a user ran into this (and here where we responded with an example).


Pydantic constr with regex argument now gives an exception

  File "/Users/andrewlahiff/Work/Observability/c73/client/simvue/models.py", line 8, in <module>
    FolderStrRegex = constr(regex=r"^/.*")
TypeError: constr() got an unexpected keyword argument 'regex'

Seems to be introduced in Pydantic 2

This may no longer be relevant as Krisitian has migrated to Pydantic v2


Subscribe to multiple projects per channel (or multiple subscriptions per channel)

We use a single channel for multiple service desk projects. As the plugin is currently working, it seems you would need a channel per Jira project.
I can see this working one of two ways.

Use the current view and make the projects field also be multi-selection.
Allow for multiple subscriptions in a given room.

The major benefit of the latter case would allow different subscription schemes, if you will, for instance on one project only show notifications for comments, but for another one also show created or assignments.

@paladinlogic May I ask which version of the plugin you are using? As of v2.3.1, you should be able to configure multiple subscriptions per channel.

Apparently, 2.2.2. We're using MM 5.17.2 via GitLab Omnibus.
Is 2.3.1 compatible with MM 5.17?

I answered my own question by looking at the Releases list. I'll try 2.3.2

@paladinlogic Closing for now. Let us know if you have any questions, we're here to help :slightly_smiling_face:


Mock service leveraging kuksa client lib

This PR leverages kuksa-client lib instead of pure grpc and protobuf files. It fixes too the EventTrigger on values.

@doosuu  can you check whether this works/seems reasonable

CI failing due to reformatting of docs with pre-commit hooks.

LGTM


Can I use it to parse linq expressions to odata syntax query string?

So for example
Func<Hotel, bool> priceMaxFunc = x => x.Price <= 50;
Func<Hotel, bool> priceMinFunc = x => x.Price >= 20;

then join Funcs into expression
Expression<Func<Hotel, bool>> expression = x => priceMaxFunc(x) && priceMinFunc(x);
and translate to Price lt 50 and Price gt 20

@grubyrychu
I emailed Pete directly and he said it is not possible.  I would love this feature though.

I found a library that does this.  Linq2Rest


⚠ Bofrost.at has degraded performance

In fd8a77d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2798 ms

Resolved: Bofrost.at performance has improved in 4b5d142 after 6 minutes.


Strange behavior: "Variable $includeAllowUpdateBranch is used by anonymous query"

Describe the bug
This returns an error :
SELECT
 gtm.organization,
 gtm.slug AS team_slug,
 gtm.login,
 gtm.role,
 gtr.name,
 gtr.permission,
 gtr.is_fork,
 gtr.is_private
FROM
 github_team_member gtm
JOIN
 github_team_repository gtr ON gtm.slug = gtr.slug AND gtm.organization = gtr.organization
WHERE
 gtm.organization = 'orgName'
 AND gtm.slug IN (
  'team-a',
  'team-b'
 )
 AND gtr.name  IN (
  'repoA',
  'repoB'
 )

Error: Variable $includeAllowUpdateBranch is used by anonymous query but not declared (SQLSTATE HV000)
but this works :

SELECT
 gtm.organization,
 gtm.slug AS team_slug,
 gtm.login,
 gtm.role,
 gtr.name,
 gtr.permission,
 gtr.is_fork,
 gtr.is_private
FROM
 github_team_member gtm
JOIN
 github_team_repository gtr ON gtm.slug = gtr.slug AND gtm.organization = gtr.organization
WHERE
 gtm.organization = 'orgName'
 AND gtm.slug IN (
  'team-a',
  'team-b'
 )
 AND gtr.name  IN (
  gtr.name = 'repoA' OR
  gtr.name = 'repoB'
 )

Steampipe version (steampipe -v)
Steampipe v0.21.1
Plugin version (steampipe plugin list)
0.36.0
To reproduce
Run the query above.
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

@Z4ck404, Thanks for using Steampipe and reporting this issue.
We have a fix available here.ETA this week/early next week.
If you want to try it, here are a few steps to test this, PR branch.

Install Go
Clone the repo git clone git@github.com:turbot/steampipe-plugin-github.git and cd steampipe-plugin-github
Check out the PR branch git checkout team_repo
Execute the make command to compile -  make
Execute the the same query you mentioned in Steampipe Query prompt

Feel free to get back to us.
CC @bigdatasourav


[1623] Validate numericality of course fees

Context
Revert of https://github.com/DFE-Digital/manage-courses-backend/pull/338/files
Changes proposed in this pull request
Ensure we validate numerically of uk and international fees
Guidance to review
Try and submit a non-numerical character
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Add missing validations to enrichments

We need to allow empty fees when saving:
https://trello.com/c/wAnoDLPH/1672-incorrect-fee-validation-when-saving-different-type-of-enrichment
We need to allow empty international fees when publishing.


testing on Debian host

Hi. I tested corridor on a Debian host running Whonix KVM guests.
Results:

It blocks any new Whonix connections after the corridor service successfully starts while Tor connections on the host still work.

LAN connections are permitted. Is this intentional? Its safer for this to be restricted unless a user wants otherwise. Imagine subscribing to a wireless carrier or ISP which assigns local addresses. Leaking anything to this non-trusted network is dangerous.

Two solutions come to mind: adding a LAN permission option to corridor for manual use. Out of scope of this ticket but an interesting topic that should be discussed: add a barebones captive portal responder on the host under its own user account that is exempted by corridor. This keeps leaks absolutely minimal and reduces attack surface when having to deal with captive portals.
/cc @adrelanos

I tested corridor on a Debian host running Whonix KVM guests.

Do I understand it right that you are using corridor as a host firewall?

LAN connections are permitted. Is this intentional?

And does LAN then refer to a virtual network between the guests? In that case, I'd guess they are connected by a (virtual) switch and the traffic never actually reaches corridor. https://github.com/rustybird/corridor/commit/43f35cdcc9d85658e22ee997cb7f1f5da5a385f3

Do I understand it right that you are using corridor as a host firewall?

Yes, this is what @HulaHoopWhonix is doing.

And does LAN then refer to a virtual network between the guests?

No. It was a somewhat separate question. I think I can interpret @rustybird's answer as "LAN connections are enabled by default". For suggesting, "block LAN [as in physically separates machines in the LAN] connections by default or have an option for that", I think it is better to make the case for that in a separate ticket. @HulaHoopWhonix

Do I understand it right that you are using corridor as a host firewall?

Yes.

By LAN I refer to the physical network.
I guess Corridor's current position (in the Qubes context) between the Workstation VM and the Tor Gateway VM requires that it let through traffic destined for private-use IPs. However for Host firewall purposes that is something that's undesirable. (With workarounds for some exceptions discussed above but that's another topic).

@adrelanos:

I think I can interpret @rustybird's answer as "LAN connections are enabled by default"

No, the CORRIDOR_FILTER chain does not distinguish between global and private or even localhost addresses at all - if the remote end is not the ORPort of a Tor relay, then the new connection is rejected.
Which explains why the inter-Whonix traffic would be blocked by the rule from https://github.com/rustybird/corridor/issues/3#issuecomment-51514456, which is too aggressive anyway. @HulaHoopWhonix, you could instead try something like
iptables -I OUTPUT ! -o lo ! -d <IP_ADDRESS>/8 -j CORRIDOR_FILTER

But about the second issue, I don't understand why regular LAN traffic would not be caught in your setup. Where is it originating from, a process on the Debian host itself or a KVM guest?

if the remote end is not the ORPort of a Tor relay, then the new connection is rejected.

OK good to know. Makes it easier to know if its working a expected or not.

This is embarrassing. I completely forgot to run

sudo iptables -I OUTPUT -j CORRIDOR

however when I did I get:

iptables v1.6.0: Couldn't load target `CORRIDOR':No such file or directory

Can you please make it so that corridor can run this rule automatically if it detects its outside a VM? We use virt-what to detect that.

@HulaHoopWhonix:

iptables v1.6.0: Couldn't load target `CORRIDOR':No such file or directory

It is called CORRIDOR_FILTER now (not CORRIDOR). But again, the original rule was too aggressive anyway, so try the one above.

Can you please make it so that corridor can run this rule automatically if it detects its outside a VM? We use virt-what to detect that.

Oh, this rule would need a hell of a lot more testing before the host firewall stuff could be considered suitable for general use, even only as a configuration option. For example, I remember -o (output interface) checks being problematic in combination with REDIRECT, e.g. transparent torification.

I get a similar error:

sudo iptables -I OUTPUT ! -o lo ! -d <IP_ADDRESS>/8 -j CORRIDOR_FILTER
iptables v1.6.0: Couldn't load target `CORRIDOR_FILTER':No such file or directory

I'll try testing as much as possible to get this ready for Debian. Do you think ufw is a cause of conflicts here?

HulaHoopWhonix:

Do you think ufw is a cause of conflicts here?

Yes! Because of the interaction. They both use iptables. See:
http://serverfault.com/questions/198398/ubuntu-how-to-add-an-iptables-rule-that-ufw-cant-create

Version tested: 0.10

forwarding service exits because Qubes service not detected.

Applied workaround to qubes dependency and got corridor started.

Applied the iptables CORRIDOR_FILTER rule successfully with no modifications to ufw

Corridor outgoing Tor connections on both the host and whonix are blocked. Host TBB:

Tor failed to establish a Tor network connection. Connecting to the Tor network failed (no route to host)

Tested version 0.10

Qubes missing service warning still shows
with workaround corridor starts
sudo iptables CORRIDOR_FILTER works with no errors. No changes made to ufw.
all outgoing connections on host and whonix are blocked.

I temporarily disabled ufw to exclude interference and got the same result.
Offtopic:
Does corridor default deny all incoming connections? If so we can advise users to use it as an alternative.

Qubes missing service warning still shows

?

all outgoing connections (including Tor connections) on host and whonix are blocked.

Does the corridor_relays ipset get populated? Try sudo ipset list corridor_relays, there should be >2000 members.

Does corridor default deny all incoming connections?

No, that's out of scope.

@HulaHoopWhonix

Qubes missing service warning still shows

issue: https://github.com/rustybird/corridor/pull/27 and https://github.com/rustybird/corridor/commit/ce0b65cf4863184487b360361b1f40767e603e0b did not fix it.

Debugged some more:
Before enabling the CORRIDOR_FILTER:
sudo iptables-save-deterministic
*mangle
:PREROUTING ACCEPT [0,0]
:INPUT ACCEPT [0,0]
:FORWARD ACCEPT [0,0]
:OUTPUT ACCEPT [0,0]
:POSTROUTING ACCEPT [0,0]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
*nat
:PREROUTING ACCEPT [0,0]
:INPUT ACCEPT [0,0]
:OUTPUT ACCEPT [0,0]
:POSTROUTING ACCEPT [0,0]
-A POSTROUTING -s <IP_ADDRESS>/24 -d <IP_ADDRESS>/24 -j RETURN
-A POSTROUTING -s <IP_ADDRESS>/24 -d <IP_ADDRESS>/32 -j RETURN
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [0,0]
:FORWARD DROP [0,0]
:OUTPUT ACCEPT [0,0]
:CORRIDOR_FILTER - [0,0]
:ufw-after-forward - [0,0]
:ufw-after-input - [0,0]
:ufw-after-logging-forward - [0,0]
:ufw-after-logging-input - [0,0]
:ufw-after-logging-output - [0,0]
:ufw-after-output - [0,0]
:ufw-before-forward - [0,0]
:ufw-before-input - [0,0]
:ufw-before-logging-forward - [0,0]
:ufw-before-logging-input - [0,0]
:ufw-before-logging-output - [0,0]
:ufw-before-output - [0,0]
:ufw-logging-allow - [0,0]
:ufw-logging-deny - [0,0]
:ufw-not-local - [0,0]
:ufw-reject-forward - [0,0]
:ufw-reject-input - [0,0]
:ufw-reject-output - [0,0]
:ufw-skip-to-policy-forward - [0,0]
:ufw-skip-to-policy-input - [0,0]
:ufw-skip-to-policy-output - [0,0]
:ufw-track-forward - [0,0]
:ufw-track-input - [0,0]
:ufw-track-output - [0,0]
:ufw-user-forward - [0,0]
:ufw-user-input - [0,0]
:ufw-user-limit - [0,0]
:ufw-user-limit-accept - [0,0]
:ufw-user-logging-forward - [0,0]
:ufw-user-logging-input - [0,0]
:ufw-user-logging-output - [0,0]
:ufw-user-output - [0,0]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -i virbr1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr1 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr1 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr1 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -j ufw-before-logging-input
-A INPUT -j ufw-before-input
-A INPUT -j ufw-after-input
-A INPUT -j ufw-after-logging-input
-A INPUT -j ufw-reject-input
-A INPUT -j ufw-track-input
-A FORWARD -j CORRIDOR_FILTER
-A FORWARD -d <IP_ADDRESS>/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s <IP_ADDRESS>/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr1 -o virbr1 -j ACCEPT
-A FORWARD -o virbr1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -j ufw-before-logging-forward
-A FORWARD -j ufw-before-forward
-A FORWARD -j ufw-after-forward
-A FORWARD -j ufw-after-logging-forward
-A FORWARD -j ufw-reject-forward
-A FORWARD -j ufw-track-forward
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A OUTPUT -o virbr1 -p udp -m udp --dport 68 -j ACCEPT
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A CORRIDOR_FILTER -m conntrack --ctstate RELATED,ESTABLISHED -j RETURN
-A CORRIDOR_FILTER -m set --match-set corridor_relays dst,dst -j RETURN
-A CORRIDOR_FILTER -m set --match-set corridor_logged src -j LOG --log-prefix "corridor: reject " --log-macdecode
-A CORRIDOR_FILTER -j REJECT --reject-with icmp-host-prohibited
-A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
-A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-forward -j ufw-user-forward
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP
-A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A ufw-before-input -j ufw-not-local
-A ufw-before-input -d /32 -p udp -m udp --dport 5353 -j ACCEPT
-A ufw-before-input -d /32 -p udp -m udp --dport 1900 -j ACCEPT
-A ufw-before-input -j ufw-user-input
-A ufw-before-output -o lo -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -j ufw-user-output
-A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-logging-deny -m conntrack --ctstate INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN
-A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP
-A ufw-skip-to-policy-forward -j DROP
-A ufw-skip-to-policy-input -j DROP
-A ufw-skip-to-policy-output -j ACCEPT
-A ufw-track-output -p tcp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-track-output -p udp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable
-A ufw-user-limit-accept -j ACCEPT
COMMIT
After enabling the CORRIDOR_FILTER:
sudo iptables-save-deterministic
*mangle
:PREROUTING ACCEPT [0,0]
:INPUT ACCEPT [0,0]
:FORWARD ACCEPT [0,0]
:OUTPUT ACCEPT [0,0]
:POSTROUTING ACCEPT [0,0]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
*nat
:PREROUTING ACCEPT [0,0]
:INPUT ACCEPT [0,0]
:OUTPUT ACCEPT [0,0]
:POSTROUTING ACCEPT [0,0]
-A POSTROUTING -s <IP_ADDRESS>/24 -d <IP_ADDRESS>/24 -j RETURN
-A POSTROUTING -s <IP_ADDRESS>/24 -d <IP_ADDRESS>/32 -j RETURN
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [0,0]
:FORWARD DROP [0,0]
:OUTPUT ACCEPT [0,0]
:CORRIDOR_FILTER - [0,0]
:ufw-after-forward - [0,0]
:ufw-after-input - [0,0]
:ufw-after-logging-forward - [0,0]
:ufw-after-logging-input - [0,0]
:ufw-after-logging-output - [0,0]
:ufw-after-output - [0,0]
:ufw-before-forward - [0,0]
:ufw-before-input - [0,0]
:ufw-before-logging-forward - [0,0]
:ufw-before-logging-input - [0,0]
:ufw-before-logging-output - [0,0]
:ufw-before-output - [0,0]
:ufw-logging-allow - [0,0]
:ufw-logging-deny - [0,0]
:ufw-not-local - [0,0]
:ufw-reject-forward - [0,0]
:ufw-reject-input - [0,0]
:ufw-reject-output - [0,0]
:ufw-skip-to-policy-forward - [0,0]
:ufw-skip-to-policy-input - [0,0]
:ufw-skip-to-policy-output - [0,0]
:ufw-track-forward - [0,0]
:ufw-track-input - [0,0]
:ufw-track-output - [0,0]
:ufw-user-forward - [0,0]
:ufw-user-input - [0,0]
:ufw-user-limit - [0,0]
:ufw-user-limit-accept - [0,0]
:ufw-user-logging-forward - [0,0]
:ufw-user-logging-input - [0,0]
:ufw-user-logging-output - [0,0]
:ufw-user-output - [0,0]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -i virbr1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr1 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr1 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr1 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -j ufw-before-logging-input
-A INPUT -j ufw-before-input
-A INPUT -j ufw-after-input
-A INPUT -j ufw-after-logging-input
-A INPUT -j ufw-reject-input
-A INPUT -j ufw-track-input
-A FORWARD -j CORRIDOR_FILTER
-A FORWARD -d <IP_ADDRESS>/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s <IP_ADDRESS>/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr1 -o virbr1 -j ACCEPT
-A FORWARD -o virbr1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -j ufw-before-logging-forward
-A FORWARD -j ufw-before-forward
-A FORWARD -j ufw-after-forward
-A FORWARD -j ufw-after-logging-forward
-A FORWARD -j ufw-reject-forward
-A FORWARD -j ufw-track-forward
-A OUTPUT ! -d <IP_ADDRESS>/8 ! -o lo -j CORRIDOR_FILTER
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A OUTPUT -o virbr1 -p udp -m udp --dport 68 -j ACCEPT
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A CORRIDOR_FILTER -m conntrack --ctstate RELATED,ESTABLISHED -j RETURN
-A CORRIDOR_FILTER -m set --match-set corridor_relays dst,dst -j RETURN
-A CORRIDOR_FILTER -m set --match-set corridor_logged src -j LOG --log-prefix "corridor: reject " --log-macdecode
-A CORRIDOR_FILTER -j REJECT --reject-with icmp-host-prohibited
-A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
-A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-forward -j ufw-user-forward
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP
-A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A ufw-before-input -j ufw-not-local
-A ufw-before-input -d /32 -p udp -m udp --dport 5353 -j ACCEPT
-A ufw-before-input -d /32 -p udp -m udp --dport 1900 -j ACCEPT
-A ufw-before-input -j ufw-user-input
-A ufw-before-output -o lo -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -j ufw-user-output
-A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-logging-deny -m conntrack --ctstate INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN
-A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP
-A ufw-skip-to-policy-forward -j DROP
-A ufw-skip-to-policy-input -j DROP
-A ufw-skip-to-policy-output -j ACCEPT
-A ufw-track-output -p tcp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-track-output -p udp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable
-A ufw-user-limit-accept -j ACCEPT
COMMIT
Iptables rule diff:
diff a b
23,26c23,26
:FORWARD DROP [0,0]
:OUTPUT ACCEPT [0,0]
:CORRIDOR_FILTER - [0,0]
:ufw-after-forward - [0,0]
:FORWARD DROP [0,0]
:OUTPUT ACCEPT [0,0]
:CORRIDOR_FILTER - [0,0]
:ufw-after-forward - [0,0]
86a87
-A OUTPUT ! -d <IP_ADDRESS>/8 ! -o lo -j CORRIDOR_FILTER
ipset:
sudo ipset list corridor_relays
Name: corridor_relays
Type: hash:ip,port
Revision: 5
Header: family inet hashsize 64 maxelem 65536
Size in memory: 128
References: 1
Members:

Easy to see, that ufw is still hyper active. I recommend to get rid of it. (https://github.com/rustybird/corridor/issues/26#issuecomment-236370163)

ipset:
sudo ipset list corridor_relays
Name: corridor_relays
Type: hash:ip,port
Revision: 5
Header: family inet hashsize 64 maxelem 65536
Size in memory: 128
References: 1
Members:

So corridor_relays is empty? When using corridor as a host firewall, that probably points to a deadlock which you can solve either

by explicitly adding an iptables rule that allows traffic for the host's tor daemon, or
by starting tor once without corridor, waiting for tor to load the consensus, and then starting corridor-data, so that the relay list can be saved to /var/lib/corridor/relays.

So corridor_relays is empty?

Yes.

by explicitly adding an iptables rule that allows traffic for the host's tor daemon

I think that's the way to go. Can you please include this out of the box?

by starting tor once without corridor, waiting for tor to load the consensus, and then starting corridor-data, so that the relay list can be saved to /var/lib/corridor/relays.

I'm not sure how effective this is since enabling corridor on a system running Tor beforehand (meaning its fetched its consensus) still blocks it - meaning corridor didn't make use of the consensus data already present.

by explicitly adding an iptables rule that allows traffic for the host's tor daemon

I think that's the way to go. Can you please include this out of the box?

Tricky, because the tor daemon can run under different credentials, depending on the distro. And besides, I still don't think that the host firewall stuff is quite ready for general use yet.

I'm not sure how effective this is since enabling corridor on a system running Tor beforehand (meaning its fetched its consensus) still blocks it - meaning corridor didn't make use of the consensus data already present.

Does /var/lib/corridor/relays already exist? If yes, then you're experiencing some other issue. Maybe #32, which is fixed in corridor >= 0.10.2.

Just to be sure, I uninstalled ufw and have the same results. ipset comes up empty

Does /var/lib/corridor/relays already exist?

Says it doesn't exist


Missing content

Hi, this page mentions a downloadable package but one doesn't exist on the page.

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

ID: b1883988-09c6-ddf2-748f-a29d91007ce5
Version Independent ID: 9d3a9faa-df26-1448-7e43-5bf5f77d9156
Content: Architecture Tooling Guidance - Visual Studio
Content Source: docs/modeling/visual-studio-architecture-tooling-guidance.md
Product: visual-studio-windows
Technology: vs-ide-modeling
GitHub Login: @JoshuaPartlow
Microsoft Alias: joshuapa

@Meggan21 -- Meggan, thank you for your feedback.  Please consider these resources:

Visual Studio on Q&A
Visual Studio MSDN Forum
Stack Overflow
Reddit

@JoshuaPartlow -- Joshua, please look into this issue.

@Meggan21 - good find. This is an outdated article that we'll remove today.
Thank you for reaching out.  #please-close


chore: promote golang-pipeline-lab to version 0.0.1

chore: promote golang-pipeline-lab to version 0.0.1
this commit will trigger a pipeline to generate the actual kubernetes resources to perform the promotion which will create a second commit on this Pull Request before it can merge

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign kardasa
You can assign the PR to them by writing /assign @kardasa in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

/assign @kardasa

/approve

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

Needs approval from an approver in each of these files:

OWNERS [kardasa]

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

/hold cancel


Support generating using Azure.Core CloudEvent

The CloudEvent type is used in the generated surface for Event Grid, and will likely be used in more services in the future. It would be good if there was some way to annotate a model to indicate that it is a CloudEvent (or maybe more generally an Azure.Core model) in typespec, and then use that information when generating as an indication that the Azure.Core type should be used. I'm not sure if the annotation piece would belong in a different repo, but I imagine the code gen piece would need to happen in this repo for C#.

This can be accomplished by adding the TypeReferenceTypeAttribute to CloudEvent.

We should wait for https://github.com/Azure/typespec-azure/issues/1960

This is also blocked on https://github.com/Azure/autorest.csharp/issues/3308


Downscale images from "retina" (hidpi) display

When taking a screenshot on retina desktop (which is typically scaled x2), resulting uploaded image has giant 2k width (while scaled "real displayed" is divided by scale factor).
For example, this image:

take a look at original link: http://i.imgur.com/dCDu452.png
The solution might be an option in settings, something like "Downscale from HIDPI display", which uploads not original, but 2x down scaled image.

Migrated to https://github.com/OttoAllmendinger/gnome-shell-screenshot/issues/30


Driver installation issue with 0.3.2, driver is reported as 1.0.0 (High Sierra)

Disclaimer:
Please go through existing issues to avoid creating duplicates. If you found a similar issue please post a comment there. If you are uncertain your issue is related to others then create the issue. Obvious ignorance of this rule might get you blocked from posting new issues. Please tick the box below to show that you have followed the guideline.

[x] I have checked for a similar issue and sure it hasn't been reported before.

Describe the bug
Error reported with driver installation but it is correctly installed; error in the reported version in the UI
Steps to Reproduce

Uninstall eqMac to be sure, and verify that the driver has been removed
Install eqMac 0.3.2. In the end it says "Driver failed to Install", but it has been correctly copied to /Library/Audio/Plug-Ins/HAL
Quit eqMac and relaunch
eqMac works, but the driver is reported as v1.0.0

Expected behaviour
No error message, correct version reported
Setup information:

Audio device used for playback: Headphones
Audio transmission interface: 3.5mm Jack
macOS Version: 10.13.6
eqMac Version 0.3.2
eqMac UI Version 1.2.1

Screenshots or Console.app logs
If applicable, add screenshots to help explain your problem. Also you can run Console.app and apply filter for eqMac
Additional information
Add any other context about the problem here.

I am triaging & trying to fix all open issues before release of eqMac v1.0.0.
Possible duplicate of #291? Is this issue still relevant as of v0.3.7?

Hi. I had not used eqMac for a while, but it's OK now (I have 0.3.6 installed)

Ok I will close this issue then


Close call for speakers

What
Remove the call for speakers.
Why
It's closed.
Who needs to know about this
Imran.
Who needs to work on this
Anyone.

PR needs review.


add doc contents and row/col as yaml comments

experimental, to discuss over voice
interesting diffs:
packages/cursorless-vscode-e2e/src/suite/fixtures/recorded//languages/go/takeType.yml
packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/hatTokenMap/sendEmoji.yml
packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/snippets/snipMakeFunk.yml
packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/snippets/snipSpaghetti.yml
packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/cpp/tryCatchWrapThis2.yml

update from meetup: this is a maybe. :)
I will iterate a little bit on the actual formatting here to see whether we can get it to be attractive. latest rev: https://github.com/cursorless-dev/cursorless/pull/1805/commits/125e956b38cb677b0d693b05ad2fa916a481e727
changes:

comments now inline, next to actual docs
fixed off-by-one in tens line
repeat column rules occasionally according to simple heuristics: short lines means never, long lines means intermittently

possible future changes:

change documentContents from yaml |+ to a one-line escaped form

if we get to a place where @pokey and @AndreasArvidsson think this is worth pulling in, then i'll see about making this happen in typescript, enforced by the precommit bot

I think we'll close this one out. We now have a nice way to represent ranges in our new facet scope tests, so I'd lean towards finding a way to use that to represent ranges if we want to make our recorded tests more readable


Moderate Image Issue: Blurred image is downloaded with prefix of the folder name

Hi, everyone!
I'm using the Cloud Function API for making inappropriate images blurred and save on firebase. Everything is good, but the file is downloaded with prefix of the folder name. For example, the image name on firebase is 'unBsdUHUb0aBxegJMaVr6LKXSLL2', but its name gets 'profile_images_unBsdUHUb0aBxegJMaVr6LKXSLL2' when it's downloaded.
No issue with normal images. Only happened in blurred images.
I hope to remove the prefix so that the image is downloaded with its origin name.
What would be the problem?
Code is here. https://github.com/mydream19/firebase_moderate_image
Thank you.

The behavior of the sample source recently changed (in #599) to write the blurred images into a different folder, but it doesn't change the file names.


New version: v0.4.0

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/52481
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.0 -m "<description of version>" b71785c28c75e34fa67a9df953065e2e66110c58
git push origin v0.4.0


HHH-17385 Missing table for superclass when joining subclass association

https://hibernate.atlassian.net/browse/HHH-17385

Merged via b21d70ef74e308f21d6e9fbf651aed6f808181ad


[Network] firewallconfiguration and routeconfiguration reque

Description
This PR is a temporary fix to ensure the existence of the firewall and routing rules applied by the firewallconfiguration  controller and the routeconfiguration controller.
This is an unoptimized fix and will be replaced by a more fine-grained solution.

/merge


Staged sources.txt generation in CMake binding helpers.

This PR is included in #135, so optionally we can just review and merge that one.
Previously, sources.txt was directly piped from the output of chimera, but was not cleared or invalidated if the command did not complete successfully, leading to subsequent build steps skipping the regeneration of sources.
This PR changes the add_custom_command() directive to stage the output of chimera to a temp file first, which is moved into a final location after the success of the generation command.  This prevents incomplete or invalid sources.txt from being used by subsequent build steps.
As a side effect of this PR, I discovered a bug in the unit test runner CMakeLists.txt that was leading to the test practically always succeeding because it did not have the chimeraExecutable variable set and somehow managed to run a very ill defined bash command that always succeeded.
Closes #114.

This PR was included into #135 and is no longer necessary.


Seemed the data out of date?

It seems the data was out of date

Is there a scheduled job for updating the data? Or maybe we could use the Github Action or the Azure Pipeline to sync the data schedully likes once a day

@danzhu54 this might be a good idea - to run automated tasks for this and automatically create the PR for us. We do it manually today @WeihanLi.
The cadence could be once a month after Patch Tuesday, since that's our typical release day.


Incorrect resource status when plan failed

Describe the bug

Incorrect resource status when plan failed.
Steps to reproduce

New a resource and reference an output of a resource that doesn't exist.
Check the resource status.

Result

The resource is stuck in the "Deploying" state.

Expected behavior

Environment

Walrus version: main 7bb79389ab0436969f4c4214e38918ee6c6e9070
UI version: dev-1be55ba

Additional context
Add any other context about the problem here.

Environment

Walrus version: main aba5070fb2d7f86be3c14bd419ee7be9a8b3d302
UI version: dev-8f22705

Test Result: Failed
The resource stuck in Progressing state now. And the message of status is incorrect: Waiting for dependent resources to be ready:


Add documentation about contributing data such as UUID descriptions

Codecov Report

Merging #38 (378b43a) into main (11a51b0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #38   +/-   ##
=======================================
  Coverage   36.56%   36.56%
=======================================
  Files           6        6
  Lines         320      320
  Branches       64       64
=======================================
  Hits          117      117
  Misses        203      203

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


DjangoListField using field_name and covering up a model field still accesses the original model field

I have read the docs thoroughly before making this bug report.

[X] Yes

I have read through other open issues, and my issue is not a duplicate.

[X] Yes

What version of the library you are using?
0.8.5
Which python version are you using?
3.10
What operating system are you on?
Ubuntu
Description
I have a Django model which looks something like this:
class Lead(models.Model):
   ...
   contacts = models.ManyToManyField("Contact", through="LeadContact")
   ...

class LeadContact(models.Model):
    ...
    lead = models.ForeignKey("Lead")
    contact = models.ForeignKey("Contact")
    ...

class Contact(models.Model):
    ...
    # typical contact stuff not relevant
    ...

In my pre-existing graphql setup, I had something like this:
class LeadType(DjangoObjectType):
    class Meta:
        model = Lead

    ...
    contacts = List(LeadContactType)
    ...

    def resolver_contacts(root, info):
        return root.leadcontact_set.all()

IOW, I was exposing the lead-to-contact through table (leadcontact_set) through graphql as contacts, so that contacts would be a [LeadContactType], which would then contain [ContactType] and some other metadata. This is primarily for cosmetic reasons (leadcontact_set is ugly).
Trying to switch this over to graphene-django-query-optimizer:
from query_optimizer import DjangoObjectType, DjangoListField

class LeadType(DjangoObjectType):
    class Meta:
        model = Lead

    ...
    contacts = DjangoListField(LeadContactType, field_name="leadcontact_set")
    ...

Unfortunately this fails: The contacts fields returns [Contact] (which graphql raises an error because it's not a LeadContact). It seems like the contacts Field is still accessing the model contacts field, which returns Contact instances. Adding "contacts" to the Meta.exclude didn't help; it raised a warning about excluding a field which was defined as a custom field had no effect, and otherwise the same results. It seems DjangoListField is still accessing contacts despite the use of field_name.
On top of this, it causes some really bad queries which aren't used, such as one which selects all lead contacts WHERE lead_id IN [...every lead id in the system]. Witnessed with Django Debug Toolbar.
I could maybe work around this by renaming the current graphql contacts field to lead_contacts, but would prefer not to rename this field in my existing API.
Otherwise, the queries I'm getting are perfect AFAIK, and thanks.

Well, probably obvious to you, but I had simply forgotten to have resolve_contacts method (or rather had deleted earlier one).

OK, after even further testing, it still appears this is a bug, even with adding a resolve_contacts method. (Typo in original description has resolver_contacts). I might need to make a test case for this to demonstrate.

Hi! Thanks for the issue.
Looking into this, unfortunately I don't think Django allows this kind of optimization. Specifically, you are trying to override the contacts attribute of the Lead model with prefeched LeadContact models, which is not possible.
Optimization of one-to-many and many-to-many models to different attributes works through Prefetch(..., to_attr="<new_attr>") mechanism, so effectively the query that would be generated is something like this.
Lead.objects.all().prefetch_related(
    Prefetch(
        "leadcontact_set",
        LeadContact.objecs.all(),
        to_attr="contacts",
    ),
)

I've tried this with a similar setup I have in my test project for this library with Owner <- Ownership -> Sale, so the above might be slightly incorrect, but if you run this and check that contacts is, it will still contain Contact entities. This is because Lead.contacts is a ManyToManyDescriptor, which you cannot override with values from the queryset. It's odd that there is no error, but it doesn't work nontheless.
So, I suggest that you rename the field to lead_contacts so that the optimization is possible.

On top of this, it causes some really bad queries which aren't used, such as one which selects all lead contacts WHERE lead_id IN [...every lead id in the system]. Witnessed with Django Debug Toolbar.

I'm guessing this is due to you using DjangoListField and not DjangoConnectionField. The list field just does a regular prefetch, which is django works with those IN [...every related id in the system] queries. You are also likely to hit your databases Maximum number of parameters limit for larger prefetches through this. Therefore, if you have a large amount of relations in a subfield, I suggest using DjangoConnectionField, although it does require the use of the Relay pagination protocol.

If you have any other questions, feel free to post here, but I'll close the issue in the meantime.


Add guardian

I'm opening new PR for this, as #431 is pointing to old version of branch.
I've rebased it and applied some feedback. My changes are added in separate commit.
Let's have some discussion and merge it soon! :)

And after merging this we'll also have opportunity to close #729 .

Thanks for taking the initiative on this @brain-geek!  I still need to read through and leave feedback.
The big thing for us to discuss is really just: do we want lessons on libraries and if so, how are we going to pick which to cover?
My $0.02 💰  — I think the value of adding certain libraries to Elixir School is tremendous.  Poolboy, Distillery, Guardian, Porcelain, and some others are either widely used or clear winners in their category, including them seems like an obvious value add.  That said, I do see the downsides:

We will likely see a surge in lessons for libraries that won't have staying power or are similar to existing lessons, we don't need 10 lessons on using libraries to send emails.
As time goes on certain libraries may fall from favor, how do we handle this?  I think the lessons would still be valuable but a notice might be necessary.
We all keep up with Elixir changes but who's going to track and manage the library changes?  We'll need to think about mentioning a version.
It's a bunch more translation work

There may be others I'm not thinking of at the moment.
I think it's worth hearing everyone's thoughts, so what are folks thinking?  cc @pjhampton @ybur-yug @pragmaticivan @nscyclone

I've proofread the article once again.
@ybur-yug @doomspork Can you look through?
@doomspork I guess that should be a topic for some Issues discussion.

We will likely see a surge in lessons for libraries that won't have staying power or are similar to existing lessons, we don't need 10 lessons on using libraries to send emails.

While that's probable, actual lesson creation with passing all reviews is a pretty long way to go through. I'd consider this problem after we face it.

As time goes on certain libraries may fall from favor, how do we handle this? I think the lessons would still be valuable but a notice might be necessary.

If some library dies, we can discuss deprecating the lesson in Issues. e.g. it's broken in recent Elixir releases and nobody is going to fix it.

We all keep up with Elixir changes but who's going to track and manage the library changes? We'll need to think about mentioning a version.

That's a nice point! Surely we should. Or get some crazy automated testing solution for this. 😄

All good points @brain-geek 👍   I'm on board with moving ahead with adding libraries.
@hassox would you care to give this final lessons a once over?

Guys, I would love some final feedback to merge it.

@brain-geek let's merge and update with PRs for further feedback.  How do we want to do this?  Merge this PR, then #729, then update this lesson to be under libraries?

@doomspork, I think it is easier to merge #729 first. The new section won't appear in the sidebar if it has no lessons for the selected language. Then we could update this lesson and trouble-free :ship: it in its place.

Sounds good @nscyclone 👍

@brain-geek will you update this to be lesson 1 in libraries?

@doomspork Yeah, give me a minute.

Hah @brain-geek, that was way faster than I expected.  You can have as many minutes as you need 😀

💥   Thank you @brain-geek and @hassox for putting this lesson together.

@doomspork Just trying to do my best. 😄 Thanks for fast merging.

@brain-geek you're awesome and your help is always greatly appreciated!


The entity property of an entity reference item can be null

If someone deletes the entity, we don't do cascade referential integrity in Drupal
We had this before in https://github.com/mglaman/phpstan-drupal/pull/356 but it was lost at some point

Hmm, ignore me there's a ? there :joy:


Add actual coins and gems as collectibles and get rid of all "powerup" names

All collectibles should be defined in an identical way as powerups, so coins and gems should too as they aren't.
This involves adding "add score" and "add coin" effects.
To discuss:

How coin and gem count tracking should be done in that case (level variables, perhaps? is it worth to add unnecessary complexity to both code and game creating process?)
Work out other possible life systems first (no lives at all, lives granted every X points etc.)
Possibly some other implications.

Implemented along with the effects in https://github.com/jakubg1/OpenSMCE/commit/82e84374d58d35acbe4ef9149ee2bcb7e531901f.
Relating to the discussion points above:

Coin and gem count tracking needs polishing, but that's for another ticket.
Life systems are not a part of this issue.


ci(test flow): implemented

:tada: This PR is included in version 3.5.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


kustomize v5.2.1 linux s390x

Type of change

[x] Refactor
[ ] New feature
[x] Bug fix
[ ] Optimization
[ ] Documentation Update

Description

Dear Bulldozer Team!
Running the operator in the Openshift at IBM Z (s390x arch) the kustomize binary not found.
Here proposed to use a more recent version of the binary.
This is the recent version which has the s390x as well as the other archs:
https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv5.2.1
This is the current kustomize version where only the intel arch binary is present:
https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv3.5.4
Have a nice day!
Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please describe the System Under Test.
Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

With https://github.com/cloud-bulldozer/benchmark-operator/issues/822 we are in effect to publicly archive benchmark-operator.
Would encourage you looking at kube-burner-ocp which has multi-arch coverage


Config File Example

Would you please provide an example of the configuration.jsonc file

{
"sourceAccountUrl": "https://dev.azure.com/org-name1",
"sourceAccountToken": "your-personal-access-token",
"targetAccountUrl": "https://dev.azure.com/org-name2",
"targetAccountToken": "your-personal-access-token",
"sourceProcessName": "the-name-of-your-process",
"targetProcessName": "you-can-let-it-in-blank",
"options": { (YOU CAN LET IT AS IT IS IN THE "DOCS")
"processFilename": "Set to override default export file name, remove from param name",
"logLevel":"Set to override default log level (Information), remove from param name",
"logFilename":"Set to override default log file name, remove from param name",
"overwritePicklist": false
}
}
@TSPFounder

Cleaning up old issues, this is documented in the project readme so closing for now.

Thank you very much!


TempDatabase - make it a database decorator with optimised clearAllData

Every test that use the database calls clearAllData. This takes about 300ms because it needs to call truncate on every table. This probably adds up to about 1/3 - 1/4 of the total test execution time.

Rather than a service to the side, TempDatabase should be refactored to be a decorator that tracks which tables have been written to
clearAllData() can then only truncate those tables
clearAllData() should probably not even exist on anything other than TempDatabase and can be removed from the base API. TempDatabase can call clearTable() directly.

That last bit is makes it a change/major, but we could potentially mark Database::clearAllData() as deprecated or something in release notes.

On a slightly related note I tried to wrap tests in transactions to provide cleaner rollbacks but struggled to get it working.
The fact each test creates a caring array of tables is partly to blame


[DOC] - Updates docs for Nebari-Slurm (previously Nebari-HPC)

Preliminary Checks

[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/nebari-dev/nebari/discussions

Summary
This is a WIP issue to migrate Nebari-slurm docs into nebari's
Steps to Resolve this Issue

Evaluate current Nebari-Slurm docs
Migrate docs into new section
Formate documentation layout to accommodate both projects
...

Docs were migrated in #535, they still need to be reviewed and updated.


clarify rollout behavior in deployment

fix: #28884

/sig apps

/lgtm
as-is, this is an improvement

/lgtm

/approve


通过好友请求后，程序疯狂刷log,死循环

Important：Please file the issue follow the template, or we won't be able to help you to solve the problem.

1. Versions

What is your wechaty version?

Answer:1.10.4

Which puppet are you using for wechaty? (puppeteer/padlocal/service...)

Answer: 默认，web

What is your wechaty-puppet-XXX（padchat/puppeteer/） version?

Answer:"puppeteer": "^11.0.0",
wechaty-puppet-wechat:1.10.4

What is your node version? (run node --version)

Answer:v16.13.0

What os are you using

Answer: macos && debian
2. Describe the bug

按照例子自动接受好友请求，代码陷入死循环，一直在输出这个log
3. To Reproduce
主要代码如下，基本跟官网一致
bot.on('friendship', async (friendship) => {
  try {
    log.info('received friend event.')
    console.log(friendship.type())
    console.log(friendship)
    // const concat = friendship.contact()
    switch (friendship.type()) {
      // 1. New Friend Request
      case bot.Friendship.Type.Receive:
        await friendship.accept()
        // await concat.say(`你好，${concat.name()}`)
        // await concat.say('要加入助手群，请跟我说，小助手')
        break
        // 2. Friend Ship Confirmed
      case bot.Friendship.Type.Confirm:
        log.info('friend ship confirmed')
        break
      default:
        log.error('other')
    }
  } catch (e) {
    console.error(e)
  }
})

4. Expected behavior

Give a clear and concise description of what you expected to happen.

接受好友申请后，不要出现死循环
5. Actual behavior

If applicable, add screenshots to help explain your problem. But do not paste log screenshots here.

6. Full Output Logs

Set env WECHATY_LOG=silly in order to set log level to silly, then we can get the full log (If you dosen't set log env, log level is info as default, we cannot get the full log)

We need full log instead of log screenshot or log fragments!

 Additional context

Add any other context about the problem here.

Thank you very much for reporting this problem!
I believe it's related to

https://github.com/wechaty/puppet/issues/158


Renamed BlazorNodaTimeDateTimePicker

The project has been renamed to NodaTimePicker. Renamed and placed in new alphabetical order.

Thank's!


[Aleph Zero] Add support for Ink Whale token INW2

If you want to integrate an asset (fungible token/ NFT), you would need to provide

Name of the asset: INW2
Origin blockchain of the asset: Aleph Zero
Is it available on other blockchains? No
Metadata of the asset:

symbol: INW2
decimals: 12
contract address: 5EA7h2xCP9TkAwEQ8Km2b7aQChPKVCqcS2BJWqYavoXiEsfx

Logo of the token: https://www.figma.com/design/z9s6aLTLoUdjMwoXLyWcPz/01.SubWallet-Project-Logo?node-id=1043-40&t=BT2EPMT87Se5Xgk6-4
Is your asset transferable? Yes
Is your asset listed on any exchange? Can you provide a price key? n/a

Account has INW2: 5DCQ7mJMNsVWddfru82WpfmHyytyQQ8CFqEcmii4yRefRChi

Resolved in https://github.com/Koniverse/SubWallet-Extension/issues/3094


🌐 Add Korean translation for docs/ko/docs/tutorial/security/first-steps.md

Add Korean translation for docs/ko/docs/tutorial/security/first-steps.md
Related [FEATURE] Korean translations https://github.com/tiangolo/fastapi/issues/2017

📝 Docs preview for commit 7f44a43858424f5788f8ec351420bb8a0a7bc0d0 at: https://649a1ad1da0f49117d6c453d--fastapi.netlify.app

Thank you! I'm still waiting for others to review this to be able to merge it, meanwhile, maybe you could help me review some of the other Korean translations, that way if they are approved by each other, I could merge them. :nerd_face:
https://github.com/tiangolo/fastapi/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+label%3Alang-ko+label%3Aawaiting-review


Remove dangling symlinks to JSONWrapper

This PR just removes some dangling symlinks that pointed to a RestKit file that was recently removed.

Travis failures are timeouts in NLU tests.


Connection can't be established under Chrome, v2.0.2

Your environment.

Version: v2.0.2
Browser: Chrome 73.0.3683.103

What did you do?
Upgrade from v1.2.0 to v2.0.2
What did you expect?
Keep working!
What happened?
Working under Edge, Firefox after many seconds, not on chrome.
I found that the group bundle are not appended any more:
https://github.com/pion/webrtc/blob/master/peerconnection.go#L463
This fixed the issue for me:
d = d.WithValueAttribute(sdp.AttrKeyGroup, bundleValue)

Hey @nindolabs
Are you doing video/audio, datachannels or both? If you are receiving media make sure to confirm you are using AddTransceiver
We also provide a migration guide if that is helpful.
Can you try one of the examples/ and confirm it still works with your setup? Just to confirm if it is a networking issue, or the API.
thanks!

Hi,
I'm using only video, sendonly, i create the offer in the server side, the offer does not contain the "group bundle", i dont know if there is some reason to remove it in v2.0.2, but it works well with it.
I tried sfu-minimal, it's working as expected.
Thanks.

Oh I see sorry was looking at the answer code path, that is a bug thanks for catching that @nindolabs!
Would you be mind opening a PR for that? I will merge and tag right away, sorry about that!


ci(ingest): test with python 3.11

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Hi there! We are trying to move aware from "env" as a concept in DataHub (deprecating it).
is there a strong reason you want to use the env, as opposed Data Platform Instance (recommended) going forward?

Now blocked on https://github.com/googleapis/python-bigquery-sqlalchemy/pull/543

Looks all tests are failing now.

Blocked because of https://github.com/feast-dev/feast/issues/3510

No longer blocked on feast.
Now we're blocked on https://github.com/cloudera/python-sasl/issues/30 (we actually use sasl3 and not sasl but they face the same issue). We only depend on sasl3 from acryl-pyhive, so we probably could upgrade it to use pure-sasl instead. There seems to be an effort around that already https://github.com/dropbox/PyHive/pull/454.

Just need to merge https://github.com/acryldata/PyHive/pull/7 and update here, and then we should be good to go.

@hsheth2
I made a couple of contributions to PyHive which were accepted and released in 0.7.1.dev0. You are requested to test with the dev version and report any bugs in the PyHive GitHub repository before 0.7.1 is released in a month or so.

PyHive also supports pure-sasl via additional extras 'pyhive[hive_pure_sasl]' which supports Python 3.11 in addition to previous Python versions. See https://github.com/dropbox/PyHive/pull/454
PyHive is now compatible with SQLAlchemy 2.0. See https://github.com/dropbox/PyHive/pull/457

Looks like there's two errors now:

PowerBI using a mutable type for a dataclass default
Something related to typing (with snowflake?), similar to https://github.com/python/cpython/issues/100316

The powerbi issue will be fixed by https://github.com/datahub-project/datahub/pull/8609
Looks like the CodeType error is from pyspark and fixed in recent versions, so we just need to upgrade: blocked on #6908
There's also an issue with the ratelimiter package - we'll need to find an alternative because the project looks dead: https://github.com/RazerM/ratelimiter/issues/18

Unblocked now that https://github.com/datahub-project/datahub/pull/9008 was merged

One more thing here: To be compatible with Python 3.11, we need to be on pyspark 3.4+ (see https://github.com/apache/spark/pull/38987)
However, pydeequ still depends on pyspark 3.3 right now (https://github.com/awslabs/python-deequ/pull/168). The underlying deequ issue was recently fixed (https://github.com/awslabs/deequ/pull/505), so pydeequ will hopefully get updated quickly.

Moving the StrEnum changes to https://github.com/datahub-project/datahub/pull/11270

Closing in favor of https://github.com/datahub-project/datahub/pull/11280


training on training set only

Codecov Report

Merging #123 into master will increase coverage by 1.63%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #123      +/-   ##
==========================================
+ Coverage   58.75%   60.38%   +1.63%
==========================================
  Files          34       34
  Lines        1840     1840
==========================================
+ Hits         1081     1111      +30
+ Misses        759      729      -30


feat: add cluster_id to metricProvisionFailedTerminal

Fix: https://issues.redhat.com/browse/OSD-14586
This adds cluster_id to hive_cluster_deployments_provision_failed_terminal_total to establish relation between this metric and network_verifier_runs for deeper investigations & sanity checks

@boranx We have a feature underway that will allow you to do what you're aiming with this PR. However, we do not recommend adding labels for cluster id, name or namespace - as hive manages too many resources, and it is bound to explode the cardinality and overwhelm the prometheus servers.

nice! so after https://github.com/openshift/hive/pull/1925 is merged, are we able to query those at cluster-level (using cluster-id)?
my 2 cents from the cardinality perspective, I'd agree that this shouldn't happen here, as it's not hive's responsibility... On the other hand, we need hive install-byovpc results to cross-check between verifier metrics and actual byovpc results.
Although adding individual metrics look trivial and far from designing a generic solution, I'd respectfully disagree with the idea adding cluster-id could overwhelm p8s servers because approximately it'd consume less storage than reason in terms of string size.
Plus it'd thrown per failed installation for a cluster, so as long as there are no millions of failing installation requests at once, adding just cluster-id shouldn't be a performance issue except for a couple of additional bytes

so after https://github.com/openshift/hive/pull/1925 is merged, are we able to query those at cluster-level (using cluster-id)?

Yes - after the changes merge, you should be able to query for any cluster deployment labels you define to look for in HiveConfig.

I'd respectfully disagree with the idea adding cluster-id could overwhelm p8s servers because approximately it'd consume less storage than reason in terms of string size.
Plus it'd thrown per failed installation for a cluster, so as long as there are no millions of failing installation requests at once, adding just cluster-id shouldn't be a performance issue except for a couple of additional bytes

The reasoning goes more like this - prometheus libraries maintain maps for each metric with the dimensions <= to the labels defined for the metric. So while cluster_id itself might need less storage space, it will result in that many more rows. The map grows exponentially with each label.
So as a generic solution, we suggest other ways of identifying a cluster, but we understand it might be necessary in certain cases for some users, hence we have some opt-in metric config features - 1925 being the latest one.

It's not about string size, it's about the number of unique values the label can take. As it has been explained to me: you can think of each unique value as adding a whole column to the prom db table that stores the metric. If we have, say, two dozen reason codes, that's two dozen columns -- and that's it. But if we label by cluster ID, now every time we observe for a new cluster, we're adding a column. Those columns do eventually get purged if no metrics are observed with those label values for some amount of time (retention period). But in the meantime, they're sitting around taking up (lots of) space. More...

I agree that it'd take more space but can't we also focus on what's the overhead vs what's the benefit? (ignoring the cardinality concerns)
the prometheus doesn't add metrics by columns iirc, as it's a no-sql timeseries db, and there could be unique values for each field too
I thought this would only affect our query performance, not insert
(the overhead that caused by adding a unique field can be handleable by tweaking retention times, if that's the main concern yes)

I don't understand this statement (lack of context). If you'd like to elaborate or meet to discuss, perhaps we can help find a solution that doesn't require per-cluster label values.

yeah, I'd be happy to talk! I can schedule one meeting between you and our team to discuss what could be the alternative ways, but it's summed in: https://issues.redhat.com/browse/OSD-14585
tl;dr; uhc-cluster-service throws the metric network_verifier_runs for each cluster-installation and stores the verifier result alongside a clusterid (can be found in app-sre-prod-04). Essentially, we thought if it'd be possible to cross-check these metrics with hive results so we could filter if there are cases where osd-network-verifier failed but hive installation succeded or onv success but hive installation failed

the prometheus doesn't add metrics by columns iirc

Agree; I was using that as a means to visualize what happens when you add a unique value.
I'm not an expert on this, but here are a couple of articles that try to explain it:
https://grafana.com/blog/2022/02/15/what-are-cardinality-spikes-and-why-do-they-matter/
https://www.robustperception.io/cardinality-is-key/
My interpretation: the true number of "time series" for a given metric is the product of the number of unique values of all its labels. So in this case we have:

clusterpool_namespacedname -- always unspecified for you in OSD, since you don't use clusterpools, so we get a 1 here.
cluster_type -- looks like you have managed and managed-byoc, so 2 here.
failure_reason -- I'm not going to go count, but let's say there's like 10 of these.

So today you have 1 x 2 x 10 = 20 time series for this metric.
Now add the cluster-id as a label.
For every unique cluster where a failure is observed, you're adding one to that multiplier.
So if five clusters fail, you have 20 x 5 = 100 time series.
If 20 fail, you have 20 x 20 = 400 time series.
You can see that these numbers blow up very quickly. Multiply by the dozens of metrics we're tracking, and you'll quickly overwhelm the database.

At this point I'll stop trying to convince you this is a bad idea, because ultimately it's in your hands once #1925 merges.

As to your specific problem, it's easy enough to run a report on a given shard to figure out which clusters have succeeded or failed. E.g. this gives you the cluster name in the first column and the ProvisionStopped condition status in the second:
oc get cd -A -o json | jq -r '.items[] | [.metadata.name, (.status.conditions[] | select(.type == "ProvisionStopped") | .status)] | @tsv'

It should be possible to merge this with a similar list from your network verifier thingy to get the information you're looking for.

yeah, I agree that hive_cluster_deployments_provision_failed_terminal_total is not the right place to add cluster_id, and from the cardinality perspective, this PR can be closed.

As to your specific problem, it's easy enough to run a report on a given shard to figure out which clusters have succeeded or failed. E.g. this gives you the cluster name in the first column and the ProvisionStopped condition status in the second:

since this is not recorded into a time-series, there's no way to check the past data, yet a metric containing the cluster-id that is thrown per install result could be persistent until it's removed. As a user of hive, that'd be great to have though.
I've read https://github.com/openshift/hive/pull/1925 again, seems having Managed VPC would help a lot too