text:
Fix(ngRepeat) do not allow $id and $root as aliases

Currently user can use $id or $root as alias in ng-repeat directive that leads to rewriting these scope-related variables. This commit fixes this behavior by throwing an error when user try to use these values.

LGTM, but just to be sure, @caitp can you take a look at this?

lgtm

Thanks! Should we cherry-pick this to 1.3 too?

@Narretz it was picked as d01cae2a0dd8bae3c8b8bd5792816d0c466355d1

authors: KELiON Narretz caitp pkozlowski-opensource


text:
Patch strip custom ns attrs issue 14928

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix.
What is the current behavior? (You can also link to an open issue here)
Issue #14928.
Summary: IE has a stack overflow on large datasets being parsed through $sanitize.
What is the new behavior (if this is a feature change)?
Changes the loop to leave fewer remnant function calls by performing an in-function while loop over the sibling elements being processed. Ensuring only one function on the stack for each level of depth.
Does this PR introduce a breaking change?
No. Unless someone is somehow using a fatal JS execution to detect IE. I'm sure there are better ways.
Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format
[x] Tests for the changes have been added (for bug fixes / features)
[N/A] Docs have been added / updated (for bug fixes / features)

Other information:
Addresses issue by reducing the stack size, but not by the maximal possible amount. It was decided that instead of doing a fully in-function walk of the tree, it was sufficient to deal with the horizontal issue as most use cases don't have an extremely deep (ca. thousands) DOM structure.

That's correct. I was concerned about making sure the test was valid, so I tested the test. This test failed on IE 11 on Win10 Anniversary 64 bit with the expected "Out of stack space" error. This test did not fail on Chrome or FireFox. The updated version passes on all three. I did not test against IE 10 or IE 9 nor on any other OSes for IE.
As for my CLA, this has happened to me before. I am the only commit author, my CLA has been manually verified before #14221 Comment

LGTM
We need to sort out the CLA issue, though. In the other PR, BobChao87 was displayed by GitHub as the author of the commits. In this one, it is Bob Chao, so we might need to re-verify the CLA.
/cc @IgorMinar, @petebacondarwin

@BobChao87 can you make sure that the email of the commit author matches an email you have set in Github?

I've looked around, and I'm really not sure how this came to be. The computer I had previously committed on broke recently and this was committed from a virtual machine on my new computer. It looks like Fedora was "helpful" and used my name registered with the OS as the commit name, despite using the BobChao87 GitHub account to log in. As there was no email associated with the commits beyond the email associated with the GitHub login, I'm not sure how I can possibly verify the email. I have (hopefully) fixed the issue going forward and will test with a less crucial repository. I am, however, not sure how to proceed from here. I definitely personally edited and tested the code myself, but am unsure to provide sufficient evidence.

If new commits won't have this problem you should be able to amend the
commit with your new email and push force again.

@BobChao87 Can you fix the commit or open a new PR with these changes (but a commit author that matches the Github email)?

Yes, sorry, I've been busy. Hopefully by end of day tomorrow I'll have that for you.

Hopefully that will be sufficient. If that doesn't work, I'll make a new branch and submit a new pull.

@BobChao87 You need to replace the previous commits after you have changed the author / reauthored them. So remove the first 3 commits from your branch and then push --force the branch again.

Removed old commits and re-added as proper Github account.

Looking at the Travis build that failed, it seems like iOS had some unrelated issues involving sockets and $$animateCssDriver. Can we get a rebuild?

rebuilding

source: gharchive/pull-request

authors: BobChao87 Narretz gkalpak petebacondarwin

license: MIT

license_type: permissive

license_source: github-api


