Adding Plugins API to use dynamo

Description
Relates to https://github.com/chanzuckerberg/napari-hub/issues/864
Changes introduced:

Makes tests for backend models environment agnostic
Adding dynamo support for plugin endpoints

I have issues with preview/_tests/test_preview_meta.py::test_clone_invalid_plugin - it prompts for GitHub username on CLI.

That is the expected behaviour. It is not a bug. It is a feature. 😅
This is triggered by a specific test. It is for an invalid repo that doesn't exist. So, git tries to handle the case where it might be a private repository and tries to get the username and password to access it. You should be able just to provide empty strings for the test to continue.

Also should I be able to run the bdd tests? If so, can you help me because I can't figure it out 😆?

You can run it locally, but I usually run them separately. I will look into enabling running that along with the other tests.
I run them from the bdd_tests folder. They depend on the PREFIX environment variable to determine which environment they should run the tests against.
The values for the prefix can be set to staging for the staging environment, prod for the prod environment, and any other value will try and run the test against a dev environment of that name.
If the PREFIX is not set, it runs the tests against the local application at http://localhost:12345.

Thanks! Unfortunately I don't think I'll have time to look at this until I get back from vacation on the 11th. Sorry I hope this doesn't hold you up.


File "" cannot be opened

I've setup this uploader using the Plugin jQuery File Upload and gaufrette storage...
I could manage to make everything working to upload an image but when I upload an mp3, the response from the AJAX call is:
{"error":{"code":500,"message":"Internal Server Error","exception":[{"message":"File "" cannot be opened","class":"RuntimeException","trace":[{"namespace":"","short_class":"","class":"","type":"","function":"","file":"/Users/vince/Sites/localcrea.com/vendor/knplabs/gaufrette/src/Gaufrette/Stream/Local.php","line":45,"args":[]},{"namespace":"Gaufrette\Stream","short_class":"Local","class":"Gaufrette\Stream\Local","type":"->","function":"open","file":"/Users/vince/Sites/localcrea.com/vendor/oneup/uploader-bundle/Oneup/UploaderBundle/Uploader/Gaufrette/StreamManager.php","line":40,"args":[["object","Gaufrette\StreamMode"]]},
...
[["object","Symfony\Component\HttpFoundation\Request"]]}]}]}}
The entire folder got the correct permission and I can't figured out why it's working with images and not with mp3...
Is anyone can give me a hand?

Maybe with some piece of code it will be better...
Hope someone can help me on that as I spent maybe 4 days on that bug so far...
Here my config.yml:
oneup_uploader:
    mappings:
        image_song:
            frontend: blueimp
            storage:
                type: gaufrette
                filesystem: gaufrette.image_song_filesystem
            error_handler: oneup_uploader.error_handler.blueimp
        song_creatoke:
            frontend: blueimp
            storage:
                type: gaufrette
                filesystem: gaufrette.song_creatoke_filesystem
            error_handler: oneup_uploader.error_handler.blueimp
...

knp_gaufrette:
    adapters:
        image_song:
            local:
                directory: %kernel.root_dir%/../web/uploads/creatoke/images/song
                create: true
        song_creatoke:
            local:
                directory: %kernel.root_dir%/../web/uploads/creatoke/songs/creatoke
                create: true
...

    filesystems:
        image_song:
            adapter:    image_song
        song_creatoke:
            adapter:    song_creatoke

My front end:

                        Télécharger une image :

                            Fichier...
                            <input id="upload_image" class="creatoke-uploader" type="file" name="files[]" data-url="{{ oneup_uploader_endpoint('image_song') }}" />

                        Télécharger mp3 Creatoke complet :

                            Fichier...
                            <input id="upload_song_tosell" class="creatoke-uploader" type="file" name="files[]" data-url="{{ oneup_uploader_endpoint('song_creatoke') }}" />

            $('.creatoke-uploader').fileupload({
                url: $(this).data('url'),
                dataType: 'json',
                formData: {
                    entity_id:   '{{ entity.id }}'
                },
                done: function (e, data) {
                    console.log(data);
                    if (data.result.fichier != undefined)
                    {
                        var file_image = $(this).parent().parent().next("div").next("div").find(".files");
                        file_image.empty();
                        $('
').text('Fichier ok!').appendTo(file_image);
                        if($(this).attr("id") == "upload_image") {
                            $("#img_preview").attr('src', data.result.fichier);
                        }
                    }
                    else
                    {
                        var bar = $(this).parent().parent().next("div").find(".bar");
                        alert(data.result.files[0].error);
                        $(bar).css('width','0%');
                    }
                },
                progressall: function (e, data) {
                    var bar = $(this).parent().parent().next("div").find(".bar");
                    var progress = parseInt(data.loaded / data.total * 100, 10);
                    $(bar).css('width',progress + '%');
                }
            }).prop('disabled', !$.support.fileInput)
                    .parent().addClass($.support.fileInput ? undefined : 'disabled');

In that exemple in particular, on both uploader, I can only upload images, if I select a mp3 file, I got the error "File "" cannot be opened" from "/vendor/knplabs/gaufrette/src/Gaufrette/Stream/Local.php".
Please let me know if you need more? @bytehead ? @sheeep ? any thought?

Same issue here... Not with safe_local nor with local as adapter...
Files are created on storage...:

Ah ok... After debugging I found out that the error is:
The file "test.jpg" exceeds your upload_max_filesize ini directive (limit is 2048 KiB)."
There is no information about this in the log. Thats bad.
And no response for the user... Thats bad, too.
But ok I know it now :+1:

Hey @Bubelbub where did you get this line of log?
I am facing the same issue and had to dig deep in the code to find it's a simple upload_max_filesize issue. The $_FILES is:
 array:1 [▼
  "file" => array:5 [▼
    "name" => "middle-east.jpg"
    "type" => ""
    "tmp_name" => ""
    "error" => 1
    "size" => 0
  ]
]

The bundle should definitely check this before trying to manipulate the file!


lodash modules

resolves #2: use lodash modules to lighten payload

yup ;D haha - fixed

@gdibble Thanks for the PR dude! Send me a PR for #3 and I'll bump the version on NPM.


tools/gen_gibson_semantics.sh: line 28: tools/../build/utils/datatool/datatool: No such file or directory

'git clone --branch stable https://github.com/facebookresearch/habitat-sim.git'
'cd habitat'
'pip install -r requirements.txt'
'python setup.py install --headless --with-cuda'
'tools/gen_gibson_semantic.sh   '
then encountered tools/gen_gibson_semantics.sh: line 28: tools/../build/utils/datatool/datatool: No such file or directory
I found that there is no utils in build and there is a file utils/datatool in src

Hello, I performed the same operation and I also encountered this problem. Have you solved it ？Thank you very much! @dwei-k
@likethesky

git clone https://github.com/facebookresearch/habitat-sim.git
cd habitat-sim
conda activate your_env
python setup.py build --build-datatool

Thanks for your timely reply! I will follow your advice.


fix(system): safely handles non-html-element object

event.composedPath and event.target do not always return HTMLElement object(as their types suggested).

Element, and its children, as well as Document and Window, are the most common event targets

This PR prevents exception from being thrown when the object is not an HTMLElement (e.g., a window).

Thanks @crimx ! This will be part of the next release :)


Add cron_schedule to StartWorkflowExecution

We need a way to start cron workflows. This enables this functionality by adding it to the start workflow function in the client.

@antstorm addressed your comments and also added the schedule_workflow method, I think that's a great idea.
Thinking for termination we can split that into another PR. Thinking that we already have a few ways to cancel workflows through the UI and CLI. Would like to have a way to do it through ruby, but don't want to block this addition on that.


[MaskRCNN][AnnotateTarget]: Fails while reconciling shapes of concatenate inputs

