Rebase LLVM Previous Implementation revamp

$title

Codecov Report

Merging #20093 into llvm-implementation will increase coverage by 4.68%.
The diff coverage is n/a.

@@                   Coverage Diff                   @@
##           llvm-implementation   #20093      +/-   ##
=======================================================
+ Coverage                15.21%    19.9%   +4.68%
=======================================================
  Files                       50       55       +5
  Lines                     1308     1437     +129
  Branches                   199      218      +19
=======================================================
+ Hits                       199      286      +87
- Misses                    1096     1138      +42
  Partials                    13       13

Impacted Files
Coverage Δ

composer/packages/tracing/src/ToolBar.tsx
71.05% <0%> (ø)

composer/packages/tracing/src/TraceList.tsx
94.44% <0%> (ø)

composer/packages/tracing/src/DetailView.tsx
72.72% <0%> (ø)

composer/packages/tracing/src/TraceLogs.tsx
70.37% <0%> (ø)

composer/packages/tracing/src/index.ts
0% <0%> (ø)

Continue to review full report at Codecov.

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


Masternode UI tab updates and a performance improvement.

Masternode tab performance improvement.
a. Problem: The masternodes UI tab uses a lot of resources when it refreshes.
b. Solution: Made updates to masternode.cpp that allow for the calculation of masternode scores to be done outside of GetMasternodeRank so that these scores can be passed to GetMasternodeRank for the purpose of making multiple calls to GetMasternodeRank more efficient. Implemented these changes in massternodemanager.cpp.  These changes could also be beneficial to other areas that I haven't updated.
Masternode tab sorting.
a. Problem: The masternodes UI tab doesn't allow for any sorting.
b. Solution: Disable sorting at the start of the row update processes and re enable it at the end.  I also updated some of the columns to have numeric values instead of strings so that sorting would work better.
Some masternodes not showing up on the masternodes tab.
a. Problem: When multiple masternodes are running under the same ip and port, only one shows up on the masternode tab.
b. Solution: Additional masternodes will now show up with a suffix number appended to the masternode's address in the format: ip:port (number).  An alternative solution would be to show part of the masternode's vin but I thought this approach would be less controversial.

@Tumba24, Sorry for the offtopic, can you give a link to the manual to run 2 masternides on one ip?

@MoNTE48 As far as I know you can't properly host two masternode pinging services from one wallet at the moment.  This is true of most masternode coins.  Some users are using custom applications and scripts to work around the issue with varying levels of success.  Currently the best way I know of to run multiple masternodes from one ip is to use multiple wallets and ports.  I don't know of an existing detailed guide for this setup sorry.

Awesome work Tumba.

This helped a lot with freezing wallet on Windows 10, thank you!


Have to Click Twice in OE to expand node when Disconnected

Open ADS. Click on a server in OE to connect to it. After clicking the first time, the tree in OE won't be expanded, but a connection will be opened. Only after clicking a second time will the tree expand:

I am unable to repro this in test env.  Is there a specific server or configuration this is happening with?


404 No Route are not shown in metrics

Hi, I don't know if this is actually working as intended but I noticed that routes that are implemented and return 404 are not shown in /metrics:
Given a simple gin router and the ginprom configuration from its readme:
package main

import (
	"github.com/Depado/ginprom"
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	p := ginprom.New(
		ginprom.Engine(r),
		ginprom.Subsystem("gin"),
		ginprom.Path("/metrics"),
	)
	r.Use(p.Instrument())

	r.Run("<IP_ADDRESS>:8080")
}

# First send a request to simulate a 404
$ curl http://localhost:8080/whatever -i
HTTP/1.1 404 Not Found
Content-Type: text/plain
Date: Fri, 19 Jan 2024 19:20:45 GMT
Content-Length: 18

404 page not found

# Send a curl with a grep to find the route
$ curl http://localhost:8080/metrics -s | grep whatever

# Show the /metrics response for debugging purposes
$ curl http://localhost:8080/metrics -s
# HELP gin_gin_request_size_bytes The HTTP request sizes in bytes.
# TYPE gin_gin_request_size_bytes summary
gin_gin_request_size_bytes_sum 0
gin_gin_request_size_bytes_count 0
# HELP gin_gin_response_size_bytes The HTTP response sizes in bytes.
# TYPE gin_gin_response_size_bytes summary
gin_gin_response_size_bytes_sum 0
gin_gin_response_size_bytes_count 0
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0.000181125
go_gc_duration_seconds{quantile="0.25"} 0.000181125
go_gc_duration_seconds{quantile="0.5"} 0.000181125
go_gc_duration_seconds{quantile="0.75"} 0.000181125
go_gc_duration_seconds{quantile="1"} 0.000181125
go_gc_duration_seconds_sum 0.000181125
go_gc_duration_seconds_count 1
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 6
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.21.3"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 1.761392e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 3.282176e+06
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 5229
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 16528
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 3.424888e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 1.761392e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 3.497984e+06
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 4.3008e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 8857
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes gauge
go_memstats_heap_released_bytes 3.203072e+06
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
go_memstats_heap_sys_bytes 7.798784e+06
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
# TYPE go_memstats_last_gc_time_seconds gauge
go_memstats_last_gc_time_seconds 1.7056920220492642e+09
# HELP go_memstats_lookups_total Total number of pointer lookups.
# TYPE go_memstats_lookups_total counter
go_memstats_lookups_total 0
# HELP go_memstats_mallocs_total Total number of mallocs.
# TYPE go_memstats_mallocs_total counter
go_memstats_mallocs_total 25385
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
# TYPE go_memstats_mcache_inuse_bytes gauge
go_memstats_mcache_inuse_bytes 9600
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
# TYPE go_memstats_mcache_sys_bytes gauge
go_memstats_mcache_sys_bytes 15600
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
# TYPE go_memstats_mspan_inuse_bytes gauge
go_memstats_mspan_inuse_bytes 112056
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
# TYPE go_memstats_mspan_sys_bytes gauge
go_memstats_mspan_sys_bytes 114072
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
# TYPE go_memstats_next_gc_bytes gauge
go_memstats_next_gc_bytes 4.194304e+06
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
# TYPE go_memstats_other_sys_bytes gauge
go_memstats_other_sys_bytes 1.653411e+06
# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
# TYPE go_memstats_stack_inuse_bytes gauge
go_memstats_stack_inuse_bytes 589824
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
# TYPE go_memstats_stack_sys_bytes gauge
go_memstats_stack_sys_bytes 589824
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 1.3601808e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 9
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
# TYPE promhttp_metric_handler_requests_in_flight gauge
promhttp_metric_handler_requests_in_flight 1
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 4
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0

Is this in fact a bug or it's working as intended?

