Uncaught TypeError: Cannot read property 'length' of undefined

Hi,
I really like this creation, it's very helpful when I writing Markdown.But I find some problem, if a cell not contains alphabet,i mean some chinese characters,will get a error in Atom.So I changed some code, and it is worked in my Atom.
However I am a newcomer of CofeeScript, if you have better way to fix this error I wait in hope for your update. : )

A little bug
When a cell contains only analphabetic characters will get error of
length:

Uncaught TypeError: Cannot read property 'length' of undefined

Change Default alignment to Centre
It just personal property.

What you guys think about /[|:-]{2,}/ to find the format row? tested with some tables and seems to work. https://regex101.com/r/xI4dY7/1
Hit me with test tables so we can make it better.

@fcrespo82
First, space is a valid symbol in format row (but only surrounding pipes). See examples at https://michelf.ca/projects/php-markdown/extra/#table
Second, suggested regex will match partial rows, like
| This is::    | not format row | <-- will match here
| ------------ | -------------- |
| Random Table | Test column    |
A little better version would be https://regex101.com/r/zT6vY4/1#javascript
It would still, however, match invalid format rows like this:
outro
:-:
teste
(according to spec, format row has to include at least one pipe)
or this:
| outro |
| :-:-:    |
| teste |
(according to spec, colons can only be placed at ends of separator cell)
see link for more examples of invalid matches
https://regex101.com/r/yR7xZ9/5#javascript would be more involved version, which, to my knowledge, should match strictly according to spec (i.e. either have leading and trailing pipes and have single column, OR have multiple columns, optionally with BOTH leading and trailing pipes, and only have column on sides of cell, NOT in the middle) But such regex is a terrible pain to maintain.
Personally, I would go with latter option, since I'm ok with terribly complicated regular expressions. But former would probably work for most use-cases.

Yep, after I said that I realized that is no good. I will do my homework and study the markdown extra specification and use as the implementation. But I can only do that tomorrow. Please keep the bugs and enhancements coming! Thank you all for the help!Sent using CloudMagicOn qui, jan 8, 2015 at 7:45 PM,  Nikolay Yakimov<EMAIL_ADDRESS>wrote:            @fcrespo82
First, space is a valid symbol in format row (but only surrounding pipes). See examples at https://michelf.ca/projects/php-markdown/extra/#table
Second, suggested regex will match partial rows, like
| This is::    | not format row | <-- will match here
| ------------ | -------------- |
| Random Table | Test column    |
A little better version would be https://regex101.com/r/zT6vY4/1#javascript
It would still, however, match invalid format rows like this:
outro
:-:
teste
(according to spec, format row has to include at least one pipe)
or this:
| outro |
| :-:-:    |
| teste |
(according to spec, colons can only be placed at ends of separator cell)
see link for more examples of invalid matches
https://regex101.com/r/yR7xZ9/5#javascript would be more involved version, which, to my knowledge, should match strictly according to spec (i.e. either have leading and trailing pipes and have single column, OR have multiple columns, optionally with BOTH leading and trailing pipes, and only have column on sides of cell, NOT in the middle) But such regex is a terrible pain to maintain.
Personally, I would go with latter option, since I'm ok with terribly complicated regular expressions. But former would probably work for most use-cases.
—Reply to this email directly or view it on GitHub.

I'm more inclined to go with fixed position.
formatline = lines[1]
formatrow = 1
lines.splice(1,1)

I don't think there is any advantage in doing it dinamically since

second line contains a mandatory separator line between the headers and the content;

I only missing one edge case:
|other
|-
|test

My code doesn't identify this as a valid table but it is valid as the documentation points

Note: A table need at least one pipe on each line for Markdown Extra to parse it correctly. This means that the only way to create a one-column table is to add a leading or a tailing pipe, or both of them, to each line.

I've updated my regex to find all tables in a complex document here https://regex101.com/r/xI4dY7/2 if one of you can tweak it to identify the edge case I'll be very thankful

Some parsers, namely kramdown and pandoc, allow omission of header row. Granted, vanilla Markdown Extra does not.
I've updated regex to handle edge cases (additionally, I messed around with [:|-]+ a little to match spec more closely, made all groups non-capturing and removed extranneous match and character groups and removed m modifier as obsolete, since newlines are matched explicitly): https://regex101.com/r/xI4dY7/6
There are, however, some caveats, i.e. some malformed tables, such as
| | |
||-|
| | |
will be matched as well. I don't suppose it's a big deal, and I am bound by capabilities of native javascript regex. I could conceivably extend it to handle these cases as well, but that would increase code at least twofold, and it's big enough as is.
Alternatives would be using external library like xregex, which could dramatically simplify writing complex regexes, or implementing a proper markdown parser (at least partially)

Okay, I've had a little more time with this and I think I nailed it. https://regex101.com/r/xI4dY7/7
This will match almost properly against everything I thought about throwing at it. Only case it handles not as reference implementation is rows consisting of single pipe (optionally surrounded by whitespace). Reference implementation silently ignores such rows.
Latest version also handles tables with omitted header (can be disabled by removing last ? in first capture group) and extracts table header as \1 (if not present, \1 is empty), format row as \2 and table body as \3. This could be used instead of hardcoding formatline = lines[1].

Ok. Please see 08374da6c9ec2bb35d35bc666c0408929448fe37 -- this should give a general idea on how I think this could be implemented. I'm notably bad with coffeescript though, so please feel free to change things around.

Just publish an update with lierdakil@08374da6c9ec2bb35d35bc666c0408929448fe37 with updated regex.
I think you'll both enjoy it.
Thanks again for the tips.

That's great, thanks!


Fix IE specific bugs for /web/agencies

What's changed, or what was fixed?

Overall, this fixes all outstanding visual and functional bugs within IE for /web/agencies (including: not being able to select from dropdown selector, previously seeing duplicate progress circles, and positioning issues with the progress circle)
IE is incompatible with adding multiple class names in one statement, so I split that up into multiple lines
Updated CSS for positioning content within an SVG

Fixes: N/A
Target Live Date: 2018-06-15

[ ] This has been reviewed and approved by (NAME)
[X] I have run gulp test locally and all tests pass.
[X] I have added the appropriate type-something label.
[X] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Whoops!
There were 1 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/agencies/js/directory.js - JavaScript files are generally not allowed.

Looks good. This will need a JS readability review internally, so I'll push sometime today once I can confirm someone is available.

:tada: This has been pushed live to https://developers.google.com/web/


Accessibility: Dark Themes override text selection mouse cursor

Issue Type: Bug

Change your mouse cursor using the system's accessibility settings. E.g. make it pink and larger.
Switch VS Code to a dark theme
Move mouse cursor into a text editor pane or debug console.
Cursor is displayed as default black/white selection cursor, not your colored one.

Observed on macOS 12.1
Does not happen in the terminal pane
VS Code version: Code 1.63.2 (899d46d82c4c95423fb7e10e68eba52050e30ba3, 2021-12-15T09:37:28.172Z)
OS version: Darwin x64 21.2.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 3, 3

Memory (System)
32.00GB (2.03GB free)

Process Argv
--crash-reporter-id 21bc40f9-2216-480b-b47e-abc548bd2c9c

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
vscop804cf:30404767
vs360:30404995
vsrem710cf:30416617

VS Code doesn't inherit the OS system colors. Instead, we have our own color themes. These work across operating systems and browsers.
There's a lot of themes to pick from the marketplace, including high contrast themes. Use the command Preferences: Color Theme to select or install a theme.
You can also customize a theme in the settings. For the cursor color you can do this:
{
"editorCursor.foreground": "#ff00FF"
}

Closing, no changes planed.

@aeschli  You misunderstood. I'm talking about the mouse cursor

Pink and large

Thank you!! <3


FAB of custom selector is still open after uploading

Summary:
FAB of the custom selector is still open after uploading an image from it and taking the user to the last opened folder
Steps to reproduce:

Click + icon and click FAB of the custom selector
upload an image

What did you expect the app to do, and what did you see instead?
It should close the FAB after clicking it.
Device and Android version:
Pixel 2 API 30
Commons app version:
Betadebug latest master

Thanks Ayan for spotting this! :-)

Is this open? I'd like to contribute to it

@jmora13 Yes thanks! :-)


feat: remove waffle forced ccached miss switch

Related Issue

https://github.com/openedx/edx-django-utils/issues/333

Description

In this PR we're removing edx_django_utils.cache.disable_forced_cache_miss_for_none waffle switch which was added in version 5.7.0 version for backward compatibility.
For more details you can have a look at changelog of version 5.7.0

@mumarkhan999: This toggle duplicated a legacy bug, right? Does that mean the bug no longer exists? It would be great if you could leave a quick note about why we no longer need the toggle. Thanks.


Import Aperio freehand annotation

Done. We can import Aperio XML coded annotations. Regions are converted into DSA layers and assigned markups/annotations


failing at : TASK [polkadot-validator : check if keys already exist]

With ansible it should check if keys are in the keystore of the validator:
fatal: [IP-Address]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'polkadot_network_id' is undefined\n\nThe error appears to be in '/polkadot-secure-validator/ansible/roles/polkadot-validator/tasks/main.yml': line 19, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: check if keys already exist\n  ^ here\n"}

Hey @StakerSpace, thanks for the report!
There have been recent changes in how the existing keys are detected, we now take into account the network id (the default keystore path depends on this). The code is updated to put this value in place in the autogenerated ansible inventory, but it was missing from the inventory sample. I've added it in this PR https://github.com/w3f/polkadot-secure-validator/pull/15 pls update your inventory and give it a try.
Cheers!


How can i disable or hide specific context menu items?

@KhizarJaved Currently it is impossible to disable or hide particular context menu items. It is pain - I know. I'll work on this once children async loading is finished (for this to be done I need to add couple tests)

Which is the current status of this feature? Will be implemented any time soon?

Hello, I offer to add an opportunity to hide the whole menu in settings. I think it is easier to implement. We have onSelect event and can create sidebar instead of menu. The menu item handlers broke whole ui logic.
Adding settings allow to have one package for demo on this site and for current usage in production.

@aldari Can you elaborate on this and provide some examples?


Non-specific error for JSON-RPC specification

This error is reproduced on versions 2.8.0-2.9.1
How to reproduce:

