Benchmark improvements

Two things:

Adds the native implementation to the benchmark.
Makes the output of check.js more readable, see below.

All is good

Something is wrong

this is great, really nice output, thanks!

I'm curious, how did this lib do against native repeat in the benchmarks?

Sorry, I forgot to post that :)
#1: 5
  native x 9,359,797 ops/sec ±1.83% (88 runs sampled)
  repeat-string x 14,812,324 ops/sec ±1.74% (88 runs sampled)
  repeating x 8,031,490 ops/sec ±1.70% (89 runs sampled)

  fastest is repeat-string
#2: 50
  native x 7,757,129 ops/sec ±1.67% (87 runs sampled)
  repeat-string x 16,430,786 ops/sec ±1.57% (87 runs sampled)
  repeating x 7,769,547 ops/sec ±1.60% (90 runs sampled)

  fastest is repeat-string
#3: 250
  native x 4,832,446 ops/sec ±1.79% (88 runs sampled)
  repeat-string x 12,625,845 ops/sec ±1.71% (86 runs sampled)
  repeating x 5,566,878 ops/sec ±1.66% (87 runs sampled)

  fastest is repeat-string
#4: 2000
  native x 5,243,196 ops/sec ±1.85% (89 runs sampled)
  repeat-string x 12,463,623 ops/sec ±2.28% (84 runs sampled)
  repeating x 4,622,661 ops/sec ±1.35% (89 runs sampled)

  fastest is repeat-string
#5: 20000
  native x 3,830,682 ops/sec ±1.75% (88 runs sampled)
  repeat-string x 14,857,883 ops/sec ±1.86% (87 runs sampled)
  repeating x 3,430,828 ops/sec ±2.48% (87 runs sampled)

  fastest is repeat-string

You'r library is much faster! I'm very curious why this is though, it seems like it should be easier to do this when you can preallocate the memory that you need... Maybe we'll see improvements in never versions of v8...


Keys still getting stuck

https://github.com/feenkcom/gtoolkit/issues/423 is intended to avoid keys being "stuck down" due to the release event not being delivered when the focus is changed with the key pressed.  This handles some cases, but not all.
rust-windowing added the concept of synthetic events to address the same issue, see:

https://github.com/rust-windowing/winit/issues/1272
https://github.com/rust-windowing/winit/pull/1296

However there are cases where a synthetic key Pressed event is delivered, but a corresponding Release event isn't.  This can be reliably reproduced on Ubuntu 20.04 by changing workspaces (Ctrl-Alt-Up/Down Arrow) while Gt has window focus.

The solution is to ignore synthetic key pressed events, in addition to the existing behaviour of releasing all keys when window focus is lost (https://github.com/feenkcom/gtoolkit/issues/423).


add vim mode

I think this is a really good usability addition for people who are used to writing this way!
vim gets fetched from unpkg using request on button click.
https://github.com/compute-toys/compute.toys/assets/8731857/5a16760b-4a67-41fa-8f49-79e59bc0ac3c

Nice. At some point I'd like to have an editor settings page/popup for these kinds of toggles (personally I'd like one for enabling font ligatures), but this works for now

yeah i had a similar thought, good idea i think


[columnMode=force] column overflow

I'm submitting a ...
[X] bug report

Current behavior
When using force columnMode, in case where some column have float width, inner div of datatable-header  and datatable-scroll have smaller width than the datatable while columns fit perfectly the width of datatable. This makes columns to overflow.
Expected behavior
Columns should fit into their parents.
Reproduction of the problem
Create a datable with a width of 1000px for example and 3 columns.
Each column will have a width of 333.3333px and inner div of datatable-header and datatable-scroll will have a width of 999px.
https://plnkr.co/edit/DQLnDgwXSGLAcEPJTGot?p=preview
Origin of problem
I think the problem is that columnTotalWidth() is doing a parseInt() on the column's width while it's a float value.
Possible solution
Removing the parseInt() (in my tests column's width was always a number) or replacing with a parseFloat() works for me.

Table version: 1.7.0

Angular version: 2.0.x

Browser: [all]

Language: [all]

If you wanna make a PR to update to a float, that would be great!

While I was doing the PR I found that there is 2 function that compute total width of columns :

columnTotalWidth(columns, prop?) that'll use a parseInt()
columnsTotalWidth(columns: any, prop?: any) which seems to a copy of the first without the parseInt()

Maybe instead of using parseFloat() the solution it to use columnsTotalWidth() instead of columnTotalWidth() and do the parseFloat() on setColumnDefaults() which seems to normalize the column object.
I'm taking as an assumption that column.width can only be a string when it's passed as an input by the user. If there is more scenario the solution will probably not work.


install: place the libraries in architecture-specific directories on ELF platforms

This is needed for apple/swift#63782, which changes the Unix toolchain to look for libraries in architecture-specific directories.

@parkera, now that this passed the CI on the linked compiler pull, looking for review so I can get this in before the upcoming 5.9 branch. Please don't merge though, as all 11 pulls will have to be merged together.

Closing since the Swift devs want to take a different approach.


don't print the "not inherited" mark in SGF declarations

Resolves rdar://104917487
When a "factory" initializer (one imported from Objective-C that doesn't return instancetype) is rendered in the AST Printer, a /*not inherited*/ comment is added to the declaration. However, in symbol graph declaration fragments, this marker is not necessary - in documentation contexts, it matters less than the signature itself.
This PR updates the AST Printer to include a new option, PrintFactoryInitializerComment, that controls emitting this comment. It defaults to true, but it turned off in SymbolGraphGen for rendering declaration fragments.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


Create multiple Extension Requests

Currently users are restricted to a single extension request, preventing them from creating additional requests as the button gets disabled after 1 extension request.

Here is the workflow of it :

@MayurLund  what param you are passing to GET API...

@MayurLund what param you are passing to GET API...

Hi @iamitprakash I am not changing query params. Currently its using 3 params -> status, taskId, assignee and I am just ordering it by timestamp so as to get the latest one

@MayurLund what param you are passing to GET API...

Hi @iamitprakash I am not changing query params. Currently its using 3 params -> status, taskId, assignee and while creating new one I am just using ->taskId,assignee as query params and ordering by timestamp so as to get the latest one

@MayurLund that need to mention in above flow-chart

@MayurLund what param you are passing to GET API...

Hi @iamitprakash I am not changing query params. Currently its using 3 params -> status, taskId, assignee and while creating new one I am just using ->taskId,assignee as query params and ordering by timestamp so as to get the latest one

@MayurLund that need to mention in above flow-chart

Thanks @iamitprakash for pointing it out. Will update and add it.


add facebook streaming example

closes #160

As far as I know, the average web user cannot receive these live broadcasts through facebook without logging in to the facebook ecosystem. (I might be mistaken about that, but that's how it looks to me at first sight.) It might be a good idea to at the very least clearly label this outcast non-free. That should help with the Debian packaging.
Things would be less murky with a public youtube outcast. A public youtube broadcast is at least publicly available without jumping through hoops.

I'm not sure how an example script for a non-public streaming service could lead to problems with Debian packaging.
In the belief the author tested this and it works, LGTM.

I can do some more testing and tweaks on this as discussed in IRC if you're OK leaving this PR open for a while until it's production ready.

Would you mind documenting the communication in IRC here? I'm currently not actively reading IRC but would be interested in the tasks to do.
I also don't see a reason not to merge this. The example-scripts is only codified documentation.

I agree with @MaZderMind  - go ahead and merge this.   I'll submit more PRs if I make improvements.

I agree with @MaZderMind - go ahead and merge this. I'll submit more PRs if I make improvements.


added modern business theme

@jwu-au thanks for your contribution, could please add a snapshot for your theme, also we need to add a reference to the OrchardCoreContrib.Themes.Web so anyone can see it in action
I think I need to update the README.md for the last step

@hishamco Is the Theme.png in wwwroot folder the snapshot you're looking for?
I'll add the reference in web project.

I might missed understood the *src folder you refers to. In the PR, I actually placed a physical src folder in the source control, and the theme folder under it. Or do you mean the virtual src folder in VS? Please clarify.

the snapshot you're looking for?

Just a snapshot of how the theme is look like, paste it here

I actually placed a physical src folder in the source control, and the theme folder under it. Or do you mean the virtual src folder in VS

Please add it in both

The original theme template will be: https://startbootstrap.com/templates/modern-business/
Snapshot:

Changes made:

Updated reference to latest preview 1.0.0-rc1-13334, the theme is built on top of the latest dev branch, it won't work with RC1. As RC2 is coming soon or later, this shouldn't be a big issue, right?
As the project/assembly name of theme is changed to OrchardCoreContrib.Themes.ModernBusiness, I ended up to changed some paths in Layout file so it can locate the resources. The original name of theme is called TheModernBusinessTheme.

Other than above, the theme is setup successfully via receipt and running ok.
@hishamco for you to review and test.

Nah, seems I did something wrong with the project skeleton, I will fix it on this repo, then you can rebase after I check your theme
Thanks

@jwu-au please rebase on the dev, BTW I don't think we need to add a folder for each theme, just add it directly on the src folder
Sorry for my bad, I didn't realize that I made a mistake on the project skeleton until I saw your PR
Thanks again

@jwu-au please rebase on the dev, BTW I don't think we need to add a folder for each theme, just add it directly on the src folder
Sorry for my bad, I didn't realize that I made a mistake on the project skeleton until I saw your PR
Thanks again


Can't download Ego4D

Downloading Ego4D metadata json..
Traceback (most recent call last):
File "E:\SoftWare\Anaconda\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "E:\SoftWare\Anaconda\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "E:\Project\project\Ego4d\ego4d\cli\cli.py", line 216, in
main(config)
File "E:\Project\project\Ego4d\ego4d\cli\cli.py", line 63, in main
metadata_path = download_metadata(
File "E:\Project\project\Ego4d\ego4d\cli\manifest.py", line 189, in download_metadata
_metadata_object(version, s3).download_file(str(download_path))
File "E:\SoftWare\Anaconda\lib\site-packages\boto3\s3\inject.py", line 319, in object_download_file
return self.meta.client.download_file(
File "E:\SoftWare\Anaconda\lib\site-packages\boto3\s3\inject.py", line 173, in download_file
return transfer.download_file(
File "E:\SoftWare\Anaconda\lib\site-packages\boto3\s3\transfer.py", line 315, in download_file
future.result()
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\futures.py", line 103, in result
return self._coordinator.result()
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\futures.py", line 266, in result
raise self._exception
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\tasks.py", line 269, in _main
self._submit(transfer_future=transfer_future, **kwargs)
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\download.py", line 354, in _submit
response = client.head_object(
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\client.py", line 391, in _api_call
return self._make_api_call(operation_name, kwargs)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\client.py", line 719, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden

Have you setup your AWS key via aws configure?  Can you please provide the steps and command used? @Geeksun2018

On my end, I was able to download the annotations, but when I try to download the full_scale or the clips, I get connectionpool warnings and ultimately a timeout error.
Is there something specific that I should do to be able to download things other than the annotations?

Not really.  You're the second person that has reported timeouts.  (Dropped connectionpool warnings unfortunately seem to be pretty common, but shouldn't fail anything.)  I'm assuming you have a decent connection and actual timeouts wouldn't be resonable?  I'll look at adding some options for longer timeouts tomorrow.  For now, could you just retry and see if that doesn't incrementally succeed?  (If you're letting it run and it's not properly accounting for those downloaded files on the next run, please let me know and include the output.)

Have you setup your AWS key via aws configure? Can you please provide the steps and command used? @Geeksun2018

yes, this is the step.

I just download the dataset again, and the error is the same like yesterday.But when I set my proxy to global, there is a different error report.
`(base) PS E:\Project\project\Ego4d> python -m ego4d.cli.cli --output_directory="~/ego4d_data" --datasets full_scale annotations --metadata  --benchmarks AV
datasets: ['full_scale', 'annotations']
Download Path: C:\Users\99570\ego4d_data\v1
Downloading Ego4D metadata json..
Traceback (most recent call last):
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen
self._prepare_proxy(conn)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
conn.connect()
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connection.py", line 364, in connect
conn = self._connect_tls_proxy(hostname, conn)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connection.py", line 501, in connect_tls_proxy
socket = ssl_wrap_socket(
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\util\ssl.py", line 453, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(sock, context, tls_in_tls)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\util\ssl.py", line 495, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock)
File "E:\SoftWare\Anaconda\lib\ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "E:\SoftWare\Anaconda\lib\ssl.py", line 1040, in _create
self.do_handshake()
File "E:\SoftWare\Anaconda\lib\ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
socket.timeout: _ssl.c:1112: The handshake operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\httpsession.py", line 403, in send
urllib_response = conn.urlopen(
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\util\retry.py", line 507, in increment
raise six.reraise(type(error), error, _stacktrace)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\packages\six.py", line 769, in reraise
raise value.with_traceback(tb)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen
self._prepare_proxy(conn)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
conn.connect()
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connection.py", line 364, in connect
conn = self._connect_tls_proxy(hostname, conn)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\connection.py", line 501, in connect_tls_proxy
socket = ssl_wrap_socket(
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\util\ssl.py", line 453, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(sock, context, tls_in_tls)
File "E:\SoftWare\Anaconda\lib\site-packages\urllib3\util\ssl.py", line 495, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock)
File "E:\SoftWare\Anaconda\lib\ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "E:\SoftWare\Anaconda\lib\ssl.py", line 1040, in _create
self.do_handshake()
File "E:\SoftWare\Anaconda\lib\ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
urllib3.exceptions.ProxyError: ('Cannot connect to proxy.', timeout('_ssl.c:1112: The handshake operation timed out'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\SoftWare\Anaconda\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "E:\SoftWare\Anaconda\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "E:\Project\project\Ego4d\ego4d\cli\cli.py", line 216, in
main(config)
File "E:\Project\project\Ego4d\ego4d\cli\cli.py", line 63, in main
metadata_path = download_metadata(
File "E:\Project\project\Ego4d\ego4d\cli\manifest.py", line 189, in download_metadata
_metadata_object(version, s3).download_file(str(download_path))
File "E:\SoftWare\Anaconda\lib\site-packages\boto3\s3\inject.py", line 319, in object_download_file
return self.meta.client.download_file(
File "E:\SoftWare\Anaconda\lib\site-packages\boto3\s3\inject.py", line 173, in download_file
return transfer.download_file(
File "E:\SoftWare\Anaconda\lib\site-packages\boto3\s3\transfer.py", line 315, in download_file
future.result()
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\futures.py", line 103, in result
return self._coordinator.result()
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\futures.py", line 266, in result
raise self._exception
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\tasks.py", line 269, in _main
self._submit(transfer_future=transfer_future, **kwargs)
File "E:\SoftWare\Anaconda\lib\site-packages\s3transfer\download.py", line 354, in _submit
response = client.head_object(
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\client.py", line 391, in _api_call
return self._make_api_call(operation_name, kwargs)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\client.py", line 705, in _make_api_call
http, parsed_response = self._make_request(
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\client.py", line 725, in _make_request
return self._endpoint.make_request(operation_model, request_dict)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\endpoint.py", line 106, in make_request
return self._send_request(request_dict, operation_model)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\endpoint.py", line 182, in _send_request
while self._needs_retry(attempts, operation_model, request_dict,
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\endpoint.py", line 301, in _needs_retry
responses = self._event_emitter.emit(
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\hooks.py", line 357, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\hooks.py", line 211, in _emit
response = handler(**kwargs)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\retryhandler.py", line 192, in call
if self._checker(**checker_kwargs):
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\retryhandler.py", line 265, in call
should_retry = self._should_retry(attempt_number, response,
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\retryhandler.py", line 292, in _should_retry
return self._checker(attempt_number, response, caught_exception)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\retryhandler.py", line 331, in call
checker_response = checker(attempt_number, response,
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\retryhandler.py", line 231, in call
return self._check_caught_exception(
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\retryhandler.py", line 374, in _check_caught_exception
raise caught_exception
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\endpoint.py", line 248, in _do_get_response
http_response = self._send(request)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\endpoint.py", line 317, in _send
return self.http_session.send(request)
File "E:\SoftWare\Anaconda\lib\site-packages\botocore\httpsession.py", line 434, in send
raise ProxyConnectionError(proxy_url=mask_proxy_url(proxy_url), error=e)
botocore.exceptions.ProxyConnectionError: Failed to connect to proxy URL: "https://<IP_ADDRESS>:3334"`

Apologies, but that's just a standard proxy issue and I don't have enough info on the first one to help you here.
If you were able to download the annotations I'm not sure what it could be.  Drop more info here and I'll see if I can help.

抱歉，但这只是一个标准的代理问题，我没有足够的信息来帮助你。
如果您能够下载注释，我不确定它可能是什么。在此处删除更多信息，我会看看是否可以提供帮助。

thank you!!!


Work in progress welcomeBot sample double check members being added

In the samples-work-in-progress welcomeBot sample, we seem to be double-checking if members have been added:
        this.onMembersAdded(async (context, next) => {
            // Do we have any new members added to the conversation?
            if (context.activity.membersAdded.length !== 0) {
            ...

Am I wrong to believe that the callback passed in to onMembersAdded should only run when members have been added? If this is the case, shouldn't context.activity.membersAdded.length always be greater than 0?
Please let me know if I'm misunderstanding the API. Also, I know these samples are WIP, so if there's another way you'd like feedback, let me know!
[bug]

You are correct, the code in the sample is double-checking if members have been added. We will get this fixed, thanks for reporting the issue!
activityHandler.ts code in question

@ryanvolum I just realized I didn't answer your last question, but leaving feedback here works great. 😄

Closing as the fix went in.


Alphabetize Web Development section

Just re-ordered the web development section of free-courses-en.md.

Also added quite a bit of courses and sections to the free-courses-en.md file.

Can I also suggest that the repo description be changed to :books: Freely available programming books. to make it more attractive/syntactically sound?

Good idea, great PR, thanks!


Hello I made the translation to Greek

That's my first contribution 😄

It's for a project of my college,hope this contribution helps you and also I hope you can pull my file until the 9th of February because I have a deadline 😅

Doing a quick review, looks like not all the links in the table of contents go to the sections below. Can you correct that? Double-check they all work. Also, no need to add a link to contribution guidelines. That's just on the English version only.

Of course I'm checking it right now.

I think now it's okay i fixed the problems .

Hello have a nice week, have you checked my links again, I think now the coding it's correct, right?

@manolasn hoping to review later today.

Okay I will be waiting.

Looks like the link to "Translations" (Μεταφράσεις) is still wrong. It needs to go to https://github.com/AllThingsSmitty/css-protips/blob/b8a3f3bf09b83d2bac4f04be7f9487b1db681d5c/CONTRIBUTING.md.

Sorry about that I forgot to check it, it's okay now.


[UI Feature Request]: Add Multicut second group selection to right click (control+mousedown2 )

When using the multicut tool, toggling between group selection (a.k.a. "blue team" vs. "red team") requires mouse movement between imagery and layer control panel/ graph tab. Having one group bound to left mouse button and other group bound to right mouse button (and having an option to disable / select between toggling behavior and fixed group behavior bound to mousedown1/2) might save repetitive mouse movements.

Alternatively, a key command to toggle sides and a clear interface element displaying which team is selected. Currently the only way to tell is if you hover over EM, which is not always displayed.


Editor: Fix upload image on the localhost

Task description
Editor toolbar: (upload image option)
Research solution to upload image on the localhost;
Advice:
Try CORS Anywhere approach.
Use fetch instead of axios with mode - no-cors. (Write custom request with fetch)
Current result:

Useful link:
Imgur API doc
To do

[ ] Fix upload image on the localhost.

Estimating

To bypass the Imgur restriction of uploading an image from the localhost you just have to go to <IP_ADDRESS>:3000 instead of localhost:3000 in your browser. This will make your application's host <IP_ADDRESS>. No additional config required.

Unfortunately, Imgur blocks viewing uploaded images from <IP_ADDRESS>...
 For example, use <IP_ADDRESS>.
Or you can just configure your hosts file to proxy, for example, imgurtest to localhost to avoid these confusing restrictions.


NUT:BlazerUSB driver issue

I have tried the following UPS-device attached to several USB-ports;
ugen0.2:  at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0008
idVendor = 0x0665
idProduct = 0x5161
bcdDevice = 0x0002
iManufacturer = 0x0001
iProduct = 0x0002
iSerialNumber = 0x0000
bNumConfigurations = 0x0001
It has its vendorId and productId correctly registered in the /usr/local/etc/devd/nut-usb.conf file. I've checked the access rights on ugen0.2, and it seems correct according to the nut-usb.conf file:
ls -Ll /dev/ugen0.2
crw-rw----  1 root  uucp  0x8d Jan  3 21:11 /dev/ugen0.2
I am using the blazer_usb driver set to "auto". I have also tried setting vendorid and productid directly in the /usr/local/etc/nut/ups.conf file directly with no success.
The nut_daemon will not start.
root terminal;
service nut start
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Megatec/Q1 protocol USB driver 0.12 (2.7.4)
No supported UPS detected
Driver failed to start (exit status=1)
/usr/local/etc/rc.d/nut: WARNING: failed precmd routine for nut
The UPS is a known brand (PowerWalker VI 1500 LCD) and as described, the vendorid and productid are correct. Where to go, what to do?

You already reloaded the Firewall and tried to unplug and plug in the cable again?

Yes, the firewall is restarted several times. It does not start the NUT service.
Log-lines from the last startup;
Jan 4 13:08:54 | configd.py: [52217685-306a-4f26-a83b-b9020dd0df17] returned exit status 1
Jan 4 13:08:49 | configd.py: [52217685-306a-4f26-a83b-b9020dd0df17] starting nut
Running opnsense version: 18.7.9
os-nut version: 1.4

Can you watch system.log and then plug the usb cable and plug in again?

When disconnecting cable and reconnecting cable the following is written to system.log;
(disconnect)
Jan  5 12:29:52 fw upsmon[71223]: UPS PowerWalker is unavailable
Jan  5 12:30:44 fw kernel: ugen0.2:  at usbus0 (disconnected)
(connect)
Jan  5 12:30:47 fw kernel: ugen0.2:  at usbus0

Hi, thanks for helping out on this. I tried both with and without hubs, and gave up on it in the end. I ended up retiring my opnsense firewall, and solving the UPS challenge differently. Thanks again.


Breaks on SCSS variables

Trying to use this with Gulp and it seems to break when it hits SCSS vars.
[11:30:53] Using gulpfile ~/Desktop/vip-quickstart/www/wp-content/themes/vip/foo/gulpfile.js
[11:30:53] Starting 'beautify-sass'...
[11:30:53] Finished 'beautify-sass' after 9.77 ms

events.js:85
      throw er; // Unhandled 'error' event
            ^
/Users/cory/Desktop/vip-quickstart/www/wp-content/themes/vip/foo/css/src/_article.scss
Please check the validity of the block starting from line #15

13 | $desktop-sidebar-width: 300px;
14 | $desktop-article-max-width: 700px;
15*| $desktop-2-column-padding: 15px;
16 | $col-spacing: 20px;
17 | $desktop-2-column-max-width: $desktop-sidebar-width + $desktop-article-max-width + ($desktop-2-column-padding*2) + $col-spacing;

Gonzales PE version: 3.0.0-10
CSScomb Core version: 2.0.4

Fixed in<EMAIL_ADDRESS>


detection.py contains syntax errors

detection.py contains syntax errors & jupyter notebook is not a valid notebook. Also fi you can share pretrained wieghts or dataset, this would be great.
Thanks.

The model weight file has been shared, you can find the link in the readme. Due to depreciation, the Google Colab notebook has been removed as Colab no longer supports TensorFlow v1. You can run now using detection.py, please see the details in the readme.


[Docs] Added dartpad demo for animation controller

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I signed the [CLA].
[x] All existing and new tests are passing.

https://user-images.githubusercontent.com/57143358/108379104-9e4def80-722b-11eb-8fcd-3cede54c25f9.mp4

@shihaohong @Piinks, Please review this PR.

I am not sure how useful this example really is. What is it trying to show people?

As for me personally I had to see animation controller working code to understand it, So I thought it would be nice to have dart pad demo in docs for this.

@goderbauer , I've now changed the template and removed unnecessary code. Please review this PR.

@goderbauer , I now changed the template and added description to this demo, Please review this PR again.

@goderbauer , I now changed the template and added description to this demo, Please review this PR again.

@shihaohong please review this PR.

@Piinks @shihaohong Please review this PR.


Windows build is actually a tar.gz

Describe the bug
The release for windows has the incorrect extension at the commandline tar compensates for this automatically but if the user is using a graphical tool it's not clear what is going on.
To Reproduce
Steps to reproduce the behavior:

Download the build for https://github.com/appsody/appsody/releases/download/0.2.7/appsody-0.2.8-windows.tar
Right click on the file and extract it
A file is created
As there is no extension on this file it's not clear if it's an exe or an unzipped tar file.

Expected behavior
The file should have the correct extension appsody-0.2.8-windows.tar.gz
Actual behaviour
While the instructions for install refer to the command line users will right click the file in windows if they don't have command line tools installed it's not part of their usual workflow.
Environment Details (please complete the following information):

OS: Windows 7
No command line tools installed.

Sorry should have opened in appsody not stacks


Filter by label (Repo Issue List)

Currently you cannot tap labels in the repoIssueSectionList but can once you tap into a specific issue (it will redirect you)
When tapping on a label in Repo Issue List:
I think we should just add is:”(label-name)” to the search so that it filters by that label
When tapping on a label inside a specific issue:
We should open the repo issue list in app and again append is:”(label-name)”
Sent with GitHawk

makes sense @Huddie. I use the label tapping feature a lot on GitHub web to look for "help wanted" issues. Are you taking this? I'd be happy to work on it if you're not.

@BrianLitwin I’m a bit busy with school these next few days so I won’t be able to get to it. If you want to knock it out that would be awesome!
Sent with GitHawk

From Issue:

From deeper in view controller stack:

@BrianLitwin

Looks awesome
This also works on the repoIssueSectionController?

Sent with GitHawk

This also works on the repoIssueSectionController?

@Huddie I'm going to PR this w/o that feature ->  These labels are nested pretty deep in views and I want to make sure the communication patterns I'm using meet expectations first. Then adding that in will be easier.

@BrianLitwin @rnystrom  I think clicking labels in repoIssueSectionController is the essential one just because that's where users are searching for issues and would want to to filter that search. Less likely someone will be nested deep somewhere are want to search by the label.
I know at first I suggested we redirect to search when clicking a label outside the repoIssueSectionController but I think we should keep with Github practice on this one:
Inside repoIssueSectionController -> Adds label:xxxxx to the search bar
Anywhere else -> Shows label description or if one is not provided shows the label name.
I'll touch on the "Anywhere else" one. If you're on github and hover over a label, it has a hover-over view that says the label name. Only when inside of the issue tab, when searching for issues, does it append to the search.
I don't think redirecting people when they click labels (especially when deep) is a good idea. Could be annoying if you do it by accident
Thoughts?

How about pushing a new search controller when tapping on the label instead of popping back to the closest such controller? Combined with the ability to tap labels in the search results, this would better match GitHub’s behavior.

🤷♂ my suggestion would still be only the search vc has a clickable label and the others just show the label description or name. I think pushing may make more sense than popping but pushing could lead to a stack full of search vc's and issues vc's unless I'm understanding it wrong.

IMO that stack is expected since that’s how the browser version behaves. You can hit “back” multiple times to get back to the notifications, or the UI could be changed so the tab bar is always visible and users could click on the appropriate icon to get back to notifications.

The browser though has certain traits that makes they reasonable. The main one being how do you get back out of the stack and back to the main app. Like you suggested we could move the tabbar to overlay. Seems like a bigger change that @rnystrom should weigh in on
Sent with GitHawk

@BrianLitwin Why would we push? I think it should just edit the current search.
Sent with GitHawk

@Huddie You're right, we could do it that way too. Specifically, I was thinking that it would be easier to return to the default state of the RepositoryIssuesVC by pressing back from the Pushed VC, than by editing the search bar. That might not be a great assumption tho.

🤔 ya it’s tough to nab both the expected result of updating search bar, but also giving a quick way to revert. I still feel that expected behavior of filling in the search rather then pushing a whole new VC makes more sense. Otherwise we are pushing a new vc that’s exactly the same with one difference, the text. 🤷♂. Maybe a clear labels button or something to make removing labels from the search bar quicker ?
Sent with GitHawk

@BrianLitwin any update on labels in repoIssueVC? Should this issue be closed?
Sent with GitHawk

@Huddie sorta waiting for @rnystrom to weigh in on pushing a new VC versus editing the search bar in this last case of tapping an issue label in the main RepoIssuesV

Oops. @BrianLitwin pushing is probably the simplest to get moving? But if editing in place is easy, that would be cool!

I want to track an extra detail of this feature, which is trying to give the user some touchDown feedback when they tap a label so that they understand what's happening when the view transitions.. possibly darken the font or dim the background of the IssueLabel?

How about reducing its alpha?


[FEAT]: Some required API parameters could be made clearer in the SDK

Describe the need
I'm assuming this might require changes in Kiota, so I don't know if this is even the correct place to file this feature request. The API specifies that tag_name is a required parameter for creating a release. Yet, this is not apparent from the ReleasesRequestBuilder.PostAsync(ReleasesPostRequestBody, [...]) method since ReleasesPostRequestBody.TagName is marked as nullable when it should probably be non-nullable and maybe even required. Alternatively, it could be promoted to a required parameter of the PostAsync() method.
SDK Version
v0.0.3
API Version
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hey @alexrp Thanks for reaching out on this and providing some solid feedback.  We're going to go through this and others and begin refining things.  So please keep the thoughts, suggestions and contributions coming!


Elasticsearch integration

Langchain4j supports an Elasticsearch embedding store. To properly integrate it with our quarkus-elasticsearch-rest extension, we will need a few changes upstream to allow passing a pre-created elasticsearch client.
I've been also thinking that maybe we could implement more stuff beyond the embedding store, maybe some kind of full-text content retriever based on Elasticsearch would make sense.

I think @yiodiere had some thoughts on this

Some related happen here https://github.com/quarkiverse/quarkus-langchain4j/pull/213


JSON Pointer

Implement JSON Pointer (RFC 6901) with methods for converting a JSONPath node to a pointer.
Support relative JSON pointer syntax, as described in https://json-schema.org/draft/2020-12/relative-json-pointer.

Closed by #9


Issue with pytorch preprocess code

Hi, I have encountered error stating that model was expecting input [1 28 28] but given [1 784] when trying out the pytorch example. I think it is due to the flatten() of the array before return by the preprocess method.
Can I also ask

How do we update the preprocess code to the same created endpoint using command line / codes?
When we create the endpoint with the preprocess code, the code preprocess.py is stored in the clearml server. Does the inference container periodically pull from clearml server or the clearml server will push to the inference container upon any update? May I know where to access this codes that manage this behavior to better understand what's going behind this?

Thanks.

Hi! This issue should be fixed as of: https://github.com/allegroai/clearml-serving/pull/50/files

You can just redeploy the endpoint, pointing to a different preprocessing script
Yes, the inference container should be able to update its preprocessing script dynamically (which means that when doing what is described in 1. you would not have downtime)
If I'm not mistaken this is the code governing that. It will get all endpoints that are synced every interval (non of them are synced at first) and redeploy them if needed. Triton will do the rest :)


DOC: add Examples and Returns in scipy.misc.central_diff_weights docstring.

Reference issue
fix a part of #7168
What does this implement/fix?
DOC: add Examples and Returns in scipy.misc.central_diff_weights.

I’m sorry I miss push the button for requesting review. Please ignore it.

I closed and reopen this PR to rerun CI.


The entropy issue

Productive servers are at risk to run out of enough entropy. See https://www.blackhat.com/us-15/briefings.html#understanding-and-managing-entropy-usage and https://www.calomel.org/entropy_random_number_generators.html.
Unfortunately this entropy is and I assume it's both needed for the E2E encryption and the TLS connection.
Don't forget the time when you create the cert first.
At least for the last thing you could try to add additional entropy by entering some stuff into the console before you create the cert or even create the cert on a productive device and move the cert to the server.
The problem is for all encryption steps later you also need entropy AFAIK.
CURL BTW [provides] (https://secure.php.net/manual/en/function.curl-setopt.php) CURLOPT_RANDOM_FILE which can be used to add entropy - it's just the question which what it can be filled.

Managing entropy is not the job of this SDK. The operating system should ensure that the system's RNG provides an adequate supply of high quality random data. If in doubt, the user can always add additional entropy, e.g. by writing to /dev/random on UNIX systems, before executing sensitive operations like generating key pairs. In practice, insufficient entropy is mostly a problem of freshly cloned virtual machines and embedded systems.
Once a key pair has been generated, the actual Threema E2E message encryption does not need high quality entropy, as randomness is only used for per-message nonce generation.


Merge/combine/download multiple audios and one video from multiple m3u8 URLs

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Hello,
I'm trying to download a streaming video and multiple audios from a site (prefer not to say) with the following streaming characteristics:

Video.m3u8 (*.ts fragments; mp2t)
Audio1.m3u8, Audio2.m3u8, Audio3,m3u8, etc (*.aac fragments; x-aac).  The different audios are of different languages and user select-able from the playback interface.

This is what shown when using yt-dlp.exe -F for either Video.m3u8 or any of the Audio.m3u8:
ID EXT RESOLUTION │ PROTO │ VCODEC  ACODEC
────────────────────────────────
0  mp4 unknown    │ m3u8  │ unknown unknown
With yt-dlp.exe I can download the video and all of its respective audios, then merge/combine them with ffmpeg.exe.
However, I'm looking for a way to simplify/automate this download of a video and multiple/all audios (prefer not to get into scripting for now), and would like to verify if yt-dlp.exe can help with this goal.
Thanks,
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

try with --audio-multistreams -f bestvideo+audio_id1+audio_id2+etc

That works if you have a master URL. yt-dlp cannot merge from two separate URLs

try with --audio-multistreams -f bestvideo+audio_id1+audio_id2+etc

Every m3u8 URL doesn't seem to have any usable format as shown with the -F and there is only one ID, which is 0.

That works if you have a master URL. yt-dlp cannot merge from two separate URLs

Unfortunately, there is no master URL that I could tell from the site.  There are just separate m3u8 URL for video and separate m3u8 URLs for audios for each language.
Thanks for the responses!

@LarLei feel free to request a site-specific extractor, if you want


Bug: DOM elements not being placed in (X)HTML namespace.

The description page for jsoup says:

jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.

The WHATWG HTML5 Specification § 2.1.3 XML compatibility says:

To ease migration from HTML to XML, user agents conforming to this specification will place elements in HTML in the http://www.w3.org/1999/xhtml namespace, at least for the purposes of the DOM and CSS.

In other words, jsoup should be placing HTML elements in the http://www.w3.org/1999/xhtml namespace, even in the absence of an xmlns declaration. But it's not.
I'm using org.jsoup:jsoup:1.15.3 with Java 17. I have a test HTML document that looks something like this:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Foobar</title
</head>
<body>
  …
</body>

In a JUnit 5/Hamcrest unit test I read that document:
URL testResourceUrl = getClass().getResource("foobar.html");
try (InputStream inputStream = testResourceUrl.openStream()) {
  org.jsoup.nodes.Document jsoupDocument = Jsoup.parse(inputStream, null, testResourceUrl.toString());
  org.w3c.dom.Document domDocument = new W3CDom().fromJsoup(jsoupDocument);
  assertThat(domDocument.getDocumentElement().getNamespaceURI(), is("http://www.w3.org/1999/xhtml"));
}

Unfortunately this test fails:
java.lang.AssertionError:
Expected: is "http://www.w3.org/1999/xhtml"
     but: was null
…

Thus jsoup has a bug: it is not following the HTML5 specification and placing HTML elements in the http://www.w3.org/1999/xhtml namespace, but instead assigning them the null namespace.
To reiterate, yes, I realize that the HTML document in question has no default namespace specified. But as an HTML document it isn't required or even expected to. The HTML5 specification says that the HTML elements should be placed in the http://www.w3.org/1999/xhtml regardless.

While this bug is being fixed, does anyone have a workaround that would allow me to force the W3CDom class to put the DOM Document elements into the correct namespace? Right now this is breaking my XPath expressions (which are namespace aware and rely on the HTML namespace being properly defined). Thanks.

At least part of the problem seems to be here in W3CDOM:
Element el = namespace == null && tagName.contains(":") ?
  doc.createElementNS("", tagName) : // doesn't have a real namespace defined
  doc.createElementNS(namespace, tagName);
  …

If the element is an HTML element, it should be given a namespace of http://www.w3.org/1999/xhtml, not the empty string.

Unfortunately the following attempt at a workaround doesn't work. ☹
…
jsoupDocument.attr("xmlns", "http://www.w3.org/1999/xhtml");
org.w3c.dom.Document domDocument = new W3CDom().fromJsoup(jsoupDocument);
…

Ah, here's a workaround. The workaround above didn't work because even though jsoup considers the org.jsoup.nodes.Document an org.jsoup.nodes.Element (which is confusing because that's different from the W3C model), W3CDom skips jsoup root (naturally) when converting to elements, starting instead at jsoupDocument.child(0).
So this is a workaround:
…
jsoupDocument.child(0).attr("xmlns", "http://www.w3.org/1999/xhtml");
org.w3c.dom.Document domDocument = new W3CDom().fromJsoup(jsoupDocument);
…

Note that this is only a temporary workaround; the actual bug needs to be fixed.

From examining the code visually, I would suggest that the following in W3CDom might fix this bug. Of course we wouldn't know without running regression tests. (I haven't looked at the existing tests; I wouldn't be surprised if some of the the tests themselves were wrong, though and need to be updated).
private String updateNamespaces(org.jsoup.nodes.Element el) {
  // scan the element for namespace declarations
  // like: xmlns="blah" or xmlns:prefix="blah"
  Attributes attributes = el.attributes();
  for (Attribute attr : attributes) {
    …
    namespacesStack.peek().put(prefix, attr.getValue());
  }

  namespacesStack.peek().putIfAbsent("", "http://www.w3.org/1999/xhtml");  //f ix for #1837

  // get the element prefix if any
  int pos = el.tagName().indexOf(':');
  return pos > 0 ? el.tagName().substring(0, pos) : "";
}

This would make elements by default have the correct HTML namespace (bringing it into DOM compliance), but would also allow elements to temporarily override the default namespace. It wouldn't allow elements to permanently override the default namepace for a subtree of the DOM, so perhaps the fix only be performed on the root element being processed:
  if(isRootDocumentNode()) {
    namespacesStack.peek().putIfAbsent("", "http://www.w3.org/1999/xhtml");  //f ix for #1837
  }

I don't know how isRootDocumentNode() should be implemented without looking deeper into the code (which I don't have time to do now; I have to get back to my project). If W3CDom keeps track of the root element, you could compare it with that. Another approach would be to pass a flag to updateNamespaces().
Ah, wait! Perhaps this would be the best fix of all:
public W3CBuilder(Document doc) {
  this.doc = doc;
  namespacesStack.push(new HashMap<>());
  namespacesStack.peek().put("", "http://www.w3.org/1999/xhtml");  //f ix for #1837
  …
}

That might solve this completely, simply by making the initial namespace context contain a default namespace fallback.

This assumes that  namespacesStack allows inheritance of declarations up the chain. I don't immediately see that this is happening. Oh, wait, I see it now:

```java
namespacesStack.push(new HashMap<>(namespacesStack.peek())); // inherit from above on the stack

OK, I think this is the only line you need to fix then, when setting up the initial namespace context:
  …
  namespacesStack.push(new HashMap<>());
  namespacesStack.peek().put("", "http://www.w3.org/1999/xhtml");  //f ix for #1837
  …

(You could also configure the initial HashMap<> before it's used to create the initial namespace context on the stack.)

You can assign me to this ticket. I've already started working on it.

Looks like several unit tests particularly in W3CDomTest are breaking. This is because the unit tests are simply wrong. For example:
org.opentest4j.AssertionFailedError: expected: <null> but was: <http://www.w3.org/1999/xhtml>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertNull.failNotNull(AssertNull.java:50)
	at org.junit.jupiter.api.AssertNull.assertNull(AssertNull.java:35)
	at org.junit.jupiter.api.AssertNull.assertNull(AssertNull.java:30)
	at org.junit.jupiter.api.Assertions.assertNull(Assertions.java:275)
	at org.jsoup.helper.W3CDomTest.convertsGoogle(W3CDomTest.java:89)
…

Node htmlEl = wDoc.getChildNodes().item(1);
assertNull(htmlEl.getNamespaceURI());

As explained above, there is no question both in the specification and in browser implementations that the default namespace in an HTML document, if parsed as HTML (and not as XML), must be http://www.w3.org/1999/xhtml.
If you don't believe me, load https://example.com/ in any modern browser, go into the developer tools (e.g. in Chrome you can create a snippet), and enter:
document.body.firstElementChild.namespaceURI

Your browser will proudly tell you:

http://www.w3.org/1999/xhtml

You'll note also that on this page there is no namespace declarations in the HTML source code.
As I mentioned, I'll fix this and submit a pull request. I'm a little surprised, though, that there is as of yet no response from the original developer(s) regarding such a fundamentally breaking bug. I hope if I go to this effort that it can quickly be accepted and integrated back into the code base so that others can benefit.

This is almost finished, but I need some clarification about usage of W3CDom.asString(Document doc) and W3CDom.asString(Document doc, @Nullable Map<String, String> properties). This is used in a lot of the tests to convert DOM to a string. Now that HTML documents default to the correct namespace after my changes, the returned strings have xmlns="http://www.w3.org/1999/xhtml" on the <html> element—not because the DOM has that, but because W3CDom.asString() is using a Transformer which only thinks in terms of XML, and adds the namespace declaration.
We can leave it like that or play tricks to get rid of it, but it depends on the purpose and usage of W3CDom.asString(). Is it just used for testing? Or is it part of the jsoup API for turning DOM into a string? Presumably once it's in DOM form, developers already have their preferred ways for serialization; jsoup is about parsing, not pretty-printing, after all. In this view, W3CDom.asString() is more for testing that the DOM is correct, in which case we can simply update the unit tests to expect the xmlns="http://www.w3.org/1999/xhtml".
On the other hand, is W3CDom.asString() meant to provide a round-trip string representation of the original "tidied" HTML? If that is the case, we would want to remove the xmlns="http://www.w3.org/1999/xhtml" from the output, unless the user explicitly specified W3CDom.OutputXml(). This is not trivial, because as mentioned jsoup is using a Transformer, which is a Java feature from eons ago, before HTML5, and only thinks in terms of XML. (See my question Java XLST transformer with default namepace without xmlns on Stack Overflow.)

I went with the assumption that you want W3CDom.asString() to continue providing "clean" HTML5 output and not showing a xmlns default namespace attribute. The workaround is a bit of a kludge; see Java XSLT transformer with default namepace without xmlns for more discussion. (Ideally we would improve the serializer to output clean HTML5 to begin with, even now that the default namespace has been fixed.) But it's not a mysterious kludge; it is simple, with unit tests provided.
The only serialization change that should affect existing code (I don't know if anybody even called W3CDom.asString(), outside the unit tests) is that if someone called it explicitly using W3CDom.OutputXml(), then they will now get a string including the xmlns=\"http://www.w3.org/1999/xhtml\", because XML requires the namespace declaration and the document now has that default namespace.

Is anyone still working on this library and accepting pull requests? I haven't received any feedback on the pull request.

Thanks @garretwilson - I have added some notes to your PR.

@jhy thank you for looking at the PR. I've added some responses. Please respond and let me know how you would like to proceed and I'll update the PR.


Fixing issue #201 - NoSuchFieldException on save()

Fixing issue #201 where we would get a NoSuchFieldException on save() when trying to set the id to a subclass of SugarRecord. Used casting instead of reflection for performance.

Thanks for the pull request @jivimberg!


Done some changes in navbar

Signed-off-by: shubham-tyagi<EMAIL_ADDRESS>Description
I have tried and did some minor tweaks in navbar :

removed the link from the nav bar subitem for the page on which page we are.
highlighted the link on whose sublink page we are.
opening of the docs in a different tab, added the icon in front of docs.
added cursor as a pointer for navbar link (we had different cursor for community and resources previously)

Notes for Reviewers
If any tweak doesn't suit the navbar please let me know I will remove that tweak.
Signed commits

[x] Yes, I signed my commits.

@shubham-tyagi let's discuss these changes on the websites' call tomorrow.

sure @warunicorn19

@shubham-tyagi could you please make the changes as discussed in the websites' call

Sure @warunicorn19

Thanks for working on this, @shubham-tyagi

@warunicorn19 please do have a look and let me know if any other change is required.


Redis Lock - question about edge case

I am looking to use Redis for exclusive locks of resources.
If they fail and two workers will think they are holding the lock, that can end up in, let's say, really bad data corruption.
I know that a lot of edge cases in Redisson have been covered, however how about this one:

Worker1 acquires lock with time of "infinity" (until manual release)
Worker1 loses connection to Redis instance, while access to everything else still works and it continues operation on data, databases etc....
Lock gets removed from the database, because it expired in 30s (lock watchdog timeout), because of no bump by watchdog
Worker2 has good connection to Redis and is able to acquire the lock and start it's operation on data (leading to corruption)
Worker1 gets Redis connection back, it's watchdog tries to recreate the lock in background ASAP, however it lost the race because the lock was already acquired by Worker2
Both Worker1 and Worker2 now think they are holding the lock :(

Looking by the code comments, this seems to be expected behavior/known edge case - one of very few in regards to locks.
If I am correct with this scenario, what would you recommend? Going with non-redis solution like etcd or zookeeper, for example?
or maybe set the watchdog timeout to a value that will always be more than the execution time of task under that lock and have some custom code for removing failed locks on boot?
(so if Worker1 is down I either wait for it come back and automatically clean it's locks that are no longer valid or manually remove the locks owned by Worker1 assuming I want to safely get rid of it)
And is there a mechanism to check periodically whether watchdog has lost the race to reacquire the lock and allow application to act on it?

Hi @ninja-, in one of the projects I worked we implemented our own watchdog that periodically checks if the lock isHeldByCurrentThread() to avoid scenarios like the one you mentioned.

if that method is actually quering the database instead of checking local state, that might be useful for a solution. thanks :+1:

It does a lookup against redis:
    @Override
    public boolean isHeldByThread(long threadId) {
        RFuture<Boolean> future = commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.HEXISTS, getName(), getLockName(threadId));
        return get(future);
    }


Support flipping images vertically.

One quirk of OpenGL and some other graphics APIs is that the (0, 0) is expected to be at the bottom left corner of the image, whereas most image formats place (0, 0) at the top left. This usually relates to how Y-axis coordinates are projected (with OpenGL placing Y:0 at the bottom of the screen).
A number of image libraries provide flags or functions to perform this flipping behaviour,
ie. stb_image provides:
stbi_set_flip_vertically_on_load(true);

Which indicates that subsequent images should be loaded with their Y-axes reversed.
Implementing this at application level can be tricky, since some image formats (BMP) are stored bottom-up, whereas others are stored top-down.

Not tricky, because imagefmt always places the top-left corner at the origin coordinates (0, 0) for this very reason. The writing functions also assume those coordinates. But I guess this could be added anyway since flipping is quite commonly needed when loading or saving images. It could just be a function.
I improved documentation.

It could just be a function.

One reason for preferring a flag over a function might be for the case of image formats that are stored with their Y-axis inverted, it would prevent performing redundant work when loading the content.
However, either option would be acceptable.

Yeah. The flag just requires a little bit more code in every decoder. Nothing complicated though because for at least all currently supported formats it's very easy to do on the fly. So I'm now leaning towards the flag :)
To be clear, the flipping is already done on the fly when needed (bmp, tga) so no extra work is done at all with any of the currently supported formats in case user wants Y-axis to point down.

I added functions to control vertical orientation with:
void set_yaxis_up_on_load(bool up)
void set_yaxis_up_on_save(bool up)

I didn't bother making it efficient for jpeg.


aot_loader.c: Fix crashing issues in "Refine interp/aot string storage"

The following commit [1] had a few issues.

it looks a wrong byte for the mark
it didn't work for long strings (>= 0x80 in case of little endian)

This commit fixes it by maintaining another hash instead of
the "0x80" marking.  (The idea from Wenyong Huang)
[1]
commit 403a7d3f4fe3eec3092f9fb7b8a71dc93e4589b1
Author: Wenyong Huang<EMAIL_ADDRESS>Date:   Mon Nov 8 11:27:26 2021 +0800

    Refine interp/aot string storage and emitting (#820)

    Currently the string in the wasm/aot file will be duplicated and stored
    into const string list/set in interpreter/aot loader, which leads to extra
    unnecessary memory consumption if the file buffer can be referred to
    after loading. We refine the string storage by:
    - if the file buffer can be referred to after loading and it is writable, we
      reuse the file buffer to store the string but not store it into the const
      string set: move string backward and append '\0'
    - emit string with '\0' only for XIP mode in which the AOT file is readonly
    - if the file buffer cannot be referred to, e.g. in app manager, keep the
      same behavior as before

    Signed-off-by: Wenyong Huang<EMAIL_ADDRESS>

(The idea from Wenyong Huang)

https://github.com/bytecodealliance/wasm-micro-runtime/pull/820#discussion_r851980844

Close this PR as another PR had been merged to fix the issues.


Publish to nuget from actions

I want the new CI/CD actions to be able to publish the resulting nuget packages.
But not every time.
I don't know much about actions yet.
Maybe a separate action that invokes the main one and then grabs the nupkgs and uploads them?
Or maybe a flag that can be passed to the main action to determine whether the publish step happens?
Worst case, we could have an entire second copy of the build action except with extra publish step at the end, but that seems silly, and I assume this is a common problem.

Inviting help from @filipnavara once again.  :-)

I'll be on vacation for the coming week or so but I can look into it after. We have some repositories where we instituted a policy that every change builds packages and pushes them to the GitHub Packages (not NuGet.org): https://github.com/emclient/userdialogs/blob/9082f74170adabfea212d80f1637e9eda7e0ecc1/.github/workflows/dotnet.yml#L26-L54
I am not familiar enough with GH actions and manual triggers but it should be something that is possible. I'll discuss it with my colleagues.

https://twitter.com/chris_sainty/status/1429083614206205952?s=21

I've made a little progress on this.  There's a pub.yml action which is basically just a copy of the build action, except it's manually triggered, and it has a nuget push step added to the end.
After a few attempts, it seems to be working.  A 2.0.5-pre was just pushed up to nuget.
But it seems like poor practice having two actions which are nearly the same.  We probably want the build action to save the nupkgs it creates and the pub action simply pushes them instead of rebuilding them.  GitHub actions appear to have an "artifacts" feature which might be what is needed here.


Hide "Store" under Settings when not a store

When not a store, the "Store" pane in Settings is still shown. This is somewhat confusing, and not explained.
Can the "Store" pane simply be hidden away for non-store nodes?

Chatting with Josh last night and he mentioned that he's already set this occur once we're ready for production release.


Deprecation, Lifecycle, Usage monitoring

I think we should provide guidelines for deprecation and lifecycle. Usage monitoring is an important aspect of being able to manage lifecycles, but it is more a question of tooling than guidlines.

See #91


register-component: Remove register component

Hey, I just made a Pull Request!

Removes the register-component plugin.
It seems that only the Register API on the API page button still relied on the register-component plugin, and it's route /register-component. Everything else was using /catalog-import.

This is an attempt to deprecate this plugin, and rewire the API button. I suppose it's less of a deprecation, and more of a decommission, so welcome feedback if we may need a more smooth transition here (a la stability index, which already stated it WOULD be removed), or just poof, and it's gone is OK.
Note, I was unable to fully test a newly created app, as it seems even off a raw npx @backstage/create-app my /catalog-import route isn't working, so I think there's something else already broken (which could be fixed separately?) than this PR, though welcome feedback on that. (or if that should be fixed before this)
If this does get merged, I don't know if there's a manual step to unregister from npmjs.com ?
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)

Avoided a changeset for the example-app; is that correct?
Did not include a changeset for the app I actually removed, since it of course won't get bumped or have a CHANGELOG any longer

[x] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)

Opened as draft and welcome some review, because a) I'm not quite sure removing this was OK yet, and b) the impact to the create-app. But welcome feedback for tweaking.

Oh and another question - should I manually hack the yarn.lock to remove it or just run a new yarn and commit the result, does that clean it?

The backstage/packages/app/src/App.tsx is quite different than backstage/packages/create-app/templates/default-app/packages/app/src/App.tsx - beyond just plugins, but rather how the page is wired.
For those that know more about it: Does it make sense to use this PR to refactor that, or should I do a separate PR in front of this to refactor it? I assume they should be closer in alignment (just without Lighthouse and some of the example plugins?).

I think we probably want two PR's.
A release to the register-component plugin that would allow us to add the deprecation notice to yarn installs pointing users at the catalog-import plugin instead. And then a followup PR to remove it from the repo.

@benjdlambert Makes sense!
With respect to the stability index for this plugin which is a 0, that would indicate just a CHANGELOG entry.  Suppose we can just do it in two PRs for ability to do it smoothly, and in case plugins are using it?
https://backstage.io/docs/overview/stability-index#register-component-githubhttpsgithubcombackstagebackstagetreemasterpluginsregister-component
I'll close this and replace with a deprecation one that updates the API link.  I played around with trying to fire a Winston warn in the register-component, but couldn't figure out a good way to do it through only the React src/components/ because there's really no business logic in this plugin to throw warnings in - so welcome any suggestions there! (and couldn't find any examples elsewhere in the project to sort of learn from)

@adamdmharvey @benjdlambert do you know if the catalog-import plugin works with Bitbucket? Looks to only work with Github.
I am using the register-component plugin to register components from Bitbucket at the moment and its working fine. Any idea what happened to the register existing component link?

@regicsolutions That's a great question, and I don't officially!  Looking at it, it was written to either a) load an existing YAML from a git location or b) open a pull request.  I'd guess the pull request part likely does not support BitBucket based on it using a GitHub library to open the PR, but since it just leverages other parts of the catalog if you paste an existing YAML in.   If you give it a shot and it works, likely then the only enhancement missing for it to support BitBucket might be to auto detect if the user is trying a PR for GitHub or BitBucket, and open the appropriate one?

and a cc to @mcalus3 who may know more a bit on the background...

@regicsolutions register-component plugin source code was moved into the catalog-import plugin so it should still support all the previous use cases. If it's not working for registering components from the config hosted on bitbucket, you can open an issue with a bug. I'll look into it.

@mcalus3 @adamdmharvey i confirmed the same basic import functionality is working with Bitbucket Server. I do think we need to make the verbiage of the plugin a bit more generic and ideally specific to the integration in use given in the app-config, given someone using Bitbucket wouldn't benefit from all the GitHub verbiage 😀
For example, import into Backstage should be changed to Import into "my app" and anything that makes reference to GitHub maybe keep it generic for now like from "your repository" until we can have it changed to integration.bitbucket = Bitbucket or integration.gitlab = GitLab etc... thoughts?

@regicsolutions spun out to it's own issue.  the nomenclature ones would be good ones for new comers to pick up, and indeed adding more context fully around multiple Git providers would be powerful.  thanks for the report!


Quality of life improvements

Hello everyone, I took the freedom of renewing the project folder structure to something more organized. Also added a CMake script for building.
The CMake script can build the static library, shared library and test executable all at once. Targeting both x86 and x86_64 through a cmake flag.
Actually the switches for multilib compiling are only supported by GCC and Clang I guess (-m32 for x86 and -m64 for x86_64). I haven't tested with MSVC.
I removed one unused include at src/test.c:10.

Generally speaking, I would recommend asking the maintainer before doing something as invasive like this.
This contains two different changes. One is reorganizing the code: moving the header files to a separate directory and changing the include paths. The other is adding a CMake file. The latter isn't particularly disruptive, the former on the other hand will disrupt other users. I don't really understand why that would be necessary in the first place.
Or why you called this Quality of life improvements instead of Add CMake support. Other people may not share your preferences of build system.


Association.Replace() doesn't delete associated entities

What version of Go are you using (go version)?
1.12
Which database and its version are you using?
Postgres v9
Please provide a complete runnable program to reproduce your issue. IMPORTANT
Basically, the issue has already been commented in the source code
https://github.com/jinzhu/gorm/blob/master/association.go#L113
// has_one or has_many relations, set foreign key to be nil (TODO or delete them?)
Are there any plans to introduce association removal?

I'm having the same problem. When I want to replace an association, is no "easy" way to delete the non existing ones.
Is there a way besides the solution of this issue?


Fixed #28382 -- Prevented BaseExpression._output_field from being set if _resolve_output_field() fails.

https://code.djangoproject.com/ticket/28382

Created ticket https://code.djangoproject.com/ticket/28382.


[BEAM-1827] Fix use of deprecated Spark APIs in the runner.

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @aviemzur

Run Spark RunnableOnService

Run Spark ValidatesRunner

Coverage decreased (-0.003%) to 70.154% when pulling 0e48417485abd7f4b5aa1d14d4543412e992b9d3 on amitsela:remove-use-of-deprecated-spark-apis into 99056df36efccba26f4853912ffca41e12147949 on apache:master.

Run Spark ValidatesRunner

Coverage increased (+0.01%) to 70.167% when pulling 3ca0a7ffe0fe065d42c00f0e94abb96c9c5d09d7 on amitsela:remove-use-of-deprecated-spark-apis into 99056df36efccba26f4853912ffca41e12147949 on apache:master.

@aviemzur PTAL I've made SparkRunnerStreamingContextFactory simply implement Function0 but I had to make its members transient or findbugs would get mad 😠

Run Spark ValidatesRunner

LGTM pending tests.

Coverage increased (+0.006%) to 70.163% when pulling 62e14dde181815ae815ebafc0a58116cb90e96ac on amitsela:remove-use-of-deprecated-spark-apis into 99056df36efccba26f4853912ffca41e12147949 on apache:master.


Add validation of token pools by non-author nodes after creation

With the latest flow for token pool creation, an author node triggers creation of the token pool and then announces it to other nodes via a messaging broadcast.
The other nodes will receive the details on the pool and the blockchain transaction that created it. Currently all nodes simply accept this info, but they should perform an additional validation step via their own token connector, to ensure the blockchain transaction is valid and did create the pool in question.
See https://github.com/hyperledger/firefly/pull/211#discussion_r718588293
Falls under tokens epic #218

Addressed by #317


Task #1276 - Rename templates to native Twig extension

Task #1276 - Templates renamed to native Twig extension .html.twig.

Better understand code for new contributors.
Syntax support for all IDEs without additional settings.

p.s. Some tuning PHP CS Fixer.

this would really require us to bump the major version to 5.

@evrifaessa Nothing breaking changes. Just convenience for future works.
Master branch accumulate changes for next major release. All as usual... ;)

@evrifaessa Nothing breaking changes. Just convenience for future works.
Master branch accumulate changes for next major release. All as usual... ;)

It is a breaking change then. Basically anything that will break compability between two versions is a breaking change.

@evrifaessa This is PR to master branch (not to release branch). Whether this major or minor release will be seen later, when we accumulated enough changes.
But if you would update stable release to master now - nothing will break (except private hardcoded changes).
Anyway: before update, users need to read CHANGELOG.md and all be fine. ;)

Let's make major release after update admin theme.

If this breaks the auto-update functionality, I wouldn't really like this to be merged without really measuring impact on users. No matter what, BoxBilling should be able to update itself, even for major releases. So we should either find a way to make the updater automatically update it, or leave it as is.

@evrifaessa How does it break auto-update functionality?

@evrifaessa How does it break auto-update functionality?

it literally will create duplicates of the same template. the auto updater just downloads the prebuilt archive and extracts it over the existing files. it will not delete the old phtml files while extracting the new .twig ones. how are you going to handle this?

i have an idea,
you could make an update to the admin panel, that will show a button until the user presses it, that button would delete all of the old phtml files

Don't update over current auto update system... But force users to manually update and provide an upgrade path.
You don't want users that currently use 7.4  or older to the new version any way as it will break any way due to lack of support.
Any customisations will break any way so users still need to update manually and test their own ***
You can't count on the fact that already run on PHP8.0 or higher,
Don't have any custom plugins that will not break.

it literally will create duplicates of the same template

@evrifaessa How does it break functionality?
For those who would clean distribution:

Before upgrade need to read UPGRANDE.md
Don't need upgrade to master, only stable versions!
While tests passed - its mean all right! Or you need to make integration tests for checking structure of files.

This not only about templates! Look global:
Impossible of upgrade file names, just does't allow migrate to PSR4, remove old and integrate convenient components! You never get rid of outdated Redbean and other hardcoded libraries... Its make impossible any BB refactoring of code!
Therefore for what Looking for maintainers?

I don't know if you really understood me because I'm having trouble understanding your message. Regular users should be able to upgrade painlessly right from the admin panel.
Why would we want to break a working system and make it harder for people to upgrade? Who would want this? Stable versions will eventually have this patch merged too, what will happen then? Even when upgrading to another major release, the process should be seamless and with the least manual interference possible.
Yes, I absolutely agree with your point on finally ditching some old stuff and making use of newer standards and libraries, but we should also care about the people with little-to-no technical experience. If I was a user and I was told to migrate my templates manually, I'd seriously consider not using that software in the long run.
As our userbase grows bigger and bigger, we should start caring more about the impact of our PRs to our users.
TL;DR: I agree with your points but I don't want this to be merged without finding a way to upgrade seamlessly.

I don't know if you really understood me because I'm having trouble understanding your message.

I try to write simple as possible.
If you don't understand what I'm talking about: please learn migration process of mature project (like Symfony 3->4, Drupal 6->7->8 and many other). You'll see only text documents for migration between major versions. Nobody make auto-upgrade file structures!

i have an idea, you could make an update to the admin panel, that will show a button until the user presses it, that button would delete all of the old phtml files

Best solution for weak users: manual remove *.phtml over FTP. Or more advanced:
cd project-dir
rm -rf ./*.phtml

But what about other files, which need to change during development? Look global.

i have an idea, you could make an update to the admin panel, that will show a button until the user presses it, that button would delete all of the old phtml files

Best solution for weak users: manual remove *.phtml over FTP. Or more advanced:
cd project-dir
rm -rf ./*.phtml

But what about other files, which need to change during development? Look global.

We have a PHP script that is run when you update.
It would not be a huge change to remove the leftover .phtml files from the themes in that file.

We have a PHP script that is run when you update.

Are you talking about the script bin/update.sh?

I assume he means via:
https://github.com/boxbilling/boxbilling/blob/76aee3bd68e045301db6d213a80a26b5e9486f89/src/bb-library/Box/Update.php

I assume he means via:

Need additional info.
p.s. I don't see any options yet than another bad practice. ((

public function performUpdate()

does preform the update  and unzips the folder … and does the thing…
It is not ideal to implement a delete function for it …
It is easier to force users upgrade via clean install

does preform the update and unzips the folder … and does the thing…

Any time when you need to change any file name you also need add custom migrate code in class???

Do you think this is reasonable?
How did you solve this problem before? I didn't find any similar migration in the code. Do you have example?
This is make impossible migrate to install components via Composer! Because auto-updater always will leave old vendor files in the system. @evrifaessa how will you solve this problem???

It is easier to force users upgrade via clean install

Best idea! ;)
Just need save config and uploads.

does preform the update and unzips the folder … and does the thing…

Any time when you need to change any file name you also need add custom migrate code in class???

According this code yes...

Do you think this is reasonable?
How did you solve this problem before? I didn't find any similar migration in the code. Do you have example?
This is make impossible migrate to install components via Composer! Because auto-updater always will leave old vendor files in the system. @evrifaessa how will you solve this problem???

It makes sense how it was done in the past. But current methods has been improved ...

It is easier to force users upgrade via clean install

Best idea! ;) Just need save config and uploads.

It makes sense how it was done in the past. But current methods has been improved ...

As I understand: If user use auto-updater, any run composer update could leaves old files in the system (auto-updater unzip new bb-vendor over old installed components)! And users even don't know about obsolete files! Right?
If yes, this is bigger problem then my templates rename which normally described in UPGRADE file!
I think current auto-updater make sense only for DB migrations and can't to be reliable method of CD.

This PR contain improvement of PDF invoice design.

This PR contain improvement of PDF invoice design.

This one looks awesome. Thanks for your work :)

The screenshot looks nice! Looking forward to your work :)

Without identification of the application by anonymous user (for security reason).

I think we can discuss implementing further precautions for that. If we need such a thing, we can also move the "version" endpoint from the guest API interface to the admin API interface. We're planning to bump to a new major version, so I think we can be freer with the API changes.

Without identification of the application by anonymous user (for security reason).

I think we can discuss implementing further precautions for that. If we need such a thing, we can also move the "version" endpoint from the guest API interface to the admin API interface. We're planning to bump to a new major version, so I think we can be freer with the API changes.

Please discuss about API changes not in this PR.

Commit 07aafb1 contains fully rewrite admin theme with Tabler.io. Still need to do the following:

Improve dashboard
Make some modal windows for small forms for simplify interface
JS refactoring and remove jAlert in favor Bootstrap Modal
Separate SVG from template and build SVG symbol sprite
Cleanup outdated css/js files

Please carefully test on real data.

I love where this is going. I think it will definitely look pleasing when it's ready to be merged. Thanks for all your work :)

In my opinion, horizontal navbars (especially "navbar overlap") looks way better than the vertical ones. These are just my opinions though.
Navbar overlap:

Vertical:

Another thing, I think search bars are taking up too much space. We can move it to get rid of the big white gap or possibly make the search bar smaller.

(...)/bb-admin/kb -> Macro "table_search" is not defined in template "macro_functions.html.twig".

Worth checking: https://preview.tabler.io/docs/flags.html
We're making use of flags in different parts of the software.

In my opinion, horizontal navbars (especially "navbar overlap") looks way better than the vertical ones. These are just my opinions though.

Its looks better with same designed widgets. But we can't make identical graphs widgets without massive code changes.

Another thing, I think search bars are taking up too much space. We can move it to get rid of the big white gap or possibly make the search bar smaller.

Many pages contains identical code. Just different in advanced search filter:

Clients (Overview/Advanced search)
Orders (Overview/Advanced search)
Invoices (Overview/Advanced search, Transaction overview/Transactions search)
Support (Client tickets/Advanced ticket search)

I think, need to combine them in one page with slidable filter panel.
This will be make compact design and could to use advanced search without reload page.

Worth checking: https://preview.tabler.io/docs/flags.html

Good idea. Need to try it.

Align by center table look s better, I think.


Update scalafmt-dynamic to 3.4.1

Updates org.scalameta:scalafmt-dynamic from 3.0.8 to 3.4.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (3.0.8).
You might want to review and update them manually.
contrib/scoverage/test/src/HelloWorldTests.scala
docs/antora/modules/ROOT/pages/Contrib_Plugins.adoc

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-dynamic" } ]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #1737.


Adding a google sheet feature

I want to add the data addition to google sheet on form submission so to make the contact data collected at one place in organised way.

@Adityagupta1625 Assigning this issue to you. Happy coding !


评估结果

请问最后一行的评估分数，是用这个工具测出来的吗？ VLMEvalKit

Yes. We the VLMEvalKit to evaluate the results except for the ones that need to upload websites for evaluation.


Bug: ExponentConstants - Cannot read property 'NativeModule' of undefined, js engine: hermes

Prerequisites

[X] I have searched the repository’s issues and Kinde community to ensure my issue isn’t a duplicate
[X] I have checked the latest version of the library to replicate my issue
[X] I have read the contributing guidelines
[X] I agree to the terms within the code of conduct

Describe the issue
My project is not using Expo.
Dependencies:

"@kinde-oss/react-native-sdk-0-7x": "^1.2.2"
"react-native": "0.71.18"

Error message:
 WARN  No native ExponentConstants module found. Are you sure the expo-constants module is linked properly?
 ERROR  TypeError: Cannot read property 'NativeModule' of undefined, js engine: Hermes

Is it possible to use this library without Expo?
Library URL
https://github.com/kinde-oss/kinde-react-native-sdk-0-7x
Library version
1.2.2
Operating system(s)
macOS
Operating system version(s)
15.0
Further environment details
No response
Reproducible test case URL
No response
Additional information
No response

Any updates on this issue.

I also need to know if this can be used without Expo. Been getting the same issue. Need an update ASAP

The issue is they are using ExpoConstant module to check if the Platform is in Expo or not. I have forked the repo and removed all the expo related packages to use it in our projects. If you wanna checkout kinde-react-native.
If you want to use it in your project, go to the above link, download the kinde-oss-react-native-sdk-0-7x-v1.3.2.tgz file, place it in the root of your project.
Inside package.json file, inside dependencies add
"@kinde-oss/react-native-sdk-0-7x": "file:kinde-oss-react-native-sdk-0-7x-v1.3.2.tgz",
Run yarn install or npm install and you should be good to go inside the non Expo project.

Thank you @ramaerion, been stuck on this for a couple hours now so appreciate the help!

Thank you @ramaerion, I have added the file to the root project, then I tried to log in, and the login threw at the below end
[Error: URLSearchParams.get is not implemented]
"@kinde-oss/react-native-sdk-0-7x": "file:kinde-oss-react-native-sdk-0-7x-v1.3.2.tgz",

You have to add urlsearchparams polyfill to make it work. See here https://stackoverflow.com/questions/75757771/getting-the-urlsearchparams-set-is-not-implemented-error-when-trying-to-fetch
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: lichmac @.>
Sent: Monday, October 21, 2024 4:13:07 PM
To: kinde-oss/kinde-react-native-sdk-0-7x @.>
Cc: Ram Raut @.>; Mention @.>
Subject: Re: [kinde-oss/kinde-react-native-sdk-0-7x] Bug: ExponentConstants - Cannot read property 'NativeModule' of undefined, js engine: hermes (Issue #43)
Thank you @ramaerionhttps://github.com/ramaerion, I have added the file to the root project, then I tried to log in, and the login threw at the below end
[Error: URLSearchParams.get is not implemented]
@.***/react-native-sdk-0-7x": "file:kinde-oss-react-native-sdk-0-7x-v1.3.2.tgz",
—
Reply to this email directly, view it on GitHubhttps://github.com/kinde-oss/kinde-react-native-sdk-0-7x/issues/43#issuecomment-2426267451, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BK6JQL45H3PUJEUVMGBMSWTZ4TJLPAVCNFSM6AAAAABORFCYGCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRWGI3DONBVGE.
You are receiving this because you were mentioned.Message ID: @.***>


Vulnerability roundup 107: libtpms-0.8.2: 1 advisory [6.5]

search, files

[ ] CVE-2021-3746 CVSSv3=6.5 (nixos-21.05)

CVE details
CVE-2021-3746
A flaw was found in the libtpms code that may cause access beyond the boundary of internal buffers. The vulnerability is triggered by specially-crafted TPM2 command packets that then trigger the issue when the state of the TPM2's volatile state is written. The highest threat from this vulnerability is to system availability. This issue affects libtpms versions before 0.8.5, before 0.7.9 and before 0.6.6.

Scanned versions: nixos-21.05: 3b1789322fc.
Cc @baloo

Fixed in https://github.com/NixOS/nixpkgs/pull/137844

@yorickvP the report was for nixos-21.05 and it looks affected indeed. (it's currently on 0.8.2)

Alright, thank you!


Rename test file name

Codecov Report

Merging #917 into dev will increase coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev     #917      +/-   ##
============================================
+ Coverage     50.48%   50.48%   +<.01%
  Complexity     2936     2936
============================================
  Files           120      120
  Lines         28112    28112
  Branches       4695     4695
============================================
+ Hits          14192    14193       +1
+ Misses        11630    11625       -5
- Partials       2290     2294       +4

Flag
Coverage Δ
Complexity Δ

#JDBC42
50% <ø> (-0.09%)
2894 <ø> (-5)

#JDBC43
50.42% <ø> (+0.02%)
2933 <ø> (+3)
:arrow_up:

Impacted Files
Coverage Δ
Complexity Δ

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
40.65% <0%> (-3.3%)
13% <0%> (-2%)

...a/com/microsoft/sqlserver/jdbc/PLPInputStream.java
58.33% <0%> (-1.2%)
33% <0%> (-1%)

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
38.14% <0%> (-0.65%)
42% <0%> (-1%)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
55.59% <0%> (-0.17%)
0% <0%> (ø)

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
43.69% <0%> (+0.07%)
316% <0%> (+1%)
:arrow_up:

...n/java/com/microsoft/sqlserver/jdbc/Parameter.java
67.13% <0%> (+0.2%)
64% <0%> (ø)
:arrow_down:

...rc/main/java/com/microsoft/sqlserver/jdbc/dtv.java
68.59% <0%> (+0.23%)
0% <0%> (ø)
:arrow_down:

...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java
48.15% <0%> (+1.08%)
113% <0%> (+2%)
:arrow_up:

...m/microsoft/sqlserver/jdbc/SQLServerException.java
77.77% <0%> (+1.48%)
32% <0%> (+1%)
:arrow_up:

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 b18c44e...16bbb7b. Read the comment docs.


PlayAudio does not seem to work in the emulator

I have a card with two buttons. one uses openUrl, and the other playAudio. They both link to files created by Cognitive TTS from the same inputs (Note: I also used audio files not created by TTS). Codec is: riff-8khz-8bit-mono-mulaw
The openUrl indeed opens Edge and plays the audio. playAudio does not work.
Here is the json with the links to the files:
{
  "type": "message",
  "timestamp": "2016-12-20T02:50:32.227Z",
  "serviceUrl": "http://localhost:53302",
  "channelId": "emulator",
  "from": {
    "id": "4237n73g1i6meh29mc",
    "name": "Bot"
  },
  "conversation": {
    "id": "i4kc57g2e8egkcfl9"
  },
  "recipient": {
    "id": "default-user"
  },
  "text": "",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.hero",
      "content": {
        "title": "Question with Audio Answers",
        "text": "Hello",
        "buttons": [
          {
            "type": "openUrl",
            "title": "Listen to 'hi'",
            "value": "https://talky.blob.core.windows.net/audio/599bef2d-0ba2-418e-a197-1c5c7b552588.mp3"
          },
          {
            "type": "imBack",
            "title": "Choose 'hi' as your answer",
            "value": "1"
          },
          {
            "type": "playAudio",
            "title": "Listen to 'fine'",
            "value": "https://talky.blob.core.windows.net/audio/1cc2d07e-d403-42fd-b23b-89f52e790c81.mp3"
          },
          {
            "type": "imBack",
            "title": "Choose 'fine' as your answer",
            "value": "2"
          }
        ]
      }
    }
  ],
  "entities": [],
  "replyToId": "i9372elg26bmkj626",
  "id": "3m85heci3818fa4ldc"
}

@danmarshall an issue in webchat control?

Web Chat seems to render this OK.

On my machine (windows 10) the 3rd button which is of type playAudio does nothing.

Actually, my mistake, I was thinking of the AudioCard.
It doesn't look like either the Web Chat control or the Emulator supports play audio at the moment.

Thanks for the report @chanan this is being tracked in the WebChat repo:
https://github.com/Microsoft/BotFramework-WebChat/issues/271

Closing this issue here so that it only needs to be tracked in the WebChat repo.


fix: created plugin to prefix class names to prevent styling conflicts

Description

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents

Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[ ] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Can I get some suggestions @diivi @Anush008 @bdougie? There are 4 points I would like to discuss.

The plugin will prefix every single className in the jsx. For example,

 will become:

which will mess up additional non tailwind classes unless we prefix those too.
It also won't prefix classes if the classes are created with function calls:
<div className={`flex gap-2 random-class ${getClasses()}`}">

It won't prefix classes added with the ternary operator but i think this is doable if i modify the code a bit. However, if we don't need the functionality now then I'm not sure if I should implement it<div className={`flex gap-2 random-class ${foo ? "bg-white" : "bg-blue"`}>

It won't work with common css utility libraries like clsx

There are probably other cases too but this is what came to my mind while working on it so far.

I don't have the context for this PR and I don't see an issue linked to this, so I'm curious why we need to prefix things to avoid styling conflicts? Tailwind classes wouldn't have conflicts, but if non-Tailwind ones did, you could use CSS modules or a similar styling solution. But if we're using Tailwind, I'm a bit confused as to why this is an issue?

Please don't leave the "Related Issues/Documents" field empty 😅. Here's the issue btw - https://github.com/open-sauced/ai/issues/89

The plugin will prefix every single className in the jsx. For example,

This is fine for me especially if this is happening in production only. I'd suggestion a prefix oss

 will become:

which will mess up additional non tailwind classes unless we prefix those too.

This is fine, we are just trying to avoid collisions with github. So if we cover most classes, we should be fine, but we won't know until we implement it and QA

It also won't prefix classes if the classes are created with function calls:

<div className={`flex gap-2 random-class ${getClasses()}`}">

Same with above, let's see if this solves the case in the notifications panel and go on from there

It won't prefix classes added with the ternary operator but i think this is doable if i modify the code a bit. However, if we don't need the functionality now then I'm not sure if I should implement it<div className={`flex gap-2 random-class ${foo ? "bg-white" : "bg-blue"`}>

Same as above

It won't work with common css utility libraries like clsx

Same

There are probably other cases too but this is what came to my mind while working on it so far.

No need to solve all cases since the scope is the one case that has been reported

Sounds good. How about content scripts since those have a mixture of GitHub and tailwind classes? How would we differentiate between them?

There are 2 issues that I've ran into @bdougie @diivi @Anush008.

How to handle classes for content scripts since those have a mixture of Github and tailwind classes. One option could be to prefix those manually.
PostCSS (tailwind plugin) runs before the vite plugin to prefix classes. This is an issue since tailwind only adds classes that are used so currently no tailwind classes are added. For example, adding the prefix option in the tailwind config will give a warning "No utility classes were detected in your source files. If this is unexpected, double-check the content option in your Tailwind CSS configuration.". Afterwards, the vite plugin will run to prefix the classes.

@bdougie Another option we could explore is having multiple tailwind configs since we won't have to deal with the edge cases with prefixing every tailwind class and we would have to prefix the content scripts manually anyways. So the popup could have the same tailwind config and the content scripts could have another tailwind config with the prefix set.


Feature Request: Using External Volumes for Data Persistence

With applications like Cassandra and Kafka you will be storing up to TBs of data on the disks.   This data is replicated to prevent data loss in case of catastrophic failure.   SO unless there are multiple failures technically you won't lose any data.
Today using the frameworks in the case of a application failure (host is still running) the data can be recovered when the node or broker is restarted automatically.   However, in the case of the a host failure the data is lost and manual steps are required to move the data to a new node.  Moving the data to a new node is very expensive, especially for larger quantities of data.
We would like to see support added for External Volumes (rexray) in the frameworks.   By using rexray to create external named volumes a volume could be created for each node or broker being deployed.   On a host failure the system could simply kill the instance and allow it to restart on a different host without manual intervention.  On restart it would find the same external volume and reattach the data with all the replication cost.

We do plan to add support for external volumes, but not with RexRay. The plan is for DC/OS to introduce storage APIs that build on the Container Storage Interface (CSI) specification. There is a significant amount of work required in DC/OS and I do not know when it will be complete, but it is underway.

Is there anywhere we can track this initiative?