Alright. What you CAN do (but I can't advise it, because of the cardinality problem) is the following:
p := ginprom.New(ginprom.Engine(r), ginprom.RequestPathFunc(func(c *gin.Context) string {
	if fullpath := c.FullPath(); fullpath != "" {
		return fullpath
	}
	return c.Request.URL.Path
}))
r.Use(p.Instrument())

Basically this piece of code tells the library that routes that aren't found in the router should still return the request path and be counted. This effectively overrides the protection that doesn't instrument routes that are not defined in the router.
A safer way to avoid exploding cardinality would be to return a constant value in such cases.
By the way I totally forgot but this was shown as an example in the README : https://github.com/Depado/ginprom#requestpathfunc

Hi, thanks for your quick response! Consider the issue closed.


Tabs displayed incorrectly.

Issue Type: Bug
All of the files in our project are 4 space tabs. Recently VSCode will display some of these files at having 2 space tabs. If I open them in another editor or notepad++ they show as having 4 tab spaces.
VS Code version: Code 1.32.3 (a3db5be9b5c6ba46bb7555ec5d60178ecc2eaae4, 2019-03-14T23:43:35.476Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz (8 x 3392)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.96GB (17.44GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

prettier-vscode
esb
1.8.1

coldfusion
ili
1.0.1

indent-rainbow
ode
7.4.0

vscode-react-native
vsm
0.9.0

I turned off "Detect Indentation" and it appears to fix the issue, but odd that it's detecting two space tabs when no files are setup in this manor.

@kmac720 Is it possible to share the files which have their indentation detected incorrectly?

Not possible.
On Wed, Mar 27, 2019 at 12:43 PM Alexandru Dima<EMAIL_ADDRESS>wrote:

@kmac720 https://github.com/kmac720 Is it possible to share the files
which have their indentation detected incorrectly?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/70832#issuecomment-477245704,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASc2hK-oFs9WM9NQmcs3YetQ-_9j4bgyks5va5-agaJpZM4b_cMZ
.

@kmac720 Can you then do the following please:

open a file where indentation is not detected correctly, e.g.

replace in file ^(\s*).+ in regex mode with $1x. e.g.

This would leave intact the indentation in the file, while removing all relevant source code.

And github doesn't support .cfm files...
I converted to a .txt file and uploaded that. Honestly just turning off "Detect Indentation" has solved it for me. I had to turn that setting back on to re-create it.
test_file.txt

I am also experiencing the same issue with my project. Since about a month ago some files open with 2 space tabs instead of 4. I tried turning off "Editor: Detect Indentation" and it seems to have solved it for me too.
MacOS Mojave 10.14.3
VS Code 1.33.0


Cordova crashing on android as soon as plugin is installed

As soon as I installed the plugin on my android device (Nexus 5 - fully updated) I started having random crashes with the notice
The connection to the server was unsuccessful. (file ///android_asset/www/index.html)
Uninstalling the plugin fixes the problem immediately.
This also happens on the first gen moto g, but not on some newer devices.
The bug can be intermittent, but opening and closing the app enough times will reproduce it.

@dangreenisrael Really sorry to hear this but it's the first time we have. Is there any additional info you can offer around the crash? As an example, is it happening on app open? or on app close? Do you get any other info in the crash?

The worst crash is happening on app open - it doesn't even begin to launch the app.
Some googling let me to believe that it was a problem with a 3rd party plugin - and as branch was the only new plugin I was using I removed it and all was fixed.  I reinstalled it started causing the problem again.
Here is my list of cordova plugins
cordova-plugin-datepicker 0.8.5 "DatePicker"
cordova-plugin-device 1.0.1 "Device"
cordova-plugin-splashscreen 2.1.0 "Splashscreen"
cordova-plugin-whitelist 1.0.0 "Whitelist"
nl.x-services.plugins.socialsharing 4.3.12 "SocialSharing"
org.apache.cordova.dialogs 0.2.11 "Notification"
org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser"
phonegap-plugin-push 1.3.0 "PushPlugin"

I have an android crash report if you want it - JS is irrelevant because it didn't even load index.html.

I should say though, that when it worked - it worked really well.
I'd love to be able to keep using Branch, I think its a great product

@dangreenisrael, we're working through the issue, and I was hoping that you could take a look at your config.xml file for me, for a preference entry named "LoadUrlTimeoutValue".  I can set the message you mentioned in my own testing when the page initialization takes longer than that value, so I'm hoping there might be a short timeout value in your own configuration file.
If there is not an entry like that, the default timeout may be 20 seconds.  If the error is happening sooner than that, then I might going down the wrong trail, but if you see the error around the 20 second mark, perhaps adding a timeout preference would help.  For reference, the entry could look something like this:
<preference name="LoadUrlTimeoutValue" value="30000"/>
I'm going to keep looking through to see if I can find something else that would cause this. Any additional information you can provide would be great!

Awesome, I'm running the plugin from master and I added <preference name="LoadUrlTimeoutValue" value="30000"/>.  Everything seems to be working now, we'll do some more testing on different devices and let you know if it there is an issue again.


QUESTION: Namespace Packages

With namespace packages, you do not put the __init__.py in the root of the namespace, does setup.py create one?

@achapkowski no. The implicit PEP 420 namespace packages don't need it at all. Only old-style namespace packages (like the ones in Python 2) used to require this file to be present: https://packaging.python.org/guides/packaging-namespace-packages/#native-namespace-packages.

So if the parent package doesn't exist, is there a way to create the root namespace __init__.py?
I can get my extension package to install but the root, which let's call freesoda has no init file, so I cannot do:
import freesode.auth
If freesoda doesn't exist, how can I create the __init__.py?  Is this another package type?

I can get my extension package to install but the root, which let's call freesoda has no init file, so I cannot do:
import freesode.auth
If freesoda doesn't exist, how can I create the __init__.py? Is this another package type?

You just need to have a proper directory structure. freesoda does not need to exist. For your freesoda.auth you need to make sure to have a directory freesoda/auth/ and that's it. No __init__.py needed. This way if you create freesoda.auth and freesoda.utils, they will be installed side-by-side under the freesoda/ folder in auth/ and utils/ folders respectively while there will be no __init__.py in freesoda/ itself — it's just unnecessary, import freesoda.auth, freesoda.utils will still work.

ok, the issue was with my system i think.  Thank you for your help @webknjaz

JFYI if you attempt to install a few packages in the same namespace that use different namespacing setup method (with and without __init__.py), this will indeed cause problems.

so the parent package can't have an __init__.py?

It can but only if you use old-fashioned namespacing methods. Also, I don't remember if you can have the top-level freesoda at all. But yes, if some of your namespace packages include it and others don't, this will likely cause problems.


fix(CX-2460): Fix Show Only Submitted Artwork Filter Bug

The type of this PR is: Bugfix

This PR resolves CX-2460
Description

Fixes Show Only Submitted Artwork Filter not showing any artwork when selected

https://user-images.githubusercontent.com/18648835/159950527-cfcb1f91-34f8-43b4-9398-10cae7c2c71b.mp4

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Fix Show Only Submitted Artwork Filter Bug - kizito

iOS user-facing changes

Android user-facing changes

Dev changes

NOICE 🙌


Translations update from Hosted Weblate

Translations update from Hosted Weblate for Metadata Remover/Metadata.
It also includes following components:

Metadata Remover/Metadata Remover

Current translation status:

Thank you very much for your support! 😘


pjsip_custom.conf file not working

When I configure an extension for my Dahua doorbell in pjsip_custom.conf the add-on doesn't recognize it.
My pjsip_custom.conf:
; Place your own extensions here.
[8001]
type=friend
host=dynamic
context=default
transport=udp
username=8001
secret=myverysecretpassword
[Mar 25 18:49:18] NOTICE[575]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from<EMAIL_ADDRESS>failed for '<IP_ADDRESS>:5060' (callid: 2e89edf2588e16b495d684f928813ed2) - No matching endpoint found
[Mar 25 18:49:18] NOTICE[575]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from<EMAIL_ADDRESS>failed for '<IP_ADDRESS>:5060' (callid: 2e89edf2588e16b495d684f928813ed2) - Failed to authenticate
The same config was working with my sip_custom.conf configuration file, but that doesn't work anymore.

@nanosonde would you mind updating the following section:
https://github.com/TECH7Fox/asterisk-hass-addons/wiki/Configure-Dahua-VTO-doorbell#asterisk-add-on

As I do not have such doorbell, I cannot test it.
However, I could try to just convert old sip.conf to pjsip.conf.
There is also a migration guide in the asterisk documentation on how to migrate from chan_sip to new pjsip.

See this: https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip
There is a table and also a conversion script.

Thanks for the info, I will see if I get it working and will update the wiki page

Okay, I am now not getting errors when trying to authenticate but I still cannot call the doorbell, I get the following logs:
[Mar 27 21:28:10] Asterisk Ready. [Mar 27 21:28:19]     -- Added contact 'sip:8001@<IP_ADDRESS>:5060' to AOR '8001' with expiration of 60 seconds [Mar 27 21:28:19]   == Endpoint 8001 is now Reachable [Mar 27 21:28:19]   == WebSocket connection from '<IP_ADDRESS>:64492' for protocol 'sip' accepted using version '13' [Mar 27 21:28:19]     -- Added contact 'sip:197hkeva@<IP_ADDRESS>:64492;transport=ws' to AOR '100' with expiration of 600 seconds [Mar 27 21:28:19]   == Endpoint 100 is now Reachable [Mar 27 21:28:21]     -- Executing [8001@default:1] Dial("PJSIP/100-00000000", "PJSIP/8001/sip:8001@<IP_ADDRESS>:5060") in new stack [Mar 27 21:28:21]     -- Called PJSIP/8001/sip:8001@<IP_ADDRESS>:5060 [Mar 27 21:28:21]     -- PJSIP/8001-00000001 is ringing [Mar 27 21:28:21]   == Everyone is busy/congested at this time (1:0/0/1) [Mar 27 21:28:21]     -- Auto fallthrough, channel 'PJSIP/100-00000000' status is 'CHANUNAVAIL'
I have the following config now:
`;--
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Non mapped elements start
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[8001]
transport = udp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Non mapped elements end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--;
[transport-udp]
type = transport
protocol = udp
bind = <IP_ADDRESS>
[8001]
type = aor
max_contacts = 1
[8001]
type = auth
username = 8001
password = verysecretpassword
[8001]
type = endpoint
context = default
auth = 8001
outbound_auth = 8001
aors = 8001`

@stefanschoemaker this is a known issue. Please follow #144

With the doorbell guide it should work.
Also, try adding from_domain=asterisk to your endpoint. This will fix a bug if your add-on hostname starts with a number. (Like 3e533915-asterisk. I know it's quite weird.)
Let me know if you are still having problems.


Supabase realtime sync + pagination

I was wondering if there's any example or documentation on how to achieve pagination while using supabase sync.
Thanks!

I've done it using list key. Here's an example:
customSynced({
  supabase,
  collection: "posts",
  select: (from) => from.select("*"),
  filter: (select) => select.eq("post_type", type),
  realtime: { filter: `post_type=eq.${type}` },
  list: () =>
    supabase
      .from("posts")
      .select("*")
      .eq("post_type", type)
      .range(range$.from.get(), range$.to.get()),
  persist: {
    name: `posts-${type}`,
    retrySync: true, // Persist pending changes and retry
  },
  retry: {
    infinite: true,
  },
})

Closing this.

@catalinmiron how are you passing in type to the observable?


Amount in project detail page will have company default currency symbol

Notion card
https://www.notion.so/saeloun/Team-member-hourly-rate-currency-bug-080f697e4cef4cab9bbd0f10add3570b
Summary

On the project detail page, the amount displayed against each team member will have the company's default currency symbol before it.
Preview

Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to
not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist:

[X] I have manually tested all workflows
[X] I have performed a self-review of my own code
[X] I have added automated tests for my code

Yeah @rohitjoshixyz , we can use the FormatAmountService here instead of formatting amount in the frontend, will update it shortly.

@rohitjoshixyz updated the code, now we are using the service to get the formatted amount.


Changing the /filegator/repository mount is not reflected in the webgui

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Mount some disk under */filegator/repository/ and upload files to it
Umount the disk
In the webpage the files from the mount are still visisble even if the disk is not mounted anymore

Expected behavior
The files which are not there should not be visible
Screenshots

Logs
If applicable, add relevant FileGator logs entries from /private/logs/app.log or web server logs.
Environment (please complete the following information):

FileGator Version [Where to find the version?]
Server: Apache 2.4.56 - debian
PHP Version [e.g. PHP 7.4]
Browser Chrome, files are also visible from a private tab

Additional context
If this is an expected behavior, I would be happy if you could show me how to refresh the storage / clean the cache.

Nevermind I had some typo in my unmounting script.
It is working fine

Nevermind I had some typo in my umounting script.
It is working fine


What does the name parameter in configuration do?

There is a Configuration setting "name" which is described as "The name of the variable that represents the queue in function code."  However, my JavaScript function is responsible for declaring that variable name in the opening statement:
 module.exports = async function (context, message) {

Does this setting do anything in the JavaScript runtime?  Should there be a note saying that this setting is optional in JavaScript?

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

ID: 5063120f-d48e-6a76-8e6d-208ead92d187
Version Independent ID: 72bb8ecc-6dec-079a-a9d4-52205466a8c6
Content: Azure Queue storage bindings for Azure Functions
Content Source: articles/azure-functions/functions-bindings-storage-queue.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@graham-sportsmgmt Thanks for the feedback! We are currently investigating and will update you shortly.

@graham-sportsmgmt The name parameter mentioned here is vital for C# functions in which the name specified has to be the same in the function code and in the functions.json file.
That being said, in the case of Javascript, the name specified is still used by the runtime and you can see it in action by trying to use context.bindings.<name> instead of message.
Refer the sample code here
Also, it is mentioned here as well

Thanks for the explanation.
I'd recommend adding this as a note into the JavaScript section to explain how this works and that it's not required to make the function run.  I don't think that JavaScript developers should need to look through the references for other languages.
As for the example, when you create a new Queue function you get two arguments in the function by default and the function is async.  A better way to represent that example is:
module.exports = async function (context, message) {
    context.log('Node.js queue trigger function processed work item', message);
   // alternate method to retrieve the message using the name setting in function.json
    context.log('Node.js queue trigger function processed work item', context.bindings.myQueueItem);
    context.log('queueTrigger =', context.bindingData.queueTrigger);
    context.log('expirationTime =', context.bindingData.expirationTime);
    context.log('insertionTime =', context.bindingData.insertionTime);
    context.log('nextVisibleTime =', context.bindingData.nextVisibleTime);
    context.log('id =', context.bindingData.id);
    context.log('popReceipt =', context.bindingData.popReceipt);
    context.log('dequeueCount =', context.bindingData.dequeueCount);
    context.done();
};

@graham-sportsmgmt Thanks for the recommendation!
We will work up a draft of the updated doc with a note mentioning the same and update the code sample as well.

@graham-sportsmgmt Thanks for contributing to MS Docs! We have updated the docs accordingly.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Is there any way to know if protractor failed because of webdriver fail?

I'd like to detect if protractor fails because webdriver wasn't able to start. Is there any way to do that?
Thanks.

If that's the case, that will be stated pretty clearly in the console. What's the error?

On 03 Feb 2015, at 22:50, Oleksandr Sochka<EMAIL_ADDRESS>wrote:
I'd like to detect if protractor fails because webdriver wasn't able to start. Is there any way to do that?
Thanks.
—
Reply to this email directly or view it on GitHub.

I have to do that programmatically. The error happens with webdriver startup connection problems (I can't find the error now, it happens only on Travis CI (sometimes) and I'd like to intercept that during my build phase such that I'd allow to skip tests at all).

Most of the time, Travis needs time to set up xvfb and selenium before starting the tests (https://docs.travis-ci.com/user/gui-and-headless-browsers/#Starting-a-Web-Server) if you are getting connection errors. I'm going to close this for now, but we can discuss further if needed


Wifi network crasj

Whenever I connect my comma 2 to my home network, all devices lose wifi bandwidth. When 8 disconnect it from the wifi the bandwidth returns to all devices. Do you have a fix?

I had this happen at my house in Maine before upgrading my internet. It's just due to a device uploading large amounts of data - more than most devices in your house ever would. I bet you'd experience the same thing if you tried uploading a 4k YouTube video on your PC. I'd recommend setting a upload limit in your WiFi router to be below your maximum so it doesn't bog down the network.


Override StreamListenerAnnotationBeanPostProcessor not work

I overrided StreamListenerAnnotationBeanPostProcessor like:
@Bean(name = STREAM_LISTENER_ANNOTATION_BEAN_POST_PROCESSOR_NAME)
	public BeanPostProcessor streamListenerAnnotationBeanPostProcessor() {

	}

The configuration only woks when put it in the main class, and not work when put it in other @Configuration class.
Thanks for your help

@wiselyman The methor registering the BeanPostProcessor should be declared static - see the comment here: http://forum.spring.io/forum/spring-projects/container/123899-beanpostprocessor-with-bean-annotation-not-working .

@mbogoevici I have done like this already, and not work too. with static or no static works in main class，not work in other configuration classes

@wiselyman That's strange. Would you mind sharing a sample that doesn't work?

@mbogoevici https://github.com/wiselyman/Spring-Cloud-Stream-Kafka-CQRS-ES/blob/master/statistics/src/main/java/com/example/StatisticsApplication.java

Hi,
Dug a bit into your example: the issue manifests itself when the configuration is in a package or subpackage of the @SpringBootApplication class - in that case, component scanning will cause the bean to register before the default framework bean (i.e. you can try placing them your configuration class and annotation in a separate package that is not a subpackage of com.example - that would be somewhat expected if you wanted to put this in a separate library and reuse this in other applications). As a fix on our end, we could make the framework-provided BeanPostProcessor @ConditionalOnMissingBean.

@mbogoevici thanks ,it works.


METRON-228: Fixing NPE when enrichment config does not exist.

Because we are pulling the batch size from the enrichment sensor config, if it does not exist then it will throw a NPE.

+1. Tested on EC2. Ran squid parser without enrichment configuration. Data made it to the index and there was no NPE. Nice work.

+1


Signed multiprecision used bits

Fix for #67

Should be fixed in #69. Sorry for the slow response. I have not had time to devote to CNL recently. I hope that will change soon.


CoffeeScript support in doc reporter

CoffeeScript support in doc reporter, which includes source code below the test name would be a great feature, thanks!

we would need whatever that lib is that transforms js back to coffeescript, definitely not something I would want as a dep, but once the core stuff is exposed a bit more it would be easy to copy/paste the Doc reporter and use your own

or maybe as an alternative we require() in some file that can perform transformations, syntax-highlighting, reverting to coffeescript etc

actually i guess you could use the CS thing client-side and transform it that way


Pulsar io connector is not run at broker.

Describe the bug
Pulsar io connector is not run at broker.  Status gotted by api says it running. But there is no functions log at /pulsar/logs/ folder. and there is no function effect .
All connector can run at local mode.
To Reproduce
create any connector . I have tried source and sink, buildin and custom.
Expected behavior
Connector runs normally.
Screenshots

Desktop (please complete the following information):

OS:  k8s  apachepulsar/pulsar-all:2.5.0

Additional context

The same for me, in puslar v2.5.0 connectors seems to not work. The same connector is working in version 2.4.2. Also no logs are produced in the logs folder nor for connector neither for pulsar functions

Can you debug according to this document http://pulsar.apache.org/docs/en/io-debug/, I want to see more information. @nicolo-paganin @xiemeilong

@tuteng  All connector can run normally in local mode.  No log file in cluster mode.

@tuteng the problem is that in local mode this is working. In standalone mode if I copy the nar of my sink and a I create the sink it is not working and also no log files are written.
Try to start pulsar standalone and than add a connector, is this working for you?

@tuteng I confirm that connectors are working in pulsar 2.5.0 standalone mode. Also log are written but the path is changed from 2.4.2 -> 2.5.0 (maybe it is written in some configuration file).
Now logs are written in /tmp/functions folder

Thanks, @nicolo-paganin @xiemeilong, I will take a look at it.

I tried to test in cluster mode, one zookeeper, one bookie, one broker, but there was no reproduce the problem. @nicolo-paganin @xiemeilong Can you show more log information, under folder /tmp/functions

@tuteng It is the buildin debezium-mysql connector.
iot-mysql-log-source-0.log

Look at the log. There seems to be a problem with your pulsar cluster. There is no broker available. Does your function worker have a connection address to configure pulsar? http://pulsar.apache.org/docs/en/functions-worker/  Is your broker normal and your function-worker normal? @xiemeilong

@tuteng  The log is copyed from the broker pod .   The pulsar is deployed using the helm chart of pulsar source repository.   The broker has started  and report can't connect to connector for getting the metrics.

@tuteng  Sorry,  I deleted the broker pod and run a new one , the proxy  still not found the new one. I am fixing the issue. I will upload the new log after that.

@tuteng  The log seems it working, but still no log generated in /pulsar/logs.
iot-mysql-log-source-0.log

You can try to get the log from file /tmp/function/tenant-name/namespace-name/function-name @xiemeilong

I tried to test in cluster mode, one zookeeper, one bookie, one broker with function-worker, but there was no reproduce the problem. Use JDBC connector http://pulsar.apache.org/docs/en/io-quickstart/#update-a-jdbc-sink @nicolo-paganin @xiemeilong Can you show more log information, under folder /tmp/functions

Can you guide to run the pulsar in cluster mode. My requirement is to run the kafka source connector using function worker.  Logs are providing the general eception. That;s not helped out


Language Server errror:  Request textDocument/definition failed.

VSCode 1.33.0
Win 10
Python 3.7.2
Language server generataing errors in console.
The file is in the Open Editors.
If i click on the file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
it jumps to the file in the
[Error - 07:13:17] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:13:17] Request textDocument/definition failed.
Message: Object reference not set to an instance of an object.
Code: -32000
at Microsoft.Python.LanguageServer.Sources.DefinitionSource.FindDefinition(IDocumentAnalysis analysis, SourceLocation location)
at Microsoft.Python.LanguageServer.Implementation.Server.GotoDefinition(TextDocumentPositionParams params, CancellationToken cancellationToken)
at Microsoft.Python.LanguageServer.Implementation.LanguageServer.GotoDefinition(JToken token, CancellationToken cancellationToken)
[Error - 07:13:17] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:13:17] Request textDocument/definition failed.
Message: Object reference not set to an instance of an object.
Code: -32000
at Microsoft.Python.LanguageServer.Sources.DefinitionSource.FindDefinition(IDocumentAnalysis analysis, SourceLocation location)
at Microsoft.Python.LanguageServer.Implementation.Server.GotoDefinition(TextDocumentPositionParams params, CancellationToken cancellationToken)
at Microsoft.Python.LanguageServer.Implementation.LanguageServer.GotoDefinition(JToken token, CancellationToken cancellationToken)
[Error - 07:13:18] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:13:58] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:14:02] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:21:51] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:21:54] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:21:55] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:21:56] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:21:57] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:21:59] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:29:52] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py
[Error - 07:30:33] Unable to find document file:///p:/perforce_Playground/derekw_de02-1777_rce_dev/tools/crp/bin/crp.py