Hello,
Here is the error:
in particular dimension 0 conflicts 1 does not match 0; unable to unify: Tensor[(1, ?, ?), float32] and `Tensor[(0, 300, 300), float32]
Attached file is capable of producing the error. It calls PyToch frontend followed by AnnotateTarget. It is a modified version of TVM's tutorial about MaskRCNN.
Thanks,
Ashutosh
partition_maskrcnn.py.txt

Thanks for reporting. We use the discussion forum (https://discuss.tvm.apache.org/) for general usage issues. Please open a thread in the forum. Thanks!


Change the link colors

Change the colour of the image source attribution link depending on status (unclicked, moused over, clicked).

Successfully changed the style of the link in the footer (image attribution) making changes in the .css and .html files.


Lambda Serverless

[x] AWS::Lambda::Function
[x] AWS::Lambda::Invoke
[ ] Unit tests

I've added types for the Function and Invoke components (plus IAM integration). What are the remaining components needing to be implemented?


Unit testing setup

Initial setup for unit testing

@DraKen0009 Can you add a GitHub Action to run the unit tests as well?
Also separate out the dependencies that are only used in development/testing as devDependencies.


Cannot open file path in warning with spaces in path

From @tungvn on October 31, 2016 3:31
OS: Window 10
VS Code: 1.6.1
When I click some warnings, vscode return an error "Unable to open 'common.php': File not found (e:\path\to\common\file\common.php)."
Like this

Copied from original issue: felixfbecker/php-language-server#130

From @tungvn on November 2, 2016 9:11
Bug happens when path of file contains space, like e:\Project\My Project\path\to\file is converted to e:\Project\My+Project\path\to\file

Seems like VS Code doesn't decode + to space.

Yes, we don't support application/x-www-form-urlencoded and cannot because there is no second data field to hold the MIME type.

@jrieken This is about the URI reported by an LS in a textDocument/publishDiagnostics request. If www-form-urlencoded Encoding is not supported for the URI, it would be nice if you could document somewhere what standard URIs need to follow, for example RFC3986

@dbaeumer fyi for the doc of the language server protocol - uri and/or uri

Will add doc to the language server protocol.

@jrieken Thanks, didn't know about that package. I only went by the language server protocol spec, which doesn't define this. Thanks @dbaeumer

Documented in LSP: https://github.com/Microsoft/language-server-protocol/commit/05fc7559ad36ded597c4d471ab4c00404e136cb1


Update README.md

hey @tmdtahir21 thanks for taking the time to open a PR. I think we can do without this particular change though as it doesn't really do much to fully describe what the project is about.
if you'd like to find more things to work on, you can see what we have available in the Issues tab that's not already assigned
thanks


introducing rt-repeat is causing ReferenceError

Hey there,
I'm playing around with react-templates and ant-design. Unfortunately using rt-repeat breaks my code:
<rt-import name="Breadcrumb" from="antd" />

    <Breadcrumb>
        <Breadcrumb.Item rt-repeat="s in this.state.breadcrumbs">{s}</Breadcrumb.Item>
    </Breadcrumb>

results in: ReferenceError: Breadcrumb is not defined.
However without rt-repeat it works fine:
<rt-import name="Breadcrumb" from="antd" />

    <Breadcrumb>
        <Breadcrumb.Item>Test</Breadcrumb.Item>
    </Breadcrumb>

Using native HTML elements works as expected:
<rt-import name="Breadcrumb" from="antd" />

{s}

I suspect rt-repeat is somehow affecting the current variable scope, but I'm not involved enough to understand how and why.

@TimKraemer, try to use construction
 <rt-import name="default" as="Breadcrumb" from="antd
I think, it should help you

I tried to replicate the error but I wasn't able to install antd (via npm install antd --save but webpack complains about unresolved .js files).
So I simulated it (in TypeScript):
class Item extends React.Component<any,any> {
   render() {
      return
breadcrumb.item start {this.props.children} breadcrumb.item end
;
   }
}

export class Breadcrumb extends React.Component<any,any> {
   static Item = Item;
   render() {
      return
breadcrumb start {this.props.children} breadcrumb end
;
   }
}

(this creates a Breadcrumb component that has a subcomponent Item as a static property).
Using your template it seem to work properly:
// this.state.breadcrumbs = [1,2,3,4];
breadcrumb start
breadcrumb.item start 1 breadcrumb.item end
breadcrumb.item start 2 breadcrumb.item end
breadcrumb.item start 3 breadcrumb.item end
breadcrumb.item start 4 breadcrumb.item end
breadcrumb end

Is there a quick way to install antd so I can check it?

I tried to replicate the error but I wasn't able to install antd (via npm install antd --save but webpack complains about unresolved .js files).

I installed it the same way, no complains there.
They have a way to import it in the browser. Maybe that will work? If not I'll look into creating a jsfiddle or github-repo to reproduce a minimal example of my problem.
Thank you for your dedication!

I wasn't able to install antd (lot of troubles with react 15.4) so I opted for a CodePen example:
http://codepen.io/anon/pen/RKXpvM?editors=0010
I've taken the output directly from the react-templates playground and adapting it for the browser / codepen.


LogisticRegression's predict_proba(X) returns (n,) instead of (n,2) for binary class

Just like sklearn's precit_proba(X), Dask's documentation says it returns an "array-like, shape = [n_samples, n_classes]".
However, it returns an "array-like, shape = [n_samples, 1]", for a binary classifier.
E.g. run this:
import numpy as np
from sklearn.linear_model import LogisticRegression
from dask_ml.linear_model import LogisticRegression as DaskLogit

# Data
X = np.random.rand(200,20)
y = np.random.rand(200).round(0) # random binary labels

# Dask
lrdask = DaskLogit()
lrdask.fit(X, y)
print("Logit Reg 'predict_proba' shape Dask\t", lrdask.predict_proba(X).shape)

# SKLearn
lrsklr = LogisticRegression()
lrsklr.fit(X, y)
print("Logit Reg 'predict_proba' shape SKLearn\t", lrsklr.predict_proba(X).shape)

Of course, no information is lost, but this does break stuff when used in other code.
E.g. in GridSearchCV's scorer I get:
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\metrics\scorer.py in __call__(self, clf, X, y, sample_weight)
    184
    185                 if y_type == "binary":
--> 186                     y_pred = y_pred[:, 1]
    187                 elif isinstance(y_pred, list):
    188                     y_pred = np.vstack([p[:, -1] for p in y_pred]).T

IndexError: too many indices for array

predict_proba(X)'s return value is indeed implemented differently in sklearn and dask-ml:
sklearn:
def _predict_proba_lr(self, X):
	...
	return np.vstack([1 - prob, prob]).T

dask-ml:
def predict_proba(self, X):
	...
	return sigmoid(dot(X_, self._coef))

Is this intentional and would changing this break code that currently expects Dask to return (n,) and not (n,2)? Or is this an oversight, and should it return (n,2) as per documentation?

@TomAugspurger I want to work on this issue. Are there any inputs that you want to provide about this issue before I tackle this? Thanks

Nope, nothing beyond we should match scikit-learn.

@TomAugspurger are we not supporting the multiclass logistic regression?

@TomAugspurger as I go through the code I see that there is no implementation for multinomial logistic regression. Is someone working on it ? or do I need to create an issue and work on that?

Is there any update for this issue?
I`m having the same problem between scikit-learn and dask-ml Logistic regression predict_proba function behaviour.

Still open, if you're interested in working on it.
IIUC, there are two issues:

For binary logicist regression, properly (N,) shape output to (N, 2).
Implement multinomial logistic regression.

The first sounds relatively easier, so we might want to start with that. That would be around https://github.com/dask/dask-ml/blob/master/dask_ml/linear_model/glm.py#L248

I'm interested in working on this issue, and noticed there aren't any PRs associated with this currently (just for whats listed in the issue title, not implementing multinomial). I'll move forward unless I hear otherwise or see a PR!


pay options translated to russian

Coverage remained the same at 62.136% when pulling b912519c27dd62f62f37fd7bd686f4d93f0515fd on imgVOID:master into b67b93ca03537ea7eb07b67b2590c1d2ebc1a419 on codecombat:master.


Admin doc updates

VS Setup admin scenario updates

@MikeMarlowe,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Update curiosity.mdx

Thanks for pointing this out I update it 🤗

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Release v22.07.1

ChangeLogs:
New features:

Change manifest types  to "file" & "record" and enable to upload manifest as table and

#318
#337

Enable the cross-manifest validation and update validation UI

#315
#347

Setup:

#310
#313

Bugs fix:

#319
#320

@rrchai just confirming, this version of the DCA uses the develop branch of schematic right?

@rrchai just chatting with Giana, it looks like the cross-validation functionality is not merged in develop yet. We will do that on Mon after we release the current develop codebase in schematic to pypi. We can release the DCA after that merge.

@milen-sage right! Thanks for  checking. We will hold this release until the cross-manifest functionality is merged to develop then.

@rrchai the schematic develop branch now contains the cross-validation code needed for this release. Feel free to release!


Spoon + Cucumber

Is possible make this plugin be compatible with spoon ? thank you

Can you elaborate? What are you trying to do? @rafaelaazevedo

Closing due to inactivity. Please reopen or create a new issue if there is a continuing problem.


R1viollet/compile elfutils debug

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?  In order to motivate your point, it may be valuable to explain why this change is useful or what problem is being solved.
Additional Notes
This is the section to put technical guidance/constraints, call out potential regressions, cite sources, and in general offer some exposition on the how of the PR.  This section doesn't need to be incredibly detailed, but it makes life easier for reviewers!
How to test the change?
Describe here in detail how the change can be validated.  This is a great section to call out specific tests you've added or improved, or to acknowledge code sections which are particularly difficult to test.

Does this imply having different build images depending on build mode in CI ?

No, I will just create several vendor directories and build all of them in the dependency image. wdyt ?


Simplify API, fix package structure, simplify parsing.

Closes #22.

Cleaned up parsing code. No more magic numbers and manual indexing.
Options moved to their own package.
Server moved to its own package.
All tests passing.

It may be easier to explore these changes here: https://github.com/hugelgupf/dhcp6/tree/simplify-api

Cleaned up lint warnings and all that for each commit.

It looks like you've incorporated the idea of functions that accept the options map, and the buffer change is a good idea instead of having to manually take care of all the offsets.
Thanks for doing this. I don't believe I'll have time to do a comprehensive review until Monday, but I think I like the direction that I am seeing.

See also the equivalent in DHCPv4: https://github.com/hugelgupf/dhcp4

Also note the travis build failures.

Should be all done now. Thanks for the review!

Can you take a look at the Travis failure? I think it has to do with the Travis setup rather than the PR.

Not sure what the problem is!  Going to merge as is and see if that remedies things, since we moved some packages around.


Error messages (EntityDamageByEntityEvent) cropping up with unknown in-game impact

Good day,
Sorry to trouble you. I was checking the server logs on a test server and saw multiple Best Tools errors. I've uploaded the entire log here:
https://gist.github.com/SleepyCatten/57f2cbce037181c4d3b62f26ef498648
This on a Paper 133 server with the following plugins/datapacks:
Plugins (18): AngelChest, ArmoredElytra, BestTools, ChestSort, CoreProtect, Drop2InventoryPlus, HolographicDisplays, LuckPerms, PetMaster, PluralKitMC, ProNouns, ProtocolLib, RoseStacker, StackableItems, UltimateTimber, Vault, ViewDistanceTweaks, voicechat
There are 21 data packs enabled: [vanilla (built-in)], [file/bukkit (world)], [file/anti enderman grief v1.1.2.zip (world)], [file/coordinates hud v1.2.2.zip (world)], [file/durability ping v1.1.2.zip (world)], [file/multiplayer sleep v2.6.2.zip (world)], [file/player head drops v1.1.2.zip (world)], [file/redstone rotation wrench v1.1.3.zip (world)], [file/silence mobs v1.1.2.zip (world)], [file/terracotta rotation wrench v1.1.3.zip (world)], [file/more mob heads v2.9.4.zip (world)], [file/dragon drops v1.3.2.zip (world)], [file/double shulker shells v1.3.2.zip (world)], [file/armor statues v2.8.3.zip (world)], [file/respawning-pets-e630.zip (world)], [file/unlock all recipes v2.0.3.zip (world)], [file/global-trades.zip (world)], [file/afk display v1.1.2.zip (world)], [file/nether portal coords v1.1.2.zip (world)], [file/track raw statistics v1.5.2.zip (world)], [file/track statistics v1.1.3.zip (world)]
Apologies in advance for probably not putting sufficient detail!

Hi, does this happen for all players? If so, check their /bt gui settings: do they have a favorite slot set in the GUI?

Actually this was fixed a long time ago but it can still happen when players still have broken playerconfig files. Please stop your server, rename the BestTools' playerdata folder to playerdata2, and see if it still happens

Hi! We've just started a brand new 1.18.1 server, so it seems odd that the player files could be broken already. The issue only seems to crop up if the default slot is set to -1
The preferred slot where BestTools should move the tool if it's not in the hotbar
and hotbar-only is set to false. Must be a number between 0 (leftmost hotbar slot)
and 8 (rightmost hotbar slot)
Set this to -1 to always use the player's current slot
favorite-slot: -1
Setting it to a number between 0 and 8 seems to stop the error occurring, but then loses the ability for the tool to go into the slot where it disappeared from.

Hm I actually thought I'd fix this. Can you check whether this happens maybe only when

Mining blocks
Attacking mobs
or both?