text:
chore: update karma-sauce-launcher

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
What is the current behavior? (You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change?
Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Fix/Feature: Docs have been added/updated
[ ] Fix/Feature: Tests have been added; existing tests pass

Other information:

didn't look like it improves the reliability of the runs. But I see you are trying to fix it here: https://github.com/angular/angular.js/pull/16806 :)


text:
Item should be null when ID not found.

Version info
Angular: 2.1.0
Firebase: 3.3.0
AngularFire: 2.0.0-beta.6
How to reproduce these conditions
Plunkr demonstrating the problem
http://embed.plnkr.co/0oGtc5erzC7JfPcGzHHe/
Steps to set up and reproduce
this.item = this.af.database.object('/items/123');
Expected behavior
When the items ID 123 is not an ID in the list of items, I expect this.item to be null.
Actual behavior
The item is returned as an object as follows:
{
  "$value": null,
  "$key": "123"
}

This looks like it's working as intended. If this.item is null, you can't call .update(), .subscribe(), et al. Thus, although the value may be null now, if you can't .subscribe() then you won't know in the future if it changes. Keep in mind that we're working with realtime data streams, not CRUD events.

Beta 5 also added an $exists() helper that returns true/false depending on if there is a value present.
It's currently undocumented but I suspect it will be shortly.
See: https://github.com/angular/angularfire2/pull/471

Hey that makes sense, I was just basing my assumption off of firebase's docs:

This approach, inverting the data by listing the IDs as keys and setting the value to true, makes checking for a key as simple as reading /users/$uid/groups/$group_id and checking if it is null.

So I was just trying to check if the value was null. Thanks for the help.

@rosslavery forgot about that; great note!

source: gharchive/issue

authors: katowulf rosslavery sean-hill


text:
WIP: port to Firefox

I'm creating this PR to start discussing if it is an interesting change to be cleaned up and merged upstream.
"AngularJS Batarang ported to Firefox DevTools" WIP prototype:

[x] devtool panel and dom inspector sidebar prototypes
[x] run addon and build xpi from grunt tasks (grunt run_xpi, grunt build_xpi)
[x] introduce "firefoxExtension.js" to polyfill module "chromeExtension" module
[x] disable DOM Inspector addon sidebar when Batarang devtool panel is disabled
[x] cleanup changes
[ ] test chrome addon built from grunt task (needed to preprocess panel.html on Firefox/Chrome builds)

Hey, this is fantastic!  You should be able to tap into Angular Hint now for cross-browser instrumentation.
Closing this, as Batarang is Chrome-specific, but don't let that get you down!

authors: SomeKittens rpl

repo: angular/batarang

license: mit

license_source: bigquery


text:
Bottom Sheet with TemplateRef

Feature Description
Bottom Sheet should be able to display a TemplateRef. Basically the same as with MatDialog.
Use Case
I want to build a "responsive" menu component, which displays a MatMenu on desktop and a MatBottomSheet on mobile.

This is supported already. You can pass in a TemplateRef into MatBottomSheet.open.

You're right. I overlooked the "(+1 overload)" in VSCode.
Then maybe align the Type Definitions of Bottom Sheet and Dialog?
Dialog:
open<T, D = any, R = any>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R>;

Bottom Sheet:
open<T, D = any, R = any>(component: ComponentType<T>, config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;
open<T, D = any, R = any>(template: TemplateRef<T>, config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;

There's been a PR for MatDialog for a while now, but it ended up breaking some people. https://github.com/angular/components/pull/11731

authors: benneq crisbeto

repo: angular/components


text:
Mat Tool Bar Issue

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/edit/angular-tjjqpn
Steps to reproduce:

Go to the stackblitz URL above, check if gets a scroll to the page, if no reduce the height of the window
After it runs in the browser, scroll to bottom of the screen
Click on the pick one button, it will open a dialog
Observe the top header it disappears

Expected Behavior
Ideally the top header section should not disappear or change its position when it is fixed
Actual Behavior
the top header disappear(even if Its tool bar from material components it disappears)
Environment

Angular:
CDK/Material: Material 8.1.3
Browser(s): Chrome
Operating System (e.g. Windows):

Hello There,
I found this weird thing, can you guys please help
Thanks!

I don't think its material issue,just by adding top:0px to header style fixes your issue.
https://stackblitz.com/edit/angular-tjjqpn-ei5n5c?file=index.html

yes this is what had to do to fix this
but I wanted to know why I have to put this
as I checked further I see that when modal opens it changes the position of the fixed header to something say -355px
this should not be happening by default.. no..?

(revisiting older issues as part of a triaging fix-it)
Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.
(this is a canned response)

authors: Rajendra-Techila jelbourn tahaabu


text:
fix(form-field): error when native select has no options

Fixes an error being thrown when there's a native select without any options inside a mat-form-field.
Fixes #14101.

Not to be a bother, but could someone merge these changes? There is a fix in this PR that will hopefully fix a breaking bug in my app. If there are some restrictions on why is hasn't been done yet, is there a nightly build with this fix implemented?

authors: crisbeto jjreynoldsMatric


text:
fix(sauce): use same hostname for Sauce rest API as for Sauce backend

Problem
SauceLabs has now a DC in Europe with backend url ondemand.eu-central-1.saucelabs.com:443/wd/hub. If people want to run their tests in this DC the job report should also be done their.
Solution
Parse sauce selenium address and set hostname for SauceLabs client accordingly.
Comment
It should not be called "selenium address" and rather "webdriver address" or "webdriver endpoint" but this is a separate PR.

@cnishina
Can you also cover this in your milestone https://github.com/angular/protractor/milestone/45?
Tnx!

Going to close this in favour of a new PR that will handle multiple EU/US cases with Sauce Labs

authors: christian-bromann wswebcreation

repo: angular/protractor


text:
User timings function does not work with parameters current way around - fixed

Must be in this order to interact properly with angulartics-google-analytics library if tagging for both sites

@timelf123 any news on this?

Thanks for the help @GMoHughes

repo: angulartics/angulartics-mixpanel


text:
Set up GitHub Pages

Go to repository Settings and set up GitHub Pages (from the main branch), update repository description with the proper website link. Follow the link to check if everything is fine - you should see your index.html content.

GitHub Pages are working!

repo: anhelinakruk/homepage


text:
Null Safety Support ?

When will Null-Safety support come?

same question!

same question,
and is anybody looking after this repo????

Currently I'm stop to develop this project. But any PRs are welcome!

I have migrated the package to null safety. Plzz have a look.

I've merged the PR. Thanks for your contribution @gagan-garcha :+1:

I used https://api.flutter.dev/flutter/material/showDateRangePicker.html

When will Null-Safety support come?
I used https://api.flutter.dev/flutter/material/showDateRangePicker.html

authors: anicdh faisalmushtaq007 gagan-garcha kmochimaru momtboy ufukhawk


text:
F2Movies

Source name
F2Movies
Source link
https://www6.f2movies.to/
Language
English
Other details
+18/NSFW = no
For movies and series.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a title with source name.
[X] I have checked that the extension does not already exist on the website extensions list or the app.
[X] I have checked that the extension does not already exist by searching the GitHub repository and verified it does not appear in the code base.
[X] I will fill out all of the requested information in this form.

Closed as it's a clone of sflix.to, which already exists as an extension.

authors: Secozzi edmxn

repo: aniyomiorg/aniyomi-extensions


text:
Element.scrollIntoView support?

I have a "bug" where I rerender the component manually based on the setting "Count of videos on the page".

As you can see in the image, the yellow slider menu to the right, it's currently 195 videos and the whole page is scrolled all the way to the bottom.

When I make 195 down to a lower number, say 1, instead of the page scrolling back down to the start on rerender, it stays exactly as it was left (it does not scroll back up to start of page), and since the <InfiniteScroll> component is now very small in height and scrollbar is bellow scrollThreshold, it forces hasMore and next props to fire several times until <InfiniteScroll> is again about 195 videos long. So i'm back where I started, at ~200 videos,

I understand that I should use Element.scrollIntoView in this case to force the page scrollbar back up onto a visible element, but my question is:

Is there already support for similar behavior (modifying page view position) in the component?

As of now there isn't one, but there's a onScroll prop in which you can pass a function which will be passed the scroll event and then decide to scroll as per your case.

authors: Griefchief ankeetmaini


text:
Catsrc entsrc

adds more cs controller unit tests

Closing in favor of #7

repo: ankitathomas/operator-controller


text:
Added round corners for cards.

Cards round corners in CSS.

LGTM


text:
🛑 Grafana is down

In 405fe06, Grafana (https://grafana.mikrotik24.duckdns.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Grafana is back up in 1bc971d.


text:
middleware & gorm.DB

Hi. Tell me how to add the gorm.DB in middleware?
a basic example would not hurt, I did not find it in the documentation
P.S. I'm sorry for my English))

You can check the doc here:
Create the middleware that injects the *gorm.DB, for example:
package middleware

import (
    "github.com/ankorstore/yokai/httpserver"
    "github.com/ankorstore/yokai/log"
    "github.com/labstack/echo/v4"
    "go.uber.org/fx"
    "gorm.io/gorm"
)

type ExampleMiddleware struct {
    db *gorm.DB
}

func NewExampleMiddleware( db *gorm.DB) *ExampleMiddleware {
    return &ExampleMiddleware{
        db: db,
    }
}

func (m *ExampleMiddleware) Handle() echo.MiddlewareFunc {
    return func(next echo.HandlerFunc) echo.HandlerFunc {
        return func(c echo.Context) error {
            // you can use m.db here

            return next(c)
        }
    }
}

Then, register you middleware in internal/router.go:
...
fxhttpserver.AsMiddleware(middleware.NewExampleMiddleware, fxhttpserver.GlobalUse),
...

Using fxhttpserver.AsMiddleware() will autowire your middleware constructor, and therefore inject the *gorm.DB.

Yes, thanks, the example in the documentation works. My question is how to use for certain endpoints
fxhttpserver.AsHandlersGroup(
			"/api/auth",
			[]*fxhttpserver.HandlerRegistration{
				fxhttpserver.NewHandlerRegistration("POST", "/register", handler.NewRegisterHandler),
				fxhttpserver.NewHandlerRegistration("POST", "/login", handler.NewAuthLoginHandler, middleware.CustomAuthMIddleware), // here

Sorry if the question is stupid, unfortunately, I don't quite understand how to solve it yet)

There is 3 ways to register middlewares:

globally with fxhttpserver.AsMiddleware() => will apply for all handlers
for a specific handler with fxhttpserver.AsHandler() where you can pass several middlewares => will apply for only for this handler
for a specific handler group with fxhttpserver.AsHandlersGroup() where you can pass several middlewares => will apply for only for the handlers of this group

See usage.

Thank you so much for the feedback, now it's clear. I wish the project good development and success in all its endeavors

authors: ekkinox mak-alex

repo: ankorstore/yokai


text:
test_basics install workflow

Verify that basics.sh installs properly on a macOS machine

@aj-cloete , the workflow works as expected. The old basics.sh script is giving the errors in this workflow. Once this is merged i will test this workflow on the other PR

repo: anmut-consulting/pipenv-cookiecutter


text:
🛑 Pedproject is down

In 7f43cdd, Pedproject (https://педпроект.рф) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pedproject is back up in 0f03810 after 12 minutes.

repo: ano-pedproject/repo


text:
🛑 Everest is down

In 07049ef, Everest (https://everest-edu.ru) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Everest is back up in 873f2da after 20 minutes.


text:
Glossary

This adds a Glossary module to generate.. a glossary.
You can define new items in any module by use Glossary.
I took the liberty of adding Anoma.Glossary, but maybe others have other opinions about this.
Some stuff I haven't figured out yet:
How to deal with spaces in the names? You can have functions with spaces in the name, but I can't manage to link to them properly. Two options: either auto replace spaces with _, or figure out how to link back to the functions with spaces in the name.  For example, calling Anoma.Glossary."some function"() is valid syntax, but the doc system doesn't pick it up.

I managed to figure out how to link back to definitions with spaces in the name. It's not pretty, but it works.
So if you have a definition of transaction candidate, you can generate a link using plain html links:
[transaction candidate](Anoma.Glossary#Anoma.Glossary.html#transaction candidate/0)
instead of the more useful generated link:
[transaction candidate](`Anoma.Glossary.html#transaction candidate/0`)
Only downside is that the first approach does not result in a compiler warning if the definition does not exist.

repo: anoma/anoma-archive


text:
PoS tx tests

closes #462
depends and based on #927

pls update wasm

I think there's an issue with the bonds in the client caused by the split of the Bond pos_deltas and neg_deltas in bf0b686 - the client RPC only uses the pos_deltas. Ideally, we should hide the implementation details somewhere behind a nicer API in PoS

I think there's an issue with the bonds in the client caused by the split of the Bond pos_deltas and neg_deltas in bf0b686 - the client RPC only uses the pos_deltas. Ideally, we should hide the implementation details somewhere behind a nicer API in PoS

I fixed this in a rebase, for now manually in place

moved to https://github.com/anoma/namada/pull/254

repo: anoma/anoma


text:
Resolve visually the decimal numbers

Currently, we are displaying all decimal parts without much care about, and it generates a larger string
We need to apply any transformation on it to improve readability
Some suggestions:

Display only 2 (or 4) decimal numbers
Decrease the font-size of the decimal numbers

Maybe we can use the same solution of FiatCurrency, but it'll lose precision. At least we'll need to have a title={123.456789} as a last resource of precision

repo: anoma/namada-interface


text:
Some code improvement

Fixes #48
Fixes #52
Fixes #53
Fixes #46
Fixes #57

Codecov Report

Merging #67 into master will decrease coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #67      +/-   ##
==========================================
- Coverage    96.6%   96.58%   -0.02%
==========================================
  Files           4        4
  Lines         736      733       -3
  Branches      189      186       -3
==========================================
- Hits          711      708       -3
  Misses          6        6
  Partials       19       19

Impacted Files
Coverage Δ

src/smap/symver.py
96.53% <100%> (-0.02%)
:arrow_down:

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 0ccabe1...ba6bb71. Read the comment docs.

Pull Request Test Coverage Report for Build 114

38 of 38 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 97.84%

Totals

Change from base Build 112:
-0.02%

Covered Lines:
727

Relevant Lines:
733

💛  - Coveralls

authors: ansasaki codecov-io coveralls

repo: ansasaki/smap


text:
Picker does not shown in sway

Extension Version: 0.4.5
VS Code Version: 1.44.1
OS Version: ArchLinux, Linux 5.6.4 x64
Node.js Version: 13.13.0
NPM Version: 6.14.4

VS Code about page:

Version: 1.44.1
Commit: a9f8623ec050e5f0b44cc8ce8204a1455884749f
Date: 2020-04-16T21:41:21.848Z
Electron: 7.1.14
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 5.6.4

OS more info:

Intel UHD Graphics 620
sway 1.4
Linux 5.6.4 x86_64 GNU/Linux

Some 'special' env variables:
QT_QPA_PLATFORMTHEME=qt5ct
QT_QPA_PLATFORM=wayland-egl
SDL_VIDEODRIVER=wayland
_JAVA_AWT_WM_NONREPARENTING=1
CLUTTER_BACKEND=wayland
XDG_CURRENT_DESKTOM=Unity
MOZ_ENABLE_WAYLAND=1
WINIT_UNIX_BACKEND=x11

colorHelper.disableGpu set to 1
colorHelper.disableShadow set to true
and colorHelper.disableTransparent set to true
Steps to Reproduce:

Open C++ Project
Ctrl+Shift+P
Type 'Pick Color' and press enter

Log (All lines):
(Click menu of VS Code "Help > Toggle Developer Tools", and click "Console" tab)
[Extension Host] Error: Child process already exited.	at sendIpc (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:415:31)	at Timeout.<anonymous> (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:394:19)	at listOnTimeout (internal/timers.js:531:17)	at processTimers (internal/timers.js:475:7)
t.log @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:39
_doInvokeHandler @ rpcProtocol.ts:402
_invokeHandler @ rpcProtocol.ts:387
_receiveRequest @ rpcProtocol.ts:303
_receiveOneMessage @ rpcProtocol.ts:230
(anonymous) @ rpcProtocol.ts:105
fire @ event.ts:587
fire @ ipc.net.ts:453
_receiveMessage @ ipc.net.ts:733
(anonymous) @ ipc.net.ts:592
fire @ event.ts:587
acceptChunk @ ipc.net.ts:239
(anonymous) @ ipc.net.ts:200
t @ ipc.net.ts:28
emit @ events.js:203
addChunk @ _stream_readable.js:295
readableAddChunk @ _stream_readable.js:276
Readable.push @ _stream_readable.js:210
onStreamRead @ internal/stream_base_commons.js:166

[processBridge]: Error: Child process already exited.
onDidChangeNotification @ notificationsAlerts.ts:40
(anonymous) @ notificationsAlerts.ts:26
fire @ event.ts:587
addNotification @ notifications.ts:207
notify @ notificationService.ts:106
(anonymous) @ mainThreadMessageService.ts:83
_showMessage @ mainThreadMessageService.ts:44
$showMessage @ mainThreadMessageService.ts:38
_doInvokeHandler @ rpcProtocol.ts:402
_invokeHandler @ rpcProtocol.ts:387
_receiveRequest @ rpcProtocol.ts:303
_receiveOneMessage @ rpcProtocol.ts:230
(anonymous) @ rpcProtocol.ts:105
fire @ event.ts:587
fire @ ipc.net.ts:453
_receiveMessage @ ipc.net.ts:733
(anonymous) @ ipc.net.ts:592
fire @ event.ts:587
acceptChunk @ ipc.net.ts:239
(anonymous) @ ipc.net.ts:200
t @ ipc.net.ts:28
emit @ events.js:203
addChunk @ _stream_readable.js:295
readableAddChunk @ _stream_readable.js:276
Readable.push @ _stream_readable.js:210
onStreamRead @ internal/stream_base_commons.js:166

Hi @niktob560, thank you for the comment.
Were not more log lines output?

Shure, there is a full output of console at cold start of VS code with calling a picker:
[Extension Host] activating extension
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] starting language server
2/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] (node:1355460) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Start child process...
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: electron-prebuilt
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: comma-separated-values
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: js-yaml
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: process-bridge
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Try to send IPC message: 1
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] [STDERR]: (electron:1355747): Pango-ERROR **: 13:08:57.382: Harfbuzz version too old (1.1.3)
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Child process disconnected
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Child process exited with code: null
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Error: Child process exited with code: null	at /home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:478:19	at ChildProcess.<anonymous> (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:394:19)	at ChildProcess.emit (events.js:203:13)	at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855 [processBridge]: Error: Child process exited with code: null
onDidChangeNotification @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Error: Child process already exited.	at sendIpc (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:415:31)	at Timeout.<anonymous> (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:394:19)	at listOnTimeout (internal/timers.js:531:17)	at processTimers (internal/timers.js:475:7)
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855 [processBridge]: Error: Child process already exited.
onDidChangeNotification @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855

The Electron in your computer might have a problem.
Try this:

Uninstall the extension via VS Code.
Remove this directory:
/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5
Execute these commands in terminal app (not "TERMINAL" panel in VS Code):
npm uninstall -g electron
npm uninstall -g electron-prebuilt
npm cache clean
Execute this command in terminal app to confirm the cache data were cleared (i.e. no file is shown):
npm cache ls
Remove this directory:
~/.electron.
Press Ctrl + @ keys (Shift key also might be required) in VS Code. Then a "TERMINAL" panel is opened.
In the "TERMINAL" panel above (not terminal app), execute this command:
node -e "console.log(require('electron-prebuilt'))"
Then an error Error: Cannot find module 'electron-prebuilt' should occur (this is correct result).
Re-install the extension via VS Code.

npm cache clean requires --force flag
npm cache ls not found:
$ npm cache ls
npm ERR! Usage: npm cache add <tarball file>
npm ERR! npm cache add <folder>
npm ERR! npm cache add <tarball url>
npm ERR! npm cache add <git url>
npm ERR! npm cache add <name>@<version>
npm ERR! npm cache clean
npm ERR! npm cache verify

Other steps passed with no errors
Error still here
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] activating extension
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] starting language server
2/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] (node:1738817) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Start child process...
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: electron-prebuilt
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: comma-separated-values
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: js-yaml
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Check version of: process-bridge
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Try to send IPC message: 1
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] [STDERR]: (electron:1739363): Pango-ERROR **: 17:34:27.878: Harfbuzz version too old (1.1.3)
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Child process disconnected
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Child process exited with code: null
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Error: Child process exited with code: null	at /home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:478:19	at ChildProcess.<anonymous> (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:394:19)	at ChildProcess.emit (events.js:203:13)	at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855 [processBridge]: Error: Child process exited with code: null
onDidChangeNotification @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262 [Extension Host] Error: Child process already exited.	at sendIpc (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:415:31)	at Timeout.<anonymous> (/home/nikto_b/.vscode-oss/extensions/anseki.vscode-color-0.4.5/node_modules/process-bridge/process-bridge.js:394:19)	at listOnTimeout (internal/timers.js:531:17)	at processTimers (internal/timers.js:475:7)
t.log @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:262
/usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855 [processBridge]: Error: Child process already exited.
onDidChangeNotification @ /usr/lib/code/out/vs/workbench/workbench.desktop.main.js:2855

Hmm... If an error about a library was shown, this may solve this issue:
https://github.com/anseki/vscode-color/issues/89
However, this issue might be related to glibc. If so, it is not easy...
https://github.com/anseki/vscode-color/issues/90
Then, you had better use Color Picker of VS Code instead.

No reply came, then this abandoned issue is closed.

repo: anseki/vscode-color


text:
Zone intervention

Pour rechercher sur une zone d'intervention la syntaxe proposée dans le docX est get[BASE]/HealthcareService?location.intervention-zone=XXX .
L'intervention zone est une extension complexe avec 2 codeable concept type, code. Est il possible de rechercher en précisant les types , les codes ... si oui quelle syntaxe adopter ?

L'expression indique où est-ce que le paramètre de recherche cherche : https://github.com/ansforge/IG-fhir-repertoire-offre-ressources-sante/blob/main/input/fsh/instances/ror-sp-healthcareservice-intervention-zone.fsh
Ici : HealthcareService.extension.where(url='https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-territorial-division').extension(url='typeTerritorialDivision').valueCodeableConcept

Revoir le nom de l'extension : https://interop.esante.gouv.fr/ig/fhir/ror/ValueSet-code-region-territorial-division.html
Changer le SearchParam pour chercher dans le code et pas dans le type @sdemeyANS

2. pas dans le type

Ca me va :)
Attendons le go de @sdemeyANS

pas dans le type

Ca me va :) Attendons le go de @sdemeyANS