Closing in favour of https://github.com/microsoft/python-language-server/issues/899


Crashes or shutdown the app when exit the fullscreen video

W/PlatformViewsController(18956):
Creating a virtual display of size: [1440, 810] may result in problems.
It is larger than the device screen size: [1344, 720].
W/ContentCatcher(18956): Failed to notify a WebView
E/libc    (18956): Access denied finding property "vendor.debug.bq.line"

This could be related to #188
Did you enable forceHideAnnotation: true?

Should fix with v7.0.0. Feel free to reopen if the issue persists.


Hangs on Grub Boot Loader Install

The machine I'm installing to is a dev machine and I don't care what drives I reformat.
It does have Linux installed to the nvme drive already. Erasing is no problem here.
Drives we have
1 NVME, usually our OS is installed here /dev/nvme0n1
1 SSD, fast archive storage /dev/sdb
1 HDD, slow archive storage /dev/sda
Bios boot order is:
NVME
SSD
~HDD~ is boot disabled
There is a grub partition already because of the pre-existing install.
Maybe this is the source of the issue for me.
A desirable feature for some would be to format all drives first
Unplugging  all drives except nvme0n1 and changing the predeed.cfg from /dev/sda to /dev/nvme0n1 has the same issue and hangs at 66% and doesn't go any further
Line 73
### Partitioning
d-i preseed/early_command string umount /media || true
d-i partman-auto/disk string /dev/nvme0n1
 ...

