Error reading IP

Heya, whenever I run this this script it has trouble figuring out how to read the IP which means it can't update. It seems to be having some trouble with IPv6. Care to take a look?
transip-dynamic warning: cannot find IPv4 address: cannot read IP: Get http://[2604:1380:1000:af00::1]: dial tcp [2604:1380:1000:af00::1]:80: connect: cannot assign requested address
transip-dynamic warning: cannot find IPv4 address: cannot read IP: Get http://[2604:1380:1:cd00::1]: dial tcp [2604:1380:1:cd00::1]:80: connect: cannot assign requested address
transip-dynamic warning: cannot find IPv4 address: cannot read IP: Get http://[2604:1380:3000:3b00::1]: dial tcp [2604:1380:3000:3b00::1]:80: connect: cannot assign requested addres

Hey there,
Thanks for reporting.
I don't have a home server any more since I moved yet again, and haven't used this program in a while. I'll be happy to review/test any patches, but I don't really have the time/inclination to investigate a fix myself at this time.
Sorry :-(


[Feature] Support use JSON type with unique/primary key(backport #6544)

What type of PR is this：

[ ] bug
[x] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #6543
Problem Summary(Required) ：

run starrocks_fe_unittest

run starrocks_fe_unittest


fix(logger): wait for decorated method return before clearing out state

Description of your changes
As reported in #1085 the injectLambdaContext decorator, when used on async methods, was not awaiting the method to return before performing other clean-up/post-exec logic.
This PR introduces an async/await in the decorator logic so that the decorated method is always awaited. This should appears to fix #1085.
Note to reviewers/readers:
It should be noted that the decorator will now always await the decorated method regardless of it being an async function or not. Based on what I was able to find online awaiting a non-promise should be a no-op and should not have a performance impact. If this is not the case please point this out during review and we'll try to implement a conditional logic. At the moment I went with always awaiting for the reason above and also because this is how the decorator is implemented in Tracer.
How to verify this change
See results of checks below the PR, or check the result of the integration tests here:
https://github.com/awslabs/aws-lambda-powertools-typescript/actions/runs/3032214494
Optionally, run npm pack -w packages/logger & test the change in the repo mentioned in the comment.
Related issues, RFCs

Issue number: #1085
PR status
Is this ready for review?: YES
Is it a breaking change?: NO
Checklist

[x] My changes meet the tenets criteria
[x] I have performed a self-review of my own code
[ ] I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have made corresponding changes to the examples
[x] My changes generate no new warnings
[x] The code coverage hasn't decreased
[ ] I have added tests that prove my change is effective and works
[x] New and existing unit tests pass locally and in Github Actions
[x] Any dependent changes have been merged and published in downstream module
[x] The PR title follows the conventional commit semantics

Breaking change checklist
N/A

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hello, I have added a unit test case for this feature.
I have detailed this in the comments inside the tests, but in order to test the fix I am asserting the call order between the cleanup function of the decorator (that should always be called after handler returns) and something inside the handler that is placed after an await. The correct order in this case should be: 1/ whatever is inside handler, 2/ the cleanup function.
This relies on an implementation detail of the decorator so it might not be the best solution formally speaking, but the only other alternative that I was able to test on was adding an artificial delay of at least 5000ms to the awaited method, so I went with this one.
If anyone has a better idea I'm open to adopt it.

@ijemmy I have opened an issue for Tracer like you suggested: #1091
Since I'm planning on using the same method to test the fix in the unit tests I'll wait till this PR is approved before starting to work on that PR.


test_linux_stacksmash error

ERROR: test_ysg.test_linux_stacksmash
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/ysg/WorkSpace/tracer/tests/test_ysg.py", line 37, in test_linux_stacksmash
    crash = rex.Crash(target, inp, fast_mode=True, rop_cache_path=os.path.join(cache_location, 'vuln_stacksmash'))
  File "/usr/local/lib/python3.5/dist-packages/rex/crash.py", line 94, in __init__
    self.project = self.angr_project_bow.fire()
  File "/usr/local/lib/python3.5/dist-packages/archr-<IP_ADDRESS>-py3.5.egg/archr/arsenal/angr_project.py", line 24, in fire
    _,_,_,self._mem_mapping = self.scout_bow.fire()
  File "/usr/local/lib/python3.5/dist-packages/archr-<IP_ADDRESS>-py3.5.egg/archr/arsenal/datascout.py", line 79, in fire
    with self.target.shellcode_context(asm_code=self.sendfile_shellcode("/proc/self/cmdline") + self.exit_shellcode(), aslr=aslr, **kwargs) as p:
  File "/usr/lib/python3.5/contextlib.py", line 59, in __enter__
    return next(self.gen)
  File "/usr/local/lib/python3.5/dist-packages/archr-<IP_ADDRESS>-py3.5.egg/archr/targets/__init__.py", line 375, in shellcode_context
    with self.replacement_context(self.target_path, hooked_binary, saved_contents=original_binary):
  File "/usr/lib/python3.5/contextlib.py", line 59, in __enter__
    return next(self.gen)
  File "/usr/local/lib/python3.5/dist-packages/archr-<IP_ADDRESS>-py3.5.egg/archr/targets/__init__.py", line 339, in replacement_context
    self.inject_contents({target_path: temp_contents})
  File "/usr/local/lib/python3.5/dist-packages/archr-<IP_ADDRESS>-py3.5.egg/archr/targets/__init__.py", line 247, in inject_contents
    self.inject_tarball("/", tarball_contents=f.read())
  File "/usr/local/lib/python3.5/dist-packages/archr-<IP_ADDRESS>-py3.5.egg/archr/targets/local_target.py", line 58, in inject_tarball
    t.extractall(path=target_path)
  File "/usr/lib/python3.5/tarfile.py", line 1996, in extractall
    numeric_owner=numeric_owner)
  File "/usr/lib/python3.5/tarfile.py", line 2038, in extract
    numeric_owner=numeric_owner)
  File "/usr/lib/python3.5/tarfile.py", line 2108, in _extract_member
    self.makefile(tarinfo, targetpath)
  File "/usr/lib/python3.5/tarfile.py", line 2148, in makefile
    with bltn_open(targetpath, "wb") as target:
OSError: [Errno 26] Text file busy: '/home/ysg/WorkSpace/tracer/tests/../../binaries/tests/i386/vuln_stacksmash'

Why this happened?

It's "Text file busy". Is that binary being used by another process?

I migrated the rex to the UBUNTU 18.04, And didn't  have the same problem.


LogNote constantly Freeze and had to terminate with task manager.

I don't have Java installed, i used version from portableapps and also OpenJDK platform, LogNote always freezing when using filters weather i use static log file or connect trough ADB.
Windows 10 x64.

Does "portableapps" mean downloaded from somewhere other than the github release?
Please check the #5 issue.
If this is a different, please let me know how to reproduce it.

Its same, i responded in other thread.

It will be fix next version.


Update knife missing gem message for ChefDK

Just a trivial message that I came across today. I mainly see value in updating this so ChefDK users don't start sudoing their gem commands and introduce issues for themselves later.

:+1:


Post auth message

@aliuk2012 - please can you get rid of the screenshot?

new PR excluding the screenshot https://github.com/ministryofjustice/advocate-defence-payments/pull/806


Button color is always black

Hi,
I've noticed today that the google pay button color is converted to black, although i'm setting the buttonColor property explicitly to be white, yet i'm getting the black version.
not sure what's wrong in this, i've tried also the stackBlitz example
https://stackblitz.com/edit/google-pay-react?file=src%2FApp.js
it does show the same issue:

Hi @mjbour
Thanks for reporting this. We just recently changed the Button to only be available in one color: https://developers.google.com/pay/api/web/guides/brand-guidelines#style
The grey border around the button will make sure that it works also on black backgrounds:

We will update the samples in the upcoming days!

Thanks @dmengelt, that make sense.

Hi @dmengelt
Is there changelog available?
Is it possible to adjust border radius? I am interested in displaying google pay button as in previous version, to keep style matching my other UI elements.

Hi @piotrponikowski unfortunately there is no changelog available for this change. I'm sorry. It is currently not possible to adjust the border radius.

@piotrponikowski after feedback from partners we decided to revert this change. the white button variant is now available again.


core/tests/test_run_tool.py should be merged into core/tests/test_tool.py

src/ctapipe/core/tests/test_run_tool.py contains a single test that easily fit inside test_tool.py both physically and logically,  spreading tests of the same functionality over many files is bound to lead to confusion in the long run.

I am confused: you mention the same filename twice.
What should be merged?

@maxnoe Sorry for the confusion, I've updated the path now, I'm talking about the newly added test_run_tool.py introduced in #2566 .

@Tobychev it wasn't added in #2566, it was there before... But I agree, it is redundant, its functionality shall be merged with test_tool.py

It was not added, it has been there since a very long time. test_tool has tests the tool class, test_run_tool has tests for the run_tool function.
I don't really see why it is an issue to have separate files for these tests.

Actually no, by now test_tool has many tests of just the tool, in fact it has more functions dedicated to testing the tool than  test_run_tool, the latter only having the latter has only one single function right now.
So both  test_run_tool and  test_tool has a test_tool_exit_code function, but the latter also has  test_tool_raises, test_provenance_log_help, test_tool_logging_quiet, and then there are several further test functions that also use run_tool, some even in asserts,  but could maybe be argued to only be testing the tool class.
So after reviewing it, I personally find that the divide doesn't seem well respected in practice which I think indicates it wasn't really that useful.


Configurable trace exporter buffer size

Why
Add an option to configure size of trace exporter buffer.
What

use SIGNALFX_TRACE_BUFFER_SIZE env variable for configuring trace exporter buffer size
minor cleanup
update doc
log size of the trace exporter buffer in diagnostic log

Tests
Included in PR.

Please add entry to CHANGELOG.md.

Please add entry to CHANGELOG.md.

Fixed in https://github.com/signalfx/signalfx-dotnet-tracing/pull/614/commits/9997399c62436849490f6868d8ad326a7906b421

windows-2022, x64, net461 timed out, kicking it again...
https://github.com/signalfx/signalfx-dotnet-tracing/actions/runs/3038064230/jobs/4891292254#step:6:9226


4.x: Verify Starter with 4.x archetypes

Test starter with current 4.x archetypes. Archetypes might need tweaking to ensure they work with starter

Closed by #7775


Suggestion for Architecture diagram