just use image: cityofzion/neo-privatenet:2.9.1
make request (for example):

## Submit block
curl -X "POST" "http://<IP_ADDRESS>:30333/" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -H 'Accept-Encoding: gzip, zlib, deflate, zstd, br' \
     -d $'{
  "jsonrpc": "2.0",
  "method": "sendtoaddress",
  "id": 1,
  "params": []
}'

response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -2146233086,
    "message": "Index was out of range. Must be non-negative and less than the size of the collection.\nParameter name: index"
  }
}

"Index was out of range. Must be non-negative and less than the size of the collection.\nParameter name: index"

this is a specific for C# exception
The JSON-RPC (https://www.jsonrpc.org/specification#error_object) says that "error codes from and including -32768 to -32000 are reserved for pre-defined errors". In this case, the application itself is providing an specific error. I think that if no param is given, error -32602 should be raised, then.
Message must be something like "Method require params"

UPD: The problem is reproduced with any method that requires input parameters

I find almost same exeption...
## Submit block
curl -X "POST" "http://<IP_ADDRESS>:30333/" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -H 'Accept-Encoding: gzip, zlib, deflate, zstd, br' \
     -d $'{
  "jsonrpc": "2.0",
  "method": "getaccountstate",
  "id": 1,
  "params": [
    123
  ]
}'

Response:
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -2146233033,
    "message": "One of the identified items was in an invalid format."
  }
}

The error should be more descriptive

@shargon yep.. but not C# exception..

"Index was out of range. Must be non-negative and less than the size of the collection.\nParameter name: index"

and

"One of the identified items was in an invalid format."

is C#  System Exceptions..
I just propose to catch them and give the correct error message and code, according to the specification JSON-RPC

@shargon or you are talking about something else?

I agree with you

The first problem is that the presence of an index in the array is not checked. This generates an exception that no one else handles.
The second problem is caused by the fact that there is no conversion error handling.

I make PR to solve that issue https://github.com/neo-project/neo/pull/587


Renaming the Honeywell variable to adhere to naming convetions

Breaking change