&
Line 99
### Grub
d-i grub-installer/bootdev string /dev/nvme0n1
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
 ...

Any thoughts Niklas?
Again, great work!

I'm running into the same issue! Also using an nvme drive, I wonder if this is related?

I am also running into this issue whilst installing on a virtual machine.

@Hammatt and @brucerbwoods based on this information I was able to implement the following workaround: https://github.com/core-process/linux-unattended-installation/blob/master/ubuntu/18.04/custom/preseed.cfg#L82


move log markers to the end of log messages

The presence of log markers makes reading raw log messages harder difficult - since they are not fixed width and not present on all messages. I suggest moving them to the end of the log message.
@ChrBi

@markusthoemmes FYI.


bug(gatsby-plugin-fastify): using deprecated packages

Describe the bug
I can't build due to deprecation errors:
HttpErrorGeneral: 404 Not Found - GET https://registry.npmjs.org/fastify-accepts-deprecated - Not found and several other related errors with other fastify packages
It looks like all the fastify packages were moved to the @fastify scope
To Reproduce
Do a new install
Expected behavior
No errors
System Info
Please provide information about your site via these means as possible:
System:
OS: macOS 12.2
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 16.13.1 - /var/folders/jf/5ss8k9vn7v91sn37s8b8zgzc0000gn/T/yarn--1654178606018-0.1492902467831616/node
Yarn: 1.22.4 - /var/folders/jf/5ss8k9vn7v91sn37s8b8zgzc0000gn/T/yarn--1654178606018-0.1492902467831616/yarn
npm: 8.1.2 - ~/.nvm/versions/node/v16.13.1/bin/npm
Languages:
Python: 2.7.18 - /usr/bin/python
Browsers:
Chrome: 102.0.5005.61
Firefox: 99.0.1
Safari: 15.3
npmPackages:
gatsby: ^4.13.1 => 4.13.1
gatsby-plugin-fastify: ^0.8.1 => 0.8.1
gatsby-plugin-gatsby-cloud: ^4.13.0 => 4.13.0
gatsby-plugin-image: ^2.13.0 => 2.13.0
gatsby-plugin-manifest: ^4.13.0 => 4.13.0
gatsby-plugin-offline: ^5.13.0 => 5.13.0
gatsby-plugin-postcss: ^5.3.0 => 5.3.0
gatsby-plugin-react-helmet: ^5.13.0 => 5.13.0
gatsby-plugin-sharp: ^4.13.0 => 4.13.0
gatsby-source-filesystem: ^4.13.0 => 4.15.0
gatsby-source-wordpress: ^6.15.0 => 6.15.0
gatsby-transformer-sharp: ^4.13.0 => 4.13.0

Hmmm, I know those fastify packages were moved with the release of fastify@v4. We haven't made any updates that should break things that I'm aware of. But I've been out of touch. Let me check some things.

Yeah, looks like the package still exists under the old name and should be available to install from npm. I'm not sure why it'd be 404ing. It should work even if depreciated.

Yeah, looks like the package still exists under the old name and should be available to install from npm. I'm not sure why it'd be 404ing. It should work even if depreciated.

@moonmeister thx for the update from afar... I thought it was strange also... not sure if NPM was having a bad day or something else was causing it, but it was only happening on WP Engine Atlas platform, not locally. It looks like it's gotten passed that when rebuilding today and is not complaining about stack Error: not found: make ... I'll come back and close this if appropriate after a bit more testing


Rider plugin release chores

Description
Before releasing plugin on Jetbrains Plugin marketplace several things should be done in advace:

[x] Rider alpha version - #1120 moved to #1463 and #1484
[x] Rider plugin build workflow - #1462 and #1463
[x] plugin xml, change notes, gifs, landing page - #1487
[x] utbot.org` C# playground and demos - @victoriafomina

This is parent issue for everything related to UtBot C# plugin

Closed as released in 2022.12


validate columns after loading partitions

Feature or Bugfix

Bugfix

Relates

#1426

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 08cfca00f213015132e35233b31ff2caea36c29d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Hey @malachi-constant, this breaks if one of the columns refers to an index column.
Previously:
>>> import awswrangler as wr
>>> import boto3
>>> import pandas as pd
>>>
>>> boto3_session = boto3.Session()
>>>
>>> df = pd.DataFrame({"idx": [1], "col": [2]})
>>> df = df.set_index("idx")
>>>
>>> wr.s3.to_parquet(
...     df=df,
...     path="s3://<path>/abc.snappy.parquet",
...     index=True,
... )
{'paths': ['s3://<path>/abc.snappy.parquet'], 'partitions_values': {}}
>>>
>>> wr.s3.read_parquet(
...     path="s3://<path>/abc.snappy.parquet",
...     ignore_index=False,
...     columns=["idx"],
...     validate_schema=True,
... )
Empty DataFrame
Columns: []
Index: [1]

Now:
>>> import awswrangler as wr
>>> import boto3
>>> import pandas as pd
>>>
>>> boto3_session = boto3.Session()
>>> df = pd.DataFrame({"idx": [1], "col": [2]})
>>> df = df.set_index("idx")
>>>
>>> wr.s3.to_parquet(
...     df=df,
...     path="s3://<path>/abc.snappy.parquet",
...     index=True,
... )
{'paths': ['s3://<path>/abc.snappy.parquet'], 'partitions_values': {}}
>>>
>>> wr.s3.read_parquet(
...     path="s3://<path>/abc.snappy.parquet",
...     ignore_index=False,
...     columns=["idx"],
...     validate_schema=True,
... )
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/rschmidtke/miniconda3/envs/awswrangler-217/lib/python3.9/site-packages/awswrangler/s3/_read_parquet.py", line 774, in read_parquet
    return _read_parquet(
  File "/home/rschmidtke/miniconda3/envs/awswrangler-217/lib/python3.9/site-packages/awswrangler/s3/_read_parquet.py", line 555, in _read_parquet
    raise exceptions.InvalidArgument(f"column: {column} does not exist")
awswrangler.exceptions.InvalidArgument: column: idx does not exist

I suggest changing the if to if column not in df.columns and column not in df.index.names: and extending the test case for it.
Thanks and apologies to be reopening this one!

@robert-schmidtke No worries! Thanks for bringing this to our attention. I've opened a dedicated issue and the team will resolve ASAP.

As usual, thank you for the quick action on this!


[Suggestion] Add tooltips to frames

It would be nice for frames to have tooltips displaying their stats like the Forestry ones do, as they currently do not have any information about them in game.

Like this?


Feedback Requested: Upcoming features for consumers of realtime/historical WZDx data

As @arielsgold had mentioned in https://github.com/usdot-jpo-ode/jpo-wzdx/issues/37, the USDOT ITS DataHub team is in the process of creating a pipeline to aggregate the WZDx data feeds as a proof of concept. We see two potential user groups - those that hope to consume the data in realtime and those that hope to perform analytics on the historical data. Hoping to get some feedback on the following to see what you would find most useful and get any additional feedback:
Realtime Data Consumer (e.g. mapping companies)
At the moment, we think it's best that the realtime data consumer hit the WZDx feed directly. However, we could provide the following resources:

Directory of WZDx feeds: We'd like to maintain a directory of active WZDx feeds, as @barbeau, @davidcraig4300, and @DeraldDudley have described. The directory of feeds will also include information on key metadata such as URL, WZDx schema version, update frequency, and perhaps data veracity, as @DeLongR, @sknick-iastate, and @orbonjb have flagged. For the initial phase, we would likely maintain this data in an integrated Socrata dataset that can be queried via an API. Down the line, we'd love to look into having something more sophisticated like https://transit.land/ that allows for user inputs, or look into the webhook "push on change" type of capability that @bdelsey64 has mentioned, at a feed directory level. Also related: https://github.com/usdot-jpo-ode/jpo-wzdx/issues/37, https://github.com/usdot-jpo-ode/jpo-wzdx/issues/18.
Data wrangling toolkit: We'd also provide importable Python package on GitHub for transforming data from one WZDx format (JSON, XML, GeoJSON) and schema version to some other output format (CSV or WZDx JSON/XML/GeoJSON), since we'll have written this during our data archiving exercise.

Historical Data Consumer (e.g. government agencies, ITS researchers)
We plan to ingest and archive the existing WZDx data feeds into an AWS S3 bucket, organized using the following naming convention in a JSON newline file:
/{State}/{issuingOrganization}/{Year}/{Month}/{identifier}_{BeginLocation.RoadDirection}_{YYYYMM}.txt
This means that each file would contain the statuses of one work zone over the span of the month.
Each WZDx feed will be polled based on the feed's update frequency. Since we don't foresee a work zone's status to change much throughout the day, we thought it might make sense to only save a status when it's different from the previous status to minimize repeated data. We see four potential approaches for reducing duplicate data:

Option 1: Save, at a minimum, the first and most recent status of the work zone for the month. Also save statuses that "bookend" any detected change (e.g. when the current status is different from the previous status, save both the current and previous status in the archive.
Option 2: Save, at a minimum, the first and most recent status of the work zone for the month AND the last status of each day so that it is explicit that the data archive has been updated at least daily even when the work zone status remains the same for a whole month. Also save statuses that bookend any changes.
Option 3: Save all statuses retrieved for the current month. At the end of the month, clean up duplicate statuses to make the file look like what's described in Option 1 and 2.
Option 4: Save all statuses retrieved.

As our goal is to create something that is useful to the data consumers and to inspire more data providers to share data via the open standard, your feedback is most valuable to us! Your feedback will shape the work we do - additional comments are also appreciated.
Julia Lien, USDOT ITS DataHub

From my experience from working with archiving GTFS-realtime data for transit, I would strongly suggest archiving the raw WZDx feed content prior to parsing it - this sounds like Option 3 or 4. Sometimes you'll end up with data that your archiving software isn't designed to interpret (e.g., different semantic interpretation of fields), or new custom fields that your parser doesn't pick up. Having the raw data feed to go back and review the canonical source data has proven very useful.
Also, I'd make the assumption that some requests to WXDx feeds won't return valid data - it could be malformed, be an empty feed, an HTTP 404, etc. I'd suggest finding a way to represent this information in the archive so you can also tell where data might be missing.
Related to this - will this system have some kind of real-time monitoring that will alert someone when archiving gets interrupted for a particular feed? A way to alert producers when feeds stop working is a common problem that GTFS, GTFS-realtime, and GBFS have all run into.

Thank you for sharing your invaluable feedback @barbeau!

Archiving raw WZDx feed content prior to parsing:
Great suggestion to add resiliency to the archiving mechanism. Based on your experience, would you recommend that both the raw content (snapshots of whatever a feed returns) and the semi-parsed content (statuses separated out by work zone identifier) be available to users? Or would you recommend that the raw content be saved only temporarily at a "staging" database and be deleted as data gets parsed into the semi-processed format successfully?

Finding ways to represent malformed or empty feed data in the archive.
Great point. We'll look into this!

Monitoring of the archival process that provides feedback to the producers.
We don't have this in place with our current MVP implementation, but we'd love to prioritize this in our next iteration. Would you recommend that the producer receives an alert and that we host a status page showing realtime status of all feeds?

Could we look for a time to talk through your feedback? I have additional questions around 2, 3, and how the archive could deal with evolving schema. Would love to get your thoughts given your experience with archiving GTFS feed.

Based on your experience, would you recommend that both the raw content (snapshots of whatever a feed returns) and the semi-parsed content (statuses separated out by work zone identifier) be available to users?

I'd definitely recommend keeping the raw content snapshots in a permanent archive so you always have a source of truth to reference when someone questions the semi-parsed content. I'm not sure if I have a good enough handle on the various users of this archive to guess whether the raw archive or semi-parsed content would be more useful, but if you're going to keep a permanent archive of the raw snapshots anyway you might as well make if available to users in some manner (e.g., zipped archive).

Would you recommend that the producer receives an alert and that we host a status page showing realtime status of all feeds?

I think both would be great. Keeping contact info up-to-date for feeds is always a challenge, but maybe for producers that don't have internal monitoring set up this would actually be an incentive to keep their contact info updated.

Could we look for a time to talk through your feedback?

Sure, send me an invite via LinkedIn and we can schedule a time to talk - https://www.linkedin.com/in/seanbarbeau/.


FIR-12: Add parsing for new plugin config

From FIR-12:
Plugins and namespaces are configured as follows:
plugins:
  database:
  - name: sqlite3
    type: sqlite3
    sqlite3:
      migrations:
        auto: true
      url: /etc/firefly/db?_busy_timeout=5000
  blockchain:
  - name: ethereum
    type: ethereum
    ethereum:
      ethconnect:
        instance: 0x4ae50189462b0e5d52285f59929d037f790771a6
        topic: "0"
        url: http://ethconnect_0:8080
  dataexchange:
  - name: ffdx
    type: ffdx
    ffdx:
      url: http://dataexchange_0:3000
  sharedstorage:
  - name: ipfs
    type: ipfs
    ipfs:
      api:
        url: http://ipfs_0:5001
      gateway:
        url: http://ipfs_0:8080
  tokens:
  - name: erc20_erc721
    type: fftokens
    fftokens:
      url: http://tokens_0_0:3000

namespaces:
  default: default
  predefined:
  - name: default
    alias: default
    description: Default predefined namespace
    definitions: broadcast
    plugins:
    - sqlite3
    - ethereum
    - ffdx
    - ipfs
    - erc20_erc721

The top-level keys for database, blockchain, dataexchange, sharedstorage, and
tokens will be deprecated in favor of the new ones above (nested under plugins).
All of these new keys will now support an array of plugins (similar to how the current
tokens key is structured). Type-specific config will always be nested in a sub-key (meaning
the current tokens config such as url moves into an fftokens sub-key, to mirror how
other plugins are structured). Config restrictions:

all plugin names must be fully unique on this node (any duplicate name is a config error)

implemented in https://github.com/hyperledger/firefly/pull/821


M3 on top of Model Data RFC

This is still WIP, but looking for early feedback and alignment on the approach.
Bundled together with the migration is also changing how we handle updates - we no longer replace everything, but instead of merge the updates with the existing data. This means any field, which needs to be deleted has to be set to null in the payload.
The migration also introduces dirty tracking the same way it is implemented in ED, for now.
The biggest question right now is the way handle nested model datas. We need them to be tracked in their parent, so that we can properly merge updates and we can do dirty tracking in them as well.

Existing tests pass locally, but there will be additional tests required for the dirty tracking.

modeldata portion superseded by #77.  Not closing this pr yet as there's still dirty tracking to noodle through


Can't stop the proxy with CTRL+C?

I'm unable to stop script with CTRL + C, can you help?

And does not seem to work with CURL command, e.g curl --socks5 <IP_ADDRESS>:8888 <IP_ADDRESS>

I can reproduce the issue with curl.
I tested the script with FoxyProxy and ProxyChains successfully.
Will need to have a look at it.

Having a similar issue as @CaledoniaProject with curl. Have opened a separate issue with attachments.


[Feature Request]: Making number of retries configurable in BigQuery Storage Write connector

What would you like to happen?
Hi,
Is it possible to make this instance of retry manager configurable?
https://github.com/apache/beam/blob/f5020e7ac2bdd3363619aafbf257f2ebf8e3fe2b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/StorageApiWriteUnshardedRecords.java#L658
Retrying the request to BQ Storage Write API a thousand times seems to be a bit too generous, especially with some nonrecoverable errors, but I guess, it may have its justification in some cases. However, in streaming mode, it clogs the pipeline for an unreasonable amount of time. Maybe clients should be allowed to configure this value?
Issue Priority
Priority: 2 (default / most feature requests should be filed as P2)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.take-issue


Introduce Ballerina Connector for Jira

Need to introduce a Ballerina connector for Jira.
Related links:

https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/
https://developer.atlassian.com/cloud/jira/platform/swagger-v3.v3.json

Please consider the following tasks:

create a new repository under 'ballerina-platform' organization.
Review and sanitize the OpenAPI specification
Generate the connector client
Implement a test suite covering the core functionalities
Write documentation with examples

Hi I am interested in working on this task

👋 Welcome, @Jaagrav! 🚀
We're thrilled to have you join the Ballerina Hacktoberfest community! The issue has been assigned to you, and we’re excited to see your contributions.
To help you get started, here are a few essential resources:

Connector Contributor Guide: Make sure to go through our Ballerina Hacktoberfest connector contributor guidelines and follow the exact steps, to contribute effectively.
Learn Ballerina: Whether you're new to Ballerina or looking to enhance your skills, check out our official learning resources.
Community & Support: If you have technical questions, feel free to ask on Stack Overflow with the Ballerina tag, or join us on Discord to connect with other community members.

No contribution is too small, and your feedback is always welcome! Don’t hesitate to ask questions, propose new ideas, or report issues.
We are currently in the process of creating a GitHub repository for this connector module and will update you once it’s available. In the meantime, please go through the relevant resources and documentation related to the connector.
Happy coding and welcome aboard! 🎉

Hi since this got unassigned can I take over this issue?

👋 Welcome, @asmi55! 🚀
We're thrilled to have you join the Ballerina Hacktoberfest community! The issue has been assigned to you, and we’re excited to see your contributions.
To help you get started, here are a few essential resources:

Connector Contributor Guide: Make sure to go through our Ballerina Hacktoberfest connector contributor guidelines and follow the exact steps, to contribute effectively.
Learn Ballerina: Whether you're new to Ballerina or looking to enhance your skills, check out our official learning resources.
Community & Support: If you have technical questions, feel free to ask on Stack Overflow with the Ballerina tag, or join us on Discord to connect with other community members.

No contribution is too small, and your feedback is always welcome! Don’t hesitate to ask questions, propose new ideas, or report issues.
We are currently in the process of creating a GitHub repository for this connector module and will update you once it’s available. In the meantime, please go through the relevant resources and documentation related to the connector.
Happy coding and welcome aboard! 🎉

Hello, @asmi55,
I'll be mentoring your project, and we have created the repository for your connector project with the initial project template. You can start working in this repository: https://github.com/ballerina-platform/module-ballerinax-jira
Please refer to the contribution process section for guidelines on raising a PR: https://ballerina.io/hacktoberfest/connector-contributor-guide/#contribution-process.
Happy coding! 🎉

Hi @asmi55, greetings from the Ballerina team! 👋
I wanted to check in on the progress of the Ballerina Jira Connector development. I hope everything is on track and that you’ve started the connector development.
If you need any help or have questions, feel free to comment here!
Happy coding!

@Bhashinee I would like to take this up if no updates from the assigned person :)

Hey @Bhashinee apologies for the delay, I'm a bit caught up with some other tasks atm, sorry for not informing earlier. Feel free to go ahead and assign @AnsarMahir!

Hi @asmi55
Thank you for letting us know.
@AnsarMahir, I assigned the issue to you. You can work on it now. Happy coding! :)

Hey @Bhashinee. I just checked the Jira OpenAPI specification. There are many errors in the specification according to swagger editor. Below are some examples
"Semantic error at paths./rest/api/3/classification-levels.get.parameters.0.schema.items.default
Default values must be present in enum
Semantic error at paths./rest/api/3/field/search.get.parameters.2.schema.items.default
Default values must be present in enum
Semantic error at paths./rest/api/3/issue/limit/report.get.requestBody
GET operations cannot have a requestBody.
Semantic error at paths./rest/api/3/issue/properties/{propertyKey}.delete.requestBody
DELETE operations cannot have a requestBody.
"
I think it is better to fix this errors before generating the client. So in the case of "Default values must be present in enum", is it okay to add a field in the enum or is it okay to remove the default field, which approch is acceptable ??
in the other cases where a requestBody cannot be part the request, is it okay to remove it ??
Or can i just move on ignoring these issues to generate the client ??

Hi @AnsarMahir,

Let's not do anything where the error says Default values must be present in enum as it is automatically handled at the Ballerina client generation step. However, we should remove the request body from all GET operations.
It is better to remove them and sanitize the OpenAPI specification. To remove them, you have to go through their guide and make the necessary replacements. In most cases, it only requires removing the field, but please verify by reviewing the documentation to ensure accuracy.

Hey @Bhashinee Checkout the PR PR for client generation and sanitation

Hey @Bhashinee , Dependencies.toml seems to be not in generated. This leads to build fail. What may be the cause ?

Hey @Bhashinee , Right now, I'm stuck on the build process. So, after generating the client, I tried to use the gradle build, which throwed an error "There is no Dependencies.toml". So I searched find out that I have to go into the ballerina directory and use "bal pack" to get that file.
Then I proceeded with that and it generated the Dependencies.toml. After that , I tried running the gradle build and it started to fail as below
` PS D:\ballerina\module-ballerinax-jira> ./gradlew clean build