Hi. Sorry for the slow reply. I've been trying to replicate this on a test server with just mining blocks and, as of yet, I have yet to be able to replicate it 😖 From memory, the errors seemed to be occurring during combat. I'll keep trying to replicate, but I wanted to respond to let you know I wasn't ignoring the request.

Managed to replicate the issue. It occurs when attacking mobs.
This is the output from the server console log:
https://gist.github.com/SleepyCatten/0f115ddb21300fe27971fe86374e46d2
This is the settings for BestTools:
https://gist.github.com/SleepyCatten/eebef8b96a76aff108f4b2e96edb77b8
This are my player settings:
bestToolsEnabled: true
hotbarOnly: false
refillEnabled: true
hasSeenBestToolsMessage: true
hasSeenRefillMessage: true
favoriteSlot: -1
swordOnMobs: true
blacklist: []
My hotbar was:
1 Sword
2 Pickaxe
3 Axe
4 Shovel
5 Hoe
6 Dirt
7 Empty
8 Torches
9 Cooked chicken

Thanks, that's very helpful! I'll get it fixed tomorrow (today), it's 7 am and I gotta go to bed lol

Thank you kindly! No mad rush though: sleep is important 💟

Should be fixed since the last update


Question about multiple plugins changing PSI/SI tables

Hi @lelegard ,
I ask this because I don't know the response. Please don't think this issue is a criticism in any way:

When we're using multiple times the same plugin, for example: tsp ... -P svrename -n "ch1" 100 -P svrename -n "ch2" 200 ... -P svrename -n "ch9" 900 ... , in this case the tables are readed 9 times, rebuilded 9 times and writed 9 times for each table in the input?

The reason to this question is because when I do some precessing using such plugins with FILES, the regular tables appears far of the start of the file. So I want know the reason. And I feel that in cases like the one described the resulting table appears with a delay of 9 times after the first incoming table. It's my assumption true?
Thank you for listening to us, even when we ask absurd questions.
Regards.

In order to modify a table, a plugin first needs to analyze it completely. The analysis and modification can only start at the last TS packet for this table. The replacement of the table starts at the last TS packet of the table. The previous TS packets for the first instance of the table are replaced with null packets.
So, if the table is very short and fits in one packet, it should be modified "in place". Otherwise, each replacement tends to shift it ahead in the stream.
For a generic stream processing, there is no alternative because you cannot go backward.
In the case of a file, I addressed this issue with a script.
For instance, in some use cases, with SPTS files, there is a requirement that the PAT fits in the first TS packet, immediately followed by the PMT, before any other type of content. When the SPTS comes from a stream capture, even without table modification, the requirement is not fullfilled. So, since we work on files, we can process them (or part of them) several times. So, my script processes the beginning of the file (using plugin until), modifying and extracting the tables of interest in binary files. Then, the file is then processed with option --add-start-stuffing and the tables are reinserted.

    -P filter --after-packets $INIT_PACKETS --pid 0x1FFF --negate \
    -O file "$OUTFILE"

To be generic, the various characteristics of the file are extracted first:
tsp -I file "$INFILE" \
    -P until --packets 10000 \
    -P analyze --normalized -o "$TMPFILE.norm.txt" \
    -O drop

# Get TS bitrate in b/s, service id, PAT and PMT PID and bitrate.
TS_BITRATE=$(grep -m 1 '^ts:' "$TMPFILE.norm.txt" | sed -e 's/.*:bitrate=//' -e 's/:.*//')
PAT_BITRATE=$(grep -m 1 "^pid:pid=0:" "$TMPFILE.norm.txt" | sed -e 's/.*:bitrate=//' -e 's/:.*//')
SERVICE_ID=$(grep -m 1 '^service:' "$TMPFILE.norm.txt" | sed -e 's/.*:id=//' -e 's/:.*//')
PMT_PID=$(grep -m 1 '^service:' "$TMPFILE.norm.txt" | sed -e 's/.*:pmtpid=//' -e 's/:.*//')
PMT_BITRATE=$(grep -m 1 "^pid:pid=$PMT_PID:" "$TMPFILE.norm.txt" | sed -e 's/.*:bitrate=//' -e 's/:.*//')

Hi @lelegard ,
Thanks for the information. Your experience is very extensive and valuable.
I will try to use it.
Regards.


Add branch and file sha to the 'File' model

As for current requirements and features, the bot doesn't need to store the file sha to uniquely identify a file from GitHub. The bot can fetch a file by using owner, repoName, and filePath.
The bot won't be using the branch also, because as of now, I am thinking of keeping the default branch as single source of truth for all the risk scores because there can be multiple versions of the same file in different branches which can make the training data redundant and dirty.


fix invalid memory address or nil pointer error

这个 PR 实现什么功能/修复什么问题:
修复ZStack自定义镜像上传指针访问异常问题
是否需要 backport 到之前的 release 分支:

release/2.10.0

/cc @swordqiu @yousong

Codecov Report

Merging #1309 into master will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff           @@
##           master   #1309   +/-   ##
======================================
  Coverage    7.85%   7.85%
======================================
  Files         372     372
  Lines       58357   58357
======================================
  Hits         4586    4586
  Misses      53373   53373
  Partials      398     398

Flag
Coverage Δ

#aFlag
7.85% <0%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

pkg/compute/models/storagecaches.go
2.43% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

/approve
/lgtm


Type __ is currently not implemented

Hi, I was wondering why the following command evaluation results in a 'Type 16 is currently not implemented' error.
n = c(2, 3, 5)
s = c("aa", "bb", "cc", "dd", "ee")
b = c(TRUE, FALSE, TRUE, FALSE, FALSE)
x = list(n, s, b, 3)

Cheers

Thanks for the feedback.
I suppose because it is a list.
From the README:
It supports double, double array, integer, integer array, string, string array, boolean, boolean array objects and raw vector (images or files).

If you need to pass a "complex" object (in or out) from Rserve, you need to serialize it (to a string).
See, for instance, the second example in examples folder.
When I investigated supporting native list type, the complexity of the implementation was not so simple and it seems was not so useful for my use cases.
I close the issue like won't fix.
Feel free to contribute if you need to support list native type.


Add read_file macro method

#2791, again! ;)
/cc @asterite

I don't think the discussion will differ. Better to find a way to embed slices.
That been said. I care more about API. So, if the macro would return a slice, even if the string is embedded as a first implementation, that is something I could live with. Until a better implementation without breaking the API will come.

I've wanted to have this for a long time. Let's KISS and start with something easy to iterate on like this :+1:

I've wanted to have this for a long time. Let's KISS and start with something easy to iterate on like this :+1:

I've wanted to have this for a long time. Let's KISS and start with something easy to iterate on like this :+1:

Right now a string can contain any kind of bytes, so I think this is fine. If someone wants to embed a slice of bytes they can just do:
DATA = {{ read_file("whatever") }}.to_slice

I'd like a kwarg, to have a String (default) or Bytes (on demand), but maybe it would be confusing, and always having a String is better?
{{ read_file("LICENSE.md") }}             # => String
{{ read_file("logo.png", binary: true) }} # => Bytes

I don't see a strong reason to have it for string, worst case it should be a String.new({{read_file...) away, but if we want it I'd vote for having read_file to return Bytes and read_file_to_string or perhaps read_text_file to return String.

The problem is that read_file is a macro method, and, like all macro methods, it returns an AST node. There's a StringLiteral node to represent a string. There's no node to represent a slice of bytes. So if you want that you'll have to:

introduce such node
define a syntax to write it (maybe Bytes[...] would be enough)
provide operations on it

In my mind it's just simpler to make read_file return a string. I don't see any problem with it, and you can manipulate the data at compile-time just fine.

The proper implementation should do something like https://github.com/crystal-lang/crystal/pull/2791#issuecomment-225299043, so generate an AST subtree equivalent to the inline assembly call.
As Brian points out, introducing it now to return a string literal would just force a breaking  API change in the future.
On a compromise, maybe we can do a text only version for now and call it read_text_file or the like?

If it returns an asm node there's no way to manipulate the data at compile-time. I still don't understand what's the problem with having it be a StringLiteral, could someone explain this to me? :-)

But read_file returning StringLiteral is perfect and there won't be a need to change it's API. I mean, we are assuming it needs to be changed because it has something wrong with it. I want to know what that is.

Maybe it's the old discussion about what String should be, generic data blob or representation of sequence of codepoints in some encoding and me strongly favoring the latter as I see doing the former one of the biggest mistakes of Ruby. Also if we would go for the former we should remove Slice.

Also if we keep the concerns separate, that is read some text vs just give me the bytes, we can make the former pleasant to use at some point by applying any necessary encoding transformations.

Then I guess a conclusion won't be reached here. I propose to close this then until someone figures out how to lay out everything related to strings and bytes.

@jhass String.new({{ read_file }}) would copy the slice to the new String instance.
Having a binary argument as @ysbaddaden suggested seems like a good idea. If false, it returns a StringLiteral. If binary: true, it could just append a call to #to_slice to the StringLiteral. And later, when there is a proper bytes data type, it could just be upgraded to that without any changes in the API.

I'm ok with read_text_file.
I'm ok with read_file to expand to a Call(StringLiteral, :to_slice) and whatever is needed to simulate a slice literal.
I'm ok with not having read_file now, but adding read_text_file now
I'm not ok with changing the returned type based on an argument. Even in macros. So no for binary: true.

So, if the macro name is changed and the review of @asterite regarding path is solved, this is GTG on my side.

There's clearly two different things wanted here:

a way to read files inside a macro and then use the contents of the file inside the macro to make decisions on the macro level. This may expose the contents of a file at runtime but doesn't have to. The most reasonable way to do this is returning a StringLiteral. Think VERSION file.
a way to efficiently embed large, possibly binary, files inside the executable to make exevutables more self-contained. Think compiled image and JS assets for a webapp.

These are orthogonal and want different interfaces. The former can be read_file and would be a macro method. The latter can be achieved using module-level ASM to embed a file in the ELF directly using assembler directives. I'd call it embed_file and it'd be a macro (and macros are not macro methods)

I still think we should be cautious with introducing the first case while the second doesn't exist, because during that period people will abuse it for the second case. So I stick to preferring read_text_file as a name, I don't think it harms the first case in any way and communicates its contract much more clearly.

@RX14 The embedded data could be binary but also text. For text, it should simple to get a String
at runtime without copying the slice.

@straight-shoota you could just use read_text_file for that.

Yeah, but it feels a bit weird to have read_text_file but embed_file for the same thing with a binary file.

But it's not the same thing, conceptually or in implementation. That was the whole point of my comment above.

Both fits in the second bullet point. If I want to embed a file into the binary, I can use embed_file for binary data. But if it's text data and it's supposed to be accessible as String at runtime, I need to use read_text_file instead.