Proposed change
Renaming the local variable 'Honeywell' to match the regular expression ^[a-z][a-z0-9]*$.
Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New integration (thank you!)
[ ] New feature (which adds functionality to an existing integration)
[ ] Deprecation (breaking change to happen in the future)
[ ] Breaking change (fix/feature causing existing functionality to break)
[x] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[x] The code change is tested and works locally.
[x] Local tests pass. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[ ] I have followed the development checklist
[ ] I have followed the perfect PR recommendations
[x] The code has been formatted using Black (black --fast homeassistant tests)
[ ] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly.
Updated and included derived files by running: python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt.
Updated by running python3 -m script.gen_requirements_all.
[ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
[ ] Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

[ ] I have reviewed two other open pull requests in this repository.

Waled Mohammad Group 10
Rule 2: This issue/code smell is relevant because it differ from naming conventions (^[a-z][a-z0-9]*$) and this can reduce code readability and maintainability.
Rule 3: My solution was to rename 'Honeywell' variable so it aligns with the standard name conventions (^[a-z][a-z0-9]*$) and this improves code consistency and making it maintainable and more readable.

looks good


Validating Asset Speed

When I click play, it takes around 30~60 seconds on most attempts to get past the "validating asset integrity". This feels abnormally slow and I was recommended to make the issue clear here, this does not happen on other launchers so I can only assume it's a launcher issue.

As of https://github.com/ModRealms-Network/ModRealmsLauncher/releases/tag/v2.2.0-release, this has now been fixed.
Resolved. ❤


pmid2doi of 1000 pmids takes infinite time

Dear developers,
I'm trying to use pmid2doi to convert a list of pmid to doi. But it runs very slowly, almost infinitely. Any solution to this?
The code is shown below:
from metapub.convert import pmid2doi

dois = [pmid2doi(pmid) for pmid in df_papers['pmid']]

Haven't been able to reproduce this error for lack of time, so I only have some guesses as to what could be going on:

You're not using an NCBI API key.  You really need to register your app with the NCBI and insert one via environment variable (NCBI_API_KEY), otherwise you will be severely rate-limited.  See: https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/
Some of the PMIDs in your list fail to find DOIs in PubMed (uncommon but unfortunately not rare at all).  metapub has a subroutine to handle this which calls CrossRef using author and title, and then tries to back-ref against PubMed to verify its result.  This is a multi-step / multi-API-call operation which can slow things down a lot particularly if you don't have the NCBI API key.

Sorry for such a late reply.  Please add on more information if you have any.  Thanks!


Clang not installed when selecting version 14

This issur is related to this discussion. If you select clang version 14, clang is not be installed correctly on the workflow, which can cause unexpected errors like system header files that are missing.

Reading the workflow's log that you linked in the discussion, it looks like clang-tidy-14 was able to be called and returned a result. Even if that result is undesirable, the fact that the clang-tidy-14 executable was found (& invoked) tells me that it isn't an installation problem.
Have you tried using a compilation database (highly recommended)? This is a rather strict sticking point for clang-tidy (despite the version used).

I have updated the docker image clang-tools:all and I can not reproduce this issue anymore.
Currently, this is a temporary solution: just copy the missing *.h files to /usr/include, because keeping llvm-13 and llvm-14 folders in the image will extremely increase the size of the image and cause action to slow down.

keeping llvm-13 and llvm-14 folders in the image will extremely increase the size of the image and cause action to slow down.

This is why I've been trying to use the action's src code as an installable python package. The docker image isn't needed if executing the action as a python package, but it does require the end-user to consciously install the desired version of clang-tidy & clang-format. Clearly, this will also require some finesse with the --version arg though.

Currently, this is a temporary solution: just copy the missing *.h files to /usr/include

UPDATE: Permanent solution has been done and the docker image has been updated. See https://github.com/shenxianpeng/clang-tools/issues/25

This issue has been fixed in the latest docker image xianpengshen/clang-tools:all, I'm going to close it.
Please feel free to reopen it in case of any problems.


refactor: use a set for tracked props

:tada: This PR is included in version 4.0.0-alpha.3 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[1.9.4] All parts of the armors want to go on your head

Chestplate, leggings and boots are treated as helmets.

I can second this in a build compiled from latest sources.

Fixed!


ClientModel: API Updates

Renames: Request -> Input; Response -> Output

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Core


[Request] Main Page README: Show the entire license text at or near the bottom.

Greetings, all!
Since Dusk has an explicit license, I request the text of this license be reproduced at or near the bottom of the GitHub main page README so people can easily read it if they want.
Thankee, @RamosPabloA!

Hello there!
I've added the license text in the readme.md. Thanks for pointing this out!


Layer Sync in Custom Workflow not working

Thanks for all the work you've put into this!
To start: I'm on windows, talking to the API via port 8188. I'm using a remote computer with an A100 GPU and running comfyui there. That comfyui is forwarded to my local machine via VS Code. I installed using the .ccx file on January 7 2024. I have used A1111 and comfyui a decent amount, and have also used a Krita extension with comfyui.
I'm trying to run a basic img2img workflow test_miku_img2img_api.json in the custom workflows tab and I have a node that looks like this:

I can upload from the canvas manually to get something into that node, but it is the only way for me to input into that node. When I click the "Sync Current Layer" button it marks the current layer as red:

I can unmark the layer with right click, then I can click the sync current layer button again to mark the layer as red. Point being that the button press is definitely doing something. The Sync from Canvas button does not work. This is true if I have something selected via the Marquee tool and also if I have nothing selected. Either way the input image that gets passed in appears to just be a white square:

Note that this is still true even if I don't have a white background (note the background layer is not visible and is also not marked red)

I can confirm that the workflow works because if I turn the denoising strength up to 1 then I can get an image:

The "Load Image from Canvas" button will work if I have a selection:

And I can use that as the input for my workflow. That being said, that button doesn't help if I want to do live img2img for instance.
I tried poking around in the logs (mostly because of other crashes and timeouts related to both regular and custom workflow bugs), but there are a lot of messages spread between multiple log files, so I'm not sure what would be helpful for me to attach for you.
Here's a screencap of my settings page:

Last note is that the regular txt2img setting works, although sometimes it does not actually send anything to comfyui (confirmed via the comfyui.log file) and hangs while the loading bar goes upwards of 200%. So I do know the plugin is able to talk to my comfyui server at least sometimes. I haven't had a hang/infinite progress bar issue yet with a custom workflow.

Let me know if there's any testing you would like me to do or any logs files that might help.

I have the exact same issues with the latest version(1.4.1).
The workflows work fine for me, but the LoadImage node does not work as expected.
The only way I can fill it with an image is via "Manual => Load Image from Canvas", and even then it's only if I have selected zone in photoshop(e.g. CTRL+A to select everything).
All the other options(like "Sync from Whole Canvas" or "Sync From a Layer") do not work at all. At best - it uses the image I've had in my workflow when I've saved it(the "white square" the Grant-CP mentioned is probably what he had in his workflow, btw).
"Sync from a Layer" changes "layer color"(in the hierarchy) to Red, but that seems to be it.
The options look amazing and super useful, so I hope this gets fixed soon.


Support Detach.

Sending "stopped" message with reason as "disconnected" to avoid the confusion.

@edumunoz

Wouldn't HandleThreadGroupExited still be called, causing the "*stopped,reason=""exited""" string to be processed too?

:+1:


build.go:19:16: cannot use c.Args() (type cli.Args) as type []string in append

github.com/bilibili/kratos/tool/kratos/build.go:19:16: cannot use c.Args() (type cli.Args) as type []string in append
github.com/bilibili/kratos/tool/kratos/main.go:15:15: cannot use []cli.Command literal (type []cli.Command) as type []*cli.Command in assignment
github.com/bilibili/kratos/tool/kratos/main.go:64:45: cannot use ctx.Args() (type cli.Args) as type []string in argument to installAndRun
github.com/bilibili/kratos/tool/kratos/run.go:19:16: cannot use c.Args() (type cli.Args) as type []string in append
github.com/bilibili/kratos/tool/kratos/tool.go:74:41: cannot slice c.Args() (type cli.Args)

why


Green screen when didn't run ALVR first in quest

Description

After running SteamVR in ALVR first, turning on Quest 2 and running ALVR keeps the green screen.
No error messages and logs.
This bug occurs both on Windows and Linux.
General Troubleshooting

[x] I carefully followed the instructions in the README and successfully completed the setup wizard
[x] I read the ALVR Wikis here and here

Environment
Hardware
CPU: Ryzen 7 5800H
GPU: Radeon RX 5600M
Installation
ALVR Version: v20.0.0-dev12+nightly.2023.05.09
Please don't tell me it's not nightly up to date.
This's an old bug, and many issues have become stale.
SteamVR Version: 1.25.8
Install Type:

[x] Packaged (exe, deb, rpm, etc)
[ ] Portable (zip)
[ ] Source

OS Name and Version : Windows 11, Ubuntu 18.04.2, Ubuntu 22.04, Ubuntu 22.10

No. I haven't seen this issue happen since v20.

我在连接时也出现了类似问题


A libcurl function was given a bad argument

Describe the bug, including details regarding any error messages, version, and platform.
We use pyarrow to read data from S3 and sometimes we get the following error:
File "/usr/local/lib/python3.10/dist-packages/{org}/store/storage.py", line 794, in _load_partition
    table = ds.dataset(
  File "pyarrow/_dataset.pyx", line 369, in pyarrow._dataset.Dataset.to_table
  File "pyarrow/_dataset.pyx", line 2818, in pyarrow._dataset.Scanner.to_table
  File "pyarrow/error.pxi", line 144, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow/error.pxi", line 115, in pyarrow.lib.check_status
OSError: AWS Error NETWORK_CONNECTION during GetObject operation: curlCode: 43, A libcurl function was given a bad argument

We were trying to find the reason why it happens, but it is very random. Can you help to understand where actually the problem with libcurl can be?
Component(s)
Python

We don't use curl directly, only indirectly through aws-cpp-sdk. This is going to be hard to debug without some way to reliably reproduce.
What version of pyarrow are you using? What OS?

pyarrow=10.0.1
os: ubuntu:20.04

I did some basic research on the error and didn't find much.  The only thing I could see that might cause this is if there is an incompatibility between the S3 SDK and the curl versions (e.g. if the S3 SDK was developed / compiled against one version and linked / run with another version).
How are you obtaining pyarrow?  Is it from conda, pip, or a build from source?  Can you use ldd to check which library versions it is linking against?  For example, I use conda so I run this:
(arrow-release-11) pace@pace-desktop:~$ ldd ~/miniconda3/envs/arrow-release-10/lib/python3.11/site-packages/pyarrow/libarrow_python.so.1000.1.0
...
	libcurl.so.4 => /home/pace/miniconda3/envs/arrow-release-10/lib/python3.11/site-packages/pyarrow/../../../././libcurl.so.4 (0x00007f3ffa8ac000)
...
	libaws-c-s3.so.0unstable => /home/pace/miniconda3/envs/arrow-release-10/lib/python3.11/site-packages/pyarrow/../../.././././libaws-c-s3.so.0unstable (0x00007f3ffa64c000)

I install from pip. I don't see libaws-c-s3.so:

Ah, I think, if you installed from pip, everything is statically linked.  Which I suppose rules out a version incompatibility.
In that case I'm afraid I'm at a bit of a loss on where to proceed next.  If it could be reproduced regularly we might try and build with a debug version of curl and break at the point where that error is being generated to figure out what exactly is invalid.

We're facing the same issue - we see AWS Error NETWORK_CONNECTION during HeadObject operation: curlCode: 43 show up transiently, and it's pretty hard to reproduce - the only thing that seems to be triggering it more frequently is a higher-latency network connection to S3, so our suspicion is that something at a lower layer is not handling higher latency properly (cc @westonpace if you may have any pointers or additional debugging tips).
@vdytyniak-exos did you ever root cause this?


Add /titancodes short url

@EthanThatOneKid gitcord's PR workflow seems to be broken. Can you check on that?

I'll merge this in the meantime, since it doesn't really impact the PR itself.


Error: Unable to reach Apple Software Update server, trying again in 3600 seconds.

We are currently rolling out the latest rsr for 13.4.1 and I am seeing a fair number of systems reporting an error that they cannot reach the update server.
When I dig into the super.log super sees that the update is available, downloads it, then restarts the software update daemons,  then fails
Below is the excerpt that I am referencing.
I looked in the config options but do not see anything to prevent the script from restarting the daemon before continuing.
Any ideas?
I immediately run a softwareupdate -l and the succeeds.
Fri Jul 21 13:52:30 XLTJ2KKQP9F2P super[47386]: Verbose Mode: Function downloadMacOSSoftwareUpdate: workflowCompletePERCENT is: 8
Fri Jul 21 13:52:30 XLTJ2KKQP9F2P super[47386]: Verbose Mode: Function downloadMacOSSoftwareUpdate: workflowCompletePERCENT is: 9
Fri Jul 21 13:52:30 XLTJ2KKQP9F2P super[47386]: Verbose Mode: Function downloadMacOSSoftwareUpdate: workflowCompletePERCENT is: 100
Fri Jul 21 13:52:30 XLTJ2KKQP9F2P super[47386]: Not Logged: macOS Security Response 13.4.1 (c) download progress: 100%
Fri Jul 21 13:52:30 XLTJ2KKQP9F2P super[47386]: softwareupdate: macOS Security Response 13.4.1 (c) download complete, now preparing...
Fri Jul 21 13:52:30 XLTJ2KKQP9F2P super[47386]: Status: Restarting various softwareupdate daemon processes...
Fri Jul 21 13:52:35 XLTJ2KKQP9F2P super[47386]: Error: Unable to reach Apple Software Update server, trying again in 3600 seconds.
Fri Jul 21 13:52:35 XLTJ2KKQP9F2P super[47386]: Status: Removing previous LaunchDaemon com.macjutsu.super.plist.
Fri Jul 21 13:52:36 XLTJ2KKQP9F2P super[47386]: Verbose Mode: Function makeLaunchDaemonCalendar: deferSECONDS is: 3600

A few things:

Check the asu.log... as noted earlier in the super.log and documented here: https://github.com/Macjutsu/super/wiki/Troubleshooting#understanding-sub-process-logs
Just because softwareupdate can return a list (which is often just a local cache) doesn't mean it can download and prepare an update/upgrade.
Anytime super detects an error it always bounces softwareupdated... again check the asu.log for the specific error.

I am seeing similar behavior - when I check the log I see the following build compatibility error.  Expected with 13.4.1 but not with 13.4.1c (or so I thought).
Fri Jul 21 09:08:09 LAX-CSO-MBP super[34019]: **** S.U.P.E.R.M.A.N. 3.0b12 DOWNLOAD macOS Security Response 13.4.1 (c) SOFTWAREUPDATE START ****
Software Update Tool

Finding available software
Downloading macOS Security Response 13.4.1 (c)

Downloading: 0.10%
Downloading: 1.00%
Downloading: 1.90%
Downloading: 3.00%
Downloading: 3.90%
Downloading: 4.00%
Fri Jul 21 09:08:20 LAX-CSO-MBP super[34019]: **** TIMESTAMP ****

Downloading: 6.90%
Downloading: 7.00%
Downloading: 7.00%
Downloading: 7.00%
Downloading: 7.00%
Downloading: 8.90%
Downloading: 9.00%
Downloading: 100.00%
Failed to download & prepare update: Error Domain=SUOSUErrorDomain Code=201 "The base build is not compatible for this install method." UserInfo={NSLocalizedRecoverySuggestion=An error occurred while downloading the selected updates. Please check your internet connection and try again., NSLocalizedDescription=The base build is not compatible for this install method., NSUnderlyingError=0x6000036c89c0 {Error Domain=com.apple.BuildInfo.preflight.error Code=12 "The base build is not compatible for this install method." UserInfo={BIPreflightAlternateInstallerRecommended=true, NSLocalizedFailureReason=The base build is not compatible for this install method., NSLocalizedDescription=The base build is not compatible for this install method.}}}

Fri Jul 21 09:08:24 MacBook super[34019]: **** TIMESTAMP ****

Fri Jul 21 09:08:24 MacBook super[34019]: **** S.U.P.E.R.M.A.N. 3.0b12 DOWNLOAD SOFTWAREUPDATE FAILED ****

Fri Jul 21 09:08:29 MacBook super[34019]: Error: Unable to reach Apple Software Update server, trying again in 120 seconds.

Any line in the asu.log that doesn't contain the word "super" is generated directly by the built-in macOS softwareupdate process. In other words, that "Failed to download error..." is generated by softwareupdate and is not an issue with super itself.
super can't "fix" Apple's software update service errors... all it can do is try again later.

Please try to replicate in https://github.com/Macjutsu/super/releases/tag/v4.0.0-rc1.
If you can't replicate this by the release of v4.0.0 later this week, I'll be closing this issue.

https://github.com/Macjutsu/super/releases/tag/v4.0.0


Apply styleguide to mobile services

@david-martin
Applying style guide to mobile service

stateful/stateless components
Use services
one way binding
removal of scope unless specifically required

@sedroche We can merge this after a rebase.


Lazy Validation

Removing the init event on the internal _validate function would allow validations to be deferred till when the validate method is called the first time (i.e. till validations are forced), or till a validated property's value is changed. This, I think, would work better with forms, much like what we get with jQuery validations.
That is,
_validate: function() {
...
}.on('init'),
would become this:
_validate: function() {
...
},
To go a little further though, I think it would be best if the developer is responsible for kicking off the validations at his/her convenience, and not the plugin doing this automatically after initialization or when a validated property's value changes.
Anyone thinks this too?

I've been using the following mixin for 2 years now and it works like a charm.
The only thing is to use fieldErrors instead of errors and you're good to go!
import Ember from 'ember';
import EmberValidations from 'ember-validations';
import Errors from 'ember-validations/errors';

const { computed } = Ember;

export default Ember.Mixin.create(EmberValidations, {

  _hasValidated: false,

  fieldErrors: computed('_hasValidated', function() {
    return this.get('_hasValidated') ? this.get('errors') : Errors.create({});
  }),

  validate: function () {
    this.set('_hasValidated', true);
    return this._super.apply(this, arguments);
  }
});

Hope it helps, cheers!

A really simple way to get lazy validation is:
actions: {
  update() {
    this.validate()
      .then(() => {
        // no validation errors
      })
      .catch(validationErrors => this.setProperties({validationErrors}));
  }
}

and then use validationErrors in place of the usual errors


fix: add disk names

Description

The bug only exists on windows because of hard disk partition.
The parent of root disk will be This PC. Go to 'This PC', it will show all existing disk names.
Note that this is a corner case, Path module does not recognize 'This PC' as a valid path.

Task Item
Closes #2257
Screenshots

Looks way better now.

@liweitian please address conflicts

@liweitian please address conflicts

done


Lidar calibration with VLP-16

Hello,
I have only a vlp-16, can I still use the calibration tool?
Thanks,

Sorry, in current version (Apollo 2.0) we only support the Velodyne HDL-64 calibration.
We now plan to update the LiDAR calibration in a few months when it should support VLP-16.

Are there any updates regarding the VLP-16 support?


FastAPI usage example

Hi Kenny,
I was going through your discussion under Discussions section "How best to handle sessions behind web API #26". Do you have any example/ sample code / Link to guide me how to use FastAPIs with Atomic Agents? It will help me to complete my MVP.
Regards,
Gaurav

Not right now, sorry, but I'll try to add an example of this in a while... It really just boils down to dumping and loading the memory as discussed in https://github.com/BrainBlend-AI/atomic-agents/discussions/26


fix: empty query response on page load issue fixed

Description
When we bind a successfully running query to a widget, the query gets executed on page load, so in such a case, we were able to see the query in the widget, but when visiting query editor, response tab is empty. This PR fixes that issue.

Root Cause:
In order to see the response in the response tab, we need to have action config, execute API response and responseDisplayFormat to be present. responseDisplayFormat denotes whether to show response in Table, Json or Raw format.
This responseDisplayFormat gets set in setDefaultActionDisplayFormat method. This property is set on action config object itself. This method is called from execute executePluginActionSaga and executePluginActionSaga is called from executePageLoadAction, so the flow of actions looks as below:

executePageLoadAction
- executePluginActionSaga
- setDefaultActionDisplayFormat

Once the responseDisplayFormat was set, executePageLoadAction was again resetting the action config object in the redux store, thus removing this responseDisplayFormat property and hence empty response tab.
Note: This bug is not a regression, it has existed from a long time.
PR fixes following issue(s)
Fixes #28287
Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Bug fix (non-breaking change which fixes an issue)

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[x] Manual
[ ] JUnit
[ ] Jest
[x] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test

/build-deploy-preview

Tested this PR and LGTM

/ok-to-test


API level 31 - Need android.permission.BLUETOOTH_CONNECT permission

After update our app's target to API level 31, we get a crash from OpenTok SDK because of missing BLUETOOTH_CONNECT
Fatal Exception: java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@70b53eb3: HeadsetService
       at android.os.Parcel.createExceptionOrNull(Parcel.java:2425)
       at android.os.Parcel.createException(Parcel.java:2409)
       at android.os.Parcel.readException(Parcel.java:2392)
       at android.os.Parcel.readException(Parcel.java:2334)
       at android.bluetooth.IBluetoothHeadset$Stub$Proxy.getConnectedDevicesWithAttribution(IBluetoothHeadset.java:1040)
       at android.bluetooth.BluetoothHeadset.getConnectedDevices(BluetoothHeadset.java:549)
       at com.opentok.android.DefaultAudioDevice$6.onServiceConnected(SourceFile:22)
       at android.bluetooth.BluetoothHeadset$3.handleMessage(BluetoothHeadset.java:1422)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7839)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

This is because the recent changes in API level 31 as described here: https://developer.android.com/guide/topics/connectivity/bluetooth/permissions
We expect OpenTok SDK handles the case where android.permission.BLUETOOTH_CONNECT is not granted by user instead of crashes

@baole it was fixed in version 2.21.5
https://tokbox.com/developer/sdks/android/release-notes.html

@DanielGalarza
Is there a particular reason that the BLUETOOTH_CONNECT permission is required, even there is no bluetooth device is connected? In the UX perspective, it's really strange to ask the permission for devices that doesn't have a bluetooth headset.

@baole, the permissions were added because they're mandatory for Android 12+.  We had to include them in our SDK to provide better bluetooth experience.
Hope that helps.

@v-kpheng
We understand Android requires this, but the issue was opened because the OpenTok SDK could/should function even if this permission is not granted. Let them users have bad bluetooth experience if the permission is not granted.
Also, it's a little bit confusing that the documentation says this permission is required, but if the user does not grant it (at runtime) I can still have a normal video call. Could you clearly say in the documentation when should we absolutely request this permission to avoid error? From the start even if no bluetooth device is used?


upgrade chart versions

change  to version change jenkins-x/environment-controller to version 0.0.174
change jenkins-x/jx-build-templates to version 0.0.842
change jenkins-x/lighthouse to version 0.0.54

/test boot-lh-bs


Issue/119 native api

My bad I'm not sure what I did to trip the few issues I impacted today. Sorry gang.


orient function robustness issue

I found that line https://github.com/delfrrr/delaunator-cpp/blob/c1521f6e879881232dcddabd6c2ddb6187e8714b/include/delaunator.hpp#L76 can cause differences between debug and release mode in some edge cases. In debug mode the result is exactly zero, which means the line evaluates to false, but in release mode the result is a very small negative number.
This can be prevented by using return (qy - py) * (rx - qx) - (qx - px) * (ry - qy) < -std::numeric_limits<double>::epsilon(); instead, which seems to solve the problem in my case (the value is on the order of -1e-21). I am curious to know if this is a good solution in general and I am happy to make a pull request out of it if desired.
For reference: https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/479

Dealt with here: https://github.com/abellgithub/delaunator-cpp


2-arity Goal argument for iterate/3?

During discussion with @eazar001 on #15, I realized that our current API for iterate/3 is perhaps more complicated than it should be.  The Goal argument has arity 3.  That allows one to make a distinction between state values and returned values.  However, in most use cases the state value and the returned value are identical.
If Goal had arity 2, we'd get simpler code.  For example:
integers(Z) :- iterate(succ,1,Z). % Z = [1,2,3,...]
repeat(X,Xs) :- iterate(=,X,Xs). % Xs = [X,X,X,...]

This seems more natural than our current API which requires an auxiliary predicate in each case.
For what it's worth, using Goal with arity 2 more closely emulates the successful iterate :: (a -> a) -> a -> [a] function from Haskell's Prelude.

I agree that having :Goal  carry arity 2 makes things visually a lot easier.

I'm having second thoughts about this.  We now have three examples of a 3-arity Goal being very useful:

infinite Fibonacci
original repeat/2
cycle/2

In all three cases, the state that's being iterated is different than the values being produced.  I'd hate to lose this powerful ability unless we have to.
Maybe we could use reflection to get the 2-arity behavior when it's wanted.  Something like:
iterate(Module:Goal,State,List) :-
    functor(Goal,Name,Arity),
    ( N is Arity+3, current_predicate(Module:Name/N) ->
        iterate_(Goal,State,List)
    ; N is Arity+2, current_predicate(Module:Name/N) ->
        iterate_(iterate_wrapper(Goal),State,List)
    ; otherwise ->
        throw(iterate_goal_bad_arity)
    ).

iterate_wrapper(Goal,X0,X,X) :-
    call(Goal,X0,X).

Incidentally, as I was working a little bit more with your iterate/3, I also started noticing just how powerful it was as well. Although your proposition seems like a good compromise, nonetheless.


pod web POD ERR method "findByFullPath" does not exist

On a fresh Ubuntu 16.04 Digital Ocean VPS, after installing Node 6.x
~$ npm install -g pod
~$ pod
Hello! It seems it's your first time running pod on this machine.
Please specify a directory for pod to put stuff in.
- Make sure your account has full access to that directory.
- You can use relative paths (resolved against your cwd).
path: pod
target path /root/pod doesn't exist. create it? (y/N)y
...
~$ pod web
POD ERR method "findByFullPath" does not exist

Same issue here. Same server setup.

Update minimatch
That fixed my problem :)