Hi :wave:
Your project looks very cool and it reminds me a bit of inlets.dev which also bridges networks, but in a bit more of a rudimentary way.
Given that the primary example in the repo uses 3 clusters (east, west and broker), and the diagram shows two clusters I found this a bit misleading.
Would you consider updating the image or putting together a new one to match the example?
https://raw.githubusercontent.com/rancher/submariner/master/docs/img/architecture.png

Hi Alex,
Yeah, we're going to be updating the architecture diagram as we make a push to release a new version of Submariner, hopefully this will help to illustrate the way things work.
I've been toying with the idea of using https://github.com/rancher/remotedialer and tunneling the the traffic through the broker cluster which would put it in the data path, but that's down the line and probably not to smart to do in the end.

@Oats87 since this issue got closed out, I wondered if you'd updated the diagram already? Thanks, Alex

Hello @alexellis, thanks for following up! The CI was made to support two clusters via https://github.com/submariner-io/shipyard/pull/169, and we are moving jobs to use only two clusters (https://github.com/submariner-io/submariner-operator/pull/409).


issue with Addliquidity (Eth deposit) from ASgardex: transaction pending for 2 days

Issue description
Hello,
I sent 2 days ago (from my ASgardex desktop application) 0,20404949 eth  to the contract adress : 0xd37bbe5744d730a1d98d8dc97c42f0ca46ad7146. My eth adress on ASgardex is: 0xccb54ace71137ef94efee5cb12875ab7ca1c229c. In the application i see my deposit in the pool ETH.ETH is NULL, I don't see my 0,20404949 eth.
The transaction hash on thorchain mainnet is : 06C95B9F60ECE416F0F58712AAEDDF9E963ADDAD85A1F1851E22F13DB98962E8 see screenshot hereunder.

Note that on etherscan, the transaction is shown as completed, the 0.20404949 ETH have been successfully transfered to the contract adress.
What happened ? thanks for your time and consideration.
Your Environment

ASGARDEX desktop version:
MIDGARD
VERSION
v0.1.0

Operating system and version:
Windows 11 Famille - version 22H2

Transaction hash(es):
06C95B9F60ECE416F0F58712AAEDDF9E963ADDAD85A1F1851E22F13DB98962E8

Wallet address(es):
0xccb54ace71137ef94efee5cb12875ab7ca1c229c

Can't see any pending transaction or asset.

Viewblock https://viewblock.io/thorchain/tx/06C95B9F60ECE416F0F58712AAEDDF9E963ADDAD85A1F1851E22F13DB98962E8

	{
		"asset": "ETH.ETH",
		"rune_address": "thor1xx429vcgdvjth74j03mkghdq2dydhaz6w8z035",
		"asset_address": "0xccb54ace71137ef94efee5cb12875ab7ca1c229c",
		"last_add_height": 6761280,
		"units": "5617751796",
		"pending_rune": "0",
		"pending_asset": "0",
		"rune_deposit_value": "12408473974",
		"asset_deposit_value": "19671113"
	},

^ https://thornode.ninerealms.com/thorchain/pool/ETH.ETH/liquidity_providers
If you do need more help join Discord please https://discord.gg/pHcS67yX7Z (#asgardex-desktop)


Buzz has to be responsive.

This is an important requirement for buzz.

Not easy to do given we use tables.


fix: lower length of key to improve usage in win32

limit key to to 16 characters
provide it as a parameter with the default so it can allow changes from the user
document method

Summary
32 character is still too long for my user name.
Test plan

Could we default to a smaller key on windows and keep it at 32 for other platforms?

How do you determine you're in Windows?
Also isn't 32 quite large for a cache key, the probability of collisions shouldn't be that high.
I presume I'd put the check on the exported function and change the signature so it allows undefined and use either 32 or 16 once it is there.

How do you determine you're in Windows?

Like this: https://github.com/facebook/jest/blob/bc84c8a15649aaaefdd624dc83824518c17467ed/packages/jest-util/src/createProcessObject.ts#L11

Also documentation needs an update:
https://github.com/facebook/jest/blob/bc84c8a15649aaaefdd624dc83824518c17467ed/packages/jest-create-cache-key-function/README.md?plain=1#L13-L21

Could you add a test as well?
The rest looks good to me.

Could you add a test as well?
The rest looks good to me.

Can you point out one I can use as a starting point?

Would be fine to add one more test case here: https://github.com/facebook/jest/blob/main/packages/jest-create-cache-key-function/src/tests/index.test.ts

CI is failing here - would you be able to take a look @trajano?

Something changed on jasmine that prevents this from working now
platform cannot be overiden anymore.

I can't create the test as I cannot mock process.platform anymore.

Thanks at least now I know how to change platform on tests

https://github.com/facebook/jest/releases/tag/v29.5.0


java.lang.UnsupportedOperationException: Modal dialog is not supported by this builder

Description
Installed plugin and attemped to make a new LaTeX file in a directory. (Already had LaTeX installed on my machine in the path)
IntelliJ IDEA 2019.2 EAP (Ultimate Edition)
Build #IU-192.4205.45, built on May 24, 2019
IntelliJ IDEA EAP User
Expiration date: June 23, 2019
Runtime version: 11.0.3+12-b248.2 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
GC: ParNew, ConcurrentMarkSweep
Memory: 725M
Cores: 8
Registry: git.explicit.commit.renames.prohibit.multiple.calls=false
Non-Bundled Plugins: PlantUML integration, mobi.hsz.idea.gitignore, nl.rubensten.texifyidea, com.intellij.plugins.html.instantEditing, org.sonarlint.idea
Stacktrace
java.lang.UnsupportedOperationException: Modal dialog is not supported by this builder
	at com.intellij.ide.actions.CreateFileFromTemplateDialog$NonBlockingPopupBuilderImpl.show(CreateFileFromTemplateDialog.java:259)
	at nl.rubensten.texifyidea.action.NewLatexFileAction.invokeDialog(NewLatexFileAction.java:49)
	at com.intellij.ide.actions.CreateElementActionBase.actionPerformed(CreateElementActionBase.java:78)
	at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:263)
	at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:74)
	at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:139)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:278)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:292)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:265)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:107)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:282)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:111)
	at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:74)
	at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:97)
	at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:106)
	at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:121)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:111)
	at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:524)
	at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:35)
	at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:546)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:749)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:694)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:386)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Thanks for reporting! Which TeXiFy version are you using?
I haven't seen this before, maybe it has something to do with the 2019.2 EAP, will try running with that.

Sorry I forgot to add that to the report - It's 0.6.5. So far everything else seems to be OK in the EAP build.

It was indeed a backwards incompatible change in the intellij sdk for the EAP. I wonder if it would lead to problems when 2019.2 would be released, but I guess we will find out :)
I think I fixed it, maybe you want to install this build to test: TeXiFy-IDEA-0.6.6-alpha.1.zip

Sorry for the late update. Can confirm the alpha build linked does resolve the issue.