OK pour point 2

Mon point concernait surtout le nom du ValueSet qui ne va pas : https://interop.esante.gouv.fr/ig/fhir/ror/ValueSet-code-region-territorial-division.html
Car il fusionne 5 VS et s'appelle "Fusion du valueset J223-TypeDivisionTerritoriale-ROR et JDV_J237-RegionOM-ROR"

En effet, c'est corrigé.
J'ai également remarqué une erreur dans la requête : get[BASE]/HealthcareService?location.intervention-zone=XXX.
Le "location" n'est pas nécessaire car le search param intervention-zone s'applique directement à HealthcareService.
Ce sera corrigé dans la prochaine version de la spécification que nous allons vous transmettre.

authors: jcserafini nriss sdemeyANS sly-kereval


text:
Location : erreur de validation sur l'extension geolocation

Bonjour,
Prenons cette ressource FHIR qui respecte au mieux la Structure Definition fournie :
{
    "resourceType": "Location",
    "id": "103",
    "meta": {
        "lastUpdated": "2023-03-31T16:48:04.000+00:00",
        "tag": [
            {
                "system": "https://mos.esante.gouv.fr/NOS/TRE_R30-RegionOM/FHIR/TRE-R30-RegionOM",
                "code": "52"
            }
        ]
    },
    "status": "active",
    "name": "Consultation kinésithérapie",
    "address": {
        "line": [
            "14 BIS R GEORGES CLEMENCEAU",
            "85140 Les Essarts"
        ],
        "_line": [
            {
                "extension": [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
                        "valueString": "14"
                    },
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix",
                        "valueString": "BIS"
                    },
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetNameBase",
                        "valueString": "R GEORGES CLEMENCEAU"
                    }
                ]
            },
            null
        ],
        "city": "Les Essarts",
        "postalCode": "85140"
    },
    "position": {
        "extension": [
            {
                "url": "http://hl7.org/fhir/StructureDefinition/geolocation",
                "extension": [
                    {
                        "url": "latitude",
                        "valueDecimal": 49.133333
                    },
                    {
                        "url": "longitude",
                        "valueDecimal": 6.166667
                    },
                    {
                        "url": "geodicSystem",
                        "valueString": "WGS84"
                    },
                    {
                        "url": "reliablePosition",
                        "valueBoolean": false
                    }
                ]
            }
        ],
        "longitude": 6.166667,
        "latitude": 49.133333
    }
}

Le validateur indique :

The modifier extension http://hl7.org/fhir/StructureDefinition/geolocation is not allowed to be used at this point (allowed = e:Address; this element is [Location.position, BackboneElement]).

En effet, la documentation de cette extension native FHIR indique :

Context of Use: Use on Element ID Address.

Pour information, si j'utilise l'URL "https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-geolocation" à la place, le validateur m'indique :

Value is 'https://interop.esante.gouv.fr/ig/fhir/ror/StructureDefinition/ror-location-geolocation' but must be 'http://hl7.org/fhir/StructureDefinition/geolocation'

Loïc BERTRAND
loic.bertrand@atos.net
Ingénieur d’études et développement
Atos France - Département Est - Metz
PS : Il me semble que le terme pour "système géodésique" en anglais est "geodetic system" au lieu de "geodic system".

@Kereval Pourquoi est-ce qu'on a fait ça si on a déjà longitude - latitude ?
Voir avec le ror si le système géodésique est uniquement WGS84, supprimer l'usage de l'extension, et créer une extension booléenne "reliablePosition"

Les attributs longitude et latitude sont bien mappés sur Location.position (.latitude et .longitude).
L'extension sur geolocation permet de mapper les attributs systemeGeodesique et coordonneesFiables de la classe CoordonneeGeographique (utilisée dans la classe Lieu) du modèle d'exposition.

@sly-kereval FHIR impose que les données de Location.position soient en WGS84, ce qui rend l'attribut systemeGeodesique inutile

De plus, c'est une mauvaise pratique de dupliquer les données (latitude et longitude).
La seule info manquante est donc coordonneesFiables, il suffit donc de remplacer l'extension ror-location-geographique par une extension créée ror-fiabilite-coordonnee

Pour l'équipe de développement : l'extension étant d'attribut 0..1, possibilité de la retirer le temps que l'on fasse la nouvelle release (donnée retirée temporairement à valider et notifier au ROR)

Merci pour la réponse, nous ne diffuseront pas cette extension pour le moment, en attendant la nouvelle release

Très bien, @jcserafini tu pourras confirmer qu'il n'y a pas de soucis qu'on supprime la notion de geodesicSystem et reliablePosition temporairement avant prochaine release ? On a besoin d'expertise fonctionnelle des données du ROR pour s'en assurer

En complément, j'ai lu dans le document "ROR - ModèleExpositionV2.4.docx" que "le système géodésique utilisé par chaque solution ROR est le WGS84." :

après on est sur ME 3.0 :) mais je crois qu'il n'y a pas de changement sur ce point entre 2.4 et 3.0

Bonjour,
Il n'y a pas de soucis qu'on supprime la notion de geodesicSystem et reliablePosition temporairement avant prochaine release @jcserafini ?

-> pourquoi enlever reliablePosition ? il faut juste enlever geodesicSystem, latitude et longitude de l'extension.
Est-on sûr que ce soit WGS84 dans tous les cas @jcserafini ?

-> Oui, c'est bien du WGS84 dans les ROR.

Super on est aligné @mathieu-decarvalho :)
Je disais : on supprime l'extension complexe existante et on la remplace par une extension simple avec uniquement reliablePosition! On peut donc y aller @sly-kereval si c'est bon pour toi :)

authors: loic-brtd mathieu-decarvalho nriss sdemeyANS sly-kereval


text:
Fixed linters

Among normal bumping of linters temporary pins down pydocstyle due to recent regression.
Related: https://github.com/PyCQA/pydocstyle/pull/506

Do you really want to pin pydocstyle to a less than, or just exclude the known broken version?

It did not merge so I have no guarantee that it will be merged before the next tag is added. If it was merged I would have picked for exclusion. Anyway, I am not worried much about this because next bumping of linter would remind me to replace the downpinning.

repo: ansible-community/molecule


text:
Fix some favicon issues

See discussion in #ansible-community.