I'm getting the same thing when doing pod web start


Download count looks wrong on "Manage packages" page

https://twitter.com/trailmax/status/903051635592765449

This should be TotalDownloadCount:
https://github.com/NuGet/NuGetGallery/blob/e72e08ab541b0b47fafc7f6e1139644258b52004/src/NuGetGallery/Views/Users/_UserPackagesList.cshtml#L5


opt set datalake profile level as 1

Proposed changes
Follow https://github.com/apache/doris/pull/25491, only the profile marked as 1 will be shown in simplified profile.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


added sample for code first grpc and documentation update

Fixes https://github.com/dotnet/AspNetCore.Docs/issues/21965

@Rick-Anderson, please review

@fiyazbinhasan ... There looks to be two folders in use: sample and snapshot_sample, which is why the build is breaking.
While you're fixing that, could you use our pattern for maintaining samples by version? We use a samples folder, then a version folder (5.x in this case), and then the project folder (GrpcGreeter in this case). That way, when it comes time to have a 6.x sample, we create a 6.x folder, copy the project folder into it, update the new project for 6.x, and add versioned links/sections to the topic. Later when 5.x goes out of support, we delete the whole /5.x folder and kill the topic's 5.x content. It's easy for us to maintained versioned samples.
Place the sample at the path ...
aspnetcore/grpc/code-first/samples/5.x/GrpcGreeter/

... and then update the links in the topic to point there.
One more tiny thing ... not that it's all that critical, but ... GH prefers that files end with a line feed on the last line of files. That's why you see those little red markers at the ends of the code files here on the diff. Can you provide a final CR/LF on those last lines? It doesn't really break anything if they aren't fixed, but it's our standard practice to make the 🙏 GH server gods 🙏 happy 😄.

Thanks @guardrex. I'll incorporate those changes soon. Better make the GH server gods happy 😄

@guardrex I wasn't sure about the folders. So, I removed the snapshot_sample and used region directly in the source code for snippet usage. Let me know if I missed anything. thanks

Thanks. AFAICT, this looks good. The build is happy now. Regions look fine. I'll put the internal doc link here for RA to inspect when he gets online ...
https://review.docs.microsoft.com/en-us/aspnet/core/grpc/code-first?view=aspnetcore-3.0&branch=pr-en-us-22128