Configure project :jira-ballerina
[Info] project builds on docker
[Info] using the Ballerina docker image tag: 2201.10.0

Task :jira-ballerina:build FAILED

Task :jira-ballerina:commitTomlFiles
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':jira-ballerina:build'.

java.io.FileNotFoundException: D:\ballerina\module-ballerinax-jira\ballerina\build\bal_build_target\bala`

So the bal pack command actually creates that file, but not in the directory which is searched in the build process, rather the file is created in the directory
D:\ballerina\module-ballerinax-jira\ballerina\target\bala
So, What is the right approach I should take now to overcome this ?

I checked out your PR and tried building the project locally, and it worked fine. Did you follow the steps given here?
https://ballerina.io/learn/create-your-first-connector-with-ballerina/
As in the prerequisites section,

Do you have the Ballerina latest version installed?
Step 1 given in the above link is already done for you, you can clone the Jira repository to get that. And you have to carry out the steps from Step 2 onwards.

If it gives the same error even after following the steps given in the above mentioned steps, could you please navigate to the ballerina folder in the jira connector project(D:\ballerina\module-ballerinax-jira\ballerina) and execute bal build command and check the output?

Hey @AnsarMahir!
Hope everything’s going well so far! Just a quick update on the project deadlines: it's set for one month from the day you were officially assigned. But if you encounter any challenges or unforeseen issues, please feel free to reach out, and we can consider adjusting the deadline accordingly.
If you have any questions or need help with anything, please feel free to reach out. Keep up the awesome work! 🚀

Hey @Bhashinee stuck on mid exams and uni stuff. Will catch up with the progress ASAP. Thanks for the reminder :)

Hey @Bhashinee , I was able to write a test successfully. But in the 2nd test, writing for the below one, I'm bit stuck
resource isolated function get rest/api/'3/mypermissions(map<string|string[]> headers = {}, *GetMyPermissionsQueries queries) returns Permissions|error {         string resourcePath = string /rest/api/3/mypermissions;         resourcePath = resourcePath + check getPathForQueryParam(queries);         return self.clientEp->get(resourcePath, headers);     }
So the response is recieved as a "Permission" type response,
`function testGetMyPermissions() returns error? {
GetMyPermissionsQueries queryParams = {
permissions: "BROWSE_PROJECTS"
};
Permissions response = check jira->/rest/api/'3/mypermissions(queries = queryParams);`

The response that we receive is like the below one
"{"permissions":{"BROWSE_PROJECTS":{"id":"10","key":"BROWSE_PROJECTS","name":"Browse Projects","type":"PROJECT","description":"Ability to browse projects and the issues within them.","havePermission":true}}}"

I'm not able to navigate to the "havePermission" field, Tried using dot operator to move in but no luck. Can you let me know the right way to do this ??

FYI, this is permission is a closed record type,
public type Permissions record {|     # List of permissions.     record {|UserPermission...;|} permissions?; |};

You can access the havePermission field as follows,
    record {|UserPermission...;|}? permissions = response.permissions;
    if permissions is record {|UserPermission...;|} {
        boolean? havePermission = permissions["BROWSE_PROJECTS"]?.havePermission;
    }

@Bhashinee did a PR for tests also. Checkout

@AnsarMahir
Thanks for your contributions! We’ll review the PR as soon as possible. During the review, we may suggest some changes, so please address those as they come up.

@AnsarMahir
Looking at the PR I saw that you've added 5 mock test cases. However you haven't added the mock service implementations in the PR. You need to add that. And also, it is better if we can have at least 20 test cases covered.
You can easily generate a mock service skeleton that can be used as the test service, providing the open API spec using the Ballerina OpenAPI tool command
bal openapi -i <openapi-contract> --mode service
Then you can keep only the resource functions related to the APIs you choose to test and remove everything else.
Furthermore, we expect at least one example to be written in this project as given in the guide section 5 step 3. Step 6 does not need to be done by you

@Bhashinee all those 5 test cases are manually tested for live server. I will do the rest as per your comments. Thanks

@Bhashinee all those 5 test cases are manually tested for live server. I will do the rest as per your comments. Thanks

Nice!!! :)

@Bhashinee added 20 test cases, all of them are tested and verified, go through and let me know your comments

@Bhashinee finished. Examples are not added as they are optional. All the test cases are tested. Let me know if any changes to be done

@AnsarMahir we expect to have atleast 1 (2 recommended) examples for any given connector. Appreciate if you can prioratize that as well.

@NipunaRanasinghe will look into that :)

@NipunaRanasinghe added an example. Not pretty sure how far its gonna work as there is a compilation error stating that (Undefined resource path, because that path is not in the ballerinax/jira still), So was not able to test it is working or not, If you know any workaround to run the function, please let me. BTW i will add another one or two examples after your review on the first example :)

@NipunaRanasinghe @Bhashinee anything else in this ?? BTW, images seems to be not showing, I added them in the same manner how it was in the twitter connector, can you please check ?

@lnash94 , regarding the object attribute that was not created, I will just put the part of code, here they explicitly mentioned it in the comments but the authorAccountId attribute was not generated, I think it is because of there mistake in the openapi, but have a look if possible. I really cant remember for which operation this object is sent as a response, but I had to add that authorAccountId by myself. hope that is not an issue.
public type AuditRecordBean record {|
# The list of items associated with the changed record.
AssociatedItemBean[] associatedItems?;
# Deprecated, use authorAccountId instead. The key of the user who created the audit record.
string authorKey?;
# The category of the audit record. For a list of these categories, see the help article Auditing in Jira applications.
string category?;
# The list of values changed in the record event.
ChangedValueBean[] changedValues?;
# The date and time on which the audit record was created.
string created?;
# The description of the audit record.
string description?;
# The event the audit record originated from.
string eventSource?;
# The ID of the audit record.
int id?;
AssociatedItemBean objectItem?;
# The URL of the computer where the creation of the audit record was initiated.
string remoteAddress?;
# The summary of the audit record.
string summary?;
|};

@NipunaRanasinghe @Bhashinee anything else in this ?? BTW, images added in the Readme file seems to be not showing, I added them in the same manner how it was in the twitter connector, can you please check ?

https://github.com/ballerina-platform/module-ballerinax-jira/pull/5#issuecomment-2508135428

AuditRecordBean

@AnsarMahir, Thank you for sharing the information.
Below is the specific OpenAPI object related to the scenario you raised: https://raw.githubusercontent.com/AnsarMahir/module-ballerinax-jira/79e9094c1b4b68e128c2ac1ef6121987037bef11/docs/spec/openapi.yaml#:~:text=integer
      type%3A object-,AuditRecordBean,-%3A
      additionalProperties%3A false
      description
In OpenAPI contracts, when deprecating any element, it is important to explicitly update the contract by using the deprecated property. For example, a properly defined object with a deprecated property would look like this:
yaml
[1]
components:
  schemas:
    SampleObject:
      type: object
      properties:
        newProperty:
          type: string
          description: A new property to use instead.
        oldProperty:
          type: string
          description: This property is deprecated and will be removed in the future.
          deprecated: true