Any other language that lets you embed data using asm? It seems like a huge portability pain to do that.

@asterite any language with asm which uses a real assembler lets you do it.
Doing file embedding with global_asm just means that we pass all the work over to LLVM, and don't have to add any code in the crystal compiler to do this. The asm isn't platform-specific because the ASM block consists only of assembler directives, no instructions.
The implementation doesn't matter anyway.

@straight-shoota it'd be easy to add slice and string versions of embed_file.
embed_file isn't what this PR is about.

embed_file isn't what this PR is about.

Agreed, but we're also taking future development into consideration.
And as far as I can tell, a string version of embed_file would be equivalent to read_text_file, wouldn't it?

@straight-shoota No. With embed_file you won't have access to the contents of the file at compile-time.

Exactly. But what would then be the point of having that over read_text_file? It can be equally used to embed a string to be accessible at runtime and also gives access at compile time.

@straight-shoota it's about compile-time performance. For large files, embed_file means that the string doesn't have to be read from the file into memory, escaped as a crystal string, passed back through the parser to unescape the string, and then stored in memory again and written into the LLVM module.
Using assembler directives means that the assembler can copy the input file directly into the output object file with no overhead. This matters with large files. However, large files probably won't be strings.

Yeah, that's true. I guess it all comes down to properly communicating the individual properties.

So, poll time?
👍 adding read_text_file after applying the outstanding review + rename https://github.com/crystal-lang/crystal/pull/6967#issuecomment-431869656.
👎 for closing this PR until the embed_file is implemented in a way that supports https://github.com/crystal-lang/crystal/pull/6967#issuecomment-433476252.

I've always been +1 for this PR, just waiting for the fixes to be applied.

I'm not arguing against this PR :+1: I'm just emphasizing to think about the overall design of these macros.

Remind me please why won't we like to have read_file (returning String) + embed_file (returning Bytes)?

@Sija We're talking about macros, so read_text_file returns a StringLiteral. But embed_file wouldn't return a BytesLiteral (which doesn't exist) but directly embed the data at codegen and doesn't need to keep it in memory.

I'm no longer OK with read_text_file. It should just be read_file. It's a macro method, so of course it's going to return a string literal. And we'll probably never add a read_binary_file.

@straight-shoota Yes I know, I meant literal version of those (acknowledging that there's no SliceLiteral atm).

What about we add a BytesLiteral that will currently be the same as StringLiteral, but will prepare the terrain for when we have a slice literal?
This way read_text_file could return a StringLiteral, a future read_binary_file could return a BytesLiteral, and embed_file could embed the file.

We don't need a slice literal. You only need a string in a macro since you can only do something with a string in a macro. If you need to do advanced binary file reading you can use macro run file to process a binary file and emit any code (including possibly an embed_file call to a file generated on-the-fly) you need.
Just apply the suggestions and merge this PR.

Or maybe it's obvious this feature is too confusing from the replies to this issue and we should just leave it out entirely.

Applied suggestions from https://github.com/crystal-lang/crystal/pull/6967#discussion_r226964391, ready for another round of review.

There's a couple of you who voted on both the comments arguing for naming it read_file and naming it read_text_file. Let's have another final round of voting. React here with:

🎉   for read_file
❤  for read_text_file

@straight-shoota I've applied your comments, thanks!
@asterite wanna chime in, is it GTG?

I don't see any reason why a relative path should be relative to the file where the macro is called from. This doesn't make any sense. And it gets super confusing when the actual call to read_file is defined in a different file than the string literal it receives as an argument. This might be the case with a helper macro that relies on read_file and receives the file name as argument.
If you need this behaviour, there is __DIR__ for that.

Please don't depend on my approval or advice to move forward with this PR.

I'm inclined to agree with @straight-shoota on this, sharing path resolution method between require and macros - both, run and read_file seems counter-intuitive and too magical considering the logic inside: https://github.com/crystal-lang/crystal/blob/0ca54f8d8d5c063f625f0fc6009949653d6184e1/src/compiler/crystal/crystal_path.cr#L66-L124
I'd suggest removing this feature from both macros, allowing only absolute paths (+ relative using #{__DIR__})

Could you please add a spec for relative paths? (i.e. spec/std/data/build") Relative paths are not forbidden (and shouldn't). File.file?` will resolve a relative path in the current working directory.

@Sija the las commit needs to go. The macro first needs to be ina released version before using it in the compiler.

@bcardiff yep, my bad, I removed it.

NB: We should wait for 1 more core team re review before merging. And it should be merged with a squash.

@Sija could squash it and add a nice commit message =)

Merged :-)
The nice commit message was the title :-P
Thanks everybody for the discussion!

It occured to me that perhaps it would be sensible to have nilable read_file? (current read_file) and raising read_file variants, whatcha think?

@bcardiff yep, exactly. Although I would (add read_file? variant), since I can easily imagine use case where you'd like to read file with certain fallback which wouldn't be possible when using raising variant.

Current implementation covers all use cases.

@asterite true, yet it simplifies things in case like this:
{% version = read_file("../../VERSION") %}
{{ version ? version.chomp : nil }}

vs
{{ read_file("../../VERSION").chomp }}

{{ read_file("../../VERSION") || raise "Missing VERSION file" }}

@straight-shoota nope, it ain't work since I'd need to use .chomp. Having #try would solve it but sadly, it doesn't exist in macros.

{{ (read_file("../../VERSION") || raise "Missing VERSION file").chomp }}

:+1: For a version that errors at compile time if the file doesn't exist (or I/O fails in any way).

I agree with @woodruffw, @straight-shoota's workaround is good enough, yet having it "baked" into the method itself feels more natural (as long as there's nilable variant too).


Update to PureScript 0.15.0

I can help out with this, but since the bindings are code-generated, I'm not sure what's the best way to do that.
Still, the bower.json file and PS deps in package.json are easy to update via update-bower-json-release-versions.txt
jq --from-file update-bower-json-release-versions.txt bower.json > bower.json.tmp && mv bower.json.tmp bower.json

Oh wait. Only one file is codegen'd.


CI failure: Failed to set up chart-testing due to certificate issue

action url: https://github.com/spidernet-io/spiderpool/actions/runs/4545170042

Installing chart-testing v3.6.0...
Error: verifying blob [ct.tar.gz]: certificate does not include required embedded SCT and no detached SCT was set
main.go:74: error during command execution: verifying blob [ct.tar.gz]: certificate does not include required embedded SCT and no detached SCT was set

Temporarily change the version of the plugin helm/chart-testing-action from v2.4.0 to v2.3.1 in PR #1559.

The issue is old and has not reoccurred, so it is temporarily closed. Please reopen if you encounter it again.


X11 named color methods not available through String refinement

Version
Ruby: 3.2.2
Rainbow gem: 3.1.1
or
Rainbow commit: 629cde5
Description
Using the String refinement interface, ANSI foreground color methods can be used but their X11 counterparts cannot.
$ irb --simple-prompt -r rainbow/refinement
>> using Rainbow
=> main
>> Rainbow("hello").red
=> "\e[31mhello\e[0m"
>> "hello".red
=> "\e[31mhello\e[0m"
>> Rainbow("hello").tomato
=> "\e[38;5;209mhello\e[0m"
>> "hello".tomato
(irb):5:in `<main>': undefined method `tomato' for "hello":String (NoMethodError)

Workarounds

just use the Presenter interface
use another rainbow method earlier in the method chain, if appropriate, as they return a Presenter object>> "hello".bright.tomato
=> "\e[1m\e[38;5;209mhello\e[0m"
>> "hello".tomato.bright
(irb):7:in `<main>': undefined method `tomato' for "hello":String (NoMethodError)

Diagnosis
The reason the ANSI methods work but the X11 ones don't is that the refinement works by defining Presenter's instance methods onto String. While the ANSI methods are explicitly defined on Presenter, the X11 ones are handled by Presenter's method_missing, so they don't get added. I'll make a PR.

Pull request is here: #129

Fixed in #129


Fix-79658 New pattern to Preserve Case ( underscore separated variables)

@roblourens and @rebornix , Here is the implementation to handle underscore characters as well to fix #79658 ( As mentioned implemented it as two disjoint sets of replacement )
Please review this and let me know , Thanks :)
PS : if you feel the request itself is not a valid one then feel free to close it :) ( I thought underscore was also useful in some places )

@roblourens and @rebornix
Sorry , any updates on this ?

@roblourens  and @rebornix
Sorry , any updates on this ? ( I will close this if this is not a legit requirement )

@rebornix , Any updates on this ?
Did you get a chance to review this ?

He's on paternity leave now but I think it's fine, I'll merge it.

@roblourens , sorry I did not know he was on leave and thanks for merging it 😁

See my comment here: https://github.com/microsoft/vscode/issues/79525


MANE transcripts are not shown

Describe the bug
We had the feature that MANE transcripts were labeled. This is not the case any more.
To Reproduce
Steps to reproduce the behavior:

Go to any seqvar detail page.
Scroll down to consequences.
See no MANE highlight.

Expected behavior
MANE label should be applied.
Additional context
N/A

This is an issue and will be fixed by this PR and an upgrade to mehari-data-tx v0.4.3.

https://github.com/bihealth/mehari-data-tx/pull/25


The dropdown option list would not update after the data options has been changed when virtualization is set to true

Describe the bug
The dropdown option list would not update after the data options has been changed when virtualization is set to true.
To Reproduce
Steps to reproduce the behavior:

Just create a component with RadzenDropDown and set AllowVirtualization=true AllowFiltering=true and set its Data to a non-empty list
Click to show the dropdown list options
Try to change the content of the list (for example: via an event)
Click to show the dropdown list options again, and you will see the options would not change until you scroll the dropdown list options or perform filtering.

Expected behavior
The dropdown options would refresh based on the new data content when AllowVirtualization=true
Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I try to fix it and it seems it could be fixed by adding below code to DropDownBase:
#if NET5_0_OR_GREATER
        /// <inheritdoc/>
        protected override async Task OnDataChanged()
        {
            await base.OnDataChanged();
            if (AllowVirtualization && Virtualize is not null)
            {
                await InvokeAsync(Virtualize.RefreshDataAsync);
            }
        }
#endif


return body content when it is error

some web server will return error reason in body content.
So , get the body content when is error, and put it into the HttpStatusException to return

(Closing out -- would be happy to review again if you address my comments)


feat(chromium): roll Chromium to r647475

This roll includes:

https://crrev.com/1549884 - DevTools: disable interception for
data: URLs

Did we have docs about this that need to change?

@JoelEinbinder no, that's the way it is atm. There was an unfortunate regression in the protocol that prevented the roll; @caseq's patch fixed it.