Thanks @fiyazbinhasan! 🚀


feat: add support for v3 protocol

:tada: This PR is included in version 0.11.0-next.36 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


fix(replace): More compact diff in dry-run

Using difference, we show the entire file, with a character
highlighting adds/reoves and colored output.  For CHANGELOG.md and
lib.rs, these can be quite large, requiring scrolling around to double
check the content.
This switches us to reporting a unified diff, giving the users only what
changed at the cost of

No coloring.  Could be added in the future
No context.  The user sees the line number for what changed but thats
it.

From a run of cargo release with unified diffs:
[2020-11-24T14:01:42Z DEBUG] Substituting values for /Users/edpage/src/personal/assert_cmd/CHANGELOG.md
[2020-11-24T14:01:42Z TRACE] Change:
    --- CHANGELOG.md    original
    +++ CHANGELOG.md    replaced
    @@ -8,0 +9 @@
    +## [1.0.3] - 2020-11-24
    @@ -220,2 +221,3 @@
    -[Unreleased]: https://github.com/assert-rs/predicates-rs/compare/v1.0.2...HEAD
    -[1.0.2]: https://github.com/assert-rs/assert_cmd/compare/v1.0.1...v1.0.2
    +[Unreleased]: https://github.com/assert-rs/predicates-rs/compare/v1.0.3...HEAD
    +[1.0.3]: https://github.com/assert-rs/predicates-rs/compare/v1.0.2...v1.0.3
    +[1.0.2]: https://github.com/assert-rs/assert_cmd/compare/v1.0.1...v1.0.2

[2020-11-24T14:01:42Z DEBUG] Substituting values for /Users/edpage/src/personal/assert_cmd/README.md
[2020-11-24T14:01:42Z TRACE] Change:
    --- README.md       original
    +++ README.md       replaced
    @@ -20 +20 @@
    -assert_cmd = "1.0.2"
    +assert_cmd = "1.0.3"

[2020-11-24T14:01:42Z DEBUG] Substituting values for /Users/edpage/src/personal/assert_cmd/src/lib.rs
[2020-11-24T14:01:42Z TRACE] Change:
    --- src/lib.rs      original
    +++ src/lib.rs      replaced
    @@ -9 +9 @@
    -//! assert_cmd = "1.0.2"
    +//! assert_cmd = "1.0.3"

I'm mixed on this but thought I'd post it in case others had stronger feelings, one way or the other.

git diff seems to have a relatively perfect output. But since we don't actually change the file with dry-run, it doesn't work with git diff


Collision Meshes/Objects Don't Collide With Camera

Current Behavior
Collision meshes and objects appear to be exported, but cannot be interacted with in sim. Collision objects and meshes show up correctly when 'Simple Shape Collisions' and 'Mesh Collisions' are checked in debug, but the camera will not collide with anything including the WINDSHIELD_COLLISION mesh. This means that the camera in the cockpit can leave the cockpit and move through seats/panel/etc.
Perhaps collision meshes/objects are only for scenery and there is a different method to provide camera-object collisions?
Expected Behavior
WINDSHIELD_COLLISION mesh should prevent the camera from leaving the cockpit, and other collision meshes should prevent the camera from passing through the collision boundary.
Steps To Reproduce
Create a cockpit mesh.
Create a WINDSHIELD_COLLISION mesh with collision material that is type Invisible with Collision Mesh checked.
Create an empty cube with a 3D object as it's parent, and set Box Collision Gizmo is MSFS Collision Parameters.
Export the model to GLTF and load in sim.
Notice that the collision mesh and box show up in game when the debug options are checked, but when you right click and move the camera, it can pass through both the WINDSHIELD_COLLISION and the Box Collision Gizmo.
Environment
- Blender:3.1.2
- glTF-Blender-IO-MSFS:1.1.6 and latest main branch as of 2022-06-07

Anything else?
No response

Hi,
Can you send us a sample .blend please ?

Cockpit-Stripped.zip
Stripped cockpit with Box Collision Gizmo on each seat, Panel and Windshield collisions. All show in MSFS, none interact with the camera and it can fly through the collision boxes, panel, and windshield collision.


Roadmap to DSA

Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
Description
(Write your answer here.)
Checklist

[X] I've read the contribution guidelines.
[X] I've checked the issue list before deciding what to submit.
[X] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#1655
(Write your answer here.)

@shraddhavp, please review this PR and let me know if any changes required.

@shraddhavp, please review this PR and let me know if any changes required.

@shraddhavp, please review this PR.

@shraddhavp, please review this PR.

This isn't a Roadmap. It is just a collection of resources.
Please get in touch with me for discussion over the content. I am closing the PR for now.

This isn't a Roadmap. It is just a collection of resources.
Please get in touch with me for discussion over the content. I am closing the PR for now.


Add support for account migration to Liberapay

Per https://github.com/gratipay/inside.gratipay.com/issues/1196#issuecomment-336618468. As of now this PR only adds hidden infrastructure, it doesn't touch the UI. I don't think I should be the one who writes the page explaining Gratipay's shutdown.
The new migration endpoint uses normal participant authentication as well as a shared secret which provides proof that the request is coming from Liberapay.

!m @Changaco

The Liberapay side still needs some work on the UI. I'll finish it tomorrow.

Here it is: https://github.com/liberapay/liberapay.com/pull/773

This is ready for review and merge, as is the Liberapay side.

I'm still getting
400
Bad Request
Missing key: u'secret'

at /about/me/migrate. Running both Gratipay (this branch) and Liberapay (master) locally on default ports.

You have to add ?secret=fake to the URL. (You don't actually need Liberapay running for this part.)

Okay, so that gives me a JSON of my various account data.

Does the form template in migrate.html get used?

@mattbk No. As I said in the original comment this PR is only hidden infrastructure.

I've deployed account migration on Liberapay, to whom and how should I send the real shared secret for the LIBERAPAY_SECRET environment variable?

Thanks @Changaco for your patience.

I've deployed account migration on Liberapay, to whom and how should I send the real shared secret for the LIBERAPAY_SECRET environment variable?

I guess that would be me. Is email secure enough, do you think?

Does the form template in migrate.html get used?

@mattbk Once this PR is landed we can utilize that template on the homepage in #4679.

I guess that would be me. Is email secure enough, do you think?

Yes. I've just sent it.

Before showing off the migration button it would be a good idea to test that it actually works, all the way to charging a card in USD if possible. Any volunteers, or should I do it?

I did a test run... Looks like I hit a 500.

I like the clear explanation of what can/cannot be imported. :+1:

I did a test run... Looks like I hit a 500.

Should be fixed now.


Replaces '-' on non-printable with unicode replacement character '�'

I was confused why I had so many different hyphen characters in my code.  I actually looked up the code points before I realized that hyphen was the non-printable display character.
I think it would be clearer to use � the unicode replacement character than a hyphen to represent non-printables.
old

new

The replacement character has a very specific meaning and this is not it. In any case, my freq is an homage to a private program of Ken Thompson's and for nostalgic reasons I like it as it is.

Fair enough.
On Wed, Dec 2, 2015 at 10:45 AM, Rob Pike<EMAIL_ADDRESS>wrote:

Closed #2 https://github.com/robpike/freq/pull/2.
—
Reply to this email directly or view it on GitHub
https://github.com/robpike/freq/pull/2#event-480406414.


loginWidget.launch does not appear after Android 32 to 34 upgrade

On Android 32 API, launch method nicely brings up the UI.
However, after upgrading the Android 34, the UI never appears and I appear to get returned through
 public void onAuthorizationCanceled()

instead. Any clues?

NVM -  although advice welcomed as NOT having Chrome initiated caused this.  Once I manually launched Chrome, the launch window appeared.


Prevent overwriting the output files

Imagine you accidentally create two tags blog and Blog, and let Lume generate _site/tags/blog/index.html and _site/tags/Blog/index.html respectively (this is exactly what I did).
Case-insensitive filesystems regard those two files as the same, allowing Lume to overwrite one with the other.
This PR warns user that there already exist a generated file.

Note that I used the experimental api Deno.flock in order to make it sure that no other asynchronous functions are writing to the file while one function reads the file stat and then writes to the file.

OMG I didn't realise that Lume does overwrite the current file in _site when in serve mode.
How can we allow overwriting under that situation?

Ovewriting output files is the intended behavior because on serve or watch mode it is needed to ovewrite the changed pages. I had thought about adding a warning on duplicated ouput files in the past but didn't implement it. The way to implement it could be something like this:
const urls = new Set();

for (const page of pages) {
    const path = page.dest.path + page.dest.ext;
    const id = path.toLowerCase();

    if (urls.has(id)) {
        console.log(`Duplicated page ${path}`);
    }
    urls.add(path);
}

Note that Writer class has already a #hashes private map to prevent write unchanged pages in the filesystem https://github.com/lumeland/lume/blob/master/core/writer.ts#L23.
Maybe we could reuse this and add the duplicated page check.

Pathname is case sensitive. If your file system allows _site/tags/Blog and _site/tags/blog coexist, therefore https://example.com/tags/blog and https://example.com/tags/Blog can be served at the same time.
In my understanding there is no API in Deno to get file system information, so I don't think it's possible to detect this type of duplication before actually saving them.
How about defining a property in Page object which represents the page is already built or not yet?

Hmm? I wrote something strange. It does not work. Please forget about the suggestion  at the end of my last message🤔

We can pool the file inode number we actually wrote to. This easily enables us to detect the duplication. But this is only possible on Unix-like system.

In order to make the site working consistently on any platform, I'd consider duplication detection case insensitive, meaning that /tags/blog/ and /tags/Blogs/ are the same page (even in unix-like system). If you see the code of the example above, the page id is always camelcase.
I also think that this detection should only show a warning, but the output file should be overwritten, so it's up to the user to fix it or not.

FYI, eleventy has the same feature: https://github.com/11ty/eleventy/issues/562

I meant it's difficult to support case sensitive output while prohibiting it in case sensitive file systems. It's not a problem if you warn duplication detected in case insensitively for all file systems.
I'll modify the commit. Part of this PR is better to be applied to fix the problem of the output file being mixture of duplicated two input content. This happens because writing to _site is done in race condition without locking the file.

Here it is!
You will see _site/tags/Blog/index.html as a mixture of the html for blog and Blog. This is because Deno.writeTextFile or Deno.writeFile can process the same file at the same time.
This commit will lock the file before truncate to make sure that writing out won't happen concurrently.

Nice, thank you!
I'll implement also a warning to show in these cases.


Will it move to go1.5?

Hello there,
Thank you all for the amazing works!
As you know, go1.5 rc1 come out today, so is there any chance to move these patches to go1.5 branch?
UPDATE: I forked the offical golang/go repo then cherry-picked the cloudflare commits to it here, https://github.com/phuslu/go
but maintain a homemade repo is nightmare, hope that cloudflare/go is possible to rebase to go1.5 in near future.
Regards,
Phus

:+1:

Master is now based on 1.5.2


GIF Support for Images

Sanity allows to upload GIFs which are great video alternatives for blogs.
Sanitypress does not seem to support this file format.
Is it possible to fix this?

@alioftech Do you have a sample URL for an uploaded GIF?
I am not able to replicate on my end... I've uploaded a .gif and seems to be displaying. I did see it does take a second to load however:

no image options
width=400
width=400&auto=format

https://cdn.sanity.io/images/elyfelq1/production/49571520820ded308be2013431ad900cedf41cfc-350x197.gif
https://cdn.sanity.io/images/elyfelq1/production/49571520820ded308be2013431ad900cedf41cfc-350x197.gif?w=400
https://cdn.sanity.io/images/elyfelq1/production/49571520820ded308be2013431ad900cedf41cfc-350x197.gif?w=400&auto=format

I’m using the hero section. There it does not load

@alioftech I've test all Hero modules and browsers (macOS and Window) and they all show the .gif properly. Can you provide some additional context (eg. OS, website URL—if you are comfortable sharing, etc)


Support internal cross references (in same document with anchor)

anchors like <> produce Exceptions
[ERROR] Failed to execute goal org.sahli.asciidoc.confluence.publisher:asciidoc-confluence-publisher-maven-plugin:0.4.0:publish (default-cli) on project XYZ: Publishing to Confluence failed: Could not convert asciidoc pages: String index out of range: -1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sahli.asciidoc.confluence.publisher:asciidoc-confluence-publisher-maven-plugin:0.4.0:publish (default-cli) on project XYZ: Publishing to Confluence failed
..
Caused by: java.lang.RuntimeException: Could not convert asciidoc pages
at org.sahli.asciidoc.confluence.publisher.converter.AsciidocConfluenceConverter.convert(AsciidocConfluenceConverter.java:91)
at org.sahli.asciidoc.confluence.publisher.maven.plugin.AsciidocConfluencePublisherMojo.execute(AsciidocConfluencePublisherMojo.java:84)
... 21 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1

@kitenco thank you for your comment. Would you mind creating a separate ticket for your bug report? And if you could add a simple example that reproduces the issue (at least the relevant AsciiDoc snippet), that would help us a lot. Thank you!

Would you mind creating a separate ticket for your bug report?

For the record, I think issue #116 covers that.


Update uniform to the latest version.

And swap to localVersionSettings.

Done in https://github.com/CommBank/maestro/pull/496


⚠ Jenkins Plugins Artifactory has degraded performance

In 6278ada, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1335 ms

Resolved: Jenkins Plugins Artifactory performance has improved in deed2da after 19 minutes.


Handle gpf:nop

When producing release code, functions flagged with gpf:nop should be removed. Associated variables should be removed the same way.

Will be part of the release optimization


Add asynchronous request to curl

added CURLOPT_HEADER and CURLOPT_RETURNTRANSFER to false

CURLOPT_HEADER set to false tells that we do not care about the headers sent back by the server
CURLOPT_RETURNTRANSFER set to false tells that we do not care about the response body from the server

Leaving this for later.
Need to investigate further if CURLOPT_RETURNTRANSFER will print the response to stderr


[bug] Links not updated.

Describe the bug
Recently, the Links of the website are updated but links of the buttons are still not.

To Reproduce
No response
Expected Behavior
No response
Screenshot/ Video
No response
Additional context
No response

I would like to work on this issue.

Issue has been resolved
Please merge this

Hi @AnuragThePathak  I have solved the issue
Please reply when will you merge my PR


Campaigns property doesn't get set for some users

Our CampaignBot mData reported a 500 error when @justkika (56ef3f40469c6444628b6688) triggered by texting into Don't Be A Sucker (id 46).
Looking into the db, there's no property set for user 56ef3f40469c6444628b6688's campaigns property for campaign 46, and the current_campaign is still set to 2070. Confirmed Campaign 46 is active.

There's no Signup document for Campaign 46 in the signups collection:

24 hours later and it worked for @justkika -- https://thor.dosomething.org/signup/2309228

One difference is we refreshed the Thor DB.. but nothing should have changed there.
I'm considering dropping the use of the campaigns map property completely and just using Mongo find to find the Signup for Campaign/User/Run combination to potentially reduce # of places for errors.

@kerigoff gets a 500 back every time she texts in a Signup keyword.
NS ID: 577f0cd8469c64652b8b4627
MC Profile ID: 40490431


fix: set connections and memory logs to debug level

The memory usage and number of connections logs are output every 3 seconds in my server which end up flooding the journal. This might address the issue reported on #4
I propose setting these to debug level.

Not sure it's necessary, just change the STATS_REFRESH_SECONDS to 86400 or something
https://github.com/dgtlmoon/sockpuppetbrowser/blob/c020397cce7c966c2544cfb00515534e6a98effa/backend/server.py#L27


SVGs in pagination buttons causing Javascript error in IE/Edge

Bug description:
In Microsoft browsers, using an svg inside an element that calls selectPage() in the pagination control causes the following error when the svg is clicked
TypeError: Object doesn't support property or method 'blur'
The reson for this is that SVGs don't have a blur() function in microsoft browsers and the following lines of code in the pagination directive are calling it....
233:    if (evt && evt.target) {
234:        evt.target.blur();
235:    }
line 233 should probably check that evt.target has a blur function before calling it?
I'm sorry, I would create a pull request but my Github skills are shockingly bad and it's very late here.
Link to minimally-working plunker that reproduces the issue:
Hopefully this is too simple to require plunkr
Version of Angular, UIBS, and Bootstrap
Angular: 1.5.7
UIBS: 1.3.2
Bootstrap: n/a

Not sure how I feel about this.  I'm going to need to talk to the other team members first.

This would require checking for whether the element is an svg element and cache the presence of SVGElement.prototype.blur...this seems like a case where IE/Edge is in the wrong.
I am not sure how I feel about this either.
What were you using SVG for, the arrows?

Hi Guys,
Yes we use SVG for all of our icons and we were using an arrow icon on the next button.
I don't think you would need to check for SVG specifically, I think you just need to check to see whether event.target has a blur function before calling the blur function. Maybe like this....
if (evt && evt.target && evt.target.prototype.blur !== 'undefined') {
    evt.target.blur();
}

I actually solved this in my application without needing angular-ui to change, by doing this in my main angular file...
if (typeof SVGElement.prototype.blur == 'undefined') {
    SVGElement.prototype.blur = function(){};
}

I'm ok with that as a workaround as opposed to putting something in our library.  Tbh, I don't recall anyone mentioning this issue before.
I think we can safely close this.


Update trip cache logic

TL;DR
Improved journey caching logic in TimeTableViewModel to better handle started and new trips.
What changed?

Refactored the updateTripsCache method to handle journey filtering and sorting more efficiently
Added chronological sorting for started journeys
Implemented clearer filtering logic for removing ended journeys
Enhanced logging to show both started and new trips with formatted times
Changed cache update strategy to clear and rebuild instead of incremental updates

How to test?

Launch the trip planner
Monitor started journeys and verify they appear in chronological order
Verify that ended journeys (10+ minutes past destination time) are removed
Confirm that started journeys are limited to the maximum threshold
Check logs to ensure proper formatting of trip times in AEST

Why make this change?
The previous caching implementation had potential issues with journey ordering and cleanup. This refactor provides better organization of trips, more efficient cache management, and clearer logging for debugging purposes.

#440  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 8, 5:16 AM EST: A user merged this pull request with Graphite.


CUDA out of memory

Hello, would you like to ask if it is normal for me to display insufficient CUDA memory when I use two a6000 graphics cards with 48G each memory in the third step of training?  Could you please tell me about your graphics memory usage during training?
In addition, when I used the default Settings in step1, the two graphics cards took up more than 20GB of memory, and step2 took up more than 80GB of memory.
Thanks

Happy to help!
We usually trained our model on one A800 graphics card with 80G memory, and the third stage took up about 76G of memory.
When using n graphics card, the total batch size calculation formula is batch_size * gradient_accumulation * n. If you encountered the issue of "CUDA out of memory", you could divide batch_size by n, or  decrease batch_size and increase gradient_accumulation, or use the setting of the fast version, which decreases batch_size and increase learning_rate.


fixup go imports from org move

also maybe future travis and future report card.

I don't know why this doesn't build on travis.
https://travis-ci.org/MHBauer/servicebroker
Caching?

@caniszczyk @ab415 not sure but I think an owner of this org/project might need to do something to re-enable/auth travis.  But I may not fully grok the flow/integration.

LGTM


Angular Material select key press doesn't scroll to option the first time

Bug:
Angular Material select doesn't scroll to the relevant option on pressing a key the first time. It does so the second time.
What is the expected behavior?
When I press the first character of a value in a long list of dropdown options, it should scroll down the option whose first character matches the pressed character
What is the current behavior?
The first time a key is pressed, it doesn't navigate to the option whose first character matches the pressed key character.
What are the steps to reproduce?
https://stackblitz.com/edit/material2-select-scroll-problem
In the above StackBlitz, open the dropdown, press 9. See that it doesn't navigate to the last option in the dropdown (although if you scroll down to it yourself, you can see that it's highlighted). Press 9 again. See that it navigates to the last option. It somehow navigates to the last key pressed. Eg if you press 4 next, it will scroll to the option 4 not when 4 is pressed but when next time any key is pressed after 4
What is the use-case or motivation for changing an existing behavior?
Goes against the existing dropdown / select UX and patterns
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular - version 4.4.3 / 4.4.4
Angular material - version 2.0.0-beta.12
Typescript - version 2.3.4
Browser - Google Chrome Version 65.0.3325.181
Is there anything else we should know?
Works correctly in the docs. But probably not for a long list. And the issue is only for the first key press.