Ok, I also resolved the last issue: that the icons weren't shown on Safari. The problem is that Safari does not support SVGs for icons :-( So if we use SVGs, Safari will not display them. That's why I converted the SVGs to PNGs. I included instructions on how to do the conversion with ImageMagick in the commit message; where should I properly document it? In the README, or somewhere else?

Thanks for looking into this.
I guess document in the commit message and in this PRs description.

Actually, we have original logos here https://www.ansible.com/logos

Thanks, I used the images from there and added instructions to the README how they are obtained and how I modified them (adjusting the SVG bounding box; rescaling the PNG versions).

CC @webknjaz

@gundalow @ssbarnea thanks for reviewing and merging!

authors: felixfontein gundalow


text:
Task 5.3.16 Ensure SSH Idle Timeout Interval is configured

Feature Request or Enhancement
Is it possible to implement the following enhancement?
I am refering to tag version 1.2.1

Enhancement

In section_5 --> cis_5.3.x.yml --> Task 5.3.16 Ensure SSH Idle Timeout Interval is configured, can the line (number 300) below:
line: "ClientAliveCountMax 0"

be replaced with:
line: "ClientAliveCountMax {{ amazon2cis_sshd['clientalivecountmax'] }}"

I see the variable is already availabe in defaults/main.yml file as shown below:
amazon2cis_sshd:
    # clientalivecountmax: 0

It just need to be uncommented.
Summary of Request
The above change will allow us to set a custom value for the ClientAliveCountMax setting in the SSHD configuration
Describe alternatives you've considered
I can't find any alternative method since the value 0 is hard-coded.
Suggested Code
The code can be amended as shown below to allow us to set a custom value for the ClientAliveCountMax setting in the SSHD configuration.
line: "ClientAliveCountMax {{ amazon2cis_sshd['clientalivecountmax'] }}"

Closing as now merged to main

authors: msachikanta uk-bolly


text:
Rule 18.9.50.1.2 (L2) Ensure 'Enable Windows NTP Server' is set to 'Disabled' (MS only)

Describe the Issue
If manually set using GPEDIT correct value is 0
Expected Behavior
value set to 0
Actual Behavior
value set to 1
Control(s) Affected
Rule 18.9.50.1.2 (L2) Ensure 'Enable Windows NTP Server' is set to 'Disabled' (MS only)
Environment (please complete the following information):

branch being used: devel

Possible Solution

name: "18.9.50.1.2 | PATCH | Ensure Enable Windows NTP Server is set to Disabled MS only | Member Server"
ansible.windows.win_regedit:
path: HKLM:\Software\Policies\Microsoft\W32Time\Timeproviders\Ntpserver
name: Enabled
data: 0
type: dword
when:
- win19cis_rule_18_9_50_1_2
- win2019cis_is_domain_member
tags:
- level2-memberserver
- rule_18.9.50.1.2
- patch
- ntp

Thank you @animatco ! Good Catch!
https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.WindowsTimeService::W32TIME_POLICY_ENABLE_NTPSERVER
CC: @MrSteve81


text:
[AAP-12147] Add clipboard copy to the git hash field in the rulebook activation details page

Add clipboard copy to the git hash field in the rulebook activation details page.

Hi @lgalis, is this using the same component as the UI library is? I made a similar comment on this issue: https://issues.redhat.com/browse/AAP-11826
But it looks like in the UI library, the field does not wrap causing the copy icon to be on the next line. Please advise. Thanks!

authors: lgalis tiyiprh

repo: ansible/ansible-ui


text:
Fix port conflicts when running other Ansible dev environments

Following exposed docker ports conflicts with other AAP services:

8000:

conflicts with Gateway API
changed to 8010 (8001-8005 used)

5432:

conflicts with Gateway Postgres
changed to 5433

that is doable, okay, I'll change it

@Alex-Izquierdo Do you think we should also make the same changes in docker-compose-mac.yml file as well? And docker-compose-stage.yml?

@Dostonbek1 I would say yes for mac because it would be the same scenario than linux, in the case of stage I'm not sure

@Alex-Izquierdo added for mac, not added for stage (the potential port conflict is now dev problem only)

authors: Alex-Izquierdo Dostonbek1 slemrmartin

repo: ansible/eda-server


text:
feat: added pg_listener source plugin

This source plugin listens to notifications from the pg_pub_sub
If the payload is over 7KB the sender chunks messages which pg_listener assembles before calling the rule engine.
https://issues.redhat.com/browse/AAP-19049

@Alex-Izquierdo It would be nice if we can include it in the new release since its needed for FanOut

repo: ansible/event-driven-ansible


text:
Ansible Tower Basic Setup Solution doc is a "work in progress."

The solution to the Ansible Tower Basic Setup workshop, facilitator/solutions/tower_basic_setup.md, is incomplete.
For instance, it's missing explanatory and contextual text around the screenshots. It also seems to be missing steps at the end or anything for the extra credit assignment.
Also, one if the screenshots (1b) is appears broken when the markdown is rendered.

taking a look now. should have a PR sometime soon.

PR open in regards to this issue and it can be found here. https://github.com/ansible/lightbulb/pull/179

Closing. Addressed by PR #179.

repo: ansible/lightbulb


text:
[SSP-2929] Allow to move internal_sequence up and down

https://issues.redhat.com/browse/SSP-2929
Add endpoint post /workflows/{id}/reposition to adjust the internal_sequence. Added backend support.

@cutwater please help with the formatting error:
flake8 requires no space before :
         return query.values_list("internal_sequence", flat=True)[
             (delta - 1): (delta + 1)
         ]

tox -eblack requires space before and after :
         return query.values_list("internal_sequence", flat=True)[
             (delta - 1) : (delta + 1)
         ]

@bzwei I updated flake8 configuration #542. When using black, the E203 error can be safely ignored, because whitespaces around semicolons are handle by black and in this particular case it is false positive flake8 error.

@cutwater Still got E203 error.

@cutwater First of all the sequence of workflows is not critical in execution. In production it is unlikely the user will have many workflows. The user will even more rarely move the same workflow recursively to break the order as illustrated. To prevent deterioration of the decimal numbers in a long run we can have a scheduled job to reset the sequence numbers to integers.

@cutwater First of all the sequence of workflows is not critical in execution. In production it is unlikely the user will have many workflows. The user will even more rarely move the same workflow recursively to break the order as illustrated. To prevent deterioration of the decimal numbers in a long run we can have a scheduled job to reset the sequence numbers to integers.

@bzwei I think your point about not having many workflows is accurate, however I could still see scenarios in which 3 workflows exist and over time they could be reordered more than enough times to cause this issue. A scheduled job is a solution to the problem but that feels more like a workaround and that the issue should be addressed at the implementation level so that we don't even need to worry about having a separate task to "fix" the numbers. Since we have the opportunity to address it before it becomes a problem I think we should do it now, if we can. I'm not sure what the best solution is, though. Increasing the floating point precision would certainly give us more space, but it feels like we're still ignoring the core issue.
@cutwater @bzwei Without changing the API payloads and structure of how we are expecting the UI to call the reposition endpoints, is there a way we can think of doing this that avoids the issue? Or, should we abandon the current API signature and change it to a different strategy? I could see the UI having an "edit sequence" screen where the user can drag/drop as they see fit, but no calls get sent until they hit "save" and then it simply sends an array with the IDs of the objects in the sequence the user wants. This obviously changes the underlying model structure a bit, but it was the first thing I could think of.

Without changing the API payloads and structure of how we are expecting the UI to call the reposition endpoints, is there a way we can think of doing this that avoids the issue?

@eclarizio @bzwei Regarding current issue, I don't think the API change is necessary. I think it can be sufficient to fix the problems indicated above:

Resolve inaccuracy in calculations by using same precision in Python and PostgreSQL. It seems much easier to use integers instead of decimals, to avoid precision issues, but as far I'm aware catalog in cloud already considered that design and had issues with that. Could you please recall what the particular issue it was?
In case when the new position is in conflict with the existing record, we need to re-balance the affected records.

I could see the UI having an "edit sequence" screen where the user can drag/drop as they see fit, but no calls get sent until they hit "save" and then it simply sends an array with the IDs of the objects in the sequence the user wants.

It sounds like a nice improving UX feature, however it may require way more effort to implement it properly, as it brings new challenges in handling concurrency issues.

authors: bzwei cutwater eclarizio

repo: ansible/pinakes


text:
feat: name setter and fill style getter setters

Description
allowing setting name and fill style for bodies.
(example: notice cube name is updated from "matrix" to "m2" and set as transparent

Unit test is coming.
Issue linked
Please mention the issue number or describe the problem this pull request addresses.
Checklist

[ ] I have tested my changes locally.
[ ] I have added necessary documentation or updated existing documentation.
[ ] I have followed the coding style guidelines of this project.
[ ] I have added appropriate unit tests.
[ ] I have reviewed my changes before submitting this pull request.
[ ] I have linked the issue or issues that are solved to the PR if any.
[ ] I have assigned this PR to myself.
[ ] I have added the minimum version decorator to any new backend method implemented.
[ ] I have made sure that the title of my PR follows Conventional commits style (e.g. feat: extrude circle to cylinder)

@umutsoysalansys did you manage to investigate the issues with the Docker image?

Oh well - everything is solved now. Please implement some testing for this feature

@RobPasMue anything else on this one?

Yes, let me check out your branch so that you understand what I meant =)

[like]  Umut Soysal reacted to your message:

From: Roberto Pastor Muela @.>
Sent: Thursday, July 18, 2024 7:18:16 AM
To: ansys/pyansys-geometry @.>
Cc: Umut Soysal @.>; Mention @.>
Subject: Re: [ansys/pyansys-geometry] feat: name setter and fill style getter setters (PR #1299)
[External Sender]
@RobPasMue approved this pull request.
LGTM! Great work here @umutsoysalansyshttps://github.com/umutsoysalansys. I just pushed to "stable" the latest unstable Docker image since the tests were passing. We are good to go now :)
—
Reply to this email directly, view it on GitHubhttps://github.com/ansys/pyansys-geometry/pull/1299#pullrequestreview-2184924438, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXFRLEUJMFUFEEQGYYWL2T3ZM5T3RAVCNFSM6AAAAABKVVI2W6VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDCOBUHEZDINBTHA.
You are receiving this because you were mentioned.Message ID: @.***>

authors: RobPasMue umutsoysalansys

repo: ansys/pyansys-geometry


text:
...

This is not a pull request, don't bother

@PipKat please refer to the PR description. While I'm more than happy to use your feedback, this branch is nowhere close to review stage.

@PipKat please refer to the PR description. While I'm more than happy to use your feedback, this branch is nowhere close to review stage.

Sorry, Sean! I tend to work from random notifications. Your advice is appreciated and will be followed!

authors: PipKat seanpearsonuk

repo: ansys/pyfluent


text:
Feat/get region dxf api

Add api for accessing dxf regions from Motor-CAD

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.75%. Comparing base (3b5fb19) to head (489fae8).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #299      +/-   ##
==========================================
+ Coverage   86.69%   86.75%   +0.06%
==========================================
  Files          20       20
  Lines        1766     1774       +8
==========================================
+ Hits         1531     1539       +8
  Misses        235      235

authors: codecov-commenter matthewAnsys

repo: ansys/pymotorcad


text:
Invalid Arguments after installation

After installing, I got this error when I tried to view the page
ErrorException in Utility.php line 264: implode(): Invalid arguments passed (View: C:\wamp\www\netaviva\estore\resources\views\home.blade.php)

Did you run the seeders?

Yes. I did that and I can see the database tables seeded.

@stanwarri  Make sure of fallowing the installation steps and see the .env file examples because I had the issue reported but after fixed them no body complained again. Please, keep me post it

@stanwarri hello bud, I just cloned/installed following the guide installation and everything worked perfectly. So, can you enum step by step what you did?

authors: gocanto stanwarri

repo: ant-vel/antVel


text:
UI Issue

Great work!
There is an issue with the color icons,

Below screenshot is taken on Brave -

on Firefox -

Also, I am not clear how can I export drawn images.

We use emoji here, 🔴🟠🟡🟢🔵🟣⚫⚪🟤 - can you seem them here?

I can see only 4 here, red, blue, black, and white.

What's your OS? 🟥🟧🟨🟩🟦🟪⬛⬜🟫 - how about these? If this won't work, I guess we will need to switch to some real icons.

macOS Mojave, I can only see black and white.

repo: antfu/drauu


text:
Support content utility

Source: https://tailwindcss.com/docs/just-in-time-mode#content-utilities

Hmmm, I am actually reluctant to support this https://github.com/antfu/unocss/issues/124#issuecomment-981532905

repo: antfu/unocss


text:
Separate SSR app render and HTML transform phases with client build in between

This PR restructures the build script to run two separate queues.
SSR app render
First, we run vue/server-renderer for each route. When this queue completes, we will have the raw HTML output rendered out into files within the vite-ssg-temp dir. Why did I bother to write this HTML out to files, you ask? One goal of this PR is to reduce the likelihood of OOM errors. Since some static sites can grow to include hundreds or thousands of routes, each with their own initialState payload , responsible memory usage is crucial to avoid scalability issues. By writing the HTML to files, we avoid holding these very large strings in memory. We can load each HTML string as we need it during the next step.
HTML Transforms
With all the vue/server-renderer output in temp files, we can now read the HTML for each route and apply all the built in transformations (formatting, preload, critters, etc) in a separate queue.
Why Do This
As mentioned above, part of the reasoning here is to improve stability of the build job by keeping some of these large strings in temp files instead of clogging up memory.
Another reason is to accommodate operations occurring during SSR that may affect the client distributable. At present, the client build occurs first, then all SSR renders occur afterward. This means that the SSR render process cannot write / alter files that would potentially be desired in the client build, as the client build has already been run.
For example: say my SSR application keeps track of all network requests run during build and writes those payloads to json files. I could then use dynamic imports in my client application to resolve those json files as a caching layer, right? Except here's the problem: vite doesn't know about those json files because they got written during the SSR build, so the json files will be missing from the distributable. My PR solves this by first running all the SSR renders, then running the client build. So by the time the client build runs, all the SSR renders have run.

Here is a visual example to demonstrate (with pseudocode) the use case that this PR makes possible:
export async function performCachedRequest(request) {
  if (import.meta.env.SSR) {
    if (isInCache(request)) {
      return JSON.parse(await fs.readFile(`/generated/cache/${getCacheKey(request)}.json`)).toString('utf-8'))
    } else {
      const response = await makeRequest(request)
      await fs.writeFile(`../generated/cache/${getCacheKey(request)}.json`, JSON.stringify(response))
      return response;
    }
  }
  return import(`../generated/cache/${getCacheKey(request)}`)
}

<template><div>{{ myData.title }}</div><template>
<script>
import { performCachedRequest } from './perform-cached-request'

export default {
  async setup() {
    const myData = await performCachedRequest({ my: 'request' })

    return { myData }
  }
}
</script>

It's an extremely basic caching mechanism that utilizes local files to achieve something not unlike the asyncData caching in Nuxt, but in a way less opinionated way. As you run the site build, it will run makeRequest as it is rendering out all the routes, but when you then load the built site in browser, those same requests will instead be served by a dynamic import of the JSON file containing the cached response for that request.
Now, in order for this example to work, vite would have to bundle up all the files in ../generated/cache so that they are available in the distributable when the client code tries to run the dynamic import. At present, this does not work: vite-ssg will generate the cache files after the client bundle has already been built, so all the cache files will be missing from the client build. My PR solves this by running the client build after the SSR app has been rendered for all routes.
I will note that it does not seem like there was a particular reason the client build was being run first, and I don't think changing this carries any negative consequences. It just required some minor restructuring to make it possible.

@antfu if you wouldn't mind reviewing - thanks!

Haven't looking deep into it, but it seems to break my site https://github.com/antfu/antfu.me. Could you help checking out which change is breaking it? Thanks.

authors: antfu gryphonmyers

repo: antfu/vite-ssg


text:
pre-reservation/hold field in lineitem

this is for cards that someone has added to their basket, but have not yet submitted,
This allows it to be removed from search results while someone has it in their basket, but doesn't require as much funkiness with the reservation id, which can wait until the reservation has been submitted.

Changed the language to be more clear.  the "reserved" field is no longer present, and has instead been replaced with two fields:
hold : the item is still in possession of the lender, but will not show up in search results (probably because a user has added it to their basket)
&
lent : the card is in the possession of someone besides the lender.
This is tied to #8

#8 has been merged and the issue is marked as closed

repo: anthony-devarti/sylvan-library


text:
"Unknown encoding type" #object.c:319

=== DISQUE BUG REPORT START: Cut & paste starting from here ===
16525:P 21 May 11:30:15.598 # ------------------------------------------------
16525:P 21 May 11:30:15.598 # !!! Software Failure. Press left mouse button to continue
16525:P 21 May 11:30:15.598 # Guru Meditation: "Unknown encoding type" #object.c:319
16525:P 21 May 11:30:15.598 # (forcing SIGSEGV in order to print the stack trace)
16525:P 21 May 11:30:15.598 # ------------------------------------------------
16525:P 21 May 11:30:15.598 #     Disque 0.0.1 crashed by signal: 11
16525:P 21 May 11:30:15.598 #     Failed assertion:  (:0)
16525:P 21 May 11:30:15.598 # --- STACK TRACE
/usr/local/bin/disque-server 0.0.0.0:7711(logStackTrace+0x3e)[0x4269be]
/usr/local/bin/disque-server 0.0.0.0:7711(_serverPanic+0x7f)[0x42625f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0)[0x7f2766663cb0]
/usr/local/bin/disque-server 0.0.0.0:7711(_serverPanic+0x7f)[0x42625f]
/usr/local/bin/disque-server 0.0.0.0:7711(getDecodedObject+0xbf)[0x41f86f]
/usr/local/bin/disque-server 0.0.0.0:7711(dictEncObjHash+0x2c)[0x412ddc]
/usr/local/bin/disque-server 0.0.0.0:7711(dictAddRaw+0x3b)[0x411f2b]
/usr/local/bin/disque-server 0.0.0.0:7711(dictAdd+0x1e)[0x41208e]
/usr/local/bin/disque-server 0.0.0.0:7711(clusterReplicateJob+0x76)[0x42ade6]
/usr/local/bin/disque-server 0.0.0.0:7711(clientsCronHandleDelayedJobReplication+0x47)[0x42ff47]
/usr/local/bin/disque-server 0.0.0.0:7711(clientsCron+0x8a)[0x413a9a]
/usr/local/bin/disque-server 0.0.0.0:7711(serverCron+0xe1)[0x415001]
/usr/local/bin/disque-server 0.0.0.0:7711(aeProcessEvents+0x20b)[0x4101cb]
/usr/local/bin/disque-server 0.0.0.0:7711(aeMain+0x2b)[0x4103db]
/usr/local/bin/disque-server 0.0.0.0:7711(main+0x302)[0x40f162]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f27662b776d]
/usr/local/bin/disque-server 0.0.0.0:7711[0x40f27d]
16525:P 21 May 11:30:15.599 # --- INFO OUTPUT
16525:P 21 May 11:30:15.601 # # Server
disque_version:0.0.1
disque_git_sha1:9ce5cb67
disque_git_dirty:0
disque_build_id:adcb5342e3e5a0ed
os:Linux 3.2.0-69-virtual x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.6.3
process_id:16525
run_id:c625c8ab6ce9cacc9cb54e04cb06752fff8f15af
tcp_port:7711
uptime_in_seconds:341
uptime_in_days:0
hz:10
config_file:/etc/disque/7711/disque.conf
Clients
connected_clients:14639
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:14639
Memory
used_memory:373456928
used_memory_human:356.16M
used_memory_rss:173277184
used_memory_peak:380637792
used_memory_peak_human:363.00M
mem_fragmentation_ratio:0.46
mem_allocator:jemalloc-3.6.0
Jobs
registered_jobs:54
Queues
registered_queues:1001
Persistence
loading:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
Stats
total_connections_received:375779
total_commands_processed:928483
instantaneous_ops_per_sec:60
total_net_input_bytes:189129863
total_net_output_bytes:250909533
instantaneous_input_kbps:1.73
instantaneous_output_kbps:8.10
rejected_connections:0
latest_fork_usec:0
CPU
used_cpu_sys:49.50
used_cpu_user:62.80
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
Commandstats
cmdstat_cluster:calls=2,usec=35,usec_per_call=17.50
cmdstat_hello:calls=375777,usec=1500012,usec_per_call=3.99
cmdstat_addjob:calls=184231,usec=1505720,usec_per_call=8.17
cmdstat_getjob:calls=191546,usec=796183,usec_per_call=4.16
cmdstat_ackjob:calls=176927,usec=929356,usec_per_call=5.25
hash_init_value: 1432287713
16525:P 21 May 11:30:15.601 # --- CLIENT LIST OUTPUT
16525:P 21 May 11:30:15.642 # id=375574 addr=127.0.0.1:13080 fd=12204 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=353307 addr=127.0.0.1:55631 fd=5862 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353308 addr=127.0.0.1:55632 fd=5986 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353309 addr=127.0.0.1:55634 fd=6008 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353310 addr=127.0.0.1:55636 fd=6024 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353312 addr=127.0.0.1:55638 fd=8346 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353314 addr=127.0.0.1:55640 fd=9665 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353317 addr=127.0.0.1:55643 fd=10474 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353320 addr=127.0.0.1:55646 fd=12737 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353323 addr=127.0.0.1:55650 fd=13208 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353324 addr=127.0.0.1:55649 fd=13307 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353327 addr=127.0.0.1:55657 fd=13799 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
id=353329 addr=127.0.0.1:55664 fd=738 name= age=46 idle=46 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=getjob
...
...
...
id=375560 addr=127.0.0.1:13059 fd=10645 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375561 addr=127.0.0.1:13060 fd=10886 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375562 addr=127.0.0.1:13061 fd=10889 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375563 addr=127.0.0.1:13063 fd=11165 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375564 addr=127.0.0.1:13067 fd=11182 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375565 addr=127.0.0.1:13070 fd=11335 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375566 addr=127.0.0.1:13071 fd=11586 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375567 addr=127.0.0.1:13072 fd=11620 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375568 addr=127.0.0.1:13073 fd=11822 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375569 addr=127.0.0.1:13074 fd=11847 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375570 addr=127.0.0.1:13076 fd=11853 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375571 addr=127.0.0.1:13077 fd=11945 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375572 addr=127.0.0.1:13078 fd=12093 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
id=375573 addr=127.0.0.1:13079 fd=12186 name= age=30 idle=30 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
16525:P 21 May 11:30:15.644 # --- REGISTERS
16525:P 21 May 11:30:15.645 #
RAX:0000000000000000 RBX:00000000004621f8
RCX:00007f276664d778 RDX:0000000000000000
RDI:0000000000020000 RSI:00007f276664d778
RBP:00000000004621c7 RSP:00007fff8d35d700
R8 :00007f276664d770 R9 :0000000000000001
R10:0000000000000000 R11:0000000000000206
R12:000000000000013f R13:00007f274eac5980
R14:0000000000000002 R15:0000000000000000
RIP:000000000042625f EFL:0000000000010206
CSGSFS:000000000000e033
16525:P 21 May 11:30:15.645 # (00007fff8d35d70f) -> 000000000043cf2d
16525:P 21 May 11:30:15.645 # (00007fff8d35d70e) -> 00007f2765c000c0
16525:P 21 May 11:30:15.645 # (00007fff8d35d70d) -> 00007f274e000000
16525:P 21 May 11:30:15.645 # (00007fff8d35d70c) -> 000000000000000c
16525:P 21 May 11:30:15.645 # (00007fff8d35d70b) -> 0000000000412ddc
16525:P 21 May 11:30:15.645 # (00007fff8d35d70a) -> 00007f274eac5980
16525:P 21 May 11:30:15.645 # (00007fff8d35d709) -> ddf8e1c14afef100
16525:P 21 May 11:30:15.645 # (00007fff8d35d708) -> 00007f2759b07148
16525:P 21 May 11:30:15.645 # (00007fff8d35d707) -> 0000000000410401
16525:P 21 May 11:30:15.645 # (00007fff8d35d706) -> 0000000000000001
16525:P 21 May 11:30:15.645 # (00007fff8d35d705) -> ddf8e1c14afef100
16525:P 21 May 11:30:15.645 # (00007fff8d35d704) -> 00007f2765c000c0
16525:P 21 May 11:30:15.645 # (00007fff8d35d703) -> 000000000041f86f
16525:P 21 May 11:30:15.645 # (00007fff8d35d702) -> 00007f276585d0c0
16525:P 21 May 11:30:15.645 # (00007fff8d35d701) -> 00007f274eac5980
16525:P 21 May 11:30:15.645 # (00007fff8d35d700) -> 00007f274eac5980
16525:P 21 May 11:30:15.645 # --- FAST MEMORY TEST
16525:P 21 May 11:30:15.645 # Bio thread for job type #0 terminated
16525:P 21 May 11:30:15.645 # Bio thread for job type #1 terminated
16525:P 21 May 11:30:19.644 # Fast memory test PASSED, however your memory can still be broken. Please run a memory test for several hours if possible.
16525:P 21 May 11:30:19.644 #
=== DISQUE BUG REPORT END. Make sure to include from START to END. ===

Thanks @renatoc, did you saw this multiple times running your script? I hope it repeats itself from time to time in order to gain a bit more context.

@antirez not just once. :/

@renatoc thanks, no way to replicate so far, and the stack trace looks impossible, but running your script over valgrind I'm seeing warnings... Fixing those, and perhaps this may result from one of the issues I fixed earlier in the context of the previous issues you opened (unlikely btw). Please ping me if this happens again...

@antirez Oh thanks
My scenario of test:
I have two machines running tests independently, and then when i did cluster meet bugs start showing

Oh that's kinda interesting... So you ran one test against, for example, Disque process A, one against Disque process B, then when you "cluster meet" bugs started to happen. This may related or not since, in general, once you join the cluster all the cluster logic is enabled so it covers a can of works ;-) Thanks for the additional info.

yup, that's right.
Anything that helps debug this, feel free to ask ;)

Thanks @renatoc!

The stack trace looks impossible. >.<
Can't find a direct way changing nodes_delivered's function to dictEncObjHash...

Thanks @sunheehnus, the best I can think is that nodes_delivered was deallocated and a robj allocate at the same address or similar address, so that we are accessing a different dict... I'll investigate more, but I wonder if @renatoc is seeing this again. Maybe this was due to some previous bug now fixed, but it is not obvious at all :-) Thanks.

@antirez

nodes_delivered was deallocated and a robj allocate at the same address or similar address
Agree with you.
I will also investigate on this, maybe the leak occurs when "cluster meet". Keep reviewing. :-)

Hi @antirez ,  any new info about this?

nodes_delivered was deallocated and a robj allocate at the same address or similar address

Just as you pointed out, some wrong deallocated operations may happen, and the memory(in use) is labeled free and  reallocated.
I look through
git grep -nw "job\ "
git grep -nw "nodes_delivered"
...

Only find a hard-to-trigger error about memory allocation for job.
dictGetSomeKeys does not guarantee to return non-duplicated elements, here may lead to wrong deallocated operations.

@sunheehnus that's very interesting!!! :-) Thank you. I need to check if there is the same possible problem in Redis as well...

@sunheehnus Bug fixed hopefully (did not tested the code... yet, we need automatic tests for this in the unit tests). I replaced the dictGetSomeKeys() call with the usual getRandomKey() call. This is perhaps less efficient but safer in this case, and to de-dup would be kinda of a nightmare... Your code review was GREAT! I really appreciate it :+1: And there are good reasons to believe that this bug is a memory corruption that was due to that. So also closing this bug, hoping that @renatoc will report again if it triggers it again in the future.

Looks good to me. :+1:  Thanks. :-)

Great, thank you!

Hey Folks
I have tested your latest code and same problem occurred.
This time i created two gist files with full dump from two machine.
Hope this help!
Thanks!! :)
Machine 1
Machine 2

Thanks a ton @renatoc... checking ASAP.

@antirez no prob. I am looking forward to see this project as stable. ;)

Thanks! :-) I saw from your log a few things:

It's pretty easy for you to replicate (cool!), just a few seconds and it crashes.
There are issues in the cluster configuration, since nodes update their addresses frequently: please don't touch anything... this may be the special condition that makes it crashing on your instance.

So please if you could, try the following:

Build with: make clean; make noopt in order to create an executable without optimizations enabled.
Run the instances of Disque using gdb: gdb disque-server and when it starts run <arguments to disque>, likely you just want run disque.conf or alike. More details: http://redis.io/topics/debugging but should be not needed.
When it crashes, type bt to get a stack trace.

Other random ideas:

I've some feeling this could be due to node table corruption due to node address update. Not sure btw.
May be related to 22k connected clients? Possible but strange since Redis uses the same client handling code and we never saw things like that.
Your setup is very valuable, you managed to find a number of bugs in a short timeframe...

Thanks for your help!

Hey @antirez
This time I could not replicate (not sure if it was to be in noopt mode).
As was trying to run the test in the same way, it happened the following error. Cpu 100% of process and process was blocked (It may be because of not having optimizations?).
Did the steps you suggested but there was no stack (i will attach screenshot).
Do you have any extra suggestions?
Yup, my setup is saved very carefully ;)
disque install
disque config
[Machine 1, disque 7711 log and error] (https://gist.githubusercontent.com/renatoc/fe91228ddc6ad17a4980/raw/040e57a91e8ff3b810fa56647895ea27bb928b30/gistfile1.txt)
Machine 1, disque 7712 log
Machine 2,disque 7711 log
Machine 2,disque 7712 log
Cluster meet
error
Hope this help, if you need anything more please ask :)

Hi @antirez @renatoc,  the new error is triggered by this, we should check nodes_confirmed before we use it as a dict.

Hey @sunheehnus Thanks for helping with this! ;)
Today tested (git hash c6346975) and got this error. If is another error not related to this let me know to create another issue.
Error

Hi @antirez @renatoc , a new catch.
See here, when (async && extrepl) is TRUE we didn't register a job.
And so here we free a job directly.
But it is possible that when (async && extrepl) is TRUE we can trigger updateJobAwakeTime(job,0), when job->delay is not 0.
updateJobAwakeTime(job, 0) will add the new job to server.awakeme list.
After we release the new job directly, the freed new job can still be indexed in server.awakeme. This may lead to this issue. :-)
Already fixed in https://github.com/antirez/disque/pull/83

Hey @antirez @renatoc ,
I think I get a new clue which is most likely to cause this crash. :-)

node1 is blocking for enough replicate,
node2 get a copy, requeue the job, ack the job, and send setack to node1,
node1 get setack msg and acknowledgeJob
The acknowledgeJob will change job->state from JOB_STATE_REPL to JOB_STATE_ACKED,
and trigger the GC to release the job, after release, the next clientsCron/ clientsCronHandleDelayedJobReplication will cause crash.

I have got a similar crash by:

remove cluster.c#L1310-1311
run a cluster with two nodes
get job from node2: getjob from 123
add job to node1: ADDJOB "123" "hello world!" 0 ttl 60
get job from node2 return a jobID and ack it: ackjob DIf21616924a815d517c10b87bd71742f9f36e23df0001SQ
after a while crash occur.