update c2c/c2c_patches_vector_tiles_labels with cesium/vector-tiles-labels

Thanks @oterral for these 2 updates.
For information, there is a regression in autorenderloop. See https://github.com/openlayers/ol3-cesium/issues/432.

Thx for the info @gberaudo


Updated repository to Julia 0.7+ and 1.1+

This pull-request updates the CBOR repository to be compatible with Julia 0.7+ and 1.1+
This also resolves the issue discussed in #7 with @stevengj
Unfortunately, the tests are not all passing yet. Some more tweaks need to be made, but I am not familiar with what is causing the problem.
Test Failed at /home/flow/.julia/dev/CBOR/test/runtests.jl:83
  Expression: isequal(data, decode(bytes))
   Evaluated: isequal(6.103515625e-5, 4.683311023e-315)
ERROR: LoadError: There was an error during testing
in expression starting at /home/flow/.julia/dev/CBOR/test/runtests.jl:81
ERROR: Package CBOR errored during testing
Stacktrace:

Could you please review this pull-request and see if you can fix the rest of the testing?

Thanks for your comments @stevengj , I think it would be best if @saurvs could take your advice and implement it, since all I'm trying to do is to get the tests working reliably first.
Is the numerical error in the tests related to the hex2bytes conversions?

Oh woops, why do I never look into PRs when upgrading a package...
Well, my PR passes tests: https://github.com/saurvs/CBOR.jl/pull/9

Thanks for making progress on it, was hoping somebody would keep this package in order because I wanted to use it for one of my upcoming projects.
How is it coming along at the moment? I see you have not merged anything yet

https://github.com/JuliaIO/CBOR.jl/pull/10 took this over


feat: provisional scheduling rules

Blocked by https://hee-tis.atlassian.net/browse/TIS21-5434
TIS21-5389

Outdated


Added user interaction to animation

When using Kingfisher with any type of animation, it was just breaking user interaction and not allowing users to scroll through lists on interact with the UIImageViews themselves.
This was mostly due to the fact that .AllowUserInteraction was not an option on the UIView.transitionWithView call.

Current coverage is 77.10%

Merging #252 into master will increase coverage by +0.20% as of 13d4dd1

@@            master   #252   diff @@
=====================================
  Files           11     12     +1
  Stmts         1260   1306    +46
  Branches         0      0
  Methods          0      0
=====================================
+ Hit            969   1007    +38
  Partial          0      0
- Missed         291    299     +8

Review entire Coverage Diff as of 13d4dd1

Powered by Codecov. Updated on successful CI builds.

@ivanbruel Thanks!


Update challenge-passage.md

Summary
Removed the section that mentioned Rate Limiting + challenge action. It seems in contradiction with that section https://developers.cloudflare.com/waf/rate-limiting-rules/parameters/#:~:text=When visitors pass a challenge%2C their corresponding request counter is set to zero. When visitors with the same values for the rule characteristics make enough requests to trigger the rate limiting rule again%2C they will receive a new challenge.
Documentation checklist

[x] The documentation style guide has been adhered to.
[x] If a larger change - such as adding a new page- an issue has been opened in relation to any incorrect or out of date information that this PR fixes.
[x] Files which have changed name or location have been allocated redirects.

PCX-12393

👋Hi there, we’re going to close this PR. All PRs prior to August 12 need to be reworked due to the platform migration to Astro.


Create 3D element based on non planar closed loops with holes defined as closed loops ?

I am using iTwinJS api to convert a CAD file to a BIM file to eventually push to an iModel on iModelHub. To check correct conversion I am using the Desktop starter application for the time being.
So far all works great boxes, cones, triangle meshes and rotationalsweeps.
Now I have a 3D element described as an outer contour and inner contours generally defining holes.
But inner contours can also intersect and the overlapping part should be rendered as a surface.
Is there something in the Geometry core API I can use for describing such elements or tesselate them ?
Typically I would use GluTess (GLU Tesselation) for such polygons.
Thank you for any tips you can provide.

@EarlinLutz

If the loops are in a ParityRegion, the faceted parity region will be handled as you describe -- a singly-overlapped part is "in" because it is part of 3 loops (the outer and a pair of inners.)