You're running a very old version of Material. This issue doesn't appear to be there in the latest one. Here's a fork of your example, running again the latest version.


Global Store only updates view when runs twice.

Describe the bug
In a chat application, I am using a global variable to update the badge of the pending notifications in the main bar, and also in a report view, that is in fact a component.  In the main bar, it keeps in sync, but inside the component, even after using ConnOp and connected successfully with the host page, the only way to have it updated is calling the global store twice. Believe me, I tested with Future.delayed(Duration...)), also added await in all correct places, but the only solution is calling the dispatch twice.
I am Show the code you wrote as completely as possible.
Effect<VisitState> buildEffect() {
  return combineEffects(<Object, Effect<VisitState>>{
    VisitAction.action: _onAction,
    VisitAction.refresh: _onRefresh,
    Lifecycle.initState: _onInit,
    Lifecycle.dispose: _onDispose
  });
}

void _onAction(Action action, Context<VisitState> ctx) {}

/// When HTTP is done, we use a [FutureBuilder] to render the UI
/// to help reading we will use a short name [con]
void _onInit(Action action, Context<VisitState> ctx) async {
  ctx.state.scrollController = ScrollController();
  // see https://stackoverflow.com/questions/49807687/how-to-load-all-dart-dateformat-locale-in-flutter
  await initializeDateFormatting();

  // pooling
  //Timer.periodic(Duration(seconds: 20), (_) => _loadAppointments(action, ctx));
  await _onRefresh(action, ctx);
  //ctx.state.appointments = fakeAppointments();
}

/// Clean resources
void _onDispose(Action action, Context<VisitState> ctx) =>
    ctx.state.scrollController?.dispose();

/// Retrieve [Appointment] list for this user using the JWT as an user
/// identification, so we don't need to send the appUser.id
/// final appUser = GlobalStore.store.getState().user;
void _onRefresh(Action action, Context<VisitState> ctx) async {
  ctx.dispatch(VisitActionCreator.loading(true));
  var  notifCount = await _getPending();
  //GlobalStore.store.dispatch(GlobalActionCreator.setNotificationCount(notifCount));
  //ctx.state.notificationCount = notifCount;
  await Client.rest.getAppointments().then((res) async {
    ctx.state.appointments = res;
    await _setSummary(res, ctx, notifCount);
  }).catchError((Object obj) {
    NetError er = RequestException.handleException(obj);
    ToastMessage.show(er.msg);
  });

  ctx.dispatch(VisitActionCreator.loading(false));
  // TODO: BUG HERE, leave it here twice... ugly, but works
  GlobalStore.store.dispatch(GlobalActionCreator.setNotificationCount(notifCount));
  GlobalStore.store.dispatch(GlobalActionCreator.setNotificationCount(notifCount));
  // var  notifCount2 = await _getPending();
}

/// set summary if we have [Appointment]
Future<void> _setSummary(List<Appointment> appointments, Context<VisitState> ctx, int notifCount) async {
  if (appointments.length == 0) return;
  String doctor = 'Dr. ' + appointments[0].healthcareProfessional.firstName + ' ' +
                           appointments[0].healthcareProfessional.lastName;
  DateTime date = appointments[0].date.add(Duration(days: 1));   // add 1 day [to be correct]
  Duration difference = date.difference(DateTime.now());         // calculates the diff
  // setup summary
  Summary summary = Summary(
      doctor: doctor,
      notificationCount: notifCount,
      remainingDays: difference.inDays.toString()
  );
  ctx.dispatch(SummaryActionCreator.onSetSummary(summary));
  print('sdfsdf'+notifCount.toString());
}

/// get pending converstations. It's ugly to call it again, maybe we could have it
/// in a global variable, or redesign the API
Future<int> _getPending() async {
  int pending;
  await Client.rest.getOnboarding().then((res) {
    pending =  res.pendingConversations;
  }).catchError((Object obj) {
    NetError er = RequestException.handleException(obj);
    ToastMessage.show(er.msg);
  });
  return pending ?? 0;
}

class SummaryComponent extends Component<SummaryState> {
  SummaryComponent()
      : super(
            effect: buildEffect(),
            reducer: buildReducer(),
            shouldUpdate: (oldItem, newItem) {
              return newItem.notificationCount != oldItem.notificationCount ||
                     newItem.user != oldItem.user ||
                     newItem.locale != oldItem.locale;
            },
            view: buildView,
            dependencies: Dependencies<SummaryState>(
                adapter: null,
                slots: <String, Dependent<SummaryState>>{
                })
            );

}

class SummaryState implements Cloneable<SummaryState> {

  // days for the next appointment
  String remainingDays;
  String doctor;

  Locale locale;

  User user;

  SummaryState clone() {
    return SummaryState()
      ..remainingDays = remainingDays
      ..locale = locale
      ..notificationCount = notificationCount
      ..doctor = doctor;
  }

  int notificationCount;
}

class SummaryConnector extends ConnOp<VisitState, SummaryState> {
  @override
  SummaryState get(VisitState state) {
    SummaryState subState = state.summaryState.clone();
    subState.notificationCount = state.notificationCount;
    subState.locale = state.locale;
    // Log.debug('=======================---------->>>>>>>>>>>>>>>');
    // Log.debug(state.locale.toString());
    Log.debug(state.notificationCount.toString());
    return subState;
  }

  @override
  void set(VisitState state, SummaryState subState) {
     // subState.notificationCount = state.notificationCount;
     // subState.locale = state.locale;
     state.summaryState = subState;
  }
}

To Reproduce
have to land in the main view and see that the notificationCount conversation in summary view is null
Expected behavior
notificationCount should appear
Additional context

The version of fish-redux which you are using.
^0.3.4

The information from flutter doctor.

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.22.4, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[!] Android Studio (not installed)
[✓] VS Code (version 1.50.0)
[✓] Connected device (1 available)

I solved, moving the Global dispatch to the
Lifecycle.build

instead of using 'onInit'


Deprecation Warnings For LWRPs

#3603 introduced more regressions. This code is very complex, and it's purpose is to display a deprecation warning. I think we need to reduce our risk here and simply this down. We have 2 proposals here, both involve using the old behavior unless Chef::Config[:treat_deprecation_warnings_as_errors] is true.
Proposal one:
In this case, we do not set Chef::Resource::LwrpName if :treat_deprecation_warnings_as_errors. This will fail hard on any access the Chef::Resource::LwrpName
def self.register_deprecated_lwrp_class(resource_class, class_name)
  if !Chef::Config[:treat_deprecation_warnings_as_errors]
    Chef::Resource.const_set(class_name, resource_class)
  end
end

Proposal two:
We register a class that will fail if initialized when :treat_deprecation_warnings_as_errors is set. There are some cases where this does not work, like my_resource.is_a?(Chef::Resource::LwrpFoo)
class ClassThatFailsIfInitialized
  def initialize
    Chef::Log.deprecation("You cannot access LWRP's through Chef::Resource and Chef::Provider")
  end
end

def self.register_deprecated_lwrp_class(resource_class, class_name)
  if Chef::Config[:treat_deprecation_warnings_as_errors]
    Chef::Resource.const_set(class_name, ClassThatFailsIfInitialized)
  else
    Chef::Resource.const_set(class_name, resource_class)
  end
end

cc @chef/client-maintainers

Option two seems preferable at first glance. :+1: on abandoning deprecation warnings for this, there's just too many edge cases that are very common and are getting broken.

:+1: on option 2 i guess
if we have to do this it kind of scuttles the idea of doing rolling deprecations without major version bumps.

@lamont-granquist I think there's other ways to go forward, like wrapping all LWRP creation in Chef.create_provider(api_level = 1) do; end, the old stuff becomes version 0 and we can detect very easily what version you're on.

:+1: on option 1, for 12.4.1 at least!
The deprecated class is the thing that got us into this problem in the first place; option 2 will get users into weird places where things like is_a? don't work as expected, and don't emit a warning.

https://github.com/chef/chef/pull/3623
https://github.com/chef/chef/pull/3622

I'm also a fan of option 1 as it the most correct. Running both versions through CI

Ah yeah, I guess I'm in 1 then.  Breaking resource.is_a?(Thing) is going to break someone.

yeah, 1 sounds good.

Prefer option 1 as well. I've seen the resource.is_a? pattern in a few places.

closed through #3623


Add tsx to disabled_extensions

Firstly I'd like to say a huge thanks for all your hard work that's gone into this bundle. It's allowing me to pry the legacy assetic service out of our code.
We use Typescript heavily within our React components and as such have a bunch of files with the tsx extension. It'd be great to have this extension enabled for webpack by default so I don't have to define all your existing disabled_extensions and tsx in the config file.

Thanks!


config(tidb): enable blockade for tidb repo

According to the discussion results in：https://internals.tidb.io/t/topic/374/2

/hold

/cc @zhouqiang-cl

/unhold
/merge


Windows issue on writing or reading values

I'm encountering issues each time I interact with Windows flutter_secure_storage.
It seems to be new, maybe related to the last release ?
The returned issue is :
PlatformException(Exception encountered: UNKNOWN_ERROR, delete, null, null)
I've reproduced the issue on several Windows devices.

On windows, it seems that using write with a null value is responsible of this error, as well as using delete when key doesn't exist. I managed to get it work with a wrapper class:
import 'package:flutter_secure_storage/flutter_secure_storage.dart';

/// Stands for Key Value Store. Uses [FlutterSecureStorage] under the hood.
class KVS {
  static const _storage = FlutterSecureStorage();

  /// Stands for Key Value Store. Uses [FlutterSecureStorage] under the hood.
  const KVS._();

  static Future<String?> read({required String key}) async {
    return await _storage.read(key: key);
  }

  static Future<void> write({required String key, required String value}) async {
    return await _storage.write(key: key, value: value);
  }

  static Future<void> delete({required String key}) async {
    if (await containsKey(key: key)) {
      return await _storage.delete(key: key);
    }
  }