It is causing issues in 2019.2 version of Intellij ;(

@jdanekrh Exactly and that's why you can use the alpha build until the next release.

0.6.7 has just been published, so please update. Note the minimum Jetbrains IDE version is 2019.2.


Live query crashes after new edge created

OrientDB Version: 3.0.2, 3.0.6, 3.0.8
Java Version: 1.8.0_171
OS: Debian stretch x68_64, kernel 4.9
Expected behavior
When i subscribe on any Entity (subclass of vertex), live query works normally even the edge between entity1 and entity2 created.
Actual behavior
All live queries opened in current ODatabaseSession crashes after new  edge created
Exception in thread "Thread-3" com.orientechnologies.common.io.OIOException: Impossible to read a chunk of length:55703937 max allowed chunk length:16777216 see NETWORK_BINARY_MAX_CONTENT_LENGTH settings  	at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.readBytes(OChannelBinary.java:165) 	at com.orientechnologies.orient.core.serialization.serializer.result.binary.OResultSerializerNetwork.fromStream(OResultSerializerNetwork.java:655) 	at com.orientechnologies.orient.client.remote.message.OMessageHelper.readProjection(OMessageHelper.java:503) 	at com.orientechnologies.orient.client.remote.message.OMessageHelper.readResult(OMessageHelper.java:471) 	at com.orientechnologies.orient.client.remote.message.OLiveQueryPushRequest.read(OLiveQueryPushRequest.java:83) 	at com.orientechnologies.orient.client.remote.OStorageRemotePushThread.run(OStorageRemotePushThread.java:58)
Steps to reproduce

Create vertex Entity class, liveSession, subscribe on Entity changes and any number of other changes.
open new session, create entity1, close session  // ok, event fired
open new session, create entity2, and edge(entity1, entity2), close session // -> after that all listeners
open new session, create entity3.

Now all listeners from step 1 are not working.
Code to reproduce here:
https://github.com/pcholder/orientLiveQueryBug
May be i use orient in not properly manner, please help me.

Hi @pcholder
I just pushed a fix for this issue, it will be released with v 3.0.9
Thanks
Luigi


Containerregistry prepare patch 1.0.8

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-containers-containerregistry


Fix that packets/bytes fields aren't ints, which makes it impossib…

…le to graph (#7) (#8)

Fix that when packets are dropped or denied, there is no egress interface.

Bringing inline with master before working on 2.0


Tidy up PendingWhisper logic, whispers to offline friends

Duplicated code, doesn't work when a friend is set to appear offline, can get a but confused if the player is also trying to send whispers at the same time
https://github.com/HasKha/GWToolboxpp/blob/547d05821e8938664be170c6fbe3915a8cf5b04f/GWToolboxdll/Windows/FriendListWindow.cpp#L154

Not worth the extra code atm


telnet mail.xxxx.xxx 993 disconnect immediately

once docker-compose up -d
i tried to telnet mail.xxxx.xx 993 but disconnected immediately, even i tried this in the container.
please advise it.
thanks

Well, I can telnet to 993, but as it is a TLS (SSL) port and telnet doesn't do encryption the server disconnects when the handshake fails. I think you should try:
openssl s_client -connect mail:993
That will give you a telnet-like connection that handles encryption. Does that work better?

@erik-wramner is right.
https://www.anta.net/useful-tips/how-to-test-an-imap-server-by-using-telnet/


Uncaught TypeError: target.methods.generateAndInjectStyles is not a function

Hey. In my project I've decided update the version of vue-styled-components from 1.4.4 to 1.4.13 and the app has broken. The error is next:
vue-styled-components.es.js:3058 Uncaught TypeError: target.methods.generateAndInjectStyles is not a function
    at isStyledComponent (vue-styled-components.es.js:3058)
    at isValidElementType (vue-styled-components.es.js:3062)
    at styled (vue-styled-components.es.js:3069)
    at Object.<anonymous> (index.jsx:78)
    at __webpack_require__ (bootstrap 1225f84d72bb390aced3:19)
    at Object.<anonymous> (index.jsx:4)
    at __webpack_require__ (bootstrap 1225f84d72bb390aced3:19)
    at Object.<anonymous> (reports.png:1)
    at __webpack_require__ (bootstrap 1225f84d72bb390aced3:19)
    at Object.<anonymous> (router.js:1)

In index.jsx:78 I'm overriding Vue component (SetPopover) which has it's own methods section:
const SortPopover = styled(SetPopover)`
  right: 0;
`;

So in vue-styled-components.es.js:3058 we can see next method:
function isStyledComponent(target) {
  return target && target.methods && typeof target.methods.generateAndInjectStyles() === 'string';
}

and as far as I understand the problem is b/c target.methods doesn't have generateAndInjectStyles method, it has their own methods from Vue component. So I've tried to add additional checking, but after that my application has broken in another place, when I've tried to override VueSlider npm package.
Have you changed a library api? It seems that it is now provides the incorrect behavior of overriding components that not a styled.

This bug is a regression. It only happens with components that have methods. I suggest adding a safety check... I'll put up a PR.

Fixed in #96.


Server cannot find default config

I added a config file that got mounted:
- "./config.yaml:/app/config.yaml"

If the config exists, everything works fine.
If the config doesn't exist, the following error occurs when using Docker:
backend_1   | java.io.FileNotFoundException: ./config.yaml (Is a directory)
backend_1   |   at java.base/java.io.FileInputStream.open0(Native Method)
backend_1   |   at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
backend_1   |   at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
backend_1   |   at de.paul2708.server.config.Configuration.load(Configuration.java:30)
backend_1   |   at de.paul2708.server.JavalinServer.configureAndStart(JavalinServer.java:59)
backend_1   |   at de.paul2708.server.Main.main(Main.java:7)

See Configuration.load.
If I run the jar locally, everything works fine.

Should be fixed now


Bump action version to v4 and set to dryrun

Description of changes:
Workflow wrongly tagged some of the issues due to running v3 version of the action which does not support multiple exemption labels. This change upgrades it to v4, which does have that support, and sets the workflow to dryrun to allow us to verify the run before actually turning the workflow on next time.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

#1937 says there's a V6, should this use that with related config updates and close that PR?

That makes sense, let me update this to v6 (:


Add locust id tracking

Based on code / comments in https://github.com/locustio/locust/pull/278

@SandyChapman Are you interested in having this PR reviewed?

Hi @SandyChapman ! Unfortunately this PR has been idle for very long and now has conflicts. Feel free to reopen if it is still important for you.


Mortar Redshift improvements

Cleanup pep8 warnings
Fix bug #586 where Redshift began throwing a different exception when table does not exist
Add table truncation support
Add support for passing Redshift table attributes to create table statement

LGTM

LGTM


ellint_1/2  coverage

OK now that #624 is in finish coverage and newly needed tests for elliptic 1 and 2.

Looks like I simply forgot to close this one ellinnt1/2 and impl achieved coverage of $100\%$.


call function within models/_components/graphy.py passing parent function kwargs unintentionally

Description
Function call in https://github.com/mckinsey/vizro/blob/c043276d9b5c3995fe4f8f4ba79ef0856e2182ca/vizro-core/src/vizro/models/_components/graph.py#L54 passing down kwargs from parent function origination_total.
@capture('graph')
def origination_total(
    data_frame: pd.DataFrame,
    id_column: Optional[str] = "client_id",
    date_column: Optional[str] = "date",
    amount_column: Optional[Union[float, int]] = "outstanding_balance",
    sum_count: Optional[str] = "Count",
    cumulative: Optional[str] = "True",
    currency: Optional[str] = "EUR"
):

    if cumulative == "False":
        cumulative = False
    else:
        cumulative = True

    if sum_count == "Sum":
        var_to_plot = amount_column
        grouped = data_frame.groupby([date_column])[var_to_plot].sum().reset_index()
    elif sum_count == "Count":
        var_to_plot = id_column
        grouped = data_frame.groupby([date_column])[var_to_plot].nunique().reset_index()

    if cumulative:
        grouped = grouped.sort_values([date_column])
        grouped["cumulative"] = grouped[var_to_plot].cumsum()
        var_to_plot = 'cumulative'

    grouped["percentage"] = grouped.groupby(date_column)[var_to_plot].transform(lambda x:x.sum())
    grouped["percentage"] = 10000 * grouped[var_to_plot] / grouped["percentage"] // 1 / 100

    # Initialize figure
    fig = px.bar(
        grouped,
        x=date_column,
        y=var_to_plot,
        hover_data=[var_to_plot, 'percentage']
        )

    annotations = []
    for date, d_group in grouped.groupby(date_column):
        total_volume = d_group[var_to_plot].sum()
        formatted_volume = format_volume(total_volume)
        annotations.append(
            go.layout.Annotation(
                x=date,
                y=total_volume,
                text=formatted_volume,
                showarrow=False,
                yshift=20
            )
        )

    y1_max = grouped[var_to_plot].max()*1.1

    # Update layout with dynamic max range for y-axis based on the max cumulative sum
    fig.update_layout(
        annotations=annotations,
        xaxis=dict(title=f'Time'),
        yaxis=dict(title=f'Total Origination ({currency})', side='left', nticks=5, range=[0, y1_max])
    )

    return fig

Debugged including a print of kwargs in line 54 and got:
{'data_frame':    year  client_id  percentage
0  2023        801       100.0
1  2024         98       100.0, 'x': 'year', 'y': 'client_id', 'hover_data': ['client_id', 'percentage'], 'sum_count': 'Count', 'id_column': 'client_id', 'amount_column': 'outstanding_balance'}

where "'sum_count': 'Count', 'id_column': 'client_id', 'amount_column': 'outstanding_balance'}" are not expected in the function call.
Expected behavior
No response
Which package?
vizro
Package version
0.1.15
Python version
3.12.1
OS
MacOS Sonoma 14.4
How to Reproduce
I can't share the full repository due to privacy issues, but here is sample data that can be used to reproduce the issue:
    data = {
        'client_id': [1, 2, 1, 2, 3, 3],
        'date': ['2021-01', '2021-01', '2021-02', '2021-02', '2021-03', '2021-03'],
        'outstanding_balance': [100, 150, 200, 250, 300, 350]
    }

and the function that generates the dashboard page:
    def summary_origination_page(
    data_frame: pd.DataFrame,
    id_columns: List[str],
    date_columns: List[str],
    amount_columns: List[str]
    ) -> vm.Page:

    layout = vm.Layout(
        grid = [
        [0] * 5 + [2] * 1,
        [1] * 5 + [3] * 1,
        [1] * 5 + [3] * 1,
        [1] * 5 + [3] * 1
        ],
    row_min_height="100px",
    row_gap="24px"
    )

    components = [
            vm.Card(
                text="""
                #### __How to Read this Chart:__ (in `pink`, `adjustable parameters`)
                This bar chart shows the evolution of the origination volume over the selected `time axis`. If `type of aggregation` is set to `Sum`, the chart will show each period's
                sum of `column to aggregate`, else if `type of aggregation`is set to `Count`, the unique count of `id column`will be displayed. Additionally, volumes can be `accumulated` or not.
                """
            ),
            vm.Graph(id='origination_total', figure=origination_total(data_frame=data_frame)
            ),
            vm.Card(
                text="""
                #### __How to Read this Chart:__
                This bar chart shows the comparison of the current year vs. the previous year. This chart is affected by the same parameters as the chart on the left.
                """
            ),
            vm.Graph(id='origination_total_yoy_comparison', figure=origination_total_yoy_comparison(data_frame=data_frame)
            )

        ]

    controls = [
        vm.Parameter(id='Summary Origination: date axis',
                    targets=['origination_total.date_column'],
                    selector=vm.Dropdown(
                        options=date_columns,
                        multi=False,
                        value=date_columns[0],
                        title="Choose column to use as time axis:"
                    )
        ),
        vm.Parameter(id='Summary Origination: sum_count',
                    targets=['origination_total.sum_count', 'origination_total_yoy_comparison.sum_count'],
                    selector=vm.Dropdown(
                        options=["Sum", "Count"],
                        multi=False,
                        value="Sum",
                        title="Choose type of aggregation:"
                    ),
        ),
        vm.Parameter(id='Summary Origination: id',
                    targets=['origination_total.id_column', 'origination_total_yoy_comparison.id_column'],
                    selector=vm.Dropdown(
                        options=id_columns,
                        multi=False,
                        value=id_columns[0],
                        title="Choose id column for counts:"
                    )
        ),
        vm.Parameter(id='Summary Origination: column to aggregate',
                    targets=['origination_total.amount_column', 'origination_total_yoy_comparison.amount_column'],
                    selector=vm.Dropdown(
                        options=amount_columns,
                        multi=False,
                        value=amount_columns[0],
                        title="Choose column to aggregate for sums:"
                    )
        ),vm.Parameter(id='Summary Origination: cumulative',
                    targets=['origination_total.cumulative'],
                    selector=vm.Dropdown(
                        options=["True", "False"],
                        multi=False,
                        value="False",
                        title="Choose wether to accumulate or not:"
                    )
        )
            ]

    # Build page
    page = vm.Page(
        title='Summary: Origination',
        layout=layout,
        components=components,
        controls=controls
    )
    return page

Output
No response
Code of Conduct

[X] I agree to follow the Code of Conduct.

Hi @pablo-fence ,
thanks for reaching out! I hope I understand the issue correctly, but you are saying that if you do not provide keyword arguments, e.g. sum_count because it's optional, then it should never appear under the debugging statement you mentioned.
If that is the case I think I understand where the confusion comes from: Using a vm.Parameter with a vm.Graph as target will modify (and in this case insert) the relevant keyword arguments to the function call. In that case it would also appear in a print of those kwargs.
Did I understand you correctly?

Hi @maxschulz-COL,
Sorry I wasn't clear enough on my explanation; I understand the behavior of using a vm.Parameter with a vm.Graph you mention above, however, during one of the app callbacks to the px.bar() those kwargs are being passed on to the function and that triggers a TypeError since the bar() function is not expecting sum_count as a kwarg.

Hi @maxschulz-COL,
Sorry I wasn't clear enough on my explanation; I understand the behavior of using a vm.Parameter with a vm.Graph you mention above, however, the error I am encountering is during one of the app callbacks to the px.bar() once the app is active (it is not raised during loading but it does raise when I move to the page that's built with the code above). The TypeError is the following TypeError: bar() got an unexpected keyword argument 'sum_coun' so I am assuming (and actually checked with the debug print) those kwargs that belong in the parent origination_total() function parent are being passed on to the bar(), raising the error since it is not expecting sum_count as a kwarg.

Understood - would it be possible to post a minimal working example that I can copy paste to debug. Currently it is a little difficult to patch things together and guess which are the important bits to keep. Then I will try to debug this ASAP. 💪

Hi @maxschulz-COL,
Sorry I wasn't clear enough on my explanation; I understand the behavior of using a vm.Parameter with a vm.Graph you mention above, however, the error I am encountering is during one of the app callbacks to the px.bar() once the app is active (it is not raised during loading but it does raise when I move to the page that's built with the code above). The TypeError is the following TypeError: bar() got an unexpected keyword argument 'sum_coun' so I am assuming (and actually checked with the debug print) those kwargs that belong in the parent origination_total() function parent are being passed on to the bar(), raising the error since it is not expecting sum_count as a kwarg.

Understood - would it be possible to post a minimal working example that I can copy paste to debug. Currently it is a little difficult to patch things together and guess which are the important bits to keep. Then I will try to debug this ASAP. 💪

Of course, please find below:
``
import vizro.plotly.express as px
import vizro.models as vm
import plotly.graph_objects as go
import pandas as pd
import os
from vizro import Vizro
from vizro.models.types import capture
from typing import List, Union, Optional
import pandas as pd
def format_volume(volume):
if volume >= 1_000_000_000:
return f'{volume/1_000_000_000:.1f}B'
elif volume >= 1_000_000:
return f'{volume/1_000_000:.1f}M'
elif volume >= 1_000:
return f'{volume/1_000:.0f}K'
else:
return f'{volume}'
@capture('graph')
def origination_total(
data_frame: pd.DataFrame,
id_column: Optional[str] = "client_id",
date_column: Optional[str] = "date",
amount_column: Optional[Union[float, int]] = "outstanding_balance",
sum_count: Optional[str] = "Count",
cumulative: Optional[str] = "True",
currency: Optional[str] = "EUR"
):
if cumulative == "False":
    cumulative = False
else:
    cumulative = True

if sum_count == "Sum":
    var_to_plot = amount_column
    grouped = data_frame.groupby([date_column])[var_to_plot].sum().reset_index()
elif sum_count == "Count":
    var_to_plot = id_column
    grouped = data_frame.groupby([date_column])[var_to_plot].nunique().reset_index()

if cumulative:
    grouped = grouped.sort_values([date_column])
    grouped["cumulative"] = grouped[var_to_plot].cumsum()
    var_to_plot = 'cumulative'

grouped["percentage"] = grouped.groupby(date_column)[var_to_plot].transform(lambda x:x.sum())
grouped["percentage"] = 10000 * grouped[var_to_plot] / grouped["percentage"] // 1 / 100

# Initialize figure
fig = px.bar(
    grouped,
    x=date_column,
    y=var_to_plot,
    hover_data=[var_to_plot, 'percentage']
    )

annotations = []
for date, d_group in grouped.groupby(date_column):
    total_volume = d_group[var_to_plot].sum()
    formatted_volume = format_volume(total_volume)
    annotations.append(
        go.layout.Annotation(
            x=date,
            y=total_volume,
            text=formatted_volume,
            showarrow=False,
            yshift=20
        )
    )

y1_max = grouped[var_to_plot].max()*1.1

# Update layout with dynamic max range for y-axis based on the max cumulative sum
fig.update_layout(
    annotations=annotations,
    xaxis=dict(title=f'Time'),
    yaxis=dict(title=f'Total Origination ({currency})', side='left', nticks=5, range=[0, y1_max])
)

return fig

def origination_total_yoy_comparison(
data_frame: pd.DataFrame,
id_column: Optional[str] = "client_id",
date_column: Optional[str] = "date",
amount_column: Optional[Union[float, int]] = "outstanding_balance",
sum_count = "Count",
currency = "EUR"
):
# Generate year column
data_frame['year'] = data_frame[date_column].str[:4].astype(int)

# Keep only relevant columns and filter for the current and previous years
current_year = data_frame['year'].max()
previous_year = current_year - 1
data_frame = data_frame[
    data_frame['year'].isin([current_year, previous_year])
][[id_column, 'year', date_column, amount_column]].drop_duplicates()

if sum_count == "Sum":
    var_to_plot = amount_column
    grouped = data_frame.groupby(['year'])[var_to_plot].sum().reset_index()
elif sum_count == "Count":
    var_to_plot = id_column
    grouped = data_frame.groupby(['year'])[var_to_plot].nunique().reset_index()

grouped["percentage"] = grouped.groupby('year')[var_to_plot].transform(lambda x:x.sum())
grouped["percentage"] = 10000 * grouped[var_to_plot] / grouped["percentage"] // 1 / 100

# Initialize figure
fig = px.bar(
    grouped,
    x='year',
    y=var_to_plot,
    hover_data=[var_to_plot, 'percentage']
    )

total_volumes = grouped.groupby('year')[var_to_plot].sum().reset_index()
annotations = [
    go.layout.Annotation(
        x=row['year'],
        y=row[var_to_plot],
        text=format_volume(row[var_to_plot]),
        showarrow=False,
        yshift=10,
        font=dict(color="black")
    ) for _ , row in total_volumes.iterrows()
]

if sum_count == "Count":
    currency = "N"

y1_max = grouped[var_to_plot].max()*1.1

# Update layout with dynamic max range for y-axis based on the max cumulative sum
fig.update_layout(
    annotations=annotations,
    xaxis=dict(
        title=f'Time',
        tickmode='array',  # Explicitly set the tick mode
        tickvals=grouped['year'].unique()  # Set the tick values to unique years from data
        ),
    yaxis=dict(title=f'Total Origination ({currency})', side='left', nticks=5, range=[0, y1_max])
)

return fig

def summary_origination_page(
data_frame: pd.DataFrame,
id_columns: List[str],
date_columns: List[str],
amount_columns: List[str]
) -> vm.Page:
layout = vm.Layout(
    grid = [
    [0] * 6 + [2] * 2,
    [1] * 6 + [3] * 2,
    [1] * 6 + [3] * 2,
    [1] * 6 + [3] * 2
    ],
row_min_height="100px",
row_gap="24px"
)

components = [
        vm.Card(
            text="""
            #### __How to Read this Chart:__ (in `pink`, `adjustable parameters`)
            This bar chart shows the evolution of the origination volume over the selected `time axis`. If `type of aggregation` is set to `Sum`, the chart will show each period's
            sum of `column to aggregate`, else if `type of aggregation`is set to `Count`, the unique count of `id column`will be displayed. Additionally, volumes can be `accumulated` or not.
            """
        ),
        vm.Graph(id='origination_total', figure=origination_total(data_frame=data_frame)
        ),
        vm.Card(
            text="""
            #### __How to Read this Chart:__
            This bar chart shows the comparison of the current year vs. the previous year. This chart is affected by the same parameters as the chart on the left.
            """
        ),
        vm.Graph(id='origination_total_yoy_comparison', figure=origination_total_yoy_comparison(data_frame=data_frame)
        )

    ]

controls = [
    vm.Parameter(id='Summary Origination: date axis',
                targets=['origination_total.date_column'],
                selector=vm.Dropdown(
                    options=date_columns,
                    multi=False,
                    value=date_columns[0],
                    title="Choose column to use as time axis:"
                )
    ),
    vm.Parameter(id='Summary Origination: sum_count',
                targets=['origination_total.sum_count', 'origination_total_yoy_comparison.sum_count'],
                selector=vm.Dropdown(
                    options=["Sum", "Count"],
                    multi=False,
                    value="Sum",
                    title="Choose type of aggregation:"
                ),
    ),
    vm.Parameter(id='Summary Origination: id',
                targets=['origination_total.id_column', 'origination_total_yoy_comparison.id_column'],
                selector=vm.Dropdown(
                    options=id_columns,
                    multi=False,
                    value=id_columns[0],
                    title="Choose id column for counts:"
                )
    ),
    vm.Parameter(id='Summary Origination: column to aggregate',
                targets=['origination_total.amount_column', 'origination_total_yoy_comparison.amount_column'],
                selector=vm.Dropdown(
                    options=amount_columns,
                    multi=False,
                    value=amount_columns[0],
                    title="Choose column to aggregate for sums:"
                )
    ),vm.Parameter(id='Summary Origination: cumulative',
                targets=['origination_total.cumulative'],
                selector=vm.Dropdown(
                    options=["True", "False"],
                    multi=False,
                    value="False",
                    title="Choose wether to accumulate or not:"
                )
    )
        ]

# Build page
page = vm.Page(
    title='Summary: Origination',
    layout=layout,
    components=components,
    controls=controls
)
return page

if name == "main":
# Sample data to use with the function
data = {
    'client_id': [1, 2, 1, 2, 3, 3],
    'date': ['2021-01', '2021-01', '2021-02', '2021-02', '2021-03', '2021-03'],
    'outstanding_balance': [100, 150, 200, 250, 300, 350]
}

df = pd.DataFrame(data)

page1 = summary_origination_page(
    data_frame=df,
    id_columns=["client_id"],
    date_columns=["date"],
    amount_columns=["outstanding_balance"]
)

# Building and running the dashboard
dashboard = vm.Dashboard(
title="Debug Example",
pages=[page1],
navigation=vm.Navigation(
    nav_selector=vm.NavBar(
        items=[
            vm.NavLink(label="Summary", pages=["Summary: Origination"], icon="Tenancy"),
        ]
    )
    ),
theme='vizro_dark'
)

current_dir = os.path.dirname(os.path.realpath(__file__))
project_root_path = os.path.join(os.path.dirname(current_dir))

vizro_app = Vizro(assets_folder=os.path.join(current_dir, "assets/"))

vizro_app.build(dashboard).run(debug=False)
``

Also, here is the requirements file I am using requirements.txt

I figured out what is going on, and it took me a while 😄
There is one line missing: @capture('graph') needs to be added before def origination_total_yoy_comparison(, because vm.Graph only accepts CapturedCallables, ie something decorated with the capture decorator.
The problem is that the error message is super obscure, because there are a few things starting to mix. If you'd like to bear with me, here is the explanation:

by importing vizro.plotly.express as px (as one rightly should! so definitely not wrong to do so) we decorate all px charts behind the scenes with @capture
now if you use one such decorated px chart in another chart (inception style 😉 ), the returned custom object is of type CapturedCallable, although the main function (the custom chart you are building) has not directly been decorated.
this has two consequences: it stops the vm.Graph from failing, as it receives a CapturedCallable, but it is the wrong CapturedCallable (the px chart you used to build the other chart) and thus it messes up the arguments
what lead me to this: if one does not directly insert px charts into the vm.Graph, there is no need to import vizro.plotly.express, one can just use plotly.express to build the chart (as you do) and then decorate the final function with @capture --> not doing so then raises the correct error

TLDR: This is not a bug, just a typo in the script, but THANKS for raising that as it exposes a very confusing and obscure error message 🙏
Hope that makes sense 😄
P.S. We are soon merging the bug fix for your other question
P.P.S. @antonymilne we should probably do something about fixing this behaviour as it was really really confusing

@maxschulz-COL great job debugging this. Agree this can be super confusing (as it is here) but I'm not immediately sure whether we'll be able to do anything that can fix it unfortunately 🤔 Other than changing our recommendation to be that you use import plotly.express as px when you're creating a custom chart, which has its own problems.
@pablo-fence thanks for raising this indeed, and also for posting your dashboard here. It's always really interesting to see what people are doing with vizro, and this is a really cool example. Just a small question: for the parameter targets origination_total.cumulative you want boolean True/False but supply strings for options and then converting back to boolean inside the graph function. Did you try to set options = [True, False] as boolean and find it didn't work?

I figured out what is going on, and it took me a while 😄
There is one line missing: @capture('graph') needs to be added before def origination_total_yoy_comparison(, because vm.Graph only accepts CapturedCallables, ie something decorated with the capture decorator.
The problem is that the error message is super obscure, because there are a few things starting to mix. If you'd like to bear with me, here is the explanation:

by importing vizro.plotly.express as px (as one rightly should! so definitely not wrong to do so) we decorate all px charts behind the scenes with @capture
now if you use one such decorated px chart in another chart (inception style 😉 ), the returned custom object is of type CapturedCallable, although the main function (the custom chart you are building) has not directly been decorated.
this has two consequences: it stops the vm.Graph from failing, as it receives a CapturedCallable, but it is the wrong CapturedCallable (the px chart you used to build the other chart) and thus it messes up the arguments
what lead me to this: if one does not directly insert px charts into the vm.Graph, there is no need to import vizro.plotly.express, one can just use plotly.express to build the chart (as you do) and then decorate the final function with @capture --> not doing so then raises the correct error

TLDR: This is not a bug, just a typo in the script, but THANKS for raising that as it exposes a very confusing and obscure error message 🙏
Hope that makes sense 😄
P.S. We are soon merging the bug fix for your other question P.P.S. @antonymilne we should probably do something about fixing this behaviour as it was really really confusing

Oh, I see! That makes a lot of sense, many thanks @maxschulz-COL for looking into it so promptly - glad my (silly) mistake can be useful.
@antonymilne yes, I had to use strings since if I changed the options to boolean type:
                    targets=['origination_total.cumulative'],
                    selector=vm.Dropdown(
                        options=[True, False],
                        multi=False,
                        value=False,
                        title="Choose whether to accumulate or not:"
                    )
                    ```
the dashboard displays the dropdown like this (and clicking either cell has no effect)
<img width="1376" alt="image" src="https://github.com/mckinsey/vizro/assets/156002874/323f0f7e-772d-4589-b911-7d7805442f8b">

@pablo-fence thanks for checking the boolean parameter thing. This sounded familiar so I searched back through our git history and found that actually the right way to do this is:
options=[{'label': 'True', 'value': True}, {'label': 'False', 'value': False}]

This is explained in the note on the page https://vizro.readthedocs.io/en/stable/pages/user-guides/selectors/#categorical-selectors 🙂
@huong-li-nguyen since you did the original PR in https://github.com/McK-Internal/vizx-hyphen/pull/246 and I can't remember any more... Do you know why we still allow StrictBool as a type for these fields? Feels like it should fail pydantic validation (maybe with a useful error message explaining the right way to do it) to avoid people falling into this trap.

Thanks @antonymilne ! I see the default value with this implementation is the first dict (parameter value has no effect) - in the above case default will be True. Just FYI.

Closed succesfully.
Thank you @maxschulz-COL and @antonymilne !! 👍

Thanks @antonymilne ! I see the default value with this implementation is the first dict (parameter value in vm.Dropdown has no effect) - in the above case default will be True. Just FYI.

Hmm, this seems to work ok for me like this:
vm.Dropdown(
    options=[{"label": "True", "value": True}, {"label": "False", "value": False}],
    value=False,
)

Both with multi=True and multi=False, I get the default option selected being "False" here.


Publisher pages

Does anyone has an interest in designing this?
Anyone is also welcome to just contribute ideas, but I'm mostly interested in someone actually transforming loose ideas and thoughts into something coherrent.
Mockups in the form of: what content goes where, layout, flows. New ideas for what content could be shown, pulled from other sources etc. So both "what information makes sense to include", but also "how should this look and be navigated".
@camiplata could this has the interest of anyone from the Colombian team perhaps? You have build such beautiful websites in the past. I do not know if you still have UI people on staff. @tucotuco and @siwelisabeth your teams has also expressed an interest in having publisher pages.
My initial intuition is to do something similar to gbif.org publisher pages, but in a style more similar to the hosted portals - something along below mockups (which is for datasets and collections)
There are some Sketch components available that could be used if anyone has a license. But I do not have any requirements on software etc. I would like to be part of the process though and give inputs on what is possible and easy/difficult to implement (for me at least).

This is related to https://github.com/gbif/hosted-portals/issues/12, but isn't about the search experience, but about the individual publisher/organisation pages.

No one else seemed particularly interested in designing this page, so I've given it my best shot.

It is essentially a port of the existing publisher pages from GBIF.org, but with a different styling. The metrics tab won't be implemented in the first take (just as they are missing from occurrence search). Citation tab is intended to show literature.
Logos are optional in the model and the quality and sizes vary a lot. I originally tried to give it a place in the header, but given how unstable they are and the sizes vary a lot as well, then it didn't really make sense. Instead they got a place in a sidebar where it doesn't matter much if they disappear. Similar for the map (coordinates is only available for some publishers).
The contacts can easily take up a lot of space if we show all info always. And I imagine no one really cares about postal codes etc in most cases. So they are hidden by default. And only name, role and email is present.
The endorsed by installations information is somewhat obscure if you are not very familiar with the network. So I moved that down the page and added a help text.

Looks very good, Morten!
Is that something that will show up as another tab, similar to the "Datasets" tab?

I hope to deprecate the "datasets" tab on occurrence search in favour of more dedicated search experiences for datasets and publishers. The publisher search table would then link to a publisher detail page.
And then in time add a "metrics tab" (or similar) to occurrence search instead. That could be used to give breakdowns such as "what datasets contribute occurrences to this specific filter".

@aduarte-sib you have done such a nice job with the Colombian site. Would you be interested in designing this page or give feedback to my attempt above? It isn't a task with complete freedom as it should look and feel somewhat like the rest of the site, but you have balanced that very well on https://biodiversidad.co/ - anyway let me know if you want to be involved in the design aspect of this or other pages (that goes for everyone btw)

See also https://github.com/gbif/portal-feedback/issues/4080#issuecomment-1144648903 for a suggestion on option to download reports


Design backend for serving TxMeta

The results from https://docs.google.com/document/d/1YETNALx5EzqZDNSVWzTfaK5Ogw84PsBlrt64nOr-Njg/edit?usp=sharing show that precomputing TxMeta is very effective in speeding up ingestion. We need to design a solution for distributing TxMeta so Horizon operators (along with Hubble) can ingest precomputed TxMeta instead of relying on captive core.
Using a blobstore like S3 or GCS (google cloud storage) is appealing because then we don't need to build any infrastructure to serve requests for TxMeta. However, there are concerns about download latency being too slow. Perhaps these concerns can be mitigated by using cloudflare for caching and batching several ledgers together in one file.
To complete this issue we need a design document which proposes a solution for distributing TxMeta and analyzes the cost and performance of the solution.

I'd throw kafka broker in for consideration as 'blobstore' candidate and alternative to proprietary cloud options. Available on most cloud infra providers as 'managed' deployment or can deploy internal(but, requires substantial ops support). Kafka has been used in terabyte situations with partitioning and has a client-broker transport for throughput, h/a, message delivery. ideas on model would be like message_id: <ledger_id> and message_payload: <ledger_txmeta_blob> additional kafka message headers  could be added for letting clients do intelligent filtering/routing per potential attributes of the ledger.
the notion of consumer offest in the protocol could be interesting feature as it enables replay use cases for consumers, synonymous with reingest range <from> <to>.

may want to include as part of HLD(high level design) if/how the existing mono-repo ingestion sdk will enable access to new TxMeta source, new ledgerbackend? identify which programming languages are highly desired for ingestion sdk with this new TxMeta capability but not present yet, is the mono-go the only one currently, are any other languages minimally required as part of new TxMeta solution?

may want to include as part of HLD(high level design) if/how the existing mono-repo ingestion sdk will enable access to new TxMeta source, new ledgerbackend? identify which programming languages are highly desired for ingestion sdk with this new TxMeta capability but not present yet, is the mono-go the only one currently, are any other languages minimally required as part of new TxMeta solution?

also, have the ingestion sdk provide outbound path from the ledgerbackend interface, so have the ability for apps to build publishers to remote tx meta sources as well, same sdk can be pub and sub sides.
+1 to this. I think it makes sense to productize/productionalize both the publish and consumption side. That is, there is an SDK/package that produces this new TxMeta ledger backend, and there is also one that consumes from it. I'm not particularly opinionated on whether those should be the same package or different packages, but I think keeping them both in the ingest package could definitely make sense.

@chowbao , just wanted to reference this design ticket earmarked for remote tx meta storage, as you're design proposal is overlapping, we'll want to incorporate your summary here, thanks!


Remove last buy price slack updates unless notifyDebug or notifyOrder are enabled

Description
The existing slack notification settings are still quite verbose even when notifyOrderConfirm and notifyDebug are disabled. Also as a user, if I only enable notifyOrderExecute, I expect to not receive trailing price update notifications.
Related Issue
This PR tries to address #515
How Has This Been Tested?
This has been tested in live mode on my own setup and trailing updates are not sent anymore with notifyOrderConfirm and notifyDebug set to false.

Sounds cool - how can I set notifyOrderConfirm notifyDebug to false?
Should I add them to the env file?

@rando128
Sorry for the late reply.
Are you able to write tests for the changes?
I will try to write tests when I get time.

Thx @chrisleekr. Sorry for not writing tests for this, but it was beyond my skills. Now that I saw what you did for this merge, I hope to be able to add tests for my next PR.


Update 3pid invite section to reflect signed property

This makes it more consistent with other places where we do signature verification; it means that we are duplicating some data within the event (small storage cost, and an additional consistency check required) with the benefits that:

The identity server can just produce signed json like it already knows how to
The homeserver can just verify signed json like it already knows how to
It is incredibly explicit about what has been signed and needs to be verified (originally I was playing word games with "Construct an object which consists of these keys which you've pulled from the event in these places" kind of descriptions)
If the identity server wants to provide additional signed information, it may do so, and the HS will verify the signature but can safely ignore the extra content.

Some more context in the PR for this change would be nice; why are we changing it?

Updated description

LGTM


Readjustment of socrates layout

Hi, i was messing around and i realized that socrates and samuel layouts don't effected by themes (background and letter colors don't change as the theme changes), also i took a look regarding to #124 and i was not able to implement gradient background to these layouts. So i readjust socrates layout and now it's easier to implement gradient and image backgrounds to this layout also it's compatible with themes. Here is some examples:

Hi @dolmushcu
Thank you so much for your time!! Your contirbutions matters a lot!
Good work on the PR raised.
I will have it deployed in coming deployment cycle.


TFRS - Delete duplicate organization in Prod

Describe the task
Delete a newly created organization in Prod. The org name has been changed to "Do not use" and the organization ID# is 608.
Purpose
This organization was created in error (duplicate) and IDIR users are not able to delete organizations. The organization name was adjusted to "do not use" to avoid confusion since it was a duplicate.
Acceptance Criteria

[ ] first
[ ] second
[ ] third

Hey team! Please add your planning poker estimate with Zenhub @jig-patel @prv-proton @tim738745

There is a foreign key relationship to organization_address that needed to be handled first, then the organization could be deleted.
Here are the queries that were run on the production database in order to delete these duplicate organizations:
delete from organization_address where organization_id = 608;
delete from organization where id = 608;
delete from organization_address where organization_id = 584;
delete from organization where id = 584;
delete from organization_address where organization_id = 587;
delete from organization where id = 587;
delete from organization_address where organization_id = 589;
delete from organization where id = 589;
delete from organization_address where organization_id = 590;
delete from organization where id = 590;


Sending flags for the second time shouldn't score

Hallo sir minta maaf jika terganggu
When the User submits the flag and succeeds when he submits the same flag, for the second time the score should not increase but the alert flag is ready
ok thanks sir

Hi @iqbalnur32. Thanks for notifying me regarding this, your help is highly appreciated. I thought I had fixed this but apparently not. I'll have a look and fix.

Fixed couple of issues regarding this, needs further investigation.

thank you for the response sir

Hi @iqbalnur32, that's now fixed. The issue was caused by wrong column being picked on the check against user's solved challenges.  I amended the column, so users are not able to submit the same flag twice any longer.

Hi @iqbalnur32, that's now fixed. The issue was caused by wrong column being picked on the check against user's solved challenges. I amended the column, so users are not able to submit the same flag twice any longer.
thanks

Thanks for confirmation. Since this issue is confirmed to be resolved, I shall close it.


benchmarker: add volta & update dependencies

Closes https://github.com/getodk/central-backend/security/dependabot/16

We've talked about renaming the benchmarker as well, but I think that could happen in a follow-up PR. I'll go ahead and merge this PR now.


Reset variables

If you call dumpLicenses more than once in a eg. grunt task, the second call uses the "old" variables from the first call.

Thank you very much for your valuable contribution and sorry for the delay in reply. I have just returned from holidays this morning. I'll look into your PR asap.


ld: library not found for -lgomp & clang: error: linker command failed with exit code 1

Environment info
Operating System:
mac OS X Yosemite 10.10.5
Package used (python/R/jvm/C++):
python 3.5
$brew tap homebrew/boneyard
$brew install clang-omp
$brew reinstall gcc --without-multilib
$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
$ clang -v
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
Below please find the steps and errors when I install xgboost.
$git clone --recursive https://github.com/dmlc/xgboost
$ cd xgboost;
$ cp make/config.mk ./config.mk;
$ make -j4
c++ -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude   -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -o xgboost  build/cli_main.o build/learner.o build/logging.o build/c_api/c_api.o build/c_api/c_api_error.o build/common/common.o build/common/hist_util.o build/data/data.o build/data/simple_csr_source.o build/data/simple_dmatrix.o build/data/sparse_page_dmatrix.o build/data/sparse_page_raw_format.o build/data/sparse_page_source.o build/data/sparse_page_writer.o build/gbm/gblinear.o build/gbm/gbm.o build/gbm/gbtree.o build/metric/elementwise_metric.o build/metric/metric.o build/metric/multiclass_metric.o build/metric/rank_metric.o build/objective/multiclass_obj.o build/objective/objective.o build/objective/rank_obj.o build/objective/regression_obj.o build/tree/tree_model.o build/tree/tree_updater.o build/tree/updater_colmaker.o build/tree/updater_fast_hist.o build/tree/updater_histmaker.o build/tree/updater_prune.o build/tree/updater_refresh.o build/tree/updater_skmaker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit.a  -pthread -lm  -fopenmp
c++ -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude   -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -shared -o lib/libxgboost.so build/learner.o build/logging.o build/c_api/c_api.o build/c_api/c_api_error.o build/common/common.o build/common/hist_util.o build/data/data.o build/data/simple_csr_source.o build/data/simple_dmatrix.o build/data/sparse_page_dmatrix.o build/data/sparse_page_raw_format.o build/data/sparse_page_source.o build/data/sparse_page_writer.o build/gbm/gblinear.o build/gbm/gbm.o build/gbm/gbtree.o build/metric/elementwise_metric.o build/metric/metric.o build/metric/multiclass_metric.o build/metric/rank_metric.o build/objective/multiclass_obj.o build/objective/objective.o build/objective/rank_obj.o build/objective/regression_obj.o build/tree/tree_model.o build/tree/tree_updater.o build/tree/updater_colmaker.o build/tree/updater_fast_hist.o build/tree/updater_histmaker.o build/tree/updater_prune.o build/tree/updater_refresh.o build/tree/updater_skmaker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit.a -pthread -lm  -fopenmp
clang: warning: argument unused during compilation: '-pthread'
clang: warning: argument unused during compilation: '-pthread'
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [lib/libxgboost.so] Error 1
make: *** Waiting for unfinished jobs....
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [xgboost] Error 1
I have saw a couple of people having the same issues. But I am not clear about how to solve it.
https://github.com/dmlc/xgboost/issues/3
Here the solution mentioned I need to install OpenMP, which I already did. And it says I need to remove -fopenmp in Makefile, but I didn't find it in Makefile.
https://github.com/dmlc/xgboost/issues/29
Here the solution mentioned "See the build guide, in README.md you need to remove -fopenmp flag". But I didn't see -fopenmp in the README.md.
I have no idea about "ld: library not found for -lgomp; clang: error: linker command failed with exit code 1 (use -v to see invocation)". Can anybody help me?
Thank you very much.

Problem solved! My case was a little complicated. I have tried installing xgboost last year but it did not work out. I gave up. Recently I wanted to reinstall it so that I can play with Kaggle. It took me three days to figure out all the issues. There were a couple of steps how I reinstall it.
First, I need to reinstall brew and install clang-omp. If you have compile issue, you may need to do it as well.
$brew tap homebrew/boneyard
$brew install clang-omp
$brew reinstall gcc --without-multilib

Second, I removed xgboost file I downloaded last year.
$cd
$ls
$rm -rf xgboost
Then, I tried to reinstall xgboost.
$git clone --recursive https://github.com/dmlc/xgboost
Go to Makefile and make/config.mk. Replace the following code:
export CC = gcc
export CXX = g++
export CC = gcc-6
export CXX = g++-6

Last and the most important, I still have issue with -fopenmp and -lgomp. I found the solution here
The above issue was solved by the code:
make clean_all && make -j4
Reference:


Fix project name Dash -> Dash Core

Dash is an experimental new digital currency ... Dash Core is the name of the open
source software which enables the use of this currency.

This one is trivial and kind of "parallel" to #905 (but not overlapping) - doesn't change folder or package name, only strings for the project name itself are changed.

utACK


Diagnosis Required: Loq Airou segfault - possibly due to Verse incompatibility.

At this time following the build instructions for Ubuntu Linux 16.04.3 and running Loq Airou connected to a local verse server will result a segfault fairly quickly after some basic actions.
I am also looking for alternative or more suitable versions of the verse server.

Hi Gages! I don't think it is an incompatibility. Isn't it because of vertex operations? (For example moving the vertex position of just one vertex or deselecting many vertices).


Verify Compiler Version is set BEFORE submitting the tx if --verify flag found

Component
Forge
Describe the feature you would like
Command used:
forge create MyContract.sol:MyContract --etherscan-api-key $POLYGONSCAN_APIKEY --verify

Deployed to: 0XFOO
Transaction hash: 0xTXTXTXTX
Starting contract verification...
Waiting for etherscan to detect contract deployment...
Start verifying contract `0xDEPLOYED` deployed on polygon
Error:
Compiler version has to be set in `foundry.toml`. If the project was not deployed with foundry, specify the version through `--compiler-version` flag.

Would be ideal to return early from the Compiler version has to be set instead of being stuck with a contract that was deployed that you have to reverify after in another step. Guessing it would be about detecting the --verify flag and start there.
Additional context
No response

thanks for flagging,
+1 on the proposed solution: validate all inputs if --verify is provided

After having a look at this, I'd consider this a bug, because if the compiler version was not provided we try to find it via the contract parameter.
so I guess there's something off with how we extract the compiler version from the contract's artifact.
can I replicate this somehow?

Will retry on latest forge (was at forge 0.2.0 (64cbdd1 2022-11-08T00:10:26.012671Z)) and which files do you need? I could link you the repo or just the needed files

link to repo + command would be fine.
just need a way to run and debug.

forge create contracts/auction-handler/FastLaneAuctionHandler.sol:FastLaneAuctionHandler --rpc-url $ALCHEMY_APIKEY_POLYGON --gas-price 100gwei --private-key $RELAY_TEST_PRIV_KEY --constructor-args 50000 1000000 --etherscan-api-key $POLYGONSCAN_APIKEY --verify

https://github.com/Polygon-Fast-Lane/auction
Error:
Compiler version has to be set in `foundry.toml`. If the project was not deployed with foundry, specify the version through `--compiler-version` flag.

It did catch me earlier but I'm confused, isn't this the way to set the compiler_version in foundry.toml?

Marking as resolved by https://github.com/foundry-rs/foundry/pull/3694
--compiler-version mentioned in error message to be tackled in https://github.com/foundry-rs/foundry/issues/3306


got issue in multitenant

What happened?
The model [Spatie\Activitylog\Models\Activity] does not have a relationship named [hospitals]. You can change the relationship being used by passing it to the [ownershipRelationship] argument of the [tenant()] method in configuration. You can change the relationship being used per-resource by setting it as the [$tenantOwnershipRelationshipName] static property on the [App\Filament\Resources\ActivityLogResource] resource class.
How to reproduce the bug
My Activity Model:
class Activity extends \Spatie\Activitylog\Models\Activity
{
use HasFactory;
public function hospital(): BelongsTo
{
return $this->belongsTo(Hospital::class);
}
}
My ActivityResource:
use App\Models\Activity;
class ActivityLogResource extends \Rmsramos\Activitylog\Resources\ActivitylogResource
{
protected static ?string $model = Activity::class;
protected static ?string $tenantOwnershipRelationshipName = 'hospitals';
.......

}
but when i browse activity-logs page, i got issue.
Package Version
1.0
PHP Version
8.2
Laravel Version
11.0
Which operating systems does with happen with?
Windows
Notes
No response

We have the following problem, in the relationship you created in your new Activity model, there is no hospital_id in the activity_log table, so you can create this field and pass the following:
namespace App\Models;

use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Spatie\Activitylog\Models\Activity as ModelsActivity;

class Activity extends ModelsActivity
{
    public function hospital(): BelongsTo
    {
        return $this->belongsTo(
            related: Hospital::class,
            foreignKey: 'hospital_id',
        );
    }
}

in your custom resource, override the getModel() function, calling the new activity model
namespace App\Filament\Resources;

use App\Models\Activity;
use Rmsramos\Activitylog\Resources\ActivitylogResource;

class CustomActivityLogResource extends ActivitylogResource
{
    public static function getModel(): string
    {
        return Activity::class;
    }
}

to automatically add the hospital_id, you can create an observer
namespace App\Observers;

use Filament\Facades\Filament;
use Spatie\Activitylog\Models\Activity;

class ActivityObserver
{
    public function creating(Activity $activity): void
    {
        $activity->hospital_id = Filament::getTenant()->id;
    }
}

and register the observer in your AppServiceProvider
namespace App\Providers;

use App\Observers\ActivityObserver;
use Illuminate\Support\ServiceProvider;
use Spatie\Activitylog\Models\Activity;

class AppServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        Activity::observe(ActivityObserver::class);
    }
}

I hope this helps, but you can look for better solutions in the spatie activity-log forum

I followed every steps that you suggested. But still i got same error:
The model [Spatie\Activitylog\Models\Activity] does not have a relationship named [hospitals]. You can change the relationship being used by passing it to the [ownershipRelationship] argument of the [tenant()] method in configuration. You can change the relationship being used per-resource by setting it as the [$tenantOwnershipRelationshipName] static property on the [App\Filament\Resources\ActivityLogResource] resource class.
I guess may be the reason:
$tenantOwnershipRelationshipName   is not defined in Rmsramos\Activitylog\Resources\ActivitylogResource.
where as $tenantOwnershipRelationshipName is defined in Filament\Resources\Resource.

in your  AdminPanelProvider (App\Providers\Filament)
you configured tenat and ActivitylogPlugin ?

public function panel(Panel $panel): Panel
{
    return $panel
        ->tenant(
            model: Hospital::class,
            ownershipRelationship: 'hospital'
        )
        ->tenantRegistration(App\Models\Hospital::class)
        ->plugins([
            ActivitylogPlugin::make()
                ->resource(App\Filament\Resources\LogResource::class),
        ]);
}

I do actually have the same issue, somehow it seems the ActivitylogPlugin::make()
->resource(App\Filament\Resources\CustomActivityLogResource::class),
]); does not work for me, it seems it still uses the Rmsramos\Activitylog\Resources\ActivitylogResource class

as a precaution, in terminal run : composer dumpautoload and php artisan config:clear

I did, I will be looking back into this tomorrow, somehow the scope to tenant gets applied on the Base Models altough I instruct it to use the custom one. I have to get my class name resolution knowledge up to date

@rmsramos yes of course i configured configured tenat and ActivitylogPlugin.
I can see "Activity Logs" menu also.
but when i click the "Activity Logs" menu then  such issue arise.
The model [Spatie\Activitylog\Models\Activity] does not have a relationship named [hospitals]. You can change the relationship being used by passing it to the [ownershipRelationship] argument of the [tenant()] method in configuration. You can change the relationship being used per-resource by setting it as the [$tenantOwnershipRelationshipName] static property on the [App\Filament\Resources\ActivityLogResource] resource class.

@mlselegant Can you upload to your GitHub a project that simulates this error? Without seeing the code, I really don't have much to work with.

@rmsramos here is the my git link
https://github.com/mlselegant/hems-demo
credentials are in DatabaseSeeder.php

I must be blind somehow, i setup a repro here: https://github.com/pfried/activitylog_repro
@rmsramos If you can take a look that would be awesome, but I dont expect you to

okay it has to do with the pages (the only difference there was), I guess the pages itself do not get the model from the resource field

@pfried good suggestion, in the next release I will add this to the documentation.
But now the problems have been resolved, right?

@pfried  @mlselegant
I have a YouTube channel, but only in Brazilian Portuguese, but nothing that a caption can't solve, if you can help by subscribing and sharing, it would be a lot of help.
NOTE. There are two videos talking about my ActivityLog plugin:
Filament: Spatie/Laravel-activitylog | Filament plugin by rmsramos
Activitylog | Filament plugin by rmsramos - NEW FEATURES

@rmsramos I have already subscribed your YouTube channel (Rômulo Ramos).
Through your channel i have learned many ideas about filamentphp.
Language does not matter. Action speaks louder than word. Your video tutorial is more enough.

sure thing, thanks for your help!

Hi Rmsramos,
I have 20 records data, which loads in filament very very slowly. Do you
know why Filamentphp is loading tables very slow. Are there any tricks and
tips to load tables fast?
On Thu, Jun 13, 2024 at 11:39 PM Rômulo Ramos @.***>
wrote:

@pfried https://github.com/pfried @mlselegant
https://github.com/mlselegant
I have a YouTube channel, but only in Brazilian Portuguese, but nothing
that a caption can't solve, if you can help by subscribing and sharing, it
would be a lot of help.
NOTE. There are two videos talking about my ActivityLog plugin:
Filament: Spatie/Laravel-activitylog | Filament plugin by rmsramos
https://youtu.be/dOKbc1Tlv7U?si=iymmWAGnooiVwj--
Activitylog | Filament plugin by rmsramos - NEW FEATURES
https://youtu.be/eNvfz8QMD2g?si=DunIZ5wljFdxoG_t
—
Reply to this email directly, view it on GitHub
https://github.com/rmsramos/activitylog/issues/20#issuecomment-2166445599,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALWCGCNLO2PQZ6SMRP6YY3ZHHMGFAVCNFSM6AAAAABI7XR7T2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRWGQ2DKNJZHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@mlselegant I've seen reports of slowness when using the debugbar package, is this your case?

Hi @rmsramos, i have a query. Is it possible to display table pagination info [Showing 1 to 5 of 20 results] at the top of the table?
By default this is display at the bottom of the table.


Librespot doesn't terminate on Ctrl+C if waiting for read

When I terminate librespot on the console with Ctrl+C, the program doesn't terminate if the stream reader is waiting for a download. The program just hangs and the only way to terminate it seems to be "kill -KILL".
I think, this always happens if the Ctrl+C is pressed while Read for AudioFileStreaming is blocked by the call to self.shared.cond.wait().
I tried to solve it by using cond.wait_timeout() instead, in the hope, that this would get things unstuck once the set timeout (1 second in my test) is reached, but this doesn't seem to be the case.
The best way to reproduce the issue is by starting playback to a song in the middle (so the code has to do a lengthy seek). While it is seeking, hit Ctrl+C.

While somewhat improved in new_api, it's still the case that a graceful shutdown will await all threads that are fetching chunks. I don't see a way of doing an immediate teardown with an enormous amount of code (either channels to all threads with signalling and detection loops everywhere or perhaps unsafe code). In my mind that's not worth it, so I'm tagging this as won't fix.


couldn't get LLFF scene grade

I used python train.py -scene ${PATH_TO_SCENE} -model_dir ${MODEL_TO_SAVE_CHECKPOINT} -http-cv2resize in the flower scene of llff, But did not get the grade of the paper, using four rtx2080Ti,
Measurement Result
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
name       PSNR      SSIM       LPIPS
images_IMG_2962.JPG 25.110090 0.873111 0.24526712
images_IMG_2970.JPG 26.380335 0.898152 0.20776317
images_IMG_2978.JPG 25.021733 0.861492 0.22302648
images_IMG_2986.JPG 28.067660 0.920080 0.17454995
images_IMG_2994.JPG 28.821845 0.926312 0.17679015
PSNR 26.680332
SSIM 0.895829
LPIPS 0.205479

Last month, someone emailed me about this problem. I investigated this and confirmed that our code has a different score than the score reported in the paper.
In case you want to use NeX as a baseline comparison. In that case, you can report the score from either retraining, measuring directly from the provided result in the dataset directory, or taking directly from the paper, which is fine for me.
Here is the table showing how the score is drifting on Crest and Trex
Crest

Crest
PSNR
SSIM
LPIPS

Paper report
21.23
0.757
0.162

Retrained
20.72
0.714
0.177

Trex

Trex
PSNR
SSIM
LPIPS

Paper report
28.73
0.953
0.192

Retrained
28.69
0.952
0.192


add logging interface

Closes https://github.com/beacon-biosignals/Lighthouse.jl/issues/55
This does not change the default logger, it just documents the existing interface, and adds one more method to it: step_logger!. I'll file a new issue for removing the default logger.

Docs preview: https://beacon-biosignals.github.io/Lighthouse.jl/previews/PR60/#The-logging-interface


Add .bin to supported image extension name

Etcher version:
1.1.2

Operating system and architecture:
Windows 10 x64

Image flashed:

Do you see any meaningful error information in the DevTools?

Could you add .bin as the supported image file extension name? Many of the images I flash use it, and I need to change it manually every time.

See #1360
Just out of curiosity, could you link us to some examples of images that use the .bin extension?

I work on Chromium OS and the images generated by the build script are in the .bin extension.

Thank you!


spike: understand connector interaction with asset-transfer

Description
As a developer, I want to understand connector interaction with asset-transfer to be able to switch to the new architecture for the same.
Acceptance Criteria

Should be able to estimate #334

I would like to work on this one, thank you.

I have logged the steps from the old code for simple asset transfer, from setting up the ledgers until the ledger B creating a copy of the exported asset. I have noticed that there are factors that needs understanding further or looking for alternatives for the current version of Cacti such as the Federation validator that is needed to perform the Blockchain action and signature validation.
Here are the things that will need looking further into:

Federation/overlay network of validators for each ledger
Fetch all validators’ public keys from each ledger
Add foreign validator (the other ledger to a specific ledger’s smart contract)
Do the 5 steps for simple asset transfer (create asset, lock asset, ask for signature, verify signature, create a copy)


Install with Python3.11

Hello
Do you know if this can be installed with Python 3.11 ? I tried but it failed (notably with torch). Thanks!

I haven't tested it with python 3.11.  But Python 3.8 and 3.9 works fine for me.  Would you want to use conda to build a virtual environment if that does not work for you?


Add EventEmitter to cdnjs

Hello,
I think it would be a good idea to have a hosted version of EventEmitter on cdnjs.
There's an instruction here: https://github.com/cdnjs/cdnjs

Found it:  http://www.jsdelivr.com/#!eventemitter

@chilltemp great, thank you!


function parameters

I have everything working together with coc.nvim, ale diagnosis and omnisharp-vim but one important thing is missing. when i press comma "," inside of function parenthesis i dont get the types. i have been looking for past issues but have not seen anything close to it. any ideas?

Trigger SignatureHelp with a mapping.
The example .vimrc in the README suggests <C-\> (this is also the default mapping used by vim-sharpenup):
nmap <silent> <buffer> <C-\> <Plug>(omnisharp_signature_help)

i love you brother.


Strelka2: Uncaught exception with exclude_regions: [lcr]

Hi everyone,
I ran into the following error while calling somatic variants with strelka2 from WES data.

This error occurred after all other chromosomes were successfully processed, and was reproducible for multiple samples, pointing to the chromosome chunk Y_59228291_59373566. While debugging the error, I figured that the BED files for region Y_59228291_59373566:
pat_test-chrY_57082142_57227415-raw-regions-nolcr.bed
pat_test-chrY_57082142_57227415-raw-regions-nolcr-nopolyx.bed

are both empty, while the unfiltered file
pat_test-chrY_57082142_57227415-raw-regions-nolcr.bed

contains 16 regions.
Importantly, when removing the filtering of low complexity regions from the config, the process successfully completes and a valid vcf file is generated for Y_59228291_59373566 in work/strelka2/chrY.
This is therefore likely a bug. Would it be possible to check whether the input region is empty and in case, skip the call to the runWorkflow.py for that chunk?
Thanks a lot,
Federico

Federico;
Thanks much for the report and apologies about the issue. The latest development version of bcbio will now skip running strelka2 for a region if the BED file is empty, which hopefully will avoid your issue when including removal of LCRs. Please let us know if you run into any other problems and thanks again.

@chapmanb, thank you. I will let you know if I run into any issue. When do you plan to bring this feature into the stable release?

Hi @chapmanb - to follow up on this issue, I installed the latest development version of bcbio, which now correctly skips running strelka2 for the empty BED file. However, immediately after, the following error is raised:
FileNotFoundError: [Errno 2] No such file or directory: '/data/[...]/work/strelka2/chrY/pat_test-chrY_57082142_57227415-work/results/variants/somatic.snvs.vcf.gz'

It seems strelka2 is nevertheless looking for the output of the variant calling despite that region has been skipped.
How can we fix this issue?
Thanks a lot!
Federico

Federico;
Thanks for testing this out and sorry for the additional problems. It looks like I didn't correctly avoid the post-processing that only happens when you can run a workflow, causing the error you saw. Could you try updating one more time and running? Hopefully with all the additional fix in place it'll now skip and continue processing correctly. Please let us know if you have any other issues.

Thanks @chapmanb - I will update immediately to the latest devel, and let you know as soon as I tested it.


ERROR: '/usr/local/share/scrcpy/scrcpy-server' does not exist or is not a regular file

[ ] I have read the FAQ.
[ ] I have searched in existing issues.

Environment

OS: [e.g. Debian, Windows, macOS...] Linux Mint 19.3
scrcpy version: [e.g. 1.12.1] Scrcpy 1.6
installation method: [e.g. manual build, apt, snap, brew, Windows release...] snap install scrcpy
device model: Acer Aspire 5750
Android version: [e.g. 10] Android 10

Describe the bug
A clear and concise description of what the bug is.
whenever I install scrcpy this error came out ERROR: '/usr/local/share/scrcpy/scrcpy-server' does not exist or is not a regular file
and when I go to the directory I see NO scrcpy folder! Even after creating 2 folders (scrcpy and scrcpy-server) the error still there
Please notice I already tried looking for issues https://github.com/Genymobile/scrcpy/pull/1002 and  https://github.com/Genymobile/scrcpy/issues/1692 but I don't know how to apply the solution for my machine, please Explain in details what should I do
On errors, please provide the output of the console (and adb logcat if relevant).
 scrcpy
INFO: scrcpy 1.16 <https://github.com/Genymobile/scrcpy>
stat: No such file or directory
ERROR: '/usr/local/share/scrcpy/scrcpy-server' does not exist or is not a regular file

Please do not post screenshots of your terminal, just post the content as text instead.

What is the result of?
echo $SCRCPY_SERVER_PATH

?

snap install scrcpy

@cc sisco311

What is the result of?
echo $SCRCPY_SERVER_PATH

?

snap install scrcpy

@cc sisco311

The result for echo $SCRCPY_SERVER_PATH and
snap install scrcpy

are
root@rayan:~# echo $SCRCPY_SERVER_PATH
root@rayan:~#
and
root@rayan:~#     snap install scrcpy
scrcpy v1.16 from sisco311 installed
respectively.
and the result of scrcpy --help come normally

cc @sisco311

@littleIdiotperson Could you try building it manually (instead of using the snap package)?
https://github.com/Genymobile/scrcpy/blob/master/BUILD.md

@rom1v Thank you rom1v for ur care about fixing my problem. The output of run-tme dependencies is
root@rayan:~# sudo apt install ffmpeg libsdl2-2.0-0 adb Reading package lists... Done Building dependency tree        Reading state information... Done ffmpeg is already the newest version (7:4.1.3-0ppa1~18.04). libsdl2-2.0-0 is already the newest version (2.0.12+dfsg1-2). adb is already the newest version (1:8.1.0+r23-5~18.04). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
and from client build dependencies is `sudo apt install gcc git pkg-config meson ninja-build \

             libavcodec-dev libavformat-dev libavutil-dev \
             libsdl2-dev

Reading package lists... Done
Building dependency tree
Reading state information... Done
libavcodec-dev is already the newest version (7:4.1.3-0ppa1~18.04).
libavformat-dev is already the newest version (7:4.1.3-0ppa1~18.04).
libavutil-dev is already the newest version (7:4.1.3-0ppa1~18.04).
libsdl2-dev is already the newest version (2.0.12+dfsg1-2).
pkg-config is already the newest version (0.29.1-0ubuntu2).
ninja-build is already the newest version (1.8.2-1).
gcc is already the newest version (4:7.4.0-1ubuntu2.3).
git is already the newest version (1:2.17.1-1ubuntu0.7).
The following NEW packages will be installed:
meson
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 216 kB of archives.
After this operation, 1,355 kB of additional disk space will be used.
Do you want to continue? [Y/n] the meson my system is going to install is version 0.45.1 which is not supported for scrcpy as far as I know.. why didn't scrcpy detected that I have already installed meson and the output of meson --version isroot@rayan:~# meson --version
0.56.0` is this snap issues or what ? either scrcpy can't detect meson or meson is installed wrong or something else idk?

Just searched for "scrcpy-server" in system files to detect where it went, I found it in the directory /snap/scrcpy/253/usr/local/share/scrcpy and moved it to usr/local/share/scrcpy. Question, why did snap installed it in different location?

Just searched for "scrcpy-server" in system files to detect where it went, I found it in the directory /snap/scrcpy/253/usr/local/share/scrcpy and moved it to usr/local/share/scrcpy. Question, why did snap installed it in different location,I will ask snap community for that ?

Did this solve the issue for you? I tried the same thing but got the same error when trying to start scrcpy in terminal.

+1


Chat filter to remove mesages from players' heads

Is your feature request related to a problem? Please describe.
The chat filter removes messages from public chat but they still appear above players' head. This is a bit of an eyesore at hotspots like lms/ge where there are gambling bots or infernal cape sellers spamming messages. Bit of an eyesore
Describe the solution you'd like
Messages no longer appear above the players' heads.
Describe alternatives you've considered
Autoignore players saying a particular phrase. The former suggestion is preferred, since someone might say one of the prases who isn't a bot
Additional context
Add any other context or screenshots about the feature request here.

The plugin already edits overhead messages to apply the filtering, including removing the entire message if the Filter type is set to Remove messages


Added height of tree recurssive fn

Yess!

So shall I make another PR?

no! just comment on the changes in the existing file and push it! no need to make a new PR

Can you check is it done??

I updated it

Thanks!


Enable review audit certificate edition

https://trello.com/c/nIrkHN3L/36-when-the-primary-assessor-ticks-they-have-received-the-audit-certificate-and-adds-notes-this-should-be-editable-by-primary-and-l

Good :+1: