Calculation of default stride does not respect alignment rules

Describe the bug
As per the alignment rules laid out in <IP_ADDRESS> of the specification each element of a vertex attribute must be aligned to a 4-byte boundary.
That means that an accessor on Vec3 of shorts must have a stride 8 instead of 6.
The importer however does not respect this alignment rule and assumes a stride of 6.
This leads to:
a) models with proper alignment becoming garbled
b) models without proper alignment loading just fine, even though they shouldn't
Explicitly specifying the accessor's byteStride as 8 allows the model to be loaded as expected.
To Reproduce
Steps to reproduce the behavior:

Import the attached .gltf file

Expected behavior
The model should load correctly.
Screenshots
Normal import:

Import with explicit byteStride:

.blend file/ .gltf
model.zip
Version

OS: Windows 10
Blender Version: 3.4.1

Additional context
The provided model imports correctly into Godot 4.

Hmm, my interpretation of the spec is this glTF is illegal and the byteStride must be present in this case. The Three.js and Babylon viewers all agree with the "broken" Blender import.
However although there are many validation errors, a missing required byteStride does not seem to be among them.
I'll file an issue against the glTF repo to ask about it.

Aligned with Scurest's analysis. Let us know the reference to the glTF repo issue here.
@SydMontague Do you know where this gltf file comes from? There is no asset generator data in the file.
You can check validation errors here: https://github.khronos.org/glTF-Validator/

The file got generated with a converter from a proprietary model format (based on PSX TMD) to glTF I'm currently writing.
It's using tinygltf and still in an early state, so other flaws in it are very likely.
What led me to the belief that the default stride should use the aligned size was this section in <IP_ADDRESS>.

For performance and compatibility reasons, each element of a vertex attribute MUST be aligned to 4-byte boundaries inside a bufferView (i.e., accessor.byteOffset and bufferView.byteStride MUST be multiples of 4).

Because if that weren't the case then the byteStride would be become a mandatory element, in which case the model with unaligned elements shouldn't load successfully.
modelUnaligned.zip

To me that doesn't mean that the calculation for the default stride always produces a multiple of 4, it just means that any case in which the calculated default stride is not a multiple of 4 is invalid, and you must therefore explicitly give the byteStride in those cases.

I realized after mt own test file that this is actually flagged invalid already. It's
{
    "code": "MESH_PRIMITIVE_ACCESSOR_UNALIGNED",
    "message": "Vertex attribute data must be aligned to 4-byte boundaries.",
    "severity": 0,
    "pointer": "/meshes/0/primitives/0/attributes/POSITION"
},

The reason for all the min/max errors is probably that the validator also reads the accessor assuming a stride of 6.
So I think we can definitely say that this is invalid and needs the byteStride written explicitly, and close this.

Wouldn't that still mean that the importer should reject the files with implicit and explicit byteStride that is not aligned to 4?

Well it could. Generally the importer doesn't do much validation; the validator is better at that.
Also currently the code that does the decoding doesn't know whether it's decoding a vertex attribute or not.

Setting this ticket as enhancement, as there is no bug.
But we may (not planned for now) add some check to avoid creating wrong data from non valid glTF files


Clean up some unused ts-node/ts-mocha dependencies

Does this conflict with anything in #4925?

Does this conflict with anything in #4925?

Does this conflict with anything in #4925?

It looks pretty clean except for the lockfiles, so I am merging #4925 in.

Does this conflict with anything in #4925?

It looks pretty clean except for the lockfiles, so I am merging #4925 in.


Memory leaks in virtual scrolling mode

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here

Current behavior
Grid control has huge memory consumption when works in virtual scrolling mode.
Here example memory consumption after scrolling several times from top to bottom.

Expected behavior
No memory leaks in component.
Reproduction of the problem
Open demo page http://swimlane.github.io/ngx-datatable/#
Switch to 10k rows example.
Use some memory profiler to verify browser memory consumption.
Scroll grip up and down several times.
What is the motivation / use case for changing the behavior?
Improve component performance, in case of SPA such memory leaks are critical.
Please tell us about your environment:

Table version: 0.7.x
6.0.0

Angular version: 2.0.x
2.4.4

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
Chrome

Language: [all | TypeScript X.X | ES6/7 | ES5]

Are you seeing this in angular prod mode too?

Correct me if i'm wrong, demo page runs in production mode http://swimlane.github.io/ngx-datatable/#
My example was created from demo page.

I've recently run into this issue as well. Virtual scrolling was the primary reason my team took interest in this project; our use case necessitates large amounts of data being displayed/scrollable at once.
Without virtual scrolling (and using the default templates) an average page displays 25k-68k elements at once. With virtual scrolling this same metric averages 1500 elements.
The problem is that with virtual scrolling, scrolling from top to bottom sees memory usage steadily climb several MB at a time. If a cell template is provided (still relatively low frills) the same usage sees memory usage quickly reach 300MB. Further attempts to profile after this point usually result in crashing the browser. This has all been done in production mode.

@adammedford - Any clues to what it might be. I gave it a run last night and didn't see anything obvious.

@amcdnl I rechecked and I think I was mistaken before when I reported memory leaks with the vanilla templates. Having spent more time with it, I now suspect this might be an issue with Angular itself; I've found another 3rd party component that appears to leak exclusively when a TemplateRef is provided. My personal experience has been that profiling Angular 2 apps is a nightmare and my best guess points at an issue with ZoneTasks.

I took a look at this, and noticed it happens only if we use custom templates for the columns.
If I remove the templates in the demo page, the memory leak does not happen.
https://github.com/swimlane/ngx-datatable/blob/master/demo/basic/virtual.ts#L26-L28
I believe it is caused by the issue @adammedford linked to.

Pushed a fix in master. Will be in 8.0.0 release. I used the workaround described here: https://github.com/angular/angular/issues/14835#issuecomment-283457942

This was released just now in 7.1.1


Remove main repo dependencies on LLVM

Right now the main Kythe repo depends on LLVM in ways other than just the C++ indexer itself. It's fine for the C++ indexer to depend on LLVM, but the rest of the main repository shouldn't.
As far as I know the only reason we depend on it is for some library components, and we may be able to get those from Abseil instead.

I believe this may be almost done:
$ bazel query --output=label 'rdeps(//..., @org_llvm//..., 1) intersect //...' | sort
//kythe/cxx/extractor:cmdlib
//kythe/cxx/extractor:command_line_utils
//kythe/cxx/extractor:cxx_details
//kythe/cxx/extractor:index_pack
//kythe/cxx/extractor:lib
//kythe/cxx/extractor:objc_bazel_support_library
//kythe/cxx/extractor:path_utils
//kythe/cxx/extractor:supported_language
//kythe/cxx/extractor:testlib
//kythe/cxx/indexer/cxx:clang_utils
//kythe/cxx/indexer/cxx:google_flags_library_support
//kythe/cxx/indexer/cxx:graph_observer
//kythe/cxx/indexer/cxx:imputed_constructor_library_support
//kythe/cxx/indexer/cxx:indexed_parent_iterator
//kythe/cxx/indexer/cxx:indexed_parent_map
//kythe/cxx/indexer/cxx:indexer_ast_hooks
//kythe/cxx/indexer/cxx:indexer_library_support
//kythe/cxx/indexer/cxx:indexer_pp_callbacks
//kythe/cxx/indexer/cxx:kythe_graph_observer
//kythe/cxx/indexer/cxx:lib
//kythe/cxx/indexer/cxx:marked_source
//kythe/cxx/indexer/cxx:proto_library_support
//kythe/cxx/indexer/cxx:semantic_hash
//kythe/cxx/indexer/cxx:testlib
//kythe/cxx/indexer/cxx:type_map
//kythe/cxx/indexer/cxx:vfs
//kythe/cxx/tools/fyi:fyilib
//third_party/llvm/src:clang_builtin_headers
//third_party/llvm/src:preprocessor_util_lib

Note that (almost?) all the direct LLVM dependencies are now the C++ indexer or extractor (which necessarily requires LLVM), or LLVM third_party components.
Is there anything further we need to address here?

As far as I can tell, this is done. Feel free to reopen it if I missed something.


Migration notes and 'Media API' design doc

Pion WebRTC has a completely re-designed media API. We have collected data and feedback after two years of usage. These are the use cases we wanted to support that Pion v2 wasn't able to do.
Use Cases
Easy Error Concealment
Pion WebRTC /v3 make error concealment patterns like FEC and NACK easy. Using a public API you can specify your own algorithms, or use the ones we provide. Pion provides the flexibility so you can choose what is best for your application.
Easy Congestion Control
Designed to be pluggable as well. Pion allows you to specify your own algorithm, or use the ones we provided.
Codecs for a track can be chosen at signaling time
We now allow you to choose what codec a track represents at signaling time. A track can either be a single codec, or it can change depending on what the remote candidate supports. This allows pion/mediadevices to act more like the browser, you don't need to specify a codec when creating the PeerConnection.
Remove PayloadType and SSRC from Public API
You no longer have to worry about juggling PayloadTypes and SSRCes. Pion now handles this internally, you just set the codec and go.
Allow fan out, but still support per-track messages
Pion WebRTC /v2 made massive changes to the media API to support fan out. You can send one video packet to multiple PeerConnections. Unfortunately it wasn't easily possible to then send message to a single PeerConnection. This made NACKs very hard to implement. We now have an API that supports all of this.
API Changes
MediaEngine has been removed.
Everything is now driven via the SettingEngine. All the existing options still exist.
We have three new options SetEncodings, SetTrackLocalAdapters and SetTrackRemoteAdapters
SetEncodings allows you to specify what codecs you support. This informs the remote peer what you are willing to accept, and what you may send.
s.SetEncodings([]*webrtc.RTPCodecCapability{
        {
            MimeType:  "video/vp8",
            ClockRate: 90000,
        },
        {
            MimeType:  "video/h264",
            ClockRate: 90000,
        },
})

SetTrackLocalAdapters and SetTrackRemoteAdapters allow you to set a list of adapters that happen when sending and receiving media. We provide adapters to do common tasks in tree. These include Applying FEC, Sending/Responding to NACKs and generating Transport Wide Congestion Control Reports.
s.SetTrackRemoteAdapters([]*webrtc.TrackRemoteAdapter{
       remoteadapter.NewTransportWideCongestionControlGenerator(),
       remoteadapter.NewJitterBuffer(),
})

You can also define your own adapters to implement any behaviors you wish.
AddTrack was removed. Pion only has Transceiver based API.
The WebRTC API has gone through three iterations. You can read about that here. AddTrack is just an abstraction on top of newer APIs.
We have decided to remove AddTrack to make things clearer. You should instead use AddTransceiverFromTrack or AddTransceiverFromKind
Track is now an interface
Users can now define their own tracks. This allows users to choose the codec the track represents at run-time and set other custom behavior.
A Track could actually be multiple feeds with different codecs. This also gives us the flexibility to allow sending Simulcast.
Sample has been replaced with EncodedFrame
The Sample API required users to do time math. This caused lots of bugs, and people found it confusing. We have instead switched too EncodedFrame which does these conversions internally.
Public API only deals with RTP Packets
If you wish to send or receive samples we provide EncodedFrame helpers. These just take a track, and then can be read from and written too as before.

@TannerGabriel @tarrencev @jeremija @jinleileiking @OrlandoCo @tarrencev @billylindeman @leewardbound @lherman-cs @steebchen @sgotti @at-wat
What do you think? This handles all the use cases I have collected.
You can see the API in action in examples. We have also been writing shims to show the usage.

I love these changes!

Me too, I really like the direction pion/webrtc is heading!

Remove PayloadType and SSRC from Public API

Could you please explain what that means?  Will applications that want to control the SSRC still be able to?

SetTrackLocalAdapters and SetTrackRemoteAdapters allow you to set a list of adapters that happen when sending and receiving media. We provide adapters to do common tasks in tree. These include Applying FEC,

Is the FEC applied by the application or by the library?  If the former, how does the application attach FEC to a data packet (I assume you're implementing flexible FEC).  If the latter, how does the application instruct the library about the amount of FEC to apply?  Is the application able to use different amounts of FEC on different tracks and vary the amount of FEC over time?

Like it too 😊!

Also, really like the direction Pion is heading!

@jech

Could you please explain what that means? Will applications that want to control the SSRC still be able to?
Yes! webrtc.Track is an interface, so you can provide your own implementation. We also provide some in-tree ones that set the right SSRC/PayloadType for the codec you choose https://github.com/pion/webrtc-v3-design/blob/master/webrtc/pkg/media/track.go#L36 or you just need satisfy the interface

Is the FEC applied by the application or by the library?
Either. The SettingEngine allows you to specify interceptors. You can use the in-tree ones. I don't know what we will provide yet, but since they are opt-in we can provide many versions/settings.

You can also easily write your own! They are just simple I/O functions. You can have multiple if you want also.

Where will the WriteRTP method live?  On Track, or on Sender?


[Textual] [Refac] Generalized the parser

Minor changes in the parser just to get something more convenient to work with.

I'll merge right away.


Revert "Migrate xcdevice and ios devices to null safety"

Reverts flutter/flutter#91704
The required debuggingOptions change needs a g3fix.  Revert this to unblock the roll.
ERROR: mobile/flutter/testing/driver_test/lib/orchestrator.dart

115: await device.startApp(app); The parameter 'debuggingOptions' is required. #missing_required_param

See also https://github.com/flutter/flutter/pull/91632#issuecomment-941809523 and https://github.com/flutter/flutter/pull/91911

Merging to unblock the roll.


Suggestion to change example to include "succeeded()" in example to not get stuck while pipeline is cancelled

In the README.md#example-task-usage file, it shows the following task:
...
# Only runs if the 'terraformPlan' task has detected changes the in state.
- task: TerraformTaskV4@4
  displayName: Apply Terraform Plan
  condition: eq(variables['terraformPlan.changesPresent'], 'true')
  inputs:
    provider: 'azurerm'
    command: 'apply'
    commandOptions: 'main.tfplan'
    environmentServiceNameAzureRM: 'your-environment-service-connection'

The condition here is actually overwriting the default condition of "condition: succeeded()", which gets constantly evaluated to check fx if the Azure Pipeline is cancelled. The default can be seen documented here: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops
So by overwriting it to "eq(variables['terraformPlan.changesPresent'], 'true')", you effectively ensure that this task continues running even if the Azure Pipeline is cancelled.
I wrote about this in one of the easily searched topics here: https://old.reddit.com/r/azuredevops/comments/1dj0jlg/pipeline_job_wont_cancel/lr87z6b/.
Since this is super easy to overlook, I would like to propose changing the above example to be:
...
# Only runs if the 'terraformPlan' task has detected changes the in state.
- task: TerraformTaskV4@4
  displayName: Apply Terraform Plan
  condition: and(succeeded(), eq(variables['terraformPlan.changesPresent'], 'true'))
  inputs:
    provider: 'azurerm'
    command: 'apply'
    commandOptions: 'main.tfplan'
    environmentServiceNameAzureRM: 'your-environment-service-connection'

In my own repository, I have added a comment explaining why:
# Needs a "succeeded()" condition, else the pipeline cannot be cancelled, see: https://old.reddit.com/r/azuredevops/comments/1dj0jlg/pipeline_job_wont_cancel/lr87z6b/
But I would not think this is necessary, the implementer can be the judge of this.
This means the whole code section at the bottom of https://github.com/microsoft/azure-pipelines-terraform/blob/main/Tasks/TerraformTask/TerraformTaskV4/README.md#example-task-usage would look like this:
- task: TerraformTaskV4@4
  displayName: Initialize Terraform
  inputs:
    provider: 'azurerm'
    command: 'init'
    backendServiceArm: 'your-backend-service-connection'
    backendAzureRmResourceGroupName: 'your-rg-name'
    backendAzureRmStorageAccountName: 'your-stg-name'
    backendAzureRmContainerName: 'your-container-name'
    backendAzureRmKey: 'state.tfstate'

- task: TerraformTaskV4@4
  name: terraformPlan
  displayName: Create Terraform Plan
  inputs:
    provider: 'azurerm'
    command: 'plan'
    commandOptions: '-out main.tfplan'
    environmentServiceNameAzureRM: 'your-environment-service-connection'

# Only runs if the 'terraformPlan' task has detected changes the in state.
- task: TerraformTaskV4@4
  displayName: Apply Terraform Plan
  condition: and(succeeded(), eq(variables['terraformPlan.changesPresent'], 'true'))
  inputs:
    provider: 'azurerm'
    command: 'apply'
    commandOptions: 'main.tfplan'
    environmentServiceNameAzureRM: 'your-environment-service-connection'
´´´

great find!
Do you want to do the fork + PR? to make your contribution visible in history 😉
or are you want me to do it?
br
Manuel

great find! Do you want to do the fork + PR? to make your contribution visible in history 😉 or you want me to do it? br Manuel

Hey, thanks for the encouraging message!
I have made the change in #273, so feel free to review at your discretion  :)


Don't commit composer.lock for a library!

It's generally a bad idea to lock external requirements down to a specific revision in a project that will, itself, be required by others.  Remove composer.lock, prevent it from being re-added, and allow Composer to select an appropriate version given other external libraries pulled in by the end developer.

I don't think I actually buy into this in general, and it's a conversation I've had with other libraries - my understanding is that in consumption of a library in some application, only composer.json is used for determining and resolving dependencies, so consumers should be fine. The lock file is ignored.
What composer.lock is useful for is for me actually developing php-resque, to ensure dependencies between local development & test (w/ Travis) aren't changing.
Are my assumptions are wrong.

I agree with you Chris, in Ruby world Gemfile.lock is important, npm don't have locking thats bad, composer locking I would say should be used for integration tests and deployment of main application code.

@chrisboulton I'd also 100% agree to your statement.

Fair points, though I'd argue that locking the versions you test against will only ensure the locked versions work properly, not the versions users would actually encounter in their own projects.

testing against the most recent versions, as well as the oldest,

... as well as all combinations in between, eg. because of constraints of your PHP version. That's not really feasible.
Locking a lib is absolutely fine for development, otherwise everything is "flying target".


Allow setting variables from args

The --start-node option is pretty useful for testing parts of a conversation. It would be even more useful if it was also possible to set variables.
I.e. something like
ysc run main.yarn --start-node some_deep_node --set-variable met_sally=true --set-variable money=123

This is a cool idea, I am just trying to work out the best way to facilitate this.
Is it better to inject variables live like this or maybe some sort of config file? Or does that lose the "oh wait actually met_sally should be false" feeling?
I suppose at least initially the easiest way to get this would be to create a new node with your variables set and enter that way. Does feel like a bit of an extra step though if you have to edit the yarn.

Yeah, i currently have a "debug start menu" node, that just lets me enable stuff, then loops back to itself, then starts what i really intended to test.
It's a bit tedious, but kinda works. Args or perhaps special commands while running would be optimal for my use case.


GDT

{
"name":"JustSwap Default List",
"tokens":[
{
"symbol":"GDT",
"address":"TASeVkpkMdGcyxDgrBwBdoV48rX2tHshPG",
"chainId":1,
"decimals":18,
"name":"GDT TOKEN",
"logoURI":"https://static.tronscan.org/production/upload/logo/new/TASeVkpkMdGcyxDgrBwBdoV48rX2tHshPG.jpeg?t=1714814425938
},
{
"symbol":"BTC",
"address":"TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
"chainId":1,
"decimals":8,
"name":"Bitcoin",
"logoURI":"https://coin.top/production/logo/TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9.png"
},
{
"symbol":"WBTC",
"address":"TXpw8XeWYeTUd4quDskoUqeQPowRh4jY65",
"chainId":1,
"decimals":8,
"name":"Wrapped BTC",
"logoURI":"https://coin.top/production/logo/TXpw8XeWYeTUd4quDskoUqeQPowRh4jY65.png"
},
{
"symbol":"ETH",
"address":"THb4CqiFdwNHsWsQCs4JhzwjMWys4aqCbF",
"chainId":1,
"decimals":18,
"name":"Ethereum",
"logoURI":"https://coin.top/production/logo/THb4CqiFdwNHsWsQCs4JhzwjMWys4aqCbF.png"
},
{
"symbol":"WETH",
"address":"TXWkP3jLBqRGojUih1ShzNyDaN5Csnebok",
"chainId":1,
"decimals":18,
"name":"Wrapped ETH",
"logoURI":"https://coin.top/production/logo/TXWkP3jLBqRGojUih1ShzNyDaN5Csnebok.png"
},
{
"symbol":"WBTT",
"address":"TKfjV9RNKJJCqPvBtK8L7Knykh7DNWvnYt",
"chainId":1,
"decimals":6,
"name":"Wrapped BitTorrent",
"logoURI":"https://coin.top/production/logo/TKfjV9RNKJJCqPvBtK8L7Knykh7DNWvnYt.png"
},
{
"symbol":"WTRX",
"address":"TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR",
"chainId":1,
"decimals":6,
"name":"Wrapped TRX",
"logoURI":"https://coin.top/production/upload/logo/TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR.png"
},
{
"symbol":"JST",
"address":"TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9",
"chainId":1,
"decimals":18,
"name":"JUST GOV v1.0",
"logoURI":"https://coin.top/production/logo/just_icon.png"
},
{
"symbol":"WIN",
"address":"TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7",
"chainId":1,
"decimals":6,
"name":"WINK",
"logoURI":"https://coin.top/profile_images/JKtJTydD_400x400.jpg"
},
{
"symbol":"DICE",
"address":"TKttnV3FSY1iEoAwB4N52WK2DxdV94KpSd",
"chainId":1,
"decimals":6,
"name":"TRONbetDice",
"logoURI":"https://coin.top/production/logo/TKttnV3FSY1iEoAwB4N52WK2DxdV94KpSd.jpg"
},
{
"symbol":"LIVE",
"address":"TVgAYofpQku5G4zenXnvxhbZxpzzrk8WVK",
"chainId":1,
"decimals":6,
"name":"TRONbetLive",
"logoURI":"https://coin.top/production/upload/logo/TVgAYofpQku5G4zenXnvxhbZxpzzrk8WVK.png"
},
{
"symbol":"USDT",
"address":"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"chainId":1,
"decimals":6,
"name":"Tether USD",
"logoURI":"https://coin.top/production/logo/usdtlogo.png"
},
{
"symbol":"USDJ",
"address":"TMwFHYXLJaRUPeW6421aqXL4ZEzPRFGkGT",
"chainId":1,
"decimals":18,
"name":"JUST Stablecoin v1.0",
"logoURI":"https://coin.top/production/logo/usdj.png"
},
{
"symbol":"LTC",
"address":"TR3DLthpnDdCGabhVDbD3VMsiJoCXY3bZd",
"chainId":1,
"decimals":8,
"name":"Litecoin",
"logoURI":"https://coin.top/production/logo/TR3DLthpnDdCGabhVDbD3VMsiJoCXY3bZd.png"
},
{
"symbol":"HT",
"address":"TDyvndWuvX5xTBwHPYJi7J3Yq8pq8yh62h",
"chainId":1,
"decimals":18,
"name":"HuobiToken",
"logoURI":"https://coin.top/production/logo/TDyvndWuvX5xTBwHPYJi7J3Yq8pq8yh62h.png"
}
],
"logoURI":"https://justswap.io/favicon.ico",
"version":{
"patch":1,
"major":1,
"minor":0
},
"timestamp":1611147166000
}

Hi, GDTSSS,Please first create createExchange in SunSwap by youself. Specific methods can be referred to https://www.sunswap.com/docs/sunswapV2-interfaces_en.pdf
Second, We are currently very tight on development resources and adding new lists, If timing is a key issue for you, we recommend you join the existing community SUNSWAP list, for example: Tron Alliance List: https://github.com/listtronalliance/tronalliance.
At last, you must submit correct website.
Thanks

https://github.com/justswaporg/justlists/issues/4204

https://github.com/justswaporg/justlists/issues/4207

Yes,  createExchange is mean createPair.

https://github.com/justswaporg/justlists/issues/4210

https://github.com/justswaporg/justlists/issues/4211

https://github.com/justswaporg/justlists/issues/4212

https://github.com/justswaporg/justlists/issues/4215

https://github.com/justswaporg/justlists/issues/4217


Login error messages rendering

Created by: @bayegan Apr 27 2022 at 20:09 CET
Last updated: Jul 08 2022 at 23:27 CET
ClickUp ID: IK-2847
From @ingrid.odegaard via Slack message
Summary of the issues discussed this morning in prioritized order @marius.sorteberg:

Duration of login cookies  - we would like to extend the duration so users are not logged out every day. Ideally indefinite or at least one year duration.
Error message for password format is not shown to user on mobile when the keyboard has been open  - see issue described. Currently my understanding is that we can't change the frontend for this, so would be good if you can look at moving the error message so it will be visible when user tries to click the button to continue
Format of error messages for password is weird  - currently lists each criteria as a separate sentence, should look at combining in one sentence.
Making email verification mandatory  - would be great to get a status on this
Long term: We would like to own the frontend experience for the whole registration flow , so we can make design changes and run AB experiments on it without involving you. Would be great to understand what changes would have to be made to get here.
Long term: We would like to have  passwordless signup/login,  only have magic links.

Attachment(s):
https://github.com/indykite/clickup-attachments/blob/master/eccb7c34-4c5e-4cdd-93e2-88d88ea98769.pdf
https://github.com/indykite/clickup-attachments/blob/master/473e273c-901a-435e-a890-ea72c2a434b1.pdf

Commented by: @bayegan Apr 27 2022 at 20:09 CET
Dusan KovacikDusan Kovacik  6 days ago6 days ago
In case you only want to replace few components like password input fields, you can use  onRenderComponent  property. For example, in your case you can create your own password input field with any error messages below it - it's totally up to you how you'll implement that. The only thing is that the new input element needs to have the original input ID. Here's a sample you can inspire from:
onRenderComponent: (defaultElement, componentType, subcomponentType) => {
  if (componentType === "form" && subcomponentType === "password") {
    // You will need to use this ID in your own input element
    const inputId = defaultElement.querySelector('input').id;
    const el = document.createElement("div");
    ReactDOM.render(<YourOwnPasswordComponent />, el);
    return el;
  }
},

https://github.com/indykite/jarvis-sdk-web#login-form-elementhttps://github.com/indykite/jarvis-sdk-web# login-form-element (edited)

Commented by: @bayegan Apr 27 2022 at 20:09 CET
Marius SortebergMarius Sorteberg  6 days ago6 days ago
This seams to solve point 2 and 3 on you list @Ingrid Ødegaard@Ingrid Ødegaard. Please confirm it this is what's required. I'll get back to you on the other points.

Commented by: @bayegan Apr 27 2022 at 20:10 CET
Attachment(s):
https://github.com/indykite/clickup-attachments/blob/master/eccb7c34-4c5e-4cdd-93e2-88d88ea98769.pdf
https://github.com/indykite/clickup-attachments/blob/master/473e273c-901a-435e-a890-ea72c2a434b1.pdf


Sample Auth Requester/Responder does not work with external apps, but Web example does

Describe the bug
I have built sample with our project id. I tried to use requester / responder with external apps such as Trust Wallet. They don't have any reaction after scanning QR code or responder does not have any reaction after scanning QR.
But, Trust Wallet seems to respond to QR code generated by Web sample app, such as listed here:
https://github.com/WalletConnect/web-examples
When using https://react-app.walletconnect.com/  sample app Trust Wallet does display it after scanning QR code.
Same does not happen when using Auth Requester sample.
Maybe i am missing something obvious? New to this thing, so any feedback is welcome :)
SDK Version

Client: Kotlin

Versions of dependencies as listed in that commit
const val BOM_VERSION = "1.8.0"
const val FOUNDATION_VERSION = "1.7.0"
const val CORE_VERSION = "1.13.0"
const val SIGN_VERSION = "2.11.0"
const val SYNC_VERSION = "1.0.0-alpha01"
const val AUTH_VERSION = "1.11.0"
const val CHAT_VERSION = "1.0.0-beta05"
const val WEB_3_WALLET = "1.6.0"
const val WEB_3_INBOX = "1.0.0-alpha05"

To Reproduce

Take current sample (commit 36ad65313ecc0cde485b1633d566626f047ab34e )
Build AUTH Requester/Responder with your project id
Try to connect with any external app

Expected behavior
Connection works, external app have some reaction to it

Hey, thanks for reply. Tried Spot Wallet, and it does react to QR code or deeplink, so it is a plus.
However, is this reaction expected? As it says that this QR code is not supported.
Also tried deeplink with responder, and it does not react to it at all.
https://user-images.githubusercontent.com/13849790/231756783-8791b34b-eca3-4d47-b40a-b0f2975903c1.mp4
https://user-images.githubusercontent.com/13849790/231756734-d603a425-1667-4104-b7ab-b9dafa1b0d6d.mp4

Hello. Any updates?
We want to integrate wallet connect, but so far only V1 was working. And we don't want to start implementing v1, since it will be discontinued in 2 months.
Before we start any integration of V2, I want to test sample app to see how it works with common wallets. So far both iOS and Android samples don't work properly with our project id. @jakubuid

Thanks for your patience 🙏  We've been working on some other urgent issues, but now I'll investigate this asap since our top priority is getting all wallets on v2.
As far as Auth, Zerion, Spot and BitKeep support it, you can test it using our playground dapp: https://react-auth-dapp.vercel.app/
I'll look into deep-link issue.
So far both iOS and Android samples don't work properly with our project id - can you elaborate on this?

Thanks for response!

As far as Auth, Zerion, Spot and BitKeep support it, you can test it using our playground dapp: https://react-auth-dapp.vercel.app/

Tested with SpotWallet. It says that this is not a valid QR code. Same result as video i posted above. Is this expected?

So far both iOS and Android samples don't work properly with our project id - can you elaborate on this?
iOS team managed to get reaction from wallet and see our app. But after approving nothing happens.
It is very similar to issue reported here:
https://discord.com/channels/492410046307631105/1103433762156589127

I am able to successfully redirect to the wallet app where I can see the modal which lists down all the possible things I am granting request for. But after I click on approve and go back to my app, I don't receive any response in the sessionResponsePublisher

Make sure that your SpotWallet is up to date. I've tested with 4.76.2 and it works without issues.
Regarding the iOS issue, I suggest creating an issue here: https://github.com/WalletConnect/WalletConnectSwiftV2/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc

@jakubuid Here is the test with SpotWallet 4.76.2.
After using deeplink it says "Not a WalletConnect valid QR code".
Is this expected?
I expect link to be recognized and some approval of our app shown in wallet.
As far as i know, our iOS team managed to do this with V1 but not with V2.
(iOS - But even after approving there is no more communication, so we dont get any data)
https://user-images.githubusercontent.com/13849790/236460205-da5feae3-f370-4840-9cde-c32962f2b601.mp4

@jakubuid tried SpotWallet on iOS and it connected to Android sample. Address is shown and balance, after approval.
But SpotWallet on Android does not connect to android requester sample on same device by deeplink.
Tried Zerion, found on this page https://explorer.walletconnect.com/?type=wallet&version=2
Same thing - 0 reaction.

Tested wallets listed that support WalletConnect V2
https://explorer.walletconnect.com/?type=wallet&version=2
So far none of them worked by deeplink. Some do not react at all, some show infinite loading.

Thanks for all those examples. It's very helpful, I'll let you know once we have it resolved!

Trust doesn't support Auth yet
Besides that Spot does and it looks like an issue on the requester sample, I'm investigating

@jakubuid Thanks for response.
So issue was in sdk itself?
And once wallets update to new version of SDK sample should work correctly?

Yes the issues was in the SDK
Yes, once they update the discussed issues should be resolved. We already notified them
To test it you can use those:

https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/samples/wallet
https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/auth/requester
https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/samples/dapp


Spiral Matrix

this is amazing @attttt17
thanks for the contribution in my repo and please share in social media and tag me on twitter


执行yolov8在train.py下调整训练次数epoch出错

Environment
Hardware Environment(Ascend/GPU/CPU):

mindspore1.8.0-cann5.1.2-py3.7-euler2.8.3

Software Environment:

MindSpore version (source or binary):
Python version (e.g., Python 3.7.5):
OS platform and distribution (e.g., Linux Ubuntu 16.04):
GCC/Compiler version (if compiled from source):

Describe the current behavior
执行yolov8在train.py下调整训练次数epoch出错
Describe the expected behavior
5 ->100
Steps to reproduce the issue

在终端命令中添加 --epoch 100
加载参数成功
3.运行报错

Related log / screenshot
Traceback (most recent call last):
File "train.py", line 301, in
train(args)
File "train.py", line 150, in train
assert sum(stage_epochs) == args.epochs, f"Stage epochs [{sum(stage_epochs)}] not equal args.epochs [{args.epochs}]"
AssertionError: Stage epochs [5] not equal args.epochs [100]
code
transforms = args.data.train_transforms
stage_dataloaders = []
print(transforms)
stage_epochs = [args.epochs,]   if not isinstance(transforms, dict) else transforms['stage_epochs']
stage_transforms = [transforms,] if not isinstance(transforms, dict) else transforms['trans_list']
assert len(stage_epochs) == len(stage_transforms), "The length of transforms and stage_epochs is not equal."
assert sum(stage_epochs) == args.epochs, f"Stage epochs [{sum(stage_epochs)}] not equal args.epochs [{args.epochs}]"

yolov8 的数据增强是两段式的 修改epochs的同时还要修改 'data.train_transforms.stage_epochs'
https://github.com/mindspore-lab/mindyolo/blob/master/configs/yolov8/hyp.scratch.high.yaml#L28


DEMO

Failed to connect to /<IP_ADDRESS>:8080
upon tapping the refresh button

Are you running the demo application on an emulator or a physical device?

Omfg how do I block you, your spamming me
On Sun., 10 Mar. 2019, 9:46 pm Aditya Sharat<EMAIL_ADDRESS>wrote:

Are you running the demo application on an emulator or a physical device?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flipkart-incubator/proteus/issues/140#issuecomment-471280683,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZaJn9qgO0J_dDRWIUTd9767pJQ-PNMyks5vVPCmgaJpZM4bnER3
.

Plus you are NOT the developer of Proteus
On Sun., 10 Mar. 2019, 11:34 pm Clark Kent<EMAIL_ADDRESS>wrote:

Omfg how do I block you, your spamming me
On Sun., 10 Mar. 2019, 9:46 pm Aditya Sharat<EMAIL_ADDRESS>wrote:

Are you running the demo application on an emulator or a physical device?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flipkart-incubator/proteus/issues/140#issuecomment-471280683,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZaJn9qgO0J_dDRWIUTd9767pJQ-PNMyks5vVPCmgaJpZM4bnER3
.

I'm! 👀

I don't know what that means
On Mon., 11 Mar. 2019, 2:52 am Aditya Sharat<EMAIL_ADDRESS>wrote:

I'm! 👀
[image: Screen Shot 2019-03-10 at 16 47 26]
https://user-images.githubusercontent.com/1552857/54088292-7756c580-4354-11e9-95f0-dbe6a5afaabb.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flipkart-incubator/proteus/issues/140#issuecomment-471323089,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZaJn4lsnf69h0IzENHYdnMH1PnCnyIcks5vVThagaJpZM4bnER3
.

Also why do you post issues if, assume collaborator means you help manage
the source code, you can just submit a patch/pull request for the source
On Mon., 11 Mar. 2019, 12:04 pm Clark Kent<EMAIL_ADDRESS>wrote:

I don't know what that means
On Mon., 11 Mar. 2019, 2:52 am Aditya Sharat<EMAIL_ADDRESS>wrote:

I'm! 👀
[image: Screen Shot 2019-03-10 at 16 47 26]
https://user-images.githubusercontent.com/1552857/54088292-7756c580-4354-11e9-95f0-dbe6a5afaabb.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flipkart-incubator/proteus/issues/140#issuecomment-471323089,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZaJn4lsnf69h0IzENHYdnMH1PnCnyIcks5vVThagaJpZM4bnER3
.

I didn't post any issues, I was simply replying on the issues that you posted.
Anyone can submit an issue (even the contributors of the project). The issue page is a place where developers can discuss about the issue/feature request/question and their solutions.
Questions should be mostly posted on stack overflow though.

ok

Are you running the demo application on an emulator or a physical device?

physical device

A guess to why it is failing
Since you are using a physical device and not an emulator the application is not able to communicate to the node server hosting the layout, since it expects to run on an emulator by default.
Please change the ip address to your machine ip address here.

<IP_ADDRESS> in emulators is the host machine's localhost.

oh

Assuming this is no longer an issue. Closing.


Insufficient documentation

I think the readme file needs more info. In particular about installation, correct setup for Andorid and iOS, how to use custom alert sound, and others

Hello, indeed, the documentation could be improved and we will consider this.
Meanwhile, you can use the documentation in the Telerik Marketplace and in sending notifications through Telerik Backend Services to applications that use the plugin.

Is not possible install it through the cordova CLI?

Yes. It's possible:  cordova plugin add https://github.com/Telerik-Verified-Plugins/PushNotification. And you can check this here: http://plugins.telerik.com/cordova/plugin/pushnotification :)

The installation issue was discussed in #47


Azure: Send Rep/Eth/Cash on registration

For simplicity, instead of maintaining a private node ether faucet, I am just modifying augur.js to send ether from the unlocked coinbase the private node is hosting.

This has been implemented.


Custom component's  dynamic translation loading

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Performance issue
[x] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

What is the motivation / use case for changing the behavior?
Current lazy loading behavior supports only application-related translations that are placed at one global folder. Even this case requires additional time to maintain component's translation files that are separated with component's folder.
i18n/
  en.json
  es.json
  todos/
    en.json
    es.json
src/
  some/
    module/
      component/
        todos/
          images/
          todos.ts
          todos.html
          todos.scss

Also there is no way to seamlessly provide lazy loaded shared lib components translations. Our case is a monorepo with a lot of libs that are used in different applications (at the same repository).
It would be cool to have an ability to provide custom dynamic imports for TRANSLOCO_SCOPE, like this
todos/
  images/
  translation/
    en.json
    es.json
  todos.ts
  todos.html
  todos.scss

export function en() { return import('./translation/en.json'); }
export function es() { return import('./translation/es.json'); }

@Component({
  providers: [
    {
      provide: TRANSLOCO_SCOPE,
      useFactory: () => ({
        scope: 'todos',
        translations: { en, es }
      }),
    },
  ]
})
export class ToDosComponent {}

Currently we found one way to achieve this with some hacks, but it works only at a module level and requires more code
Stackblitz https://stackblitz.com/github/artaommahe/transloco-dynamic-translations/tree/module
Repo https://github.com/artaommahe/transloco-dynamic-translations/tree/module
There are an eagerly loaded component, dynamically loaded via routing and a component from lib. All have dyncamically loading translations that are placed next to the components files. E.x.

lib component
his translations loading
translations registering at the lib module

And the translations loading code on lang changes
https://github.com/artaommahe/transloco-dynamic-translations/blob/module/libs/translate/src/module.ts#L18
updated solution below: https://github.com/ngneat/transloco/issues/121#issuecomment-540535199

@artaommahe It sounds like a helpful feature. Do you want to create a PR?

@artaommahe: We also put the translations in our components, and we solve it by using Webpack, but it would be much nicer if it was a "native" feature.
I would reconsider the implementation, though. Providing the TRANSLOCO_SCOPE provider with the scope (path to the translation folder for the component) should be enough, so you don't have to load the files yourself in all components.

@andreaslarssen can you give an example of how you do it with Webpack? I'm curious. Thanks.

While implementing this approach in our codebase, found more simple way at component level, using existing TRANSLOCO_SCOPE token.
The main idea is to have a way to register translation at the component first creation moment. And here TRANSLOCO_SCOPE plays his role cause it's injected in template's pipe/directive. Using factory for providing this token we get a factory function that is called once when token is injected for one component instance.
Stackblitz https://stackblitz.com/github/artaommahe/transloco-dynamic-translations/tree/master
Repo https://github.com/artaommahe/transloco-dynamic-translations

factory https://github.com/artaommahe/transloco-dynamic-translations/blob/master/libs/translate/src/helpers.ts#L10
translation loading https://github.com/artaommahe/transloco-dynamic-translations/blob/master/libs/translate/src/service/translation-loader.ts#L28
component's translation registering

https://github.com/artaommahe/transloco-dynamic-translations/blob/master/libs/some-lib/src/component/counter/counter.ts
https://github.com/artaommahe/transloco-dynamic-translations/blob/master/src/%2Bpage1/component/page1/page1.ts

@andreaslarssen we cant use webpack configuration cause it requires manual setup for each of our dozens libs to copy their translations + additional storybook configuration and so on :(

@artaommahe It sounds like a helpful feature. Do you want to create a PR?

nope :( im not sure that my solution is the best, hope there is something better

In this repo, we have implemented inline loaders. Please check it out and give us your feedback so we can move forward to a release.
Installation:

Clone the repo.
Run npm install.
Replace the Transloco lib in the node modules with the one provided repo's root. ( this is a local version with this feature )
Run npm start

It's really nice that you've implemented inline loaders, but are there really no other ways of doing this then:
export function en() { return import('./translation/en.json'); }
export function es() { return import('./translation/es.json'); }

If you want to load files in each component, all components needs this kind of imports/exports. And imagine if you support 10-15 languages!
We used a few hours yesterday trying to come up with something, and we where thinking it could make sense have a @Transloco() decorator that could take a scope and / or alias?
What do you think?

@andreaslarssen
Can you please explain why decorators? And what is he supposed to do? can you share the implementation?
You won't have to import these inline loaders in every component.
You will import them just in the main lazy-loaded module where you need them (it could be a component if you provide it there).
The implementation presented in the repo is just a POC.
Here is a suggestion of handling multiple languages inline loaders.
Since all the languages will are stated in the availableLangs property in the transloco config, we will export them:
export const availableLangs = ['en', 'es' .... 13 more ];

Then when creating the inline loaders, we will use this export:
import { availableLangs } from "...";

export const loader = availableLangs.reduce((acc, lang) => {
    acc[lang] = () => import(`../i18n/${lang}.json`);
    return acc;
  }, {});

And in our providers:
import {loader} from "..."

providers: [
    {
      provide: TRANSLOCO_SCOPE,
      useFactory: () => ({
        scope: 'compA',
        loader
      })
    }
  ]

Also, in the new implentation, the "scope" name is used, but it's taken the job of the alias. It's no longer the path (as I think scope should be renamed to), but a root key (alias) if I'm not mistaken?

This is a good point and we will figure it out 🙂

@shaharkazaz i've tried this version with my repo's code and it works fine. Just mapped lib to local foldern and changed my provideTranslation to
export function provideTranslation(scope: string, translations: IComponentTranslations): Provider {
  return {
    provide: TRANSLOCO_SCOPE,
    useValue: { scope, loader: translations },
  };
}

Awesome! That is exactly what I need.
Can you provide a release date?
Thanks!

@NachoVazquez @artaommahe
I'm curious about 2 things in your workflow:

How do you send the splitted files to translation? we are currently working on a merge plugin.
Don't have any issues with the fact that the translations are loaded asynchronously with the module? are you showing some sort of loading?

I'm not sure if I correctly understood your first question. But what I'm doing at the moment for a given lib is:

Dynamically loading the translations of the lib, injecting the TranslationService in the main module of the lib. (any module will do, but it needs to be loaded before any other module on that lib)
Encapsulate the translations in their scope to avoid key collisions.
Use the structural directive with the read attribute in templates.

Please let me know if you need to know anything else.

I didn't see any problem with translations loading time. At this moment I'm not showing a loading, primarily, because I have to check with the rest of the team what would be a consistent visual approach. But I'll get you posted about my results.

@shaharkazaz havent understood first question ) our workflow mainly is in provided repo-examples.
We're ignoring translation loading issue, 95% of our app routes requires authorization. Bundling one default translation statically by import('./translation/en.json'); in app module file (where this file contains just empty string). For other translations we just load them right after authorization and during route guards resolving so no strings flashing for 99% cases.
Also we follow translations folder and files naming agreements to bundle all translations for one language to one final bundle: always ./translation/{lang}.json files or using import(/* webpackChunkName: translation-{lang}-json */ './other/path.json')

The idea behind using decorators came because I was searching for two things:

A way of configuring file loading in the component using the translation file(s)
Make sure the file was loaded before the component was initialized

As for no. 1, my suggested implementation looks something like this:
export function Transloco({scope, alias}) {
  return ((target: Function) => {
    const request = async () => {
      // TODO: Fetch all languages from defined folder
    };

    request().catch();
  });
}

And then:
@Transloco({scope: 'MY_SCOPE', alias: 'MY_ALIAS'})
export class SomeClass(){}

As for no. 2, I now realize that it's (probably) not possible, as it seems like the Angular team doesn't want you to block app bootstrapping in any way. That means I'm not able to do what I want to do, so I'm left with two choices:

Preloading all language (ugh)
Load languages in components and hope that they will resolve in time (ugh)

@andreaslarssen You can listen to the language loaded event and bootstrap your component when it fires.
This way you are sure the language is loaded, and it's not left for luck 🙂
@artaommahe @NachoVazquez Thanks for the answers! I'll try to reexplain the first question:
You are developing the app in one primary language (correct me if I'm wrong) let's say it's English for the question's sake.
Then you send you JSON file to be translated into the other languages you are supporting, how does the process of sending those files to translation is working? Since your entire translation is split into many JSON files?

@shaharkazaz currently we dont have enough files to have a problems with this. Further were thinking about script that parses our provideTranslation helper usage and outputs scope + translated langs + fields list in default language, this output will go to translators.

I see what you mean. At this point, we are only supporting English. The first step was to detach the hard-coded strings from the template.
In the future the app will support multiple languages, but not all libs and apps may need to be translated. For example, admin apps may not have the requirement of supporting i18n. Another case is when a lib is used both in an admin app and a public one. In that case, the lib needs to support multiple languages. The process in our case will be a matter of need. We will send the libs *.json that need to be translated.
I might have to think of a process of flagging the libs that support i81n if I want a script like the one described by @artaommahe .

For avoiding key conflicts we are following the next best practices.

Scope apps and libs into its project name
Sub-scope components using component name
Add shared scope if needed, only accessible to the project scope. Used to handle common keys like forms errors and others

@shaharkazaz can you show me an example of bootstrapping the component on the language loaded event?

@artaommahe @NachoVazquez Thanks for the input you guys, as I said we are working on something that might help you with this. stay tuned 👍
@andreaslarssen well, it's not actually delaying the bootstrap, but more of delaying the content.
The way I see it, you wrap your actual content inside a ngIf which is an indication for a loading state, and once the event fires you change the flag and load the actual content.
<ng-container *ngIf="!langLoaded; else content">
  some loader
</ng-container>
<ng-template #content>...</ng-template>

I think we are getting off-topic here though if you want we can continue this on gitter 🙂

@shaharkazaz I was just curious as you said (in another issue) that you don't handle string glitching. It's related in the way that dynamic loading (as I see it) needs to handle string glitching (making sure the file is loaded before view renders). Delaying content like that would make the app look funky. But no need to take it further, just wasn't sure what you meant.

Inline loaders are now avialable in v2.2.0.
We also released a schematics command to build a unified translation file from all the sub-translation files.
Currently, it supports JSON format, but other formats support is in progress. 🙂

@shaharkazaz checked 2.2 with some our cases (that works with our hacky solution)
module-level loaders does not work for non-lazy modules
https://stackblitz.com/edit/ngneat-transloco-loaders-in-modules?file=src%2Fapp%2Fapp.module.ts
<!-- actual output -->
module1.caption
Module 2
<!-- expected output -->
Module 1
Module 2

also there is an error in console for langChanges$ listener, looks like no CD tick for some cases

@artaommahe

module-level loaders does not work for non-lazy modules due to singleton-token

As you said, following the Angular rules, this only works with lazy-loaded modules or component level providers. (I'll check with @NetanelBasal to see if we can resolve this somehow)

also there is an error in console for langChanges$ listener, looks like no CD tick for some cases

Just run this.cdr.detectChanges();

Just run this.cdr.detectChanges();

looks like there already should be CD tick on translation changes. Manual CD usage usually is a mark of some CD problems in other code..

Amazing!! I'll test it tonight.

@artaommahe It is not related to Transloco. That is how Angular works. The first and the second change are at the same tick.

@shaharkazaz can you clarify why there are two changes at the same tick? looks strange to me


send message to user there is an error of unkonwn

Github issues for Java/ should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Describe the bug
This error occurs when the bot sends a message to the user, but it is normal to send the same message to other users.
To Reproduce
adapter.continueConversation(
                        appId, reference, turnContext -> turnContext
                                .sendActivity(message)
                                .thenApply(resourceResponse -> null)
                );

//The message is in html format
Expected behavior

How do i resolve this error
not send this error to user

Screenshots

Hey @Jeff-Zhang-Github,
Thanks for reporting this issue. I have a few clarifying questions:

Is this issue occurring only for specific users? If so, how many users are affected, and can you provide any details about the affected users (e.g., their user roles, permissions...)?
Have you noticed any patterns or differences between the affected user(s) and the users who are not experiencing the issue? This information can help us identify potential causes for the problem.
In the continueConversation function, can you confirm that the reference parameter is not null?

You can verify this by checking the following properties of the ConversationReference object:ConversationReference reference = ...; // The reference object you're passing to the function
if (reference != null && reference.getUser() != null) {
    // Continue with the conversation
} else {
    // Handle the null reference or user
}

Please provide any additional information or observations that might help us understand and resolve this issue. Once we have your responses, we can better assess the situation and offer a more targeted solution.
Thanks.

Hi @ramfattah ,
I checked your questions and the answers is:

The users who receive messages are all ordinary team members, same roles, smae permissions.
Messages are sent to different users at the same time.
I am sure that conversation not null, and all users not different.

Hi @Jeff-Zhang-Github, thanks for your patience.
Could you please supply a simplified .zip sample file that demonstrates this issue?

closing due to inactivity.


Xamarin iOS: upgrade to <IP_ADDRESS>

Thank you for the contribution. It was merged directly as 63e75f8fc738002caa3af76c567d6947f62e014c to keep commit history cleaner. Your contribution is still credited to you.


Website Design

I'd love to work on getting some initial HTML markup and CSS styles ready for a homepage and additional pages.
I think there is 2 main things we'd need before we can start that:

Either a HTML template to adapt OR reuse/inspire ourself of last years gorgeous website
Graphical assets like conference logo, icons, sponsor logos (if we already have some)

two templates committed in "original-themes"
one for public site
the other is for the admin site.

Perfect! 👍
We probably should take them out of the repo and upload them as zip to gdrive as discussed on slack (they are pretty heavy in git and the author might not be all too happy to see his work available in the open)


Data analysis

Please publish the data for the summer so I analyze it. I will use Matlab or python for this.

come on man


Inference results for 2023-09-20

@martinjankowiak sorry for the spam lately - here are the latest BVAS results

@bkotzen there was a merge conflict that i had to resolve (in the readme) so next time you do this make sure your PR is based on the most recent version of main

Can do, thanks for the attention!


Problem when $httpProvider.defaults.withCredentials is enabled

When you set $httpProvider.defaults.withCredentials = true every call to the AI service will fail with the following message:
XMLHttpRequest cannot load https://dc.services.visualstudio.com/v2/track.
A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true.
Origin 'https://localhost:44322' is therefore not allowed access.

Maybe it is possible to disable that flag when posting to AI?

Yes, this should be investigated. Thank you for reporting it.

I am having the same issue.  Has anyone found a work around?

Finally has some time to open this project up to write and test the fix. I should have the patch out in the next hour.

fixed in v0.2.5


User Profile: add an option to hide the user from users directory search

This new option is added in the profile settings only for the users who has access to a protected HS.

related to https://github.com/matrix-org/synapse/pull/4148


Plugin, No hot wallet policy also applies to Hardware wallet

This is seriously limiting the usefulness if it can't be used to transact in the same app.

Hi, sorry for the slow reply, looks like I somehow missed that between all the notifications!
I'm investigating, should hopefully have a fix ready soon.

I believe 9b68cc9844cd260c37c4dd07f09a500ff93460c0 should fix this, but can't currently test it to verify. Can you try and see if that works for you?
You can do this by downloading bwt.py into your plugin directory (overwriting the previous one) and restarting Electrum.

Thanks will try this out

This fix does not work with Electrum 4.0.2, right?
Does it work with Electrum 3.x.x?

@Hieroni The plugin currently supports Electrum v3 only, I'll hopefully have a v4-compatible release ready soon (though initially without lightning support, which adds some compilations and might potentially require changes on the electrum side).

@Hieroni Note that if you setup the standalone server instead of using the plugin, this will work with Electrum 4, with the exception of not supporting lightning.

A fix for this was released in v0.1.5. This release also made the plugin compatibile with Electrum v4 (minus lightning).
@Hieroni @Transisto


Fix consumer_class instrumentation field

This PR fixes the consumer_class instrumentation param provided to the instrumenter.
All event subscribers should now receive a consumer_class field that looks like FooConsumer instead of #<FooConsumer:0x007ff7bf7cc3b0>.

Thanks!


SPInstallPrereqs potentially problem checking version

Details of the scenario you tried and the problem that is occurring
Trying to install SharePoint 2019 and wondered about an error while installing Prereqs. The version was not correct.
I wondered about the code within the ressource.
Verbose logs showing the problem
Prerequisite [PLaceholder] was found but had unexpected version. Expected minimum version [WAS EMPTY] but found version 14.12.X.Y.
Suggested solution to the issue
The code seems to be not correct or do I forgot anything? I guess the if is not correct for e.g. the following values:
MinimumRequiredVersion: <IP_ADDRESS>
InstalledVersion: <IP_ADDRESS>
Afterwards $isRequiredVersionInstalled is $false I guess but should be $true?
The DSC configuration that is used to reproduce the issue (as detailed as possible)
The code implemented was:
                    $isRequiredVersionInstalled = $true;

                    [int[]]$minimumRequiredVersion = $itemToCheck.MinimumRequiredVersion.Split('.')
                    [int[]]$installedVersion = $installedItem.DisplayVersion.Split('.')
                    for ([int]$index = 0; $index -lt $minimumRequiredVersion.Length -and $index -lt $installedVersion.Length; $index++)
                    {
                        if ($minimumRequiredVersion[$index] -gt $installedVersion[$index])
                        {
                            $isRequiredVersionInstalled = $false;
                        }
                    }

The operating system the target node is running
N/A
Version of SharePoint that is used (e.g. SharePoint 2016)
SharePoint 2019
Version and build of PowerShell the target node is running
5.1
Version of the DSC module that was used ('dev' if using current dev branch)
<IP_ADDRESS>

Hi @HeKr09 This error message is given when one of the required components is installed, but not the correct version (too low version). Based on the version number you gave (14.12) I guess this is the C++ library, but without the exact error this is hard to say.
The check you are referring to checks if the minimum version is greater than the actual installed version. If this is true, the required version is NOT installed since the installed version is lower that the required version. Therefore the variable is set to false.

Yeah but I wondered about the check method.
If I do have the minimum version <IP_ADDRESS> and the installed version is <IP_ADDRESS> I'd expect a true within the variabel $isRequiredVersionInstalled. But the implemented code will return false I guess. Am I wrong?
If you run thorugh the code:
First loop
if(15 -gt 16) -> $isRequiredVersionInstalled = $true
Second loop
if(1 -gt 0) -> $isRequiredVersionInstalled = $false
Third loop
if(0 -gt 1) -> $isRequiredVersionInstalled = still $false
Fourth loop
if(3 -gt 2) -> $isRequiredVersionInstalled = still $false
If you check the version logically
if(<IP_ADDRESS> -gt <IP_ADDRESS>) -> $isRequiredVersionInstalled = should be $true
Do I get something wrong?

No I get what you mean! :-)
Will dig into this and get back to you asap!

@jensotto Since you added this piece of code:
https://github.com/PowerShell/SharePointDsc/blob/736c08612a73f7f11502af9e9685f144fca81365/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/MSFT_SPInstallPrereqs.psm1#L1117-L1135
What was the reason you used this code instead of something like the following:
[System.Version]$minimumRequiredVersion -gt [System.Version]$installedVersion

That looks a lot cleaner. Not sure why I didn't think of something like that. I created a test for that scenario, so as long as that does not fail I don't see why your code could replace my convoluted code :)

I see the problem in my code.  Using the System.Version makes a lot more sense.

Ok, no problem mate! Will update the resource with alternative check. Will be included in my next bugfix PR!


Remove the long_array conditional

:umbrella: The latest upstream changes (presumably #4093) made this pull request unmergeable. Please resolve the merge conflicts.


NTR: Ceramide-1-phosphate phosphatase activity

Hi,
could you please consider creating a term describing the activity of enzymes that dephosphorylate ceramide-1-phosphate:
Catalysis of the reaction: ceramide-1-phosphate + H2O = ceramide+ phosphate.
or more precisely :
H2O + N-acylsphing-4-enine 1-phosphate = an N-acylsphing-4-enine + phosphate
as described for instance in PubMed=10359651
Thanks for your help.
Lionel

Since an N-acylsphingoid base 1-phosphate is a synonym for ceramide-1-phosphate (CHEBI: 84404, the anionic form); no synonym mentioned for neutral form (CHEBI:13956
This looks like RHEA:50888 : an N-acylsphingoid base 1-phosphate + H2O = N-acyl-sphingoid base + phosphate (this RHEA does use  the anionic form 88404 although the RHEA text def does not.
--

Hi Harold,
not sure to understand your comment. Is there an existing GO term I could use to describe the activity of my protein?
Best, Lionel

No, but I think I'll be using the RHEA as the xref for the term you request. BTW, what parent do  you suggest?

GO:0042392 sphingosine-1-phosphate phosphatase activity which describes the same relation for a related lipid is a child of GO:0016791 phosphatase activity. This could be the direct parent. Alternatively you could create an intermediate parent for sphingolipid phosphatase activity and/or GO:0042577 lipid phosphatase activity. Please note that GO:0042392 sphingosine-1-phosphate phosphatase activity should also be moved to that parent.

done; ntr + assign parents for it and  to GO:0042392 as suggested to GO:0042577 lipid phosphatase activity


Readme grammar fixes

Some small changes to the wording so it reads a little better.

@11CConnolly  Thanks for this PR!


navbar component complete

Description 📃

Responsive Navbar Completed

Type of Changes 📝

[x] Added Feature (adding a non-existing new feature)

Checklist ✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code or work. 🔎
[x] I have written comments in the code whenever felt necessary. 🖊
[x] My changes generate no new warnings. ⚠

Screenshots 📸

|---|

|---|

looks goood


examples/southpark-search throws exception

The southpark-search throws an exception in the query stage for me. Following error:
unknown exception: 'NoneType' object has no attribute 'shape'
in jina/executors/indexers/vector/numpy.py", line 148, in _ext_arrs`
I can also see this in the logs:
you can not query from <jina.executors.indexers.vector.numpy.NumpyIndexer object at 0x7fb6f03d4250> as its "query_handler" is not set. If you are indexing data from scratch then it is fine. If you are querying data then the index file must be empty or broken.
Can someone reproduce this?

could it be you double indexed the data? currently there is no support on the incremental indexing.
try clear the index data first, run index and run query

Yes, you are correct. Thanks for your hint.


New class isn't working for monN and dowN in all cases

Getting failures with 'it' and 'fr' in my module 'Calendar.

List all languages broken with Calendar?


video aspect ratio not working properly

when i set video aspect ratio to 16:9, its not working.
screenshot:
https://ibb.co/i7e59m

screen size: 1920x1080
android: 5.0.2
api level: 21
cpu: armv7

will fix in next version

or u can pull from github to get GiraffePlayer , the latest commit fixed the issue

try this version: compile 'com.github.tcking:giraffeplayer2:0.1.12'

tnk u 😊


Race condition with jsonKey.precomputed

Since jsonKey methods can be called asynchronously, (as callbacks from jwt.Parse,) a race condition could occur with the precomputed field if two or more JWTs with the same kid were being parsed at the same time and it was the first time a JWT with this kid was parsed.
https://github.com/MicahParks/keyfunc/blob/79eea7edfac17b483ec38b2353c237e018e1fc9b/ecdsa.go#L36-L41
Then later in the function:
https://github.com/MicahParks/keyfunc/blob/79eea7edfac17b483ec38b2353c237e018e1fc9b/ecdsa.go#L87-L88
Someone on the Gopher's Slack pointed out this issue during a review:
https://gophers.slack.com/archives/C029WG6AM/p1631886199233700

Fixed in v0.8.1.


[chore]: Add Package.resolved to .gitignore

Description
Added Package.resolved to .gitignore so dependencies get downloaded properly when first opening the project.
This also copies the locally generated (yet ignored) Package.resloved from inside the CodeEdit.xcworkspace file into the root folder during each build before it gets added to the bundled resources.
Checklist

[x] I read and understood the contributing guide as well as the code of conduct
[x] My changes generate no new warnings
[x] My code builds and runs on my machine
[x] I documented my code
[x] Review requested

This might be causing problems. @lukepistrol why exactly was this removed again? Is there an alternative fix? We are seeing errors like this as mentioned by @Prince213 in #help on Discord:
error project: could not find a branch named ‘feature/swift’ in https://github.com/mattmassicotte/tree-sitter-ruby.git


Recommendation: directory names different to file names

Tab-autocompletion can get confusing when files and directories have the same name starts. We could have all directories prefixed with "d" for example?

I have tried something like:

script :  010_s_...
log : 010_l_...
output directory : 010_d_...
output file (if no directory) L 010_r_...


Cannot transform a field which value is new Date()

I need to update a field whose type is Date in Graphql,

Hi @Vbubblery
Since GraphQL does not have a Date type, there is no way for this library to know what to do with a Date object.
To correct this issue, you should convert your Date to a string, e.g. using  date.toISOString() before passing it to this library.


New feature that user assumpt an arbitrary value of sli when metrics hasn't a increase

New feature that user assumpt an arbitrary value of sli when metrics hasn't a increase, and it is equals to 0. The metric exists but has no changes. Some scenarios we want a sli assumption to 100% or 0%. This feature can be used by adding the option assumption_empty_sli under spec in the slo_config.
We use this tool in production and we need this patch, but someone else might need it too.

Hi @casmssm,
I just took over the maintenance of the SLO Generator.
Could you give us a quick example where this extra setting is relevant, and what the corresponding YAML files look like?


more error criteria for excluding invoices

The feeder file allows the invoice number (vendor invoice number + folio invoice number) to be up to only 40 characters. If it is more than 40, the invoice should error out.
When the invoice date is after the date sent to AP, it should error out. For example, if the invoice date is 9/1/23 and it is being sent to AP on 9/2/23. Similar to the rejected invoice email we get for Symphony "Invoice has future vendor invoice date".
When an invoice has an invoice line that has sub-total $0, it should error out.
When the vendor accounting code does not contain "FEEDER" in it, the invoice should error out.

Need clarification regarding invoice date since we are selecting invoices based on status and disbursement number of vouchers and no date criteria whatsoever. Do we need to select voucher dates? Exclude based on voucher date or invoice date?

voucher disbursement number should be put back to blank if the invoice got excluded.

for excluding invoices, we currently check invoice lines for criteria that would exclude the invoice, see https://github.com/sul-dlss/libsys-airflow/blob/4b825b1f7bff09a2b5f72a03b37f524d7d3de0bb/libsys_airflow/plugins/orafin/payments.py#L33-L66 . This ticket is for exclusions on the invoice level, so maybe add an additional function that is called here: https://github.com/sul-dlss/libsys-airflow/blob/4b825b1f7bff09a2b5f72a03b37f524d7d3de0bb/libsys_airflow/plugins/orafin/tasks.py#L45-L52


Refined documents.

client doxygen generated documents.
endpoint doxygen generated documents (partially).
thread_safe.html
Moved too exposed implementation detail to impl directory.

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

Project coverage is 89.41%. Comparing base (5e3ca56) to head (942c249).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #253      +/-   ##
==========================================
- Coverage   89.53%   89.41%   -0.13%
==========================================
  Files         121      121
  Lines        7924     7923       -1
==========================================
- Hits         7095     7084      -11
- Misses        829      839      +10

Files
Coverage Δ

include/async_mqtt/client.hpp
100.00% <ø> (ø)

include/async_mqtt/endpoint.hpp
100.00% <ø> (ø)

include/async_mqtt/exception.hpp
83.33% <ø> (ø)

include/async_mqtt/impl/endpoint_impl.hpp
96.47% <100.00%> (+0.25%)
:arrow_up:

... and 3 files with indirect coverage changes


remove failing tests

Theses tests were asserting that you could train on a dataframe and transform an array.
I don't really know how these worked in the past. Pandas and numpy unfortunately have different broadcasting behavior (which pandas is working to fix).
In [16]: x
Out[16]:
array([[ 1.2061934 ,  0.78132208],
       [ 0.14763367, -0.47647038],
       [ 0.37784154,  1.13200053],
       [ 1.58888898, -1.84890062]])

In [17]: s
Out[17]:
0    1.206193
1    0.781322
dtype: float64

In [18]: x * s.values
Out[18]:
array([[ 1.45490252,  0.61046419],
       [ 0.17807476, -0.37227683],
       [ 0.45574998,  0.88445701],
       [ 1.9165074 , -1.44458687]])

In [19]: x * s
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-19-b699db99ec8b> in <module>
----> 1 x * s

~/miniconda3/envs/pandas-0.23.4/lib/python3.6/site-packages/pandas/core/ops.py in wrapper(left, right)
   1069         result = safe_na_op(lvalues, rvalues)
   1070         return construct_result(left, result,
-> 1071                                 index=left.index, name=res_name, dtype=None)
   1072
   1073     return wrapper

~/miniconda3/envs/pandas-0.23.4/lib/python3.6/site-packages/pandas/core/ops.py in _construct_result(left, result, index, name, dtype)
    978     not be enough; we still need to override the name attribute.
    979     """
--> 980     out = left._constructor(result, index=index, dtype=dtype)
    981
    982     out.name = name

~/miniconda3/envs/pandas-0.23.4/lib/python3.6/site-packages/pandas/core/series.py in __init__(self, data, index, dtype, name, copy, fastpath)
    260                             'Length of passed values is {val}, '
    261                             'index implies {ind}'
--> 262                             .format(val=len(data), ind=len(index)))
    263                 except TypeError:
    264                     pass

ValueError: Length of passed values is 4, index implies 2

Thanks for digging to find the actual change @jrbourbeau :)


Plan to support Qt6

Since shiboken2 does not support python3.12 and upstream does not plan to support python3.12 in a no-maintenance state at this time, upstream's current development efforts are focused on shiboken6. Is there a plan to provide an option to support Qt6?

Since shiboken2 does not support python3.12 and upstream does not plan to support python3.12 in a no-maintenance state at this time, upstream's current development efforts are focused on shiboken6. Is there a plan to provide an option to support Qt6?

Yeah, it's a good question.
In the long-term, we should switch to Qt6.  In the short-term, we haven't spent any time trying to make it work.  Note that the situation is complicated by Windows, where, due to various reasons, we cannot currently switch to Qt6.
I think the best way forward here is to first work on a solution that is compatible with both Qt5 and Qt6.  That can land at any time.  Then, once we fix Windows so we could possibly to update to Qt6 there, we can drop the Qt5 support.
We don't have immediate plans to do this, so if you are interested in contributing, it would be highly appreciated.

Would it be possible to build python_qt_binding against Qt6 on platforms that support Qt6 (so, FWIW, not Windows)?

Would it be possible to build python_qt_binding against Qt6 on platforms that support Qt6 (so, FWIW, not Windows)?

Yep, that's what my reply above suggests.


Way to proxy over the tor network

I'd like to be able to make RPC calls over the tor network, is that possible, maybe some code snippet would be really helpful.
thanks.

It's not currently supported.
I opened an issue to add Tor support to monero-ts, by adapting from monero-java: https://github.com/woodser/monero-ts/issues/216


WIP: Make relative binning work with bilby

Things to Fix:

[x] Function to generate the waveform for unevenly space frequency array (This should be pretty easy; basically one needs to define a _base waveform in source.py and use lalsim_SimInspiralChooseFDWaveformSequence instead of lalsim_SimInspiralChooseFDWaveform)

[x] Add new frequency_domain_source_model in source.py. This source model should return the fiducial waveform (and the summary data) using the full frequency array and the likelihood calculation waveforms using the binned array.

[x] Makes changes to compute_relative_ratio

[x] For summary data calculation (in compute_as_and_bs), use noise_weighted_inner_product

[x] Remove num_points from setup_bins.

[ ] Issues with zeros of the waveform (this is probably occuring in cases where the waveform is getting terminated before fmax)

[ ] The calculation is being done only for parameter_dictionary and not for self.parameters. Correct this. (@Kruthi24)

[ ] Fix and check get_detector_response_relative_binning

[ ] Remove log_likelihood_ratio_approx (@Kruthi24)

[ ] Implement scipy maximization (@Kruthi24)

[ ] See if new summary_data dictionary is the right choice.

[ ] Add unit tests.

[ ] Remove all print statements and replace with logger instances. Also remove all instances of sys.

[ ] Write documentation

[ ] Clean up comments

[ ] Remove imports of matplotlib

...and more to be added in due time.

Test comment

One mroe test coment

One mroe

Hello

More


macOS-12 (version 20221010.1) - can't find Xcode Error

Description
We have an established Xamarion IOs pipeline running on vm image: macOS-12 (version 20221010.1)  which failed today with a new error:
BuildLog.txt
Could not find a valid Xcode app bundle at 'Applications/Xcode_14.0.1.app'. Please update your Apple SDK location in Visual Studio's preferences (Projects > SDK Locations > Apple > Apple SDK).
BuildLog.txt
Platforms affected

[ ] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 10.15
[ ] macOS 11
[X] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
20221010.1
Is it regression?
yes, worked as of image build 20220929.2
Expected behavior
The build would find the Xcode app bundle
Actual behavior
receive error: :Could not find a valid Xcode app bundle at 'Applications/Xcode_14.0.1.app'. Please update your Apple SDK location in Visual Studio's preferences (Projects > SDK Locations > Apple > Apple SDK).
Repro steps
Run a pipeline for a Xamarin IOS deploy.

Hey @scottgrowdnd.
Could you check this https://github.com/actions/runner-images/issues/6362#issuecomment-1281602028 comment?

@al-cheb thank you!  We had that line code, but were missing a "/" which was omitted when we recently updated the XCode version.


why normalize makes text colors dark for darkmode?

I am looking at this line but I am not able to understand why does it make the input dark color when the OS mode is already dark
https://github.com/argyleink/open-props/blob/02c92d436ccabb6b8680159e6fb4a7a717456df9/src/extra/normalize.css#LL7

Will research more on this.


Verbose console incorrectly formats Log To Console

I have tried running the following test in a variety of ways:
C:\Users\Me\robottests
λ robot --console verbose robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
.bah2
[ ERROR ] error
T2                                                                    .bah3
T2                                                                    | PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console dotted robot-test.robot
Running suite 'Robot-Test' with 1 tests.
==============================================================================
bah
bah2
[ ERROR ] error
bah3
.
==============================================================================
Run suite 'Robot-Test' with 1 test in 37 milliseconds.

PASSED
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed

Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console quiet robot-test.robot
bah
bah2
[ ERROR ] error
bah3

C:\Users\Me\robottests
λ robot --console verbose --consolemarkers off robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
bah2
[ ERROR ] error
bah3
| PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console verbose --consolemarkers on robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
.bah2
[ ERROR ] error
T2                                                                    .bah3
T2                                                                    | PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console verbose --consolecolors off --consolemarkers on robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
.bah2
[ ERROR ] error
T2                                                                    .bah3
T2                                                                    | PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

Of these, only quiet logs to console correctly, but this has the downside of not logging the name of the test.
If verbose is on, Log To Console won't correctly go onto a new line the same way a Log  with level=ERROR will correctly go onto a new line. This seems to be because VerboseWriter doesn't clear status / info for Log To Console like it does for Log.

A similar issue exists when logging INFO with loglevel info, or if an error is logged with console=True, like so:
```Log    error    level=ERROR    console=True```

This is true but at least I don't have any good idea how to solve the problem. Robot itself writes the normal console output, but everything you log with Log To Console, using print('message', file=sys.__stdout__) in a library, or otherwise is just written into the same console independently. If someone has an idea how to make logging from various sources somehow coordinated and is willing to provide a PR it would be awesome. I doubt I have time to think about this in the foreseeable future and will close this issue if nobody else is interested to work on it.

logger.console() could be changed to use the same formatting as Log fairly easily. Getting print in external libraries to work would be extremely difficult, I agree.
Alternatively an option  between verbose and quiet that writes names and status but doesn't use the markers would solve my issue. That would be the simplest solution, I may have time in the near future to implement that.

Have you @DanielPBak had time to look at this more closely?

I no longer work with RobotFramework, so I don't think I will be working on it.

OK. Hope to see you back some day!


Wen dapptools-rs-template?

I would love to see a dapptools-template port using dapptools-rs after the first release.

@byterose i just made a repo based on the solmate repo from rari capital.  Let me know if you get a chance to check it out https://github.com/stevennevins/dapptools.foundry

@stevennevins looks good, ty :)

made it here https://github.com/gakonst/forge-template


Allow custom coverage reporters

🚀 Feature Proposal
Allow jest to use custom coverageReporters.
Motivation
Only istanbuljs coverage reporters can be used so far. But istanbuljs has limited number of reporters which can't cover all possible options.
E.g. I've needed a coverage reports to be in junit-xml format which isn't present in istanbuljs library.
Example
It could be used just like test reporters.
// jest.config.js
{
  collectCoverage: true,
  coverageReporters: [require.resolve('<path to appropriate node_module>')],
  ...
}
//
{
  collectCoverage: true,
  coverageReporters: [
    'json',
    'text',
    [
      require.resolve('<path to appropriate node_module>'), { option: {}, ... }
    ] // with options
  ],
  ...
}

Workaround
Define custom test (not coverage) reporter. Implement onRunComplete method and extract coverage results from aggregatedResult.
class CustomCoverageReporter {
  ...
  onRunComplete(context: jest.Context, aggregatedResult: jest.AggregatedResult): void {
    // extract coverage here
  }
}

module.exports = CustomCoverageReporter;

// jest.config.js
{
  ...
  collectCoverage: true,
  reporters: [require.resolve('<path to CustomCoverageReporter>')]
}

But you need be aware that it'll be invoked even if collectCoverage flag is set to false. So additional validations are required.
Pitch
Why does this feature belong in the Jest core platform?
It would be great to be able to export coverage reports in different desirable formats.
This enhancement would provide more flexibility.

:+1:
Any hints on how would you extract the coverage summary for instance out of the aggregatedResult? The coverageMap is in some unknown format.

I think this one can be closed. Istanbul changed the way they integrate the reporter. You just need to export a class with a function execute(results) and then you receive the coverageMap

I think this one can be closed. Istanbul changed the way they integrate the reporter. You just need to export a class with a function execute(results) and then you receive the coverageMap

Hi! Could you please share link for example about how to receive the coverageMap?
I solved my case like this, but I think this is bad idea:
import libCoverage from 'istanbul-lib-coverage';
import { CoverageReporter } from '@jest/reporters';

class Reporter extends CoverageReporter {
    async onRunComplete(): Promise<void> {
        // @ts-ignore
        const { map } = await super._getCoverageResult();
        if (!map) return;

        const coverageMap = libCoverage.createCoverageMap(map);
       // ...
       }
}

I think it changed again and I haven't worked on this a while.
I guess this project does not help to understand internals or?
https://github.com/dkelosky/jest-stare/blob/master/src/reporter/Reporter.ts

This would be a great feature. Our team needs to upload test coverage reports from the pipelines but the reports are huge and take ~10min to upload. We would like to write our own coverage reporter to include only tests with missing coverage. So, we could reduce the time it takes to upload the files.

There is a Jest custom reporter here that can adapt to the custom coverage reporter:
https://github.com/cenfun/jest-monocart-coverage


mg-reamde-add-preview-link

Issue #94

Changes

Added a link to the netlify preview in the readme file

You'll want to add the DCO or close this for someone else to solve the issue.


fluentd config and logging challenge question

Fix fluentd config as Lambda is not getting invoked with current setup
Add a challenge question

I tested this, and it appears to be working... please reopen if you still see a problem.


Comply with the new DID ABNF

There is ongoing discussion around updating the DID ABNF that we would need to update the parser for
https://github.com/w3c-ccg/did-spec/pull/168
https://pr-preview.s3.amazonaws.com/w3c-ccg/did-spec/pull/168.html

The DID part looks unaffected.
https://github.com/ockam-network/did/blob/bdd1431c112d9fe2579a0d4ae73e680d196146b6/did.abnf#L10-L16

did-reference will need some tweaks.
https://github.com/ockam-network/did/blob/bdd1431c112d9fe2579a0d4ae73e680d196146b6/did.abnf#L8
https://github.com/ockam-network/did/blob/bdd1431c112d9fe2579a0d4ae73e680d196146b6/did.abnf#L20-L31

did-fragment is also likely unaffected

Hi, just wondering if this will be updated at some point?  Seems like this project has been somewhat abandoned while the DID spec has been updated to 1.0.  I've been using this lib to parse and validate my DIDs and it has been working great, except for when I encounter new characters that weren't in the ABNF before.  I could submit a simple patch for my case if that helps as I prob wouldn't have time to work on completely updating the spec.
This code works great otherwise, thanks!

Hi @petersng. Glad you found the code useful ❤
We don't have an immediate need to update so this its low on priority list ... however we would love to get a PR if you or anyone else is interested in working on updating it.

Hi @mrinalwadhwa. I'm not too far off from having a pull request for this, but I do have a couple of questions first:

In the current DID String method, Fragment is only serialized to the string when a Path does not exist. I don't see that restriction in the grammar, and it looks like a did-reference with a Path, Query, and Fragment will parse, but a subsequent call to String on the DID would lose the Fragment data.

Am I reading this wrong, or is there some other reason etc.? Please clarify.

I've added some parserStep methods that model the existing steps. The code to set the next parserStep gets a bit redundant. A possible solution would be to extract out a method that takes a bitmask with options for transitioning, along with a lambda for validation. Then each parser step configures as needed.

Let me know what you think. I can finish up the current approach and push up and then decide if #2 is worth the effort. Thanks!

Hey @hollyfeld that is awesome! I haven't read the did spec in a some months. I'll give it a quick refresher this afternoon  and come back to you with answers. Thank you for working on a PR.

Hi @mrinalwadhwa,
I went ahead and generated a PR here. On the previous questions, I went ahead and removed the constraint on not allowing a fragment when a path or segments exist.
The second item I would just ignore. I looked at it again and it didn't seem worth the trouble.
Thanks!

Awesome. Thank you 🙏. I'll read through the changes tonight.

@hollyfeld Thank you for sending the PR, it's merged! 🎉


Tile press registers late

Frame rate low and I totally press in the right place and it registers as the tile above. It takes a moment for that to occur.
BTW this is not due to the phone being slow. New phone.

Sorry about that, but there is nothing I can actually do without starting the project over...
The game is rendered in a WebView and uses DOM elements to catch the tap events, which means
that this is actually something wrong with WebKit - or more realistically, with the way I try to abuse it.
I'll try to improve the performance of the game (I have a few ideas that should make it a bit faster, like reusing DOM elements instead of destroying and recreating them regularly), but it looks like it's a limitation of the way I'm coding this app.
Since it's a major inconvenient, I'm currently thinking of redoing the render of the game in a canvas in the future, but this would imply a major rewrite of the code that I can't do right now...

I see. This game seems to have that addicting quality that enticed those to play Flappy Bird. If it is rewritten, it has a lot of potential.
Also, I see what you mean about the way it's set up.
Well, if in the future, you want a bug tester - I'm here.

I see. This game seems to have that addicting quality that enticed those to play Flappy Bird. If it is rewritten, it has a lot of potential.
Also, I see what you mean about the way it's set up.
Well, if in the future, you want a bug tester - I'm here.

I see. This game seems to have that addicting quality that enticed those to play Flappy Bird. If it is rewritten, it has a lot of potential.
Also, I see what you mean about the way it's set up.
Well, if in the future, you want a bug tester - I'm here.

Thanks, I'll let you know :)

Just wanted to add that the game is just completely unplayable at this point.  The Piano game on Google Play is one of my favorite games, but on this version I literally can't get past 3 successful taps.  I can see my touches hit (dev tools > show touch) but they just do not register.
Samsung Galaxy Note 10.1 2014 (p600) CyanogenMod 12.1 Nightlies.  Galaxy devices are up there in touch quality, also supporting 10 point multitouch.


TensorRT 9 not available

Hello,
The release notes said that TensorRT-LLM requires TensorRT <IP_ADDRESS> and 23.08 containers.
Where can I find TensorRT <IP_ADDRESS>? This version seems not available yet unfortunately
Thanks

You can find TensorRT 9 on https://github.com/NVIDIA/TensorRT/releases/tag/v9.1.0 or https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/9.1.0/tars/tensorrt-<IP_ADDRESS>.linux.x86_64-gnu.cuda-12.2.tar.gz

When is the documentation of TensorRT 9 coming out?

Let me ask the TensorRT team and get back to you.

Hello, any news regarding the documentation?

Hey, when we can expect TensorRT 9 to come to windows?


When interacting with a boiler the game crashes.

Describe the Bug
When in survival, adding magmablocks under a boiler with 4 steam engines on it, or\nadding steam engines onto the tank its self with any number of steam engines on it, the game freezes, then crashes.
Reproduction Steps
1.Be in a survival world\n2.Make a 4x4 boiler\n3.Piss off the boiler by adding steam engines to it\n4.Crash\n5.Restart game and join world\n6.Repeat 3, 4, and 5 for 3 more times\n7.Quit and stop playing for a week\n8.Join the world again\n9.Find magma blocks and add some under the boiler\n10.Learn that you have offended the boiler\n11.Crash\n
...
Expected Result
The game to not crash and for it actually build the boiler correctly
Screenshots and Videos
No response
Crash Report or Log
https://discord.com/channels/620934202875183104/976100492243501106/1047969430031827065
Operating System
Windows 10
Mod Version
0.5.0g
Minecraft Version
1.19.2
Other Mods
Create crafts & Additions
Fabric API
Additional Context
No response

issue with CC&A

Okay


Infinite "Processing" State for Invalid URLs

Handling #12
This pull request introduces several enhancements and features to the Paste Viewer component, aimed at improving user experience and functionality.
Changes Made:
Error Handling:
Added comprehensive error handling when fetching paste data from the API. If the paste ID is invalid or non-existent, a user-friendly error message is displayed.
The error message prompts users to check the URL and informs them that the paste may have expired or been removed.

For invalid URL it is showing properly

But for valid url the paste is not loading / it is showing blank

Instead it should show something like this