(I'm wary of the "non-planar" point -- please show some snips to get a feel for that ....)

Thank you for the tip will try out the ParityRegion.
Related to the none planar issue.
Imagine you have a curved wall, and in the wall a curved window is added. The frame of the window is created with outer closed loop and an inner closed loop. => Although is an exceptional case I have seen this in some CAD data described as inner and outer loops. Other examples I have encountered are with curved metal grids, where the holes are created with inner loops.
But if ParityRegion can not handle such cases, will add a test if points/curves are on plane. If not fall back to different algorithm. Maybe using a library like "tess2-ts"

When you say inner loops can intersect, is it something like the outer+2Inners on the right of this png?

Yes correct. Where expected result in displayed view would be

That is the behavior we expect from a ParityRegion.

Thanks for the help EarlinLutz it is working great using ParityRegion.
Code snipper I am using
     const builder = new GeometryStreamBuilder();
     ...
     for(var surface of element.surfaces) {
         const loops: Loop[] = [];
         for(var contour of surface.contours) {
             const linestring = LineString3d.create(
                    contour.vertices.map(v => Point3d.create(v.x,v.y,v.z)));
             linestring.addClosurePoint();
             const loop = Loop.create(linestring);
             loops.push(loop);
         }
         const region = ParityRegion.createLoops(loops);
         builder.appendGeometry(region);
     }

Where element is of type
const element = {
     surfaces: {
        contours: {
            vertices: Vector3d[],
        }[],
     }[],
}


fix: display of header filters

Description

Fixes the filter header

Codecov Report

Merging #53 (026483f) into dev (7df869c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev      #53   +/-   ##
=======================================
  Coverage   15.63%   15.63%
=======================================
  Files          30       30
  Lines         307      307
  Branches       52       52
=======================================
  Hits           48       48
  Misses        257      257
  Partials        2        2

Impacted Files
Coverage Δ

src/Patients/CreatePatient.jsx
16.66% <ø> (ø)

Continue to review full report at Codecov.

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


⚠ ESPN has degraded performance

In 52d9cb8, ESPN (https://espn.com) experienced degraded performance:

HTTP code: 200
Response time: 755 ms

Resolved: ESPN performance has improved in 412d890.


[Bug] FirebaseAuth Offline Issue

[REQUIRED] Please fill in the following fields:

Unity editor version: 2020.3.16f1
Firebase Unity SDK version: 8.2.0
Source you installed the SDK: .unitypackage
Problematic Firebase Component: Auth (Auth, Database, etc.)
Other Firebase Components in use: CloudFunctions, Analytics, Crashlytics, Installation, Storage
Additional SDKs you are using: Facebook
Platform you are using the Unity editor on: Mac
Platform you are targeting: Android,iOS
Scripting Runtime: IL2CPP

[REQUIRED] Please describe the issue here:
(Please list the full steps to reproduce the issue. Include device logs, Unity logs, and stack traces if available.)
I apologize in advance for my poor English skills.
Reproduced in both the Unity editor and iOS builds.
After Firebase.FirebaseApp.CheckAndFixDependenciesAsync() ended, Auth initialization started when dependencyStatus is Firebase.DependencyStatus.Available.
If there is no Firebase.Auth.FirebaseAuth.DefaultInstance.CurrentUser, user information is obtained through Firebase.Auth.FirebaseAuth.DefaultInstance.SignInAnonymouslyAsync, and if CurrentUser is present, user information is obtained by determining that the user is logged in.
At first execution, if you try to log in while offline, an exception occurs and you cannot log in properly. So I compared Application.internetReachability and modified it to try to log in while online and it seemed to work.
"Unauthenticated or Permission Denied" error occurs when calling Storage and Cloud Function intermittently while offline.
The security rules for Storage and Cloud Function are as follows.
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read: if false;
allow write: if request.auth != null;
}
}
}
The problem is that after intermittently failing offline, closing the app and restarting it works fine.
What appears to be a similar issue (https://github.com/firebase/quickstart-unity/issues/914) has been closed for further information.
Steps to reproduce:
After Auth authentication offline at the first execution, upload to Storage or call CloudFunction's method.
issue repro rate : 10%(sometimes)
Relevant Code:
// TODO(you): code here to reproduce the problem

Thanks for reporting this, @henry-dreamo.
Firebase functionalities aren't usually expected to work without an internet connection. In order to identify what's causing your issue, could you provide a minimal, reproducible example of your project along with the steps needed to replicate this behavior?

@paulinon
I originally thought that firebase was designed to work even when there is no internet connection.
Due to the difficulty of providing project information, I will close this issue.


Docker image >= 1.2.0 broken on M1 Mac?

Bug Report
Trying to build in docker with latest-alpine, nightly-alpine
or v1.2.*-alpine gives me the following error:
$ echo 'puts "Hello World!"' > hello-world.cr
$ docker run --platform linux/amd64 --rm -it -v $(pwd):/workspace -w /workspace crystallang/crystal:latest-alpine crystal build hello-world.cr
Missing executable path to expand $ORIGIN path (Exception)
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allow us to reproduce the bug: https://github.com/crystal-lang/crystal/issues

Building with v1.1.1-alpine works fine.

I can't reproduce this using the same command but with explicit version for the docker image (crystallang/crystal:1.2.2-alpine) for consistency.
This error means the compiler can't figure out the path of its executable, which on Linux is just resolving the symlink /proc/self/exe. That's unlikely to fail. If it does, I'd expect file system issues.

Can't reproduce in an Intel Mac (macOS 11.6.2)

Someone on a M1 Mac I should add. (but thanks nonetheless! 🙂)
Some new findings (also updated the description above accordingly):

It's indeed not related to --static at all.
Trying to build without that flag gives me the same error.

It seems to be a general M1 Mac issue
(has the underlying alpine image been updated between 1.1.1 -> 1.2.0? 🤔 )

crystal --help works fine for me in all image versions.
crystal build and crystal run give the above error.

The /proc/self/exe symlink looks the same to me in all image versions:

$ docker run --rm -it -v $(pwd):/workspace -w /workspace crystallang/crystal:1.2.2-alpine ls -l /proc/self/exe
lrwxrwxrwx    1 root     root             0 Jan  5 17:13 /proc/self/exe -> /bin/busybox
$ docker run --rm -it -v $(pwd):/workspace -w /workspace crystallang/crystal:1.1.1-alpine ls -l /proc/self/exe
lrwxrwxrwx    1 root     root             0 Jan  5 17:13 /proc/self/exe -> /bin/busybox

To investigate further: Using the working 1.1.1 image, you could build a dev version of the compiler with some strategic puts calls to log what's going on. Just make sure to link it statically, then mount it in the 1.2.2 image.
A simple program with just puts Process.executable_path could already be helpful as well.
The base image has actually been downgraded from alpine:3.13 to alpine:3.12 between 1.1.1 and 1.2.2 (https://github.com/crystal-lang/distribution-scripts/pull/127).

@straight-shoota

Using the working 1.1.1 image, you could build a dev version of the compiler

After some more dabbling I'm afraid that may not provide further insight.
For curiosity I grabbed a copy of /usr/bin/crystal from the 1.1.1 and 1.2.2 images,
copied them to the other one and tried to run them there.
27c9d7e0edd78c61da08713e9676e89b  /usr/bin/crystal (from 1.1.1-alpine)
45c45385525d8517adbd3f9d7995dd9a  /usr/bin/crystal (from 1.2.2-alpine)

The 1.1.1 binary works fine in both containers.
The 1.2.2 binary fails in both containers.
The bug seems to be in the crystal-binary, so a dev-version
built in the 1.1.1 image it would likely behave just fine
when run under the 1.2.2 image.
tldr, it looks like:

When crystal is built inside the 1.1.1 image on a x86-host
it runs fine on a m1-host.

When crystal is built inside the 1.2.2 image on a x86-host
it fails on a m1-host.

Might be interesting to try what happens when crystal
is built inside the 1.2.2 image on a m1-host.
(Will it then work on m1 but fail on x86? 🤔)

Unfortunately don't have time to dig deeper into this atm
(for my own usage I'll just stick with 1.1.1 for now).
Would also be inclined to suggest that nobody else
spend more time on this before someone other than me
can confirm that it fails on M1 for them, too. 🙈
(don't want to send you down rabbit holes and in the end it turns
out it was just some qemu/docker weirdness on my particular machine here,
i guess docker on M1 is still to be considered experimental after all...)

Just want to chime in here - I'm on an M1 Mac trying to build a dev version of the compiler and I'm running into this same error.  I'm coming at this somewhat laterally, so apologies if I'm jumping in at the wrong point.  But I'm running Docker Desktop 4.3.2 (72729) on an M1 MacBook Pro (2021).  Grabbed the 1.3.0-dev-build docker image, the latest source, and tried running simply make and get the following output:
root@03cc6f9723a9:~/crystal# make
Using /usr/bin/llvm-config-10 [version= 10.0.0]
g++ -c  -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc -I/usr/lib/llvm-10/include -std=c++14   -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
CRYSTAL_CONFIG_BUILD_COMMIT="a3ee70ca0" CRYSTAL_CONFIG_PATH='$ORIGIN/../share/crystal/src' SOURCE_DATE_EPOCH="1641471908" CRYSTAL_CONFIG_LIBRARY_PATH='$ORIGIN/../lib/crystal' ./bin/crystal build -D strict_multi_assign -Dwithout_interpreter  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib
Missing executable path to expand $ORIGIN path (Exception)
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allow us to reproduce the bug: https://github.com/crystal-lang/crystal/issues
/usr/bin/ld: cannot find -lgc (this usually means you need to install the development package for libgc)
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc "${@}" -o /root/.cache/crystal/root-crystal-src-ecr-process.cr/macro_run  -rdynamic -lpcre -lm -lgc -lpthread -levent -lrt -ldl`
make: *** [Makefile:193: .build/crystal] Error 1

Any progress on it?
I can't stay on 1.1.1 anymore so I found a workaround for me in https://github.com/84codes/crystal-container-images
I don't know why but it works fine :
➜  echo 'puts "Hello World!"' > hello-world.cr
➜  docker run --platform linux/amd64 --rm -it -v $(pwd):/workspace -w /workspace 84codes/crystal:1.3.1-alpine-latest hello-world.cr
Hello World!

I'm seeing the same problem in an amd64 Debian Bullseye systemd container running on an ARM64 board running Armbian.
The container is run by qemu-user.
I see the problem with crystal 1.3 and 1.2 but crystal 1.1 works.

I don't know why, but building my docker image (multistage build, on Apple M1 Max chip) with latest docker hub crystal (tagged "crystallang/crystal:latest") ending with this error:
...
#0 1.446 Error target some-binnary-app1 failed to compile:
#0 1.446 Missing executable path to expand $ORIGIN path (Exception)
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446   from ???
#0 1.446 Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allow us to reproduce the bug: https://github.com/crystal-lang/crystal/issues
...

And building with docker hub image from "84codes" (tagged 84codes/crystal:latest-ubuntu-22.04) ending with result OK.
My Dockerfile look like this:
FROM 84codes/crystal:latest-ubuntu-22.04 AS utils

RUN ... git clone some repos from github ... && \
    ... and building some binary apps (staticaly linked) ... with command like this:
    ... shards build --production --static ...

FROM alpine

RUN apk update --no-cache && \
    apk upgrade --no-cache && \
    apk add --quiet --no-cache git curl ruby ruby-dev build-base tzdata ca-certificates docker && \
    rm -rf /var/cache/apk/* && \
    echo 'gem: --no-document' > $HOME/.gemrc

COPY --from=utils /app/bin/some-binnary-app1 /bin/some-binnary-app1
COPY --from=utils /app/bin/some-binnary-app2 /bin/some-binnary-app2
COPY --from=utils /app/bin/some-binnary-app3 /bin/some-binnary-app3

RUN gem update --system && \
    gem install bundler && \
    bundle

Difference is only with this line FROM crystallang/crystal:latest AS utils or FROM 84codes/crystal:latest-ubuntu-22.04 AS utils.
Build command is:
$ docker buildx build --platform linux/amd64 -t sample/base-ruby-image .

Got same issue M1 Air, also having issues with fly.io. Might be the docker config.

Just read through this issue and can confirm that this issue affects both the alpine & non-alpine builds (M1 mac, Docker version 20.10.16).
~ % docker run crystallang/crystal:1.1.1-alpine crystal eval 'puts "hello"'
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
hello

~ % docker run crystallang/crystal:1.1.1 crystal eval 'puts "hello"'
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
hello

~ % docker run crystallang/crystal:1.2.0-alpine crystal eval 'puts "hello"'
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Missing executable path to expand $ORIGIN path (Exception)
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allow us to reproduce the bug: https://github.com/crystal-lang/crystal/issues

~ % docker run crystallang/crystal:1.2.0 crystal eval 'puts "hello"'
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Missing executable path to expand $ORIGIN path (Exception)
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allow us to reproduce the bug: https://github.com/crystal-lang/crystal/issues

Same issue on crystal 1.4.1.
Where can the Dockerfiles used to generate docker hub images be found (in case these contain a clue)?

Thanks for looking into it @mloughran , here are the docker files.

Been running into this, too. Looks like it happens here, which looks to be caused by Process.executable_path returning falsy.
It works fine on my M1 without Docker, so maybe since this involves a system call, this bug could be specific to the combination of arm64+linux, and not necessarily Docker+M1?

I'd like to help with this issue. Crystal arm64 m1 builds from macports work beautifully, the issues I have are during docker image build, ending with the same message as this issue.
I tried to build the images using both amd64 and arm64 linux as a base (using docker buildx build --platform..., apt-get install curl pulls amd64 or arm64 packages, so I know I'm on the right platform), but the crystallang/crystal images are amd64 only, so it seems that doesn't matter.
To build my own arm64 linux crystal image, should I try to use as the base these Dockerfiles and Makefile https://github.com/crystal-lang/distribution-scripts/tree/master/docker
or these? https://github.com/crystal-lang/distribution-scripts/blob/master/linux/
I don't know what's their respective purposes. It looks to me like the first one is meant to built the crystallang/crystal docker images, and the second is using docker only to isolate the build process from the rest of the system?
Or is the crystallang/crystal image built some different way?

I don't know what's their respective purposes. It looks to me like the first one is meant to built the crystallang/crystal docker images, and the second is using docker only to isolate the build process from the rest of the system?

Exactly.

Ok. So I wanted to try building crystal using the distribution-scripts/linux (even though it doesn't allow me to patch the source code without modifications), just to see if I can even build the thing.
All these builds use default docker platform, i.e. arm64/v8 on the M1 mac.
Building with PREVIOUS_CRYSTAL_VERSION > 1.1.1 (I tried 1.2.0, 1.3.1) ends up with crystal compilation error:
make CRYSTAL_VERSION=1.4.1 PREVIOUS_CRYSTAL_VERSION=1.2.0
# or: make CRYSTAL_VERSION=1.4.1 PREVIOUS_CRYSTAL_VERSION=1.3.1
# or: make CRYSTAL_VERSION=1.4.1 PREVIOUS_CRYSTAL_VERSION=1.4.0

# [ cut ]

> [stage-1  8/11] RUN git clone https://github.com/crystal-lang/crystal  && cd crystal  && git checkout 1.4.1   && make crystal stats=true static=true ${release:+release=true}                  CRYSTAL_CONFIG_TARGET=x86_64-unknown-linux-gnu  && ([ "$(ldd .build/crystal | wc -l)" -eq "1" ] || { echo './build/crystal is not statically linked'; ldd .build/crystal; exit 1; }):

# [ cut ]

#13 14.41 HEAD is now at b7377c041 Add Changelog for 1.4.1 (#12017)
#13 14.86 Using /usr/bin/llvm-config [version= 10.0.0]g++ -c  -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc -I/usr/lib/llvm10/include -std=c++14   -fno-exceptions -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
#13 36.52 CRYSTAL_CONFIG_BUILD_COMMIT="b7377c041" CRYSTAL_CONFIG_PATH='$ORIGIN/../share/crystal/src' SOURCE_DATE_EPOCH="1650653870" CRYSTAL_CONFIG_LIBRARY_PATH='$ORIGIN/../lib/crystal' ./bin/crystal build -D strict_multi_assign --stats --static -Dwithout_interpreter  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib
Parse:                             00:00:00.004335208 (   0.76MB)
#13 38.21 Failed to raise an exception: END_OF_STACK
#13 38.21 [0x4000c1ad56] ???
#13 38.21 [0x40002916e8] ???
#13 38.21 [0x40002a50f3] ???
#13 38.21 [0x4000c1a6c4] ???
#13 38.21 [0x4001c98cf8] ???
#13 38.21
#13 38.21 Tried to raise:: Error writing file: Broken pipe (IO::Error)
#13 38.21   from ???
#13 38.21   from ???
#13 38.21   from ???
#13 38.21   from ???
#13 38.22 make: *** [Makefile:198: .build/crystal] Error 5

PREVIOUS_CRYSTAL_VERSION=1.1.1 (and 1.0.0) fails with:
 => ERROR [stage-1  8/11] RUN git clone https://github.com/crystal-lang/crystal  && cd crystal  && git checkout 1.4.1   && make crystal stats=true   137.3s
------
 > [stage-1  8/11] RUN git clone https://github.com/crystal-lang/crystal  && cd crystal  && git checkout 1.4.1   && make crystal stats=true static=true ${release:+release=true}                  CRYSTAL_CONFIG_TARGET=x86_64-unknown-linux-gnu  && ([ "$(ldd .build/crystal | wc -l)" -eq "1" ] || { echo './build/crystal is not statically linked'; ldd .build/crystal; exit 1; }):
#13 0.142 Cloning into 'crystal'...
#13 4.643 Note: switching to '1.4.1'.
#13 4.643
#13 4.643 You are in 'detached HEAD' state. You can look around, make experimental
#13 4.643 changes and commit them, and you can discard any commits you make in this
#13 4.643 state without impacting any branches by switching back to a branch.
#13 4.643
#13 4.643 If you want to create a new branch to retain commits you create, you may
#13 4.643 do so (now or later) by using -c with the switch command. Example:
#13 4.643
#13 4.643   git switch -c <new-branch-name>
#13 4.643
#13 4.643 Or undo this operation with:
#13 4.643
#13 4.643   git switch -
#13 4.643
#13 4.643 Turn off this advice by setting config variable advice.detachedHead to false
#13 4.643
#13 4.643 HEAD is now at b7377c041 Add Changelog for 1.4.1 (#12017)
#13 4.690 Using /usr/bin/llvm-config [version= 10.0.0]g++ -c  -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc -I/usr/lib/llvm10/include -std=c++14   -fno-exceptions -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
#13 7.064 CRYSTAL_CONFIG_BUILD_COMMIT="b7377c041" CRYSTAL_CONFIG_PATH='$ORIGIN/../share/crystal/src' SOURCE_DATE_EPOCH="1650653870" CRYSTAL_CONFIG_LIBRARY_PATH='$ORIGIN/../lib/crystal' ./bin/crystal build -D strict_multi_assign --stats --static -Dwithout_interpreter  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib
Parse:                             00:00:00.004414041 (   0.75MB)
Semantic (top level):              00:00:02.865040793 ( 137.68MB)
Semantic (new):                    00:00:00.015248291 ( 137.68MB)
Semantic (type declarations):      00:00:00.231574916 ( 137.68MB)
Semantic (abstract def check):     00:00:00.259165958 ( 153.68MB)
Semantic (ivars initializers):     00:00:43.129813562 (1037.62MB)
Semantic (cvars initializers):     00:00:00.062373042 (1037.62MB)
#13 137.2 /usr/lib/gcc/aarch64-alpine-linux-musl/9.3.0/../../../../aarch64-alpine-linux-musl/bin/ld: _main.o: Relocations in generic ELF (EM: 62)
#13 137.2 /usr/lib/gcc/aarch64-alpine-linux-musl/9.3.0/../../../../aarch64-alpine-linux-musl/bin/ld: _main.o: Relocations in generic ELF (EM: 62)
#13 137.2 /usr/lib/gcc/aarch64-alpine-linux-musl/9.3.0/../../../../aarch64-alpine-linux-musl/bin/ld: _main.o: Relocations in generic ELF (EM: 62)
#13 137.2 /usr/lib/gcc/aarch64-alpine-linux-musl/9.3.0/../../../../aarch64-alpine-linux-musl/bin/ld: _main.o: Relocations in generic ELF (EM: 62)
#13 137.2 /usr/lib/gcc/aarch64-alpine-linux-musl/9.3.0/../../../../aarch64-alpine-linux-musl/bin/ld: _main.o: Relocations in generic ELF (EM: 62)
#13 137.2 /usr/lib/gcc/aarch64-alpine-linux-musl/9.3.0/../../../../aarch64-alpine-linux-musl/bin/ld: _main.o: error adding symbols: file in wrong format
#13 137.2 collect2: error: ld returned 1 exit status
#13 137.2 Error: execution of command failed with code: 1: `cc "${@}" -o /root/.cache/crystal/crystal-src-ecr-process.cr/macro_run  -rdynamic -static -L/bdwgc/.libs/ -lpcre -lgc -levent`
make: *** [Makefile:198: .build/crystal] Error 1
------
executor failed running [/bin/sh -c git clone https://github.com/crystal-lang/crystal  && cd crystal  && git checkout ${crystal_sha1}   && make crystal stats=true static=true ${release:+release=true}                  CRYSTAL_CONFIG_TARGET=${gnu_target}  && ([ "$(ldd .build/crystal | wc -l)" -eq "1" ] || { echo './build/crystal is not statically linked'; ldd .build/crystal; exit 1; })]: exit code: 2
make: *** [build/crystal-1.4.1-1-linux-x86_64.tar] Error 1

I see the build is failing because it tries to build arm64 (aarch64) vs x86_64 targets and gets confused.
Is there a way to build arm64 linux binary? There is a Github Action/CI pipeline which builds aarch64, can I use that somehow and create a docker image with crystal/shards arm64 versions?

So I tried different strategy - use docker multiarch build to build amd64 binaries. After patching Makefile with this:
❯ git diff
diff --git a/linux/Makefile b/linux/Makefile
index d055d5b..bb03911 100644
--- a/linux/Makefile
+++ b/linux/Makefile
@@ -77,7 +77,7 @@ build: $(OUTPUT_BASENAME64).tar ## Build the raw uncompressed tarball

 $(OUTPUT_BASENAME64).tar: Dockerfile
        mkdir -p $(OUTPUT_DIR)
-       docker build $(BUILD_ARGS64) -t crystal-build-temp .
+       docker buildx build --platform linux/amd64 $(BUILD_ARGS64) -t crystal-build-temp .
        container_id="$$(docker create crystal-build-temp)" \
          && docker cp "$$container_id":/output/crystal-$(CRYSTAL_VERSION)-$(PACKAGE_ITERATION).tar $@ \
          && docker rm -v "$$container_id"
@@ -93,7 +93,7 @@ $(OUTPUT_BASENAME64)-bundled: $(OUTPUT_BASENAME64).tar $(OUTPUT_DIR)/bundled-lib

 $(OUTPUT_DIR)/bundled-libs.tar: bundled.dockerfile
        mkdir -p $(OUTPUT_DIR)
-       docker build $(BUILD_ARGS64_BUNDLED) -t crystal-build-temp -f bundled.dockerfile .
+       docker buildx build --platform linux/amd64 $(BUILD_ARGS64_BUNDLED) -t crystal-build-temp -f bundled.dockerfile .
        container_id="$$(docker create crystal-build-temp)" \
          && docker cp "$$container_id":/output/bundled-libs.tar $@ \
          && docker rm -v "$$container_id"

both versions 1.0.0 and 1.1.1 successfuly compile crystal, but fail on shards.
Should that fail? Should I use different PREVIOUS_CRYSTAL_VERSION?
(Using 1.2.0, 1.3.1, 1.4.0 results in the same error as in arm64 build, so at least that's consistent.)
 You can look around, make experimental
#0 1.210 changes and commit them, and you can discard any commits you make in this
#0 1.210 state without impacting any branches by switching back to a branch.
#0 1.210
#0 1.210 If you want to create a new branch to retain commits you create, you may
#0 1.210 do so (now or later) by using -c with the switch command. Example:
#0 1.210
#0 1.210   git switch -c <new-branch-name>
#0 1.210
#0 1.210 Or undo this operation with:
#0 1.210
#0 1.210   git switch -
#0 1.210
#0 1.210 Turn off this advice by setting config variable advice.detachedHead to false
#0 1.210
#0 1.212 HEAD is now at 85b30b5 Add changelog for 0.17.0 (#549)
#0 1.610 Using compiled compiler at /crystal/.build/crystal
#0 19.19 Failed to raise an exception: END_OF_STACK
#0 19.19 [0x40002fb816] ???
#0 19.20 [0x40002a94fb] ???
#0 19.20 [0x40004404ec] ???
#0 19.20 [0x4000443d6e] ???
#0 19.20 [0x400044cb3d] ???
#0 19.20 [0x400030719a] ???
#0 19.20 [0x4000444477] ???
#0 19.20 [0x40002c9705] ???
#0 19.20 [0x4002515244] ???
#0 19.20
#0 19.20 Tried to raise:: Error writing file: Broken pipe (IO::Error)
#0 19.20 Failed to raise an exception: END_OF_STACK
#0 19.20 [0x40002fb816] ???
#0 19.20 [0x40002a94fb] ???
#0 19.20 [0x40002f1bb4] ???
#0 19.20 [0x40002b9166] ???
#0 19.20 [0x400250bde1] ???
#0 19.20
#0 19.20 Tried to raise:: Invalid magic number (Crystal::ELF::Error)
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 19.20   from ???
#0 26.35 mkdir -p lib/molinillo
#0 26.36 false install || (curl -L "https://github.com/crystal-lang/crystal-molinillo/archive/v.tar.gz" | tar -xzf - -C lib/molinillo --strip-components=1)
#0 26.42   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#0 26.42                                  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100    14  100    14    0     0     19      0 --:--:-- --:--:-- --:--:--    19
#0 27.12 tar: invalid magic
#0 27.12 tar: short read
#0 27.15 make: *** [Makefile:63: lib] Error 1

I don't understand why crystal compiled and shards doesn't.

Is there a way to build arm64 linux binary?

Yes, it basically works the same way as on any other platform. There is currently no recipe for this in distribution-scripts, though.

There is a Github Action/CI pipeline which builds aarch64, can I use that somehow and create a docker image with crystal/shards arm64 versions?

We're planning to use CI for building aarch64 distribution packages, but it's not yet implemented.
You can use the docker images provided by 84codes: https://hub.docker.com/r/84codes/crystal
They also provide some aarch64 packages at https://packagecloud.io/84codes/crystal

Any version since 1.0.0 should work for PREVIOUS_CRYSTAL_VERSION. Ideally the most recent one, of course.
The error messages are weird. Might be running out of memory?

The docker desktop VM has 8 GB limit currently and no other containers are running. I can try to increase the limit.
The errors are probably caused by the use of QEMU, since these are the amd64 build variants.
But... that really can be related to this issue, since the issue author wanted to run crystal docker image on M1, and the docker image is amd64. I got these errors above when I, too, try to run amd64 crystal > 1.2.0 inside docker build, so the symptoms are the same, since <= 1.1.1 amd64 crystal can build crystal source (via qemu), but >= 1.2.0 cannot?
So maybe it can be a clue, even if the error message is completely different?

It seems the 84codes images also no longer work. :(
$ docker run --rm -it --platform linux/amd64 84codes/crystal:latest-alpine /bin/sh
In bin/sh:1:1

 1 | ELF>��@��
               @8
                 @@@@h�����������	�	�
     ^
Error: unknown token: '\u007F'

(doesn't matter which of their images I try, all the binaries in them give me this error)

@m-o-e please try $ docker run --rm -it --platform linux/amd64 --entrypoint  /bin/sh 84codes/crystal:latest-alpine otherwise you give /bin/sh as an argument to the crystal binary which is the default entrypoint.

Just noticed this issue is still open. I think we can close it, since Docker Desktop officially supports Rosetta 2, which isn't experimental anymore. I think it's even enabled by default? https://www.docker.com/blog/docker-desktop-4-25/ says it is:

System requirements: Rosetta for Linux is available on macOS version 13.0 and above, specifically for Apple silicon devices. Notably, it’s enabled by default on macOS 14.1 and newer, making it even more accessible.

I had enabled "the Rosetta checkbox" in Docker Desktop for over a year and a half now and I haven't encountered any issues.


MakeCert about to be deprecated

MakeCert is about to be deprecated, this article should be re-written with Powershell for creating the certificate. Also, the ARM template on GitHub where this article points to is outdated and needs to be updated.

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

ID: 86e868f4-7171-71e2-85ad-73a6c521ce3d
Version Independent ID: c9ad0cfd-b42a-4d80-83be-3e59a1549c43
Content: Use Azure templates to create HDInsight with Azure Data Lake Storage Gen1
Content Source: articles/data-lake-store/data-lake-store-hdinsight-hadoop-use-resource-manager-template.md
Service: data-lake-store
GitHub Login: @nitinme
Microsoft Alias: nitinme

Hello @desarkar.  Thank you for bringing this issue to our attention.  We will review the document and update as appropriate.

@desarkar @nitinme I have assigned this issue to author, he will review it and make appropriate changes.

@MartinJaffer-MSFT Please assign this issue to @twooley


Browser using silent print without preview

Hi sir,
How Browser using silent print without preview dialog
Tks

Unfortunately this is not possible by default. A workaround has been proposed in the original lib.
https://github.com/crabbly/Print.js/issues/517


About zte h108n my router is v2.5 how do i steup it ?

Which one should I chose?

Such question are for the discord forum


Sandbox URL Creation, Update widgets-issue.yml and Update bug-issue.yml

[X] I have read the contributing guidelines, and I agree with the Code of Conduct.
[X] Have you checked that there aren't other open pull requests for the same changes?
[X] Have you tested that the committed code can be executed without errors?
[X] This PR is not composed of garbage changes used to farm GitHub activity to enter potential Crypto AirDrops.
Any user suspected of farming GitHub activity with crypto purposes will get banned. Submitting broken code wastes the contributors' time, who have to spend their free time reviewing, fixing, and testing code that does not even compile breaks other features, or does not introduce any useful changes. Thank you for your understanding.

Update icons and screenshotsfrom the excel file, Sandbox URL Creation, Update widgets-issue.yml and Update bug-issue.yml.

This should be merged after #2825


Automated update to tag v1.15.2

This PR updates the chart using git subtree to the latest tag in the upstream repository.

this one is outdated in favor of #98


Kernel binary format does not identify the root library

This prevents Dart_LoadScript/LibraryFromKernel from faithfully implementing Dart_LoadScript/Library.

Marking this as a duplicate of https://github.com/dart-lang/sdk/issues/29836


[REQUEST] Be able to define the order of commands when displaying the listing

Hi,
At the moment, when running php castor in order to list the available commands by namespace, it seems that a sort() is executed. Is it possible to add an option in castor in order to choose manually the display order of this command... or at least display the list in the order which is defined in the file (which will be easier to implement).
As an example, imagine a simple file like this :
<?php

namespace Docker;

use Castor\Attribute\AsTask;
use function Castor\run;

#[AsTask(description: 'Lancement du docker compose associé au projet')]
function up(): void
{
    run('docker-compose up');
}

#[AsTask(description: 'Fermeture du docker compose associé au projet)')]
function down(): void
{
    run('docker-compose down');
}

#[AsTask(description: 'Suppression des volumes et des images locales (ex: pour repartir sur une BDD vide')]
function reset(): void
{
    run('docker-compose down -v --rmi local');
}

This will result in this list :

The goal here is to to display these commands in the order they are declared in the file instead. I personnally prefer group commands by the type of action they are related to (up() and down() have the same scope, reset another one). This will result in a list like this :

up
down
reset

Do you get it ? This is more a quality of life update that I'm requesting.
Regards.

It might be nice but since we use symfony under the hood, it's not possible. Sorry
You can open an rfc in symfony/symfony instead

Allright, I got you. Thanks for the answer.


[FLINK-28410][tests] Sync E2E tests

Largely a 1:1 copy of the tests from Flink. No code was modified; but some unnecessary stuff was removed from the poms, and a missing dependency on the flink-runtime test-jar (urgh) was added.
CI also runs the E2E tests.

@zentol @MartijnVisser
A general question: don't we want to keep attribution of work to the original author during such migrations?
https://issues.apache.org/jira/browse/FLINK-27066
https://github.com/apache/flink/pull/19405


feat: infer bigint type

Node.js has built-in BigInt support since v10.4.0

makes sense, although I haven't yet come across it tbh!
Merging this in, but will publish in a couple days as I just came back from holiday and working through a list of todos :D

Published it in, apologies for the lateness of this!


[backport] Fix best_ntree_limit for dart and gblinear. (#6579)

This PR contains 2 fixes for ntree_limit.

This PR contains 2 fixes for ntree_limit.


Update helm.md

Issue #, if available:
Description of changes:
Correct the typo for custom values yaml and include helm list command to list the deployments, which would help user to delete a specific helm deployment. The present delete command will fail as it assumes that the deployment name is "opendistro-es", in general the deployment name will be "opendistro-es-".
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This looks great, thanks @sreekarjami.


Remove connected takers feed

This feed is unused, and needlessly causes load on projection actor by
re-sending the whole vector whenever a single taker changes its online status.
TODO: Reinstate the maker_notices_lack_of_taker test by querying the libp2p
endpoint if we deem it's needed.

bors r+

bors r+


[Test] fix [CI] Random failure CS2012: Cannot open '..\DevAnalyzers.dll'

What does the pull request do?

What is the current behavior?

What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

Fixes #9172

You can test this PR using the following package version. 11.0.999-cibuild0024678-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0024716-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

@workgroupengineering seems like it's not failing anymore after https://github.com/AvaloniaUI/Avalonia/pull/9195
4 PRs in a row merged successfully

I reopened the pr because the problem returned

You can test this PR using the following package version. 11.0.999-cibuild0024977-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0025069-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0025106-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0025419-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0025841-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


handle recaptcha api errors gracefully

Please fill out the below template as best you can.
Description of Issue
We're currently running into issues with the recaptcha api. It seems that an issue with the recaptcha api prevented the captcha from rendering on the page.
Here's the error seen in the browser:
canadarm.js:597 Uncaught TypeError: Cannot set property '_wrapper' of null
    at _watchFn (canadarm.js:597)
    at Object.Canadarm.watch (canadarm.js:615)
    at window.EventTarget.addEventListener (canadarm.js:767)
    at recaptcha__en.js:39
    at recaptcha__en.js:39
    at recaptcha__en.js:411
canadarm.js:471 Uncaught TypeError: Cannot read property 'stack' of null
    at standardLogAppender (canadarm.js:471)
    at gatherErrors (canadarm.js:278)
    at Object.fatal (canadarm.js:337)
    at _onError (canadarm.js:713)

We have requested a fix to google's recaptcha, but would also like to see a fix to canadarm. This fix would allow issues with the recaptcha api to pass through canadarm and not affect the application.
https://groups.google.com/forum/#!topic/recaptcha/FPkQ8VFY0zI
https://github.com/google/recaptcha/issues/166
System Configuration
Project Version
Additional Details (optional)
Steps to Reproduce the Issue

Navigate to: https://muhealthe.iqhealth.com/self-enroll/
Inspect browser console.

Expected Outcomes

Logging does not break if there is an issue with Googles recaptcha api.

If I had to guess I think this is an issue with how Canadarm "wraps" event handling.
https://github.com/cerner/canadarm/blob/master/build/canadarm.js#L792-L805
Specifically, some how the "watch" function is not getting set, or is getting unset during execution of this code.
https://github.com/cerner/canadarm/blob/master/build/canadarm.js#L612-L629
I'm going to need a way to reproduce this in a reliable way, otherwise I can keep guessing. 😺

Sorry. We just fixed it in prod.
https://muhealthe.stagingiqhealth.com/self-enroll/

Looking at the includes, it is a requirement that Canadarm comes first in the <head>.
The readme makes it sound like that's optional, but it isn't. Especially if the item included before it has an error.

The recaptcha code needs to be included after Canadarm. I'd be curious to see what happens after that.

I'll rearrange and get back with you. Thanks!


export current theme(s) only

Had a scenario with hundreds of themes installed in a big multisite installation.
export all exports all themes of the network wich ends in a 6 GB Zip-File for a single site.

Thanks @jaysn. Merged!


fix label check

Codecov Report

Merging #742 into master will decrease coverage by 0.2%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #742      +/-   ##
==========================================
- Coverage   87.53%   87.33%   -0.21%
==========================================
  Files          49       49
  Lines        3930     3931       +1
==========================================
- Hits         3440     3433       -7
- Misses        490      498       +8

Impacted Files
Coverage Δ

vent/core/rq_worker/watch.py
56.59% <0%> (-0.32%)
:arrow_down:

vent/api/actions.py
89.11% <0%> (-2.5%)
:arrow_down:

vent/api/plugins.py
93.22% <0%> (+0.26%)
:arrow_up:

vent/api/plugin_helpers.py
81.57% <0%> (+0.58%)
:arrow_up:

vent/menus/tools.py
88.62% <0%> (+0.59%)
:arrow_up:

Continue to review full report at Codecov.

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


chore: google code style integration

Description
This pull request changes the following:

adds prettier, eslint, and tsconfig settings from google code style
sets numerous eslint items to warn and added a // TODO remove for follow up in separate PRs
eslint setting no this alias except self (added // TODO remove for allowing self)
only ran npm run format using the new eslint rules
and fixed an error caused by // @ts-ignore moving to a different line in test/e2e/integration/core/account_manager.test.ts

Related Issues

Closes #

:tada: This PR is included in version 0.32.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: Change odometer state_class to total_increasing

Since the odometer  is a value that is only destined to increase, total_increasing should be the most suitable option.
Moreover this should resolve some erratical statistics when the sensor becomes unavailable (statistics card and graphs, daily mileage when feeding an utilty meter etc)

Thanks for this!