=== DISQUE BUG REPORT START: Cut & paste starting from here ===
15958:P 28 Jun 22:33:30.351 #     Disque 0.0.1 crashed by signal: 11
15958:P 28 Jun 22:33:30.351 #     Failed assertion:  (:0)
15958:P 28 Jun 22:33:30.351 # --- STACK TRACE
../disque-server *:7000(logStackTrace+0x3e)[0x42695e]
../disque-server *:7000(dictAddRaw+0x14)[0x411f04]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0)[0x7fed2893ecb0]
../disque-server *:7000(dictAddRaw+0x14)[0x411f04]
../disque-server *:7000(dictAdd+0x1e)[0x41208e]
../disque-server *:7000(clusterReplicateJob+0x76)[0x42ad76]
../disque-server *:7000(clientsCronHandleDelayedJobReplication+0x47)[0x42fec7]
../disque-server *:7000(clientsCron+0x8a)[0x413a9a]
../disque-server *:7000(serverCron+0xe1)[0x415001]
../disque-server *:7000(aeProcessEvents+0x20b)[0x4101cb]
../disque-server *:7000(aeMain+0x2b)[0x4103db]
../disque-server *:7000(main+0x302)[0x40f162]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7fed2859176d]
../disque-server *:7000[0x40f27d]
15958:P 28 Jun 22:33:30.352 # --- INFO OUTPUT
15958:P 28 Jun 22:33:30.352 # # Server
disque_version:0.0.1
disque_git_sha1:2ea8e03d
disque_git_dirty:1
disque_build_id:e2777b929074ebc7
os:Linux 3.5.0-49-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.6.3
process_id:15958
run_id:d444ff2817fc5deb1ea40470798963350b3ecb23
tcp_port:7000
uptime_in_seconds:613
uptime_in_days:0
hz:10
config_file:
Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:1
Memory
used_memory:419520
used_memory_human:409.69K
used_memory_rss:1937408
used_memory_peak:456144
used_memory_peak_human:445.45K
mem_fragmentation_ratio:4.62
mem_allocator:jemalloc-3.6.0
Jobs
registered_jobs:0
Queues
registered_queues:0
Persistence
loading:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
Stats
total_connections_received:3
total_commands_processed:3
instantaneous_ops_per_sec:0
total_net_input_bytes:197
total_net_output_bytes:0
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
latest_fork_usec:0
CPU
used_cpu_sys:0.91
used_cpu_user:0.53
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
Commandstats
cmdstat_addjob:calls=3,usec=72,usec_per_call=24.00
hash_init_value: 1436221972
15958:P 28 Jun 22:33:30.352 # --- CLIENT LIST OUTPUT
15958:P 28 Jun 22:33:30.352 # id=3 addr=127.0.0.1:49412 fd=11 name= age=536 idle=530 flags=b qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=addjob
15958:P 28 Jun 22:33:30.352 # --- REGISTERS
15958:P 28 Jun 22:33:30.352 #
RAX:00007fed274495a0 RBX:0000000000000000
RCX:0000000000000009 RDX:00007fed2748a0c0
RDI:0000000000000000 RSI:00007fed2748a0c0
RBP:0000000000000000 RSP:00007fff8588c5b0
R8 :0000000000000001 R9 :1999999999999999
R10:0000000000000000 R11:0000000000000001
R12:00007fed2748a0c0 R13:0000000000000001
R14:0000000000000001 R15:0000000000000000
RIP:0000000000411f04 EFL:0000000000010202
CSGSFS:0000000000000033
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5bf) -> 000000002741e2c8
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5be) -> 0000000000000058
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5bd) -> 000000000042ad76
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5bc) -> 0000000000000000
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5bb) -> 00007fed27414100
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5ba) -> 0000000000000000
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b9) -> 000000000041208e
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b8) -> 0000000000000000
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b7) -> 0000000000000001
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b6) -> 0000000000000001
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b5) -> 00007fed2748a0c0
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b4) -> 00007fed27414100
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b3) -> 0000000000000000
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b2) -> 0000000000000000
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b1) -> 00007fed2748a0c0
15958:P 28 Jun 22:33:30.352 # (00007fff8588c5b0) -> 0000000000000000
15958:P 28 Jun 22:33:30.352 # --- FAST MEMORY TEST
15958:P 28 Jun 22:33:30.352 # Bio thread for job type #0 terminated
15958:P 28 Jun 22:33:30.352 # Bio thread for job type #1 terminated
Testing 67a000 86016
Testing a12000 135168
Testing 7fed263ff000 8388608
Testing 7fed26c00000 12582912
Testing 7fed2787d000 4096
Testing 7fed28000000 4194304
Testing 7fed2892a000 20480
Testing 7fed28b48000 16384
Testing 7fed29044000 16384
Testing 7fed29067000 12288
15958:P 28 Jun 22:33:30.545 # Fast memory test PASSED, however your memory can still be broken. Please run a memory test for several hours if possible.
15958:P 28 Jun 22:33:30.545 #
=== DISQUE BUG REPORT END. Make sure to include from START to END. ===
   Please report the crash by opening an issue on github:

       http://github.com/antirez/disque/issues

Suspect RAM error? Use disque-server --test-memory to verify it.
[2]    15958 segmentation fault (core dumped)  ../disque-server --port 7000

Try to fix it in https://github.com/antirez/disque/pull/90  :-)

Bingo! :balloon:
That was a great investigation :-) The timeline of events occurring is very convincing indeed, I believe this is the case indeed and this bug is, finally, fixed.
About the implementation of the fix in #90, I'm more biased towards sending the client the Job ID instead of an error. After all it does not matter the replication was not achieved as the client expected: the job was correctly delivered. So in order to simplify the semantics of Disque, and the implementation of clients, it looks like a good idea to just return the ID as if the command successfully executed. After all this is expected semantic.
What I mean is that even without this set of events, what could happen is:

ADDJOB executed
ADDJOB correctly replicates the job.
Delay in sending the ADDJOB reply to the original client because of TCP network issues.
The job gets delivered and ACKed.
Finally the client that performed the ADDJOB receives the ID of the job.

So, it is a valid execution flow to get the reply of ADDJOB when the job was already delivered and acknowledged. This is why I would not add a new semantics in form of an error.
Thanks again!

Great, a happy and meaningful Sunday night I spend. ;-)
Your solution is more correct. I totally agree with you.
I am so excited that finally we solve this. And now I am in bed away from my labrary. Could you please fix this bug just as you said, because I cannot wait to get this fixed. :)

Hi @antirez ,

it does not matter the replication was not achieved as the client expected: the job was correctly delivered. So in order to simplify the semantics of Disque, and the implementation of clients, it looks like a good idea to just return the ID as if the command successfully executed. After all this is expected semantic.

Make sense and more correct!
The new commit in https://github.com/antirez/disque/pull/90 fixed this (sending the blocking client the Job ID instead of an error). :-)

@renatoc hey,  we are pretty confident the issue is fixed now, may you please confirm? Thanks!

@antirez Oh yeah, it's fixed :beer:

:beer:

Great! Closing finally :-)

authors: antirez renatoc sunheehnus

repo: antirez/disque


text:
Isn't this trivial to DOS?

FreakWAN implementations are required to implement Listen Before Talk, in order to avoid sending messages if they detect some other valid LoRa transmission (either about FreakWAN or not) currently active. In this implementation, this feature is accomplished by reading the LoRa radio status register and avoiding transmitting if the set of bits reports an incoming packet being received.

LBT is a fundamental improvement for the performance of this protocol, since a major issue with this kind of routing, where every packet is sent and then relayed to everybody on the same frequency, is packet collisions.

I'm asking solely based on the information in the README without looking into the code further, so forgive me if I get it wrong.
It seems based on the description that anyone with a long-range LoRa antenna could transmit junk data in order to take down the network in the surrounding physical location. Maybe it doesn't matter that much, but if I understand LoRa correctly, with good line-of-sight, one could reach quite far, therefore taking out large swaths of the network, on at least a local level.

I actually think it may be worse than your example (intentional sabotage).  It seems that based on the description of LBT that the network itself could self-DOS in situations where there are a large number of units within proximity being used.  If the idea is to be useful as a fallback communications system in case of some sort of natural disaster that disables cell or wifi networks then densely populated cities could cause saturation, especially if messages are relaying to reach users outside of the city.
Perhaps one potential solution would be to have an RSSI window that starts wide but begins narrowing upon detection of severe congestion until congestion is reduced to a useful level.  Of course there may be a potential hidden race condition within such a solution.

valid LoRa transmission

I think it hinges on the definition of this abstraction, and I would say that the DOS issue has to be mitigated by all layers, and thus this is a fair-weather imposition.
But also it has to be noted that .. as usual, physical access roots all the things.

authors: Captain-Of-Coit fallous seclorum

repo: antirez/freakwan


text:
Feature request: Highlight nodes with no dependencies or x number of dependencies

Summary
Using this tool to help port libraries from one framework to another.
Highlighting nodes with zero dependencies shows which files to port first.
Details
Could be enabled by toggle or text box with input in the Dependencies configuration tab.
Highlight could be in green - or any color.
Standard questions
Would you consider contributing a PR? Yes

Nevermind, realised in Graph Configuration sidebar select layout Hierarchical, spacing Directed
The bottom layer has no import locally

repo: antoine-coulon/skott


text:
build: use pkg-config to find imlib2

imlib2 1.7.5+ drops imlib2-config, hence pkg-config
must now be used to find it.
Bug: https://bugs.gentoo.org/828962

Thank you very much for this pull request! I've just seen that you have also pushed this patch to upstream, also thanks for that!

authors: antonialoytorrens thesamesam

repo: antonialoytorrens/idesk


text:
Int possibly not converted to float on ternary condition

Hello, Ive been testing some expressions and ran into this:
using versions
go 1.20
require github.com/antonmedv/expr v1.15.3

my output (expected this to not return an error on compile)
| foo > 2 ? foo + bar : 1 | map[bar:2 baz:3 foo:1] -- err compile
error trying to compile custom formula: expected float64, but got interface {}

explanation of output
some explanation: first there is the expression foo > 2 ? foo + bar : 1 -> followed by its environment map  map[bar:2 baz:3 foo:1] and following -- is the output. This gives me en error that float was expected as I compiled like this:
how I compiled
program, err := expr.Compile(formula, expr.Env(env), expr.AsFloat64())
but this works
when i change the expression like this foo > 2 ? foo + bar : 1.0  I get
| foo > 2 ? foo + bar : 1.0 | map[bar:2 baz:3 foo:1] -- out:1(float64) meaning I get successfully 1 as expected.
additional info
It looks like this happens only with the ternary operator as the other expressions give me no problems see below
---
| 1+2 | map[] -- out:3(float64)
---
| foo+2 | map[foo:1] -- out:3(float64)
---
| (foo+bar)/2 | map[bar:2 baz:3 foo:1] -- out:1.5(float64)
---
| foo < 2 ? 15 : 20 | map[bar:2 baz:3 foo:1] -- out:15(float64)
---
| foo > 2 && bar > 2 ? 15 : 1 | map[bar:2 baz:3 foo:1] -- out:1(float64)
---
| foo < 2 ? foo+bar > 1 ? 1 : 2 : 3 | map[bar:2 baz:3 foo:1] -- out:1(float64)
---
| count([foo,bar,baz],{#>1}) > 1 ? 5 : 10 | map[bar:2 baz:3 foo:1] -- out:5(float64)
---
| foo > 2 ? foo + bar : 1 | map[bar:2 baz:3 foo:1] -- err compile
error trying to compile custom formula: expected float64, but got interface {}

Yes, as return type of cond ? x : y is any. Cast to float:
    float(cond ? x : y)

repo: antonmedv/expr


text:
New Color Enhancement Method with HSV

I have added two additional methods to calculate a brighter color for the Razer Wrapper.

Simple: A simple multiplication with some overflow detection, and
Gamma: An implementation of an image gamma correction.

The first one isn't very special, but some people might use it.
The second is pretty good a brighten very dark colors, but makes light colors a bit gray.
In addition, I removed the initial_factor because it wasn't needed.

Well done, it works very well. Thank you for your help! :D

I am very happy that I clould add my part to your awesome project. Thank you too for your work!

@antonpup I recently saw that the textbox which should give a hint on wich algorithm to use doesn't have the right text in it. It's from a previous state and I must have overlooked it. Could you change it to the following, I don't want to open a new PR?

HSV is an algorithm to brighten dark colors, while not affecting bright colors in an elegant way. To do this, it needs more calculations per color, therefore uses more CPU power. If you notice any delays, you should consider not using HSV.

The text is found in all three places where the color enhancement is in place, each on the lines 52, 53 and 57.
Thanks for your work!

Done.

authors: LukasACH antonpup

repo: antonpup/Aurora


text:
加载编码咯

看看合适不。。orz

there are some bugs

repo: antoor/antSword


text:
Use different images for antrea-controller and antrea-agent

Describe the bug

In the existing manifest, antrea-agent and antrea-controller are sharing the same image. Focusing on antrea-controller itself, many packages required by antrea-agent is not needed. The current solution leads to a larger size of the final antrea image (e.g, antrea/antrea-ubuntu) antrea-controller, which causes a longer time is cost when starting antrea-controller container. In some setups, it may cause almost 2m to download the image.
As antrea-agent has a toleration of 70s on antrea-controller is unvailable. In upgrade scenario, the longer time spent on image downloading finally causes a lot of antrea-agent Pods come to "notReady" status, then it would break the rolling update stragety.
So it would be better if we can reduce the image size of antrea-controller, e.g. use a smaller basic image, remove unneeded packages..
To Reproduce

Expected

Actual behavior

Versions:

Additional context

I am inclined to agree with Wenying. Not only the unnecessary antrea-agent, antea-cni binaries, but also the whole OVS, iptables, suricata dependecies can be got rid of from antrea-controller image.  I reckon the final image for antrea-controller could be reduced about 400+MB. It could also save around 90MB (antrea-controller) on non control-plane Nodes.
cc @jianjuns @antoninbas @salv-orlando

No objections from me. I also have been thinking about whether we should do this for a while.

I suggest that at first we keep the antrea/antrea-ubuntu image as is, to avoid possible disruptions for user that may consume this image directly.
We can introduce 2 new images, one specific to the agent and one specific to the controller.
We can stop publishing the unified image for Antrea v2.

@rajnkamr @jainpulkit22 this should be doable for the v1.15 release, right?

@antoninbas , We might bring it in v1.15 based on ETA

authors: antoninbas rajnkamr tnqn wenyingd

repo: antrea-io/antrea


text:
Fix TestClusterIPHostAccess flakes

The curl command should use '--retry-connrefused', as refused
connections are not considered transient erros by default (and won't
cause retries otherwise).
Signed-off-by: Antonin Bas abas@vmware.com

Codecov Report

Merging #2270 (b90b81c) into main (d9ec097) will decrease coverage by 20.36%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #2270       +/-   ##
===========================================
- Coverage   61.62%   41.26%   -20.37%
===========================================
  Files         279      141      -138
  Lines       21329    17375     -3954
===========================================
- Hits        13145     7170     -5975
- Misses       6811     9572     +2761
+ Partials     1373      633      -740

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
41.26% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/util/k8s/name.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/agent_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/helper.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/cniserver/pod_configuration_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/v1beta1/register.go
0.00% <0.00%> (-92.86%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-83.88%)
:arrow_down:

... and 234 more

I don't have a link anymore because we restarted all the CI jobs for these PRs, but the curl command was failing with "connection refused" and there was no retry.

/skip-all

/test-e2e

I don't have a link anymore because we restarted all the CI jobs for these PRs, but the curl command was failing with "connection refused" and there was no retry.

Got it. Thank you for fixing this!

authors: antoninbas codecov-commenter lzhecheng


text:
G2@4.x 柱状图更改图表大小时，最大值对应的柱子不会自适应

G2 Version:4.x

Platform: MaxOS

Mini Showcase(like screenshots):

CodePen Link: https://codesandbox.io/s/s4evs

当动态改变图表size的时候，最大值对应的柱子显示有问题，不会根据图表大小自适应。

@simaQ 这个帮忙看看呗，感觉像是一个大问题。

@simaQ 这个帮忙看看呗，感觉像是一个大问题。

恩，是的大问题，已经定位到原因了，但是没这么快修复，节后第一周回去提交 PR

authors: BuggMaker hustcc simaQ


text:
how to draw a rect by given coords

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link

Steps to reproduce
I'd like to draw a polygon geometry, but there was no document shows draw a polygon by given coords.
import DataSet from "@antv/data-set";
import { Chart } from "@antv/g2";

fetch("https://raw.githubusercontent.com/guanyun-helo/data_test/main/test.json")
  .then((res) => res.json())
  .then((data) => {
    const ds = new DataSet({
      state: {
        sizeEncoding: false
      }
    });
    const dv = ds.createView("diamond").source(data);
    dv.transform({
      sizeByCount: "$state.sizeEncoding", // calculate bin size by binning count
      type: "bin.rectangle",
      fields: ["x", "y"], // 对应坐标轴上的一个点
      bins: [20, 10]
    });
    data = [
      {
        x: [0.30367873206103, 100, 0.30367873206103, 0],
        y: [100, 100.011454046156, 100, 0]
      }
    ];

    const chart = new Chart({
      container: "container",
      autoFit: true,
      height: 500,
      padding: [32, 32, 48, 32]
    });
    chart.data(data);
    chart.scale({
      y: { nice: true },
      count: { nice: true }
    });

    chart.tooltip({
      showMarkers: false,
      showTitle: false
    });
    chart.polygon().position("x*y").color("red");

    chart.interaction("element-active");

    chart.render();
  });

Environment
Info

g2
4.0.15

System
mac os big sur

Browser
chrome 86

you may need the example: https://g2.antv.vision/zh/examples/heatmap/basic#polar-heatmap

you may need the example: https://g2.antv.vision/zh/examples/heatmap/basic#polar-heatmap

authors: guanyun-helo hustcc


text:
How do I dynamically add new edges like in 4.x?

Describe the bug / 问题描述

请问如何通过上下文菜单来新增边，而不是默认的behavior那样通过点击和拖拽新增？
本来想像4.x的demo那样手写监听事件的方式来实现，但是监听canvas:pointermove事件的时候每次都要调用graph.draw方法不然edge不会实时更新位置，但是这样页面就会很卡顿；而且edge的target也不能像4.x那样直接指向一个坐标了，必须指向一个node的id。
内置的新增边功能还有一个bug，就是新增边后，在页面第一帧时，edge会飞到canvas的左上角去：

Reproduction link / 重现链接
No response
Steps to Reproduce the Bug or Issue / 重现步骤
No response
G6 Version / G6 版本
🆕 5.x
Operating System / 操作系统
macOS
Browser / 浏览器
Chrome
Additional context / 补充说明
No response

把源码中的create-edge代码抽出来魔改了一个自定义的新增边，也算解决问题了。

内置的新增边功能还有一个bug，就是新增边后，在页面第一帧时，edge会飞到canvas的左上角去

这个问题目前已经解决


text:
In the comboCombined layout, after the dagre direction is changed from rankdir: 'LR' to rankdir: 'TB', and then the combo node is expanded, the position of the combo expansion is still the previous position?

Describe the bug / 问题描述
comboCombined 布局中, dagre方向由   rankdir: 'LR' 切换为   rankdir: 'TB' 后，再展开combo节点，此时combo展开的位置还是之前的位置:
期望：combo展开的位置与折叠状态的位置一致，而不是切换方向前的位置；
const graph = new G6.Graph({
  container: 'container',
  width,
  height,
  layout: {
        animate: true,
        type: 'comboCombined',
        sortByCombo: false,
        collapsed: true,
        innerLayout: new G6.Layout.grid({
          collapsed: true,
        }),
        minZoom: 1,
        maxZoom: 1,
        outerLayout: new G6.Layout.dagre({
          nodesep: 30, // 节点间距
          ranksep: 60, // 层间距
          nodeSize: 30,
          minZoom: 1,
          maxZoom: 2.5,
          rankdir: 'LR',
          linkDistance: 50,
          controlPoints: true, // 可选
          preventOverlap: false,
        }),
        comboPadding: 20,
      },
  });

Reproduction link / 重现链接
https://codesandbox.io/p/sandbox/musing-herschel-r2dk4x
Steps to Reproduce the Bug or Issue / 重现步骤

切换dagre的方向
点击combo展开
此时可看到combo位置不对

G6 Version / G6 版本
4.x
Operating System / 操作系统
macOS
Browser / 浏览器
Chrome
Additional context / 补充说明
G6版本：
"@antv/g6": "^4.8.23"

经过尝试，需要将relayout: true开启，就不用graph.render()强制刷新
 modes: {
      default: [
        {
          type: 'collapse-expand-combo',
          trigger: 'click',
          relayout: true, // 收缩展开后，重新布局
        },

....


text:
中国地图气泡图  拖动一下浏览器窗口会一直触发resize事件

L7 Version: 2.2.26
Platform: windows
Mini Showcase(like screenshots):
CodePen Link:

一直都在resize吗？

主动触发一次resize，就会一直调用自定义的回调函数

@lzxue   麻烦问下最近有看过这个问题么

@lzxue 麻烦问下最近有看过这个问题么

最好提供在线复现的demo, 我这边没有复现，先更新一下最新版本看看


text:
docs: 官网新增在线体验功能

👀 PR includes

✨ Feature

✅ 官网标题栏新增“在线体验”入口

✅ “数据”菜单栏配置项：

行头
列头
数值
数值置于
视图

✅ “样式”菜单栏配置项：

主题风格

类型
主题
主题色

显示模式

宽度调整
……

行序号和分页
行小计/总计
列小计/总计

✅ 表格支持类型：

透视表
明细表

📝 Description
用户在官网进入“在线体验”，可通过已有的配置项感受 S2 透视表、明细表的基本功能。
🖼 Screenshot

可以从DI官方数据集下载一份数据，多几个 value，能展示出单度量值，多度量值的区别

sheet 和 container 之间留点padding, 比较有“呼吸感”

数据量比较小的时候，分页组件会隔得很远，可以根据现在的mock数据大致限制一下 maxHeight

authors: GaoFuhong wjgogogo


text:
Is there any way to check whether a graph is directed acyclic graph or not ?

Expected Behavior
We have a marketing campaign automation tool. we just want to make sure there is no cycle in the graph.
So is there any easy way to check the directed acyclic graph?
otherwise, we need to check output JSON to validate the graph.
how can detect cycle during connect nodes?
Possible Solution

Additional Context

X6 currently has no method for detecting rings, but you can use the method provided by this repository

@NewByVector thanks for the reply. The algorithms repo is very helpful.

authors: NewByVector Sanjeevraghav