However, in the scenario you shared, the OpenAPI contract writer did not follow this standard practice. Instead of using the deprecated property, they only mentioned the deprecation in the description, it is not the correct way to deprecation. This deviation from the standard is likely the reason for the missing details you observed.
While adding the missing details is fine, it would be preferable to address these corrections[1] in the OpenAPI contract.

@lnash94 , regarding the object attribute that was not created, I will just put the part of code, here they explicitly mentioned it in the comments but the authorAccountId attribute was not generated, I think it is because of there mistake in the openapi, but have a look if possible. I really cant remember for which operation this object is sent as a response, but I had to add that authorAccountId by myself. hope that is not an issue.
public type AuditRecordBean record {| # The list of items associated with the changed record. AssociatedItemBean[] associatedItems?; # Deprecated, use authorAccountId instead. The key of the user who created the audit record. string authorKey?; # The category of the audit record. For a list of these categories, see the help article Auditing in Jira applications. string category?; # The list of values changed in the record event. ChangedValueBean[] changedValues?; # The date and time on which the audit record was created. string created?; # The description of the audit record. string description?; # The event the audit record originated from. string eventSource?; # The ID of the audit record. int id?; AssociatedItemBean objectItem?; # The URL of the computer where the creation of the audit record was initiated. string remoteAddress?; # The summary of the audit record. string summary?; |};

@AnsarMahir, Thank you for sharing the information.
Below is the link for specific OpenAPI object related to the scenario you mentioned: https://raw.githubusercontent.com/AnsarMahir/module-ballerinax-jira/79e9094c1b4b68e128c2ac1ef6121987037bef11/docs/spec/openapi.yaml#:~:text=integer
      type%3A object-,AuditRecordBean,-%3A
      additionalProperties%3A false
      description
In OpenAPI contracts, when deprecating any element, it is important to explicitly update the contract by using the deprecated property. For example, a properly defined object with a deprecated property would look like this:
yaml
[1]
components:
  schemas:
    SampleObject:
      type: object
      properties:
        newProperty:
          type: string
          description: A new property to use instead.
        oldProperty:
          type: string
          description: This property is deprecated and will be removed in the future.
          deprecated: true

However, in the scenario you shared, the OpenAPI contract writer did not follow this standard practice. Instead of using the deprecated property, they only mentioned the deprecation in the description, it is not the correct way to deprecation. This deviation from the standard is likely the reason for the missing details you observed.
While adding the missing details is fine, it would be preferable to address these corrections[1] in the OpenAPI contract.

@lnash94 Thanks for that explanation. Got to learn something :)

Closing as all the related PRs are already merged


Copier broke sorry

aaa

Quick fixed on https://github.com/Eve-ning/amber/releases/tag/v0.0.1-beta

why did it break again


change type of formPages variable

await recognizerClient.StartRecognizeContentFromUri(new Uri(invoiceUri)).WaitForCompletionAsync();

does not return a response of type IReadOnlyList.  The return type is FormPAgeCollection. Variable changed to the corresponding type so it will compile.

@milestonedev : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@milestonedev Could you also fix line 177 to be consistent with this change? Thank you!

@PatrickFarley  - I'm not clear what you mean about line 177.
foreach (FormPage page in formPages.Value)

this line still iterates through the response without issue.  I'm happy to make any necessary changes.

I didn't realize the nature of the .Value property
#sign-off


Can't use Xbox Game Bar anymore

any help?

Using this tool removes the Xbox Game bar unless you add it to a whitelist

You can re-add the Game Bar from this page in the MS Store, providing you haven't removed the Store from your machine. It should work straight away and open on Win+G.
If you wish to use the script in the future without removing the Game Bar you can find the whitelist by editing, not running, the script you wish to use, you should see a variable named whitelist near the top of the file. You can then add Microsoft.XboxGamingOverlay to it, making sure to put a pipe after it, |
For example, my current whitelist is
$WhitelistedApps = 'Microsoft.WindowsCalculator|Microsoft.WindowsStore|Microsoft.Windows.Photos|`
    .NET|Framework|Microsoft.StorePurchaseApp|Microsoft.DesktopAppInstaller|Microsoft.XboxGamingOverlay|`
    Microsoft.XboxIdentityProvider|Microsoft.XboxApp'

I wouldn't recommend replacing your current one with mine as I've tweaked mine to work with what I use and might not fit your needs - this is just an example.
Without MS Store (advanced)
If you have removed, or for other reasons, do not have the store on your system, you can use this webpage to grab the packages and install them manually, making sure to install the correct packages and required dependencies. This should be a last resort and I'm putting this here purely for people who come across this issue in the future and the traditional store method does not work for them.


Some chapters have a 99% progress in the history.

Describe your suggested feature
This happens when the next chapter button is not fully displayed on a screen like this:

And the current chapter becomes "Unread" in a history:

Formally this is not a bug but it would be better to change the progress to 100% by pressing the button.
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 1.1.13.
[X] I will fill out all of the requested information in this form.

Resolved in v1.1.14. Thanks!


Building an SDK in C#

C# SDK Creation
Prize Bounty
82,750 CSPR (approx. 10,000 USDT) for each of the top 6 various advanced submissions
Challenge Description

Build a C# SDK with the following function set:

get-account-balance • get-account-hash • get-account-info • get-account-key • get-account-main-purse • get-auction-info • get-block • get-block-transfers • get-deploy • get-era-info • get-node-metrics • get-node-status • get-node-rpc-schema • get-state-item • get-state-root-hash • get-key-pair • get-key-pair-from-* • get-signature • get-hash • make-deploy • put-deploy • sign-deploy • dispatch-deploy • await-events • await-deploy • await-n-blocks • await-n-eras • await-until-block-n • await-until-era-n

Document the new addition in the technical documentation
Enhance the casper-integrations
Provide an end-to-end solution example usage
Provide how-to guides: make a transfer, delegate / undelegate, install/execute ERC-20 contract, and other ideas that you might have
Make a set of YouTube videos illustrating how-to guides

Winning contributors may receive funding or grants to continue this work beyond the hackathon.
Submission Requirements
Create a GitHub repository for your project rooted in your GitHub profile, then
submit this project using the Gitcoin UI for this bounty.
Fork the casper-integrations and technical documentation repositories. Submit one or more pull requests for your work.
All bounty submissions must be received no later than 11:59 PM EDT on October 11th, 2021, or earlier.
Judging Criteria
The SDK implementation will be compared against other submissions in the intermediate category, including documentation, enhancing other SDKs, enhancing Casper's CEP-47 and ERC-20 standards, and creating a stablecoin or a social reward system.
This entry will be judged based on the following:

Function set completeness
Extent of contribution to the casper-integrations and technical documentation
The example end-to-end solution is correct and well documented
The sample code and how-to guides are clear and correct
The writing style is clear and easy to understand
The YouTube videos (if provided) are clear, engaging, and easy to follow
More complex examples will have a higher weight as long as they are clear and easy to follow

Winner Announcement Date
Projects will be evaluated within 2 weeks of the hackathon ending or earlier when possible. Winners will be announced the week of October 25th.
Payout will happen after the winners are announced.
Payment details
Make sure you input your OWN, NON-custodial CSPR wallet to be sure to receive payouts.
If CSPR cannot be accepted in certain jurisdictions, winners will receive the equivalent amount in USDT. Gitcoin establishes the conversion rate.
Questions?
Join the Casper Hackathon Discord Server if you have any questions.
We are also holding live ask-me-anything sessions every weekday at 4 pm CEST.

Additional details regarding get-key-pair, get-key-pair-from-*, get-signature, get-hash:
- these are cryptography related functions
- 2 ECC curves are supported: secp256k1 & ed25519
- 1 hashing algorithm is supported by default: blake2b
Here are the python implementations:
https://github.com/casper-network/casper-python-sdk/tree/main/pycspr/crypto
https://github.com/casper-network/casper-python-sdk/blob/main/pycspr/crypto/ecc.py
https://github.com/casper-network/casper-python-sdk/blob/main/pycspr/crypto/hashifier.py
https://github.com/casper-network/casper-python-sdk/blob/main/pycspr/crypto/hashifier_blake2b.py
Here are the java implementations:
https://github.com/casper-network/casper-java-sdk/blob/main/src/main/java/com/casper/sdk/CasperSdk.java
https://github.com/casper-network/casper-java-sdk/blob/main/src/main/java/com/casper/sdk/service/SigningService.java
https://github.com/casper-network/casper-java-sdk/blob/main/src/main/java/com/casper/sdk/service/HashService.java
	Regarding get-account-key & get-account-hash:
	- there are higher level CL specific cryptographic functions
	- get-account-key returns the underlying key pair's public key prefixed with a single byte indicating the ECC curve type
	- get-account-hash returns the on-chain address of the account associated with an account key

Here are the python implementations:
https://github.com/casper-network/casper-python-sdk/blob/main/pycspr/crypto/cl_operations.py
Here are the java implementations:
https://github.com/casper-network/casper-java-sdk/blob/main/src/main/java/com/casper/sdk/service/HashService.java
The get-account-hash function is very specific and needs to be implemented correctly otherwise the derived on-chain account addresses will be incorrect and hence funds can be lost.

Additional details for await-events • await-deploy • await-n-blocks • await-n-eras • await-until-block-n • await-until-era-n":

The key function here is await-events, it could be named get-events.  It is a function that listens to the node's SSE (server-sent events) channel(s).
This is the python implementation: https://github.com/casper-network/casper-python-sdk/blob/main/pycspr/api/get_events.py
The other functions are higher-order functions that would be built on top of the await-events function.
The use of the function prefix await- instructs the SDK user that the dynamics of the SDK/node interaction has asynchronous semantics.


Fix Typescript definitions

Type:

[x] bug
[ ] feature
[ ] enhancement
[ ] question

Environment:

OS: any
Library Version: 1.2.0

I'm going to open a PR:

[ ] yes
[x] no

Description:
Typescript definitions are broken. See #78

Closing this one in favor of #78 (all the info is there) 👍


FI: McDonald's

Brand : McDonald's
Category : fast_food
Opening rule : shops open with adapted opening hours: only take-away or by delivery
Wikipedia / Wikidata : https://fi.wikipedia.org/wiki/McDonald’s
Opening hours : https://www.mcdonalds.com/fi/fi-fi/palvelut/ravintolahaku.html
Source : https://www.mcdonalds.com/fi

Integrated, thanks :+1:


Potential expression issue

Hey @myzie
I've recently been evaluating risor for a project and was surprised by this being allowed:
a := 123

a a a a // returns 123

and
fn := func() {}
a := 123
fn{}a{}fn{}true

I understand that this is because each of these are individual expressions, and they're not invalid, but it can account for some weird errors if you're not too familiar with the language. For example, I mistakening thought that to create a map, I needed to use the syntax map{a: 123}. But map is a built-in.
m := map{a: 123}
m["a"]

Rather than a parser or compile error, you get a runtime error of type error: object is not a container (got builtin) which is a little confusing.
Do you suspect this could be improved? Should this be a parser/compile error? Thank you!

Hi @saracen, I agree about the multiple expressions on a line being odd that it’s allowed. I’ll make a change to disallow it. I’ve been aware of it but no one has brought it up as an issue yet.
The map built in example is a bit tricky. I see that it could be a common source of confusion. Maybe renaming or removing that built in by default would be fine. IIRC that was built to be like the “dict” constructor in python.
Thanks for evaluating Risor and feel free to reach out with more suggestions. You could join the risor channel on the gophers slack too if you want.


chore: release 1.0.3

:robot: I have created a release *beep* *boop*
1.0.3 (2019-06-26)
Bug Fixes

docs: link to reference docs section on googleapis.dev (#254) (aa04413)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/nodejs-common-grpc/releases/tag/v1.0.3

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Llama-2-13b

Hi, how can we use bigger models like Llama-2-13b?

hi @SGidentification , just specify the model_name_or_path to NousResearch/Llama-2-13b-chat-hf

It seems that a multi-GPU script for training is needed as I faced a CUDA memory error.

@SGidentification try to decrease the batch size.

I tried as you mentioned and reduced the batch size to 2 but still the same problem, I guess even by reducing the batch size we cannot load big models like llama-2-13b or 70b, do you have any tips for running  the script on multi-gpus mode?

You can try to use HuggingFace trainer https://huggingface.co/docs/transformers/trainer. it provides a friendly way to support multiple GPUs running.


Improve renovate config

Summary
A bunch of changes were made to Ruff's renovate config on Monday; this PR syncs uv's config to apply the same updates. Changes made:

Give renovate more time in which to create PRs on Mondays (same as https://github.com/astral-sh/ruff/commit/2ea0c3dce6412990d522e262828a247c746d9e07)
Allow renovate to create more than 2 PRs an hour (same as https://github.com/astral-sh/ruff/commit/8d547ef83a85a5cabe749a4cf09a41f931dc8116)
Run prettier on the config file (done at Ruff in https://github.com/astral-sh/ruff/commit/877a9145ae7cd92a52a54f10b58d95366369b084)

Test Plan
I validated the config using renovate's CLI tool:
(renovate-sync) % npx --yes --package renovate -- renovate-config-validator                                                               ~/dev/uv
(node:78418) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
 INFO: Validating .github/renovate.json5
 INFO: Config validated successfully

We have a prettier ci job, can you add json5 to the pattern there?

We have a prettier ci job, can you add json5 to the pattern there?

good call

Sorry, i meant https://github.com/astral-sh/uv/blob/4b2e67955fc355c69766101f60e182e88094b4da/.github/workflows/ci.yml#L34

Sorry, i meant
https://github.com/astral-sh/uv/blob/4b2e67955fc355c69766101f60e182e88094b4da/.github/workflows/ci.yml#L34

oh, sure. Do you want the pre-commit change as well, or should I revert that?

I don't use precommit so dunno

I verified locally that prettier-run-via-pre-commit formats both YAML and JSON5 files with this change, so I think we're good.

@AlexWaygood please include the internal label or this ends up in the changelog.

Thanks for the reminder. Sorry I keep forgetting :(


added event param names

Description
Added event param names, verbose errors in tests.
Limitations & risks
Are there any trade-off or new vulnarbility surface based on theses changes?
Check-list

[ ] Tests are covering the new feature
[ ] Code is natspec'd
[ ] Code is linted and formatted
[ ] I have run the test locally (and they pass)
[ ] I have rebased to the latest main commit (and tests still pass)

Interactions
These changes will impact the following contracts:

Directly:

Indirectly:

lgtm


Please upload cabal-dev for haskell-platform to hackage

I see you have already merged a fix that makes cabal-dev
compatible with the current version of the Haskell Platform,
2<IP_ADDRESS>:
https://github.com/creswick/cabal-dev/pull/55
Thanks! But cabal install cabal-dev still fails.
Could you please just bump the version number in the
cabal file and upload it?
Thanks,
Yitz

This issue is obsolete. Closing.


Shorten bluemix service URL

set random-route to false in manifest.yml to reduce the length of the generated URL. The appended timestamp will ensure the URL is unique.

I have set random-route to false in manifest.yml @rhagarty


Cleanup NetBeans license header for module updatecenters #203

Updated license header.

Probably, you should send your PR to not apache:master but emilianbold:master.
The commit message must be [NETBEANS-54] Module Review <module name>. In your case, [NETBEANS-54] Module Review updatecenters

@mihaivpopescu Are you still interested in this? I'm going to close this issue tomorrow. Then I'll fix it.


Task Publishing is broken

Task publishing is broken. The issue is that the publishData(WorkUnitState state) method never calls parallelRunnerCloser.close().  This means that the publisher doesn't wait for the futures to finish when BaseDataPublisher.close() is called.  This was broken by #657.

I'm fixing this.


sanity checks fail for tools/distrib/python/check_grpcio_tools.py on a fresh docker

$ ./tools/run_tests/run_tests.py -l sanity --use_docker
...
port server is up and ready

/var/local/git/grpc/tools/distrib/python/bazel_deps.sh: line 39: bazel: command not found
Traceback (most recent call last):
  File "tools/distrib/python/check_grpcio_tools.py", line 40, in <module>
    check_protoc_lib_deps_content = make.get_deps()
  File "/var/local/git/grpc/tools/distrib/python/make_grpcio_tools.py", line 119, in get_deps
    cc_files_output = bazel_query(BAZEL_DEPS_PROTOC_LIB_QUERY)
  File "/var/local/git/grpc/tools/distrib/python/make_grpcio_tools.py", line 113, in bazel_query
    output = subprocess.check_output([BAZEL_DEPS, query])
  File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['/var/local/git/grpc/tools/distrib/python/bazel_deps.sh', '//:protoc_lib']' returned non-zero exit status 127
FAILED: tools/distrib/python/check_grpcio_tools.py [ret=1, pid=1564]

@nicolasnoble FYI

I think I know what's causing this, just ran into that when trying to update third_party/protobuf to 3.2.0  (btw, the scripts around make_grpcio_tools.py are pretty messy).
Btw, it seems that there is some issue with protobuf's BUILD file in 3.2.0: https://github.com/google/protobuf/issues/2745

ah, yes! I've found that doing a git clean -xfd on third_party/protobuf "fixes" it.

https://github.com/grpc/grpc/issues/13404 was closed as a duplicate of this, which has been causing ongoing test failures for some reason.

I changed my mind and decided to close as dupe of the other instead as the error message is slightly different in the newer, related bug.


How to insert field in custom join table ?

Your Question
Hi, there I have following models accounts, class_members and classes.
Business logic
if student (account has role student) want to join class. They need to send request and wait teacher to approve to join class.
My question is how to edit status field in associate table for stamp request status like approved, requested, denied
Relationship

account (role student) can join many class
class can own by account (role teacher)

This is Models
type Account struct {
	gorm.Model
	Title     string
	Fname     string `gorm:"column:fname"`
	Lname     string `gorm:"column:lname"`
	StudentNo string
	Email     string  `gorm:"unique"`
	Classes   []Class `gorm:"many2many:class_members"`
	School    School
	SchoolID  *uint
	Role      Role
	RoleID    uint
	Password  string
}

type Class struct {
	gorm.Model
	ClassName    string
	ClassType    string
	ExpireAt     time.Time
	ClassCode    string    `gorm:"size:6"`
	Participants []Account `gorm:"many2many:class_members"`
	Owner        Account
	OwnerID      uint
}

type ClassMember struct {
	Status    string
	AccountID uint `gorm:"primaryKey"`
	ClassID   uint `gorm:"primaryKey"`
	CreatedAt time.Time
	DeletedAt gorm.DeletedAt
}

The document you expected this should be explained
I have searched follow thees link but I  still not sure how to edit the status field in associate table. I think it should explain in  associations page
https://gorm.io/docs/many_to_many.html
https://gorm.io/docs/associations.html
Expected answer
Cloud you give some solution to edit status field ?

https://gorm.io/docs/many_to_many.html#Customize-JoinTable

@a631807682  Cloud you give some detail to stamp status in class member table ?

This design means that status is neither account status nor class status, we can't read status from anywhere and populate it, I don't know if hook or callback are useful to you, if not you can only insert each table yourself

Whats the way to pass a custom value you want for the custom field to the BeforeCreate hook, as it cannot receive parameters?

@a631807682
Maybe it need to change relationship from many2many to one to many in go models  is that right ?
and mange table by myself

@alfman99  use settings or context  https://gorm.io/docs/settings.html#content-inner
@wavemoroc001 If this can meet your needs, of course. in fact, our association operation is also implemented based on ordinary api, you can also implement it according to your own needs.

@alfman99 use settings or context https://gorm.io/docs/settings.html#content-inner

Yes, this solves my problem, do you know if this solution its thread safe?
Thanks!