  static Future<bool> containsKey({required String key}) async {
    return await _storage.containsKey(key: key);
  }

  static Future<Map<String, String>> readAll() async {
    return await _storage.readAll();
  }

  static Future<void> deleteAll() async {
    return await _storage.deleteAll();
  }
}

This is fixed in v5.0.0


Improvement: maybe use Erlang binary syntax

Hi,
I am just thinking that the Erlang binary syntax could be handy and save you from some bsl/bor instructions in dotstar.erl:
write_dot(Red, Green, Blue, Illumination) ->
    %% fast and dirty way to convert 0-100 Illumination into 5-bit Brightness.
    Bright = (Illumination * 31) div 97,
    Dot_data = <<?SPI_START_FRAME:32, ?SPI_START_BITS:3, Bright:5,
               Blue:8, Green:8, Red:8, ?SPI_END_FRAME:32>>,
    Transaction = #{command => 0, address => 0, write_data => Dot_data, write_bits => 96, read_bits => 0},
    spi:write(erlang:whereis(dotstar), ?LED_DEVICE_NAME, Transaction).

-define(SPI_START_BITS, 2#111).
And case clause returns values:
write_dot_hsv(H, S, V) ->
    I = (V * 31) div 97,
    RGB_max = (V * 255) div 100,
    RGB_min = (RGB_max * (100 - S)) div 100,
    Diff = H rem 60,
    RGB_adj = ((RGB_max - RGB_min) * Diff) div 60,
    Sextant = H div 60,
    {R,G,B} =
        case Sextant of
            0 -> {RGB_max, RGB_min + RGB_adj, RGB_min};
            1 -> {RGB_max - RGB_adj, RGB_max, RGB_min};
            2 -> {RGB_min, RGB_max, RGB_min + RGB_adj};
            3 -> {RGB_min, RGB_max - RGB_adj, RGB_max};
            4 -> {RGB_min + RGB_adj, RGB_min, RGB_max};
            _ -> {RGB_max, RGB_min, RGB_max - RGB_adj}
        end,
    write_dot(R, G, B, I).

If you extend for more dots maybe a list with one tuple for every dot?
You can use the binary syntax in Accumulators too.
I assume that the first byte start with 2#111 for the first dot and then 2#000 for the rest (the brightness bytes).
write_dot(Red, Green, Blue, Illumination) ->
    write_dots([{Red, Green, Blue, Illumination}]).

write_dots(DotList) ->
    DS = dot_stream(DotList),
    DotData = <<?SPI_START_FRAME:32, DS/binary, ?SPI_END_FRAME:32>>,
    Transaction = #{write_data => DotData},
    spi:write(erlang:whereis(dotstar), ?LED_DEVICE_NAME, Transaction).

%% Private functions
dot_stream(DotList) ->
    dot_stream(DotList, <<>>).

dot_stream([], Acc) ->
    Acc;
dot_stream([{R,G,B,I}|T], <<>>) -> %% First dot
    Bright = bright(I),
    dot_stream(T, <<?SPI_START_BITS:3, Bright:5, B:8, G:8, R:8>>);
dot_stream([{R,G,B,I}|T], Acc) ->
    Bright = bright(I),
    dot_stream(T, << Acc/binary, 0:3, Bright:5, B:8, G:8, R:8>>).

%% fast and dirty way to convert 0-100 Illumination into 5-bit Brightness.
bright(Illumination) ->
    (Illumination * 31) div 97.

Absolutely! I just realized I wrote this driver amidst mostly writing C code for the VM itself, and was paying more attention to the datasheet than I was thinking in Erlang 🤣 . I'm also wondering if I should change the repository name to something more generic like atomvm_led_strip, since other SPI LEDs can just as easily be added to this driver. I had started it because the AP102 (A.K.A. DotStar) is different enough that the atomvm_neopixel (WS2812) driver would be an impractical place to add support... Or do you think it would be better to have one lower level driver per repository, and have a separate atomvm_led_strip library for a higher level way to control strips, with patterns and effects, which just depends on the appropriate lower level drivers?

If you extend for more dots maybe a list with one tuple for every dot?

I was thinking of accepting a list of {Dot {R, G, B}}, where there Dot would replace the state of that dot in the state held by the gen_server, where the State would be the current binary to transmit for the entire string... The AP102 work a bit differently than WS2812, aside from requiring an SPI clock signal, the way to set the color of a particular LED is to transmit the binary data describing all of the LEDs up to and including the last one that needs the color to be changed, followed by the termination frame.  There is no rate limit like the WS2812, you can continuously blast bits at any rate the MCU can support.

It might be a lot more efficient to use the tuple list, as you suggested, for state now that I think about it. Holding and processing one large data chunk would probably be very inefficient on the esp32.

I think I read that ETS was coming into the AtomVM?

Indeed. Basic support for ets was merged a few months ago:
https://github.com/atomvm/AtomVM/pull/1054
I have not worked with it yet, in fact I am not familiar with ets… I started learning Erlang when I was first introduced to AtomVM, it has been a good place to start learning the basics, but I am still much less familiar with all of the extra bells and whistles that come with OTP.

I noticed that Illumination is calculated as:
I = (V * 31) div 97, in dotstar:write_dot_hsv/3 line 91
and then Bright is calculated as Bright = (Illumination * 31) div 97,  (line 68 in write_dot/4).
It looks as the calculation is done twice?

Indeed. I think this explains a bug I was observing in the example I provided... That is definitely a mistake!

I haven't started on multiple LED support yet, I realized I have the strip, and a power supply... but I don't have a AC power cord to sacrifice for the power supply, I need to find the time to stop coding for long enough to go into town and get a power cord 😂.

Always these hardware vs. software conflicts :grin: .
I will see if I can get my hands on a neopixel type strip this weekend. I have the first "dot" on the ESP32 board but it would be nice to see multiple LEDs.
From the atomvm_neopixel application and your code it looks pretty straightforward to add SPI neopixel support in the led_strip application later. It seems as just to generate the Erlang binaries in a slightly different way. Neopixel (WS2812) seems to use only RGB values and no brightness part, but otherwise very much the same.

I was noticing the subtle differences, but I think it would be easy to write a higher level led_strip.erl (which will become the main application) that can be configured to use any supported SPI LED type, once they are supported with an appropriate hardware module.

I started to play around (again) with this a bit more and implemented the different LED types encoding as callback modules implementing an Erlang behaviour avm_ls_strip . Since I only have a Neopixel strip myself I have not been able to verify the other types.
Github: avm_ls
I also tested if I could compile Erlang, Elixir and Gleam code into one flash image as well :smile: .


Insane typing lag on big blog posts (possibly autosave)

Issue Summary
Chrome version 50.0.2661.102 m on Windows 10
When writing/editing a blog with a lot of words/pictures, the autosave seems to cause immense lag where typing can take up to 2 minutes to "catch up". It seems to be related to the autosave anyway, it may not be. The more I type the longer the lag gets. I tend to have to write my post in notepad and then paste it in currently.
Steps to Reproduce

Add/edit a blog post with 1000+ words and some images
Start typing more sentences, the cursor should start lagging

Any other info e.g. Why do you consider this to be a bug? What did you expect to happen instead?
Technical details:

Ghost Version: 0.7.9
Node Version: v0.10.33
Browser/OS:  Chrome version 50.0.2661.102 m on Windows 10
Database: sqlite?

@add1ct3dd: Can you upgrade to Ghost version 0.8? There were some significant performance increases made to the editor in that version. Closing for now as the issue is fixed as far as I'm aware. Will re-open if you continue to have the same problem on 0.8.

@kevinansfield fixed thank you so much :)!!


Error encountered while trying to read file CSV

Hi,
Django==1.8
django-import-export==1.1.0
When I want to import a small csv (1 line) I have directly a blank page with the message

Error encountered while trying to read file: petit.csv

I see in the network console a POST to http://localhost:8001/admin/XXX/XXX/import/
with a 200 response with this message.
It is the same behavior whatever the model.

Hey @hdayacr ! Unfortunately there is not enough info here for me to diagnose the problem.
Does the one line include headers? What does the csv look like? Is it comma or semi-colon separated? Can you try with django-import-export==1.2.0? What do your resource classes look like?

Sorry, there is more infos :
# -*- coding: utf-8 -*-
from import_export import resources
from XX.models.xxx import XXX

class XXXResource(resources.ModelResource):
    """
    This class handle Django Admin import and export module
    """
    class Meta:
        model = XXX
        fields = ('id', 'name', 'nothing')

The csv is exactly
id,name,nothing
16684,blabla,toto

I tried with django-import-export==1.2.0, nothing change

I got the project locally and comment the lines 286 and 287 from import_export/admin.py
except Exception as e:
            return HttpResponse(_(u"<h1>%s encountered while trying to read file: %s</h1>" % (type(e).__name__, import_file.name)))

So there is the stackTrace of the problem

Traceback:
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
110.                     response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
57.         response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
233.             return view(request, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/import_export/admin.py" in import_action
283.                 dataset = input_format.create_dataset(data)
File "/usr/local/lib/python2.7/site-packages/import_export/formats/base_formats.py" in create_dataset
148.             return super(CSV, self).create_dataset(in_stream.encode('utf-8'), **kwargs)
File "/usr/local/lib/python2.7/site-packages/import_export/formats/base_formats.py" in create_dataset
105.         self.get_format().import_set(data, in_stream, **kwargs)
File "/usr/local/lib/python2.7/site-packages/tablib/formats/_csv.py" in import_set
38.     for i, row in enumerate(rows):
File "/usr/local/lib/python2.7/site-packages/backports/csv.py" in next
409.                 raise Error(err_str.format(typ_name))
Exception Type: Error at /admin/XX/XXX/import/
Exception Value: iterator should return strings, not bytes (did you open the file in text mode?)

I fixed the problem by adding in "requirements.txt" file
tablib==0.12.1

Fixed #959

getting error ValueError encountered while trying to read file: users(1).xlsx


Add profile sk

add: kshashikumark

@kshashikumar Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and help us grow even further!


V-on '@' shorthand colouring error

When using the v-on shorthand '@' with an event that has a colon, the colouring is wrong.

Are you using ST4? If so then it appears to be fixed for it.