Uploaded files not retrievable due to server not acting as a proxy

Package
filament/forms
Package Version
2.17.53
Laravel Version
10.28.0
Livewire Version
2.12.6
PHP Version
8.2
Problem description
I'm uploading a file to S3 storage that is only accessible by my server, not to the client. When I'm uploading a file it works perfectly and the file is put in the S3 bucket. When previewing the file though, the frontend tries to read the S3 bucket itself, which only the server has access to.
 Forms\Components\FileUpload::make('attachments') ->disk(config('storage.driver')) ->directory(config('storage.attachements-directory')) ->visibility(config('storage.storage-bucket-visibility')) ->maxSize(config('storage.max-upload-size')) ->maxFiles(config('storage.max-file-amount')) ->enableDownload() ->multiple()
This is the configuration I'm using, where the disk is an S3 bucket and the visibility is set to private.
The URL that the frontend is trying to read is the disk configuration url.
Expected behavior
I'm expecting the server to act as a proxy to retrieve the file and serve it to the client, but that doesn't seem to be configurable.
Steps to reproduce

Create a form with the fileUpload component.
Set the disk as an S3 bucket only accessible by the server, and not the client / webbrowser.
See the preview not load because the asset gives a 404.

Reproduction repository
https://github.com/ibvodafoneziggo/filament-uploadfile-issue-example
Relevant log output
No response

When passing visibility('private'), Filament generates temporary URLs on the server side, is that not happening for you?

It does generate the temporary URL, but the base url of that URL is still the inaccessible S3 url.
In the AWSS3 Adapter of Laravel I see this code for the temporary : https://github.com/laravel/framework/blob/cee91ab69478ab8a23b7ed2467a188bbbdb6f51b/src/Illuminate/Filesystem/AwsS3V3Adapter.php#L77C28-L77C28
I'll try to set the temporary_url to my own host to have url's generated as a proxy. If I'm correc this is the function that Filament uses if the driver is set to S3 (https://github.com/filamentphp/filament/blob/9d347a3a9a4dfba832de0b1f4fd2677280ec6c99/packages/forms/src/Components/BaseFileUpload.php#L125C34-L125C34).

You can override getUploadedFileUsing() if you want, I don't think this is something that Filament can blanket fix for all people? We are generating temporary URLs using Laravel's own temporaryUrl() method.

As above, I don't think there is a fix on the Filament side, we are just leaning on the existing file upload features of Livewire

Heya @ibvodafoneziggo
Hit the same issue today - We use minio purely as a proxied data store because it's easier than keeping volumes in k8s over multiple pods during deploys.
It's a very simple fix using the spaite media library plugin with the file uploads.
Force Livewire to use the local disk for temp uploads in config/livewire.php
return [
    'legacy_model_binding' => false,
    'temporary_file_upload' => [
        'disk' => 'local'
    ],
];

in config/media-library.php you'll want to override the Url generator
'url_generator' => \App\MediaLibrary\PrivateUrlGenerator::class,

Create the private url generator, that just returns a signed route
class PrivateUrlGenerator extends DefaultUrlGenerator
{
    public function getUrl(): string
    {
        return URL::signedRoute('download-media', ['media' => $this->media->id]);
    }
}

From that route, return the media
Route::get('/download-media/{media}', function (Media $media) {
    return $media;
})
    ->name('download-media')
    ->middleware('signed');

Media will be proxied via Laravel app now. Copy the same for the filament upload fields and you will be golden.

Hi @nicko170, thanks for the neat solution! We went a little different route and opened up a public route on the S3 bucket. We then created a custom component that would retrieve the file via the public route.

Heya @ibvodafoneziggo
Hit the same issue today - We use minio purely as a proxied data store because it's easier than keeping volumes in k8s over multiple pods during deploys.
It's a very simple fix using the spaite media library plugin with the file uploads.
Force Livewire to use the local disk for temp uploads in config/livewire.php
return [
    'legacy_model_binding' => false,
    'temporary_file_upload' => [
        'disk' => 'local'
    ],
];

in config/media-library.php you'll want to override the Url generator
'url_generator' => \App\MediaLibrary\PrivateUrlGenerator::class,

Create the private url generator, that just returns a signed route
class PrivateUrlGenerator extends DefaultUrlGenerator
{
    public function getUrl(): string
    {
        return URL::signedRoute('download-media', ['media' => $this->media->id]);
    }
}

From that route, return the media
Route::get('/download-media/{media}', function (Media $media) {
    return $media;
})
    ->name('download-media')
    ->middleware('signed');

Media will be proxied via Laravel app now. Copy the same for the filament upload fields and you will be golden.

this is a good solution to problem but improving this solution :
use Spatie\MediaLibrary\Support\UrlGenerator\DefaultUrlGenerator;

class PrivateS3UrlGenerator extends DefaultUrlGenerator
{
    public function getUrl(): string
    {
        if ($this->getDiskName() === 's3-private') {// s3 private for your private s3 bucket intended to have temp url.
            return $this->getTemporaryUrl(now()->addMinutes(5));
        }
        return parent::getUrl();// or any other disks goes to get link directly.
    }
}


[Feature Request] Change Ref approach to expression-based

Describe the solution you'd like
Akin to Hangfire and others, use LINQ expressions to let calls be made. This is more inline with how other .NET libraries work. We need to make sure status still work and we can extract return types in Task vs non-Task. This will also require updating docs and the blog post.
Also, as part of this effort, we need to modernize registration of activities and workflows. We probably need to:

Make definitions the only collections on worker options instead of the "additional"
Allow activities to also be registered by entire type/class that crawls looking for activity attributed
Abstract activity definition a tad to accept a form with arg types, return type, and a Func<object?, Task<object?[]?>> invoker. Put an InvokeAsync on it I guess. This is needed for dependency injection support. Would accept alternative activity class factory approach if we can think of it, though this is probably good enough. Can expose this all the way out to the AddActivity overload in the worker options.

Ok, did some discussion with team. I am going to open a PR all-in on the expression approach (assuming I don't hit snags with inference). We can evaluate that then. That means you actually can't use the delegate/ref pattern if you wanted to (sorry!). So basically:
var temp1 = await Workflow.ExecuteActivityAsync(Foo.StaticWithArgAndResult, 123);

var temp2 = await Workflow.ExecuteActivityAsync(Foo.Ref.InstanceWithArgAndResult, 123);

Becomes:
var temp1 = await Workflow.ExecuteActivityAsync(() => Foo.StaticWithArgAndResult(123));

var temp2 = await Workflow.ExecuteActivityAsync((Foo foo) => foo.InstanceWithArgAndResult(123));

With the removal of the dependency, familiarity to .NET devs, and that we (really really) hate two ways of doing things, this just won out. But we'll reevaluate during PR time if I hit any snags.

Ok, could use some more feedback here (x-posted to #dotnet-sdk on Slack). If I have:
await Workflow.ExecuteActivityAsync((Foo foo) => foo.SomeMethod(123 + 456));

I need to evaluate that argument. From what I read, that means I have to use an approach like https://stackoverflow.com/a/60002882 (basically create a lambda out of each argument and compile at call time) which is really slow. Even Compile(true) available in all but our oldest supported version (framework 4.6) is slow. If you had passed:
await Workflow.ExecuteActivityAsync((Foo foo) => foo.SomeMethod(579));

Then I could just use ConstantExpression.Value, but that is a non-obvious optimization to users to make sure they create their parameter outside the closure. And .NET can't infer params for something like:
await Workflow.ExecuteActivityAsync((Foo foo) => foo.SomeMethod, 123 + 456);

Looking at hangfire and others, they have elaborate evaluators and will cache some known expression tree patterns resorting to Compile() as needed.
Options (not all are mutually exclusive):

Abandon expression trees - pro: good performance, con: not as common in ecosystem
Accept the performance hit of compiling non-constant expressions for arguments of workflows/activities on each invocation - pro: easy to read, con: bad performance
Put in the effort for matching some common pattern types - pro: better performance in some cases, con: lots of code and probably won't support common use case of record instantiation (also https://learn.microsoft.com/en-us/dotnet/csharp/advanced-topics/expression-trees/expression-trees-execution#execution-and-lifetimes discourages caching saying equality/identity checks are more expensive than compile)
Disallow in-lambda evaluation (i.e. require all arguments be ConstantExpression provided outside the lambda) - pro: good performance, con: runtime only and encourages potentially uglier code
Warn on in-lambda evaluation - pro: encourages good performance, con: noisy, non-obvious, encourages potentially uglier code
Use something like https://github.com/dadhi/FastExpressionCompiler - pro: better performance, con: new dependency, some expressions don't work
Another option I am unaware of?

Thoughts? I didn't put "allow expression trees and ref pattern" above because we just can't reasonably have two approaches. I may do option 2 for now while implementing, but option 1 sure looks tempting and I am hoping I don't have to maintain two approaches just so I can benchmark differences.


Plugin Adding "GoogleMaps" Binaries

Hi all,
Love the plugin, but I've run into an interesting issue recently.  My (ionic) app has been building to the app store without any issues, but I recently ran into a build error, so recreated the ios application.
Everything seemed to work fine, until I tried to send my app to apple.
I ended up with "GoogleMaps" appearing 3 times underneath "Binary and Entitlements".  Apple then rejects the app as only 1 binary is allowed in an app package.
I removed this plugin, rebuilt, and the "GoogleMaps" binaries disappear.
Adding the plugin causes the binaries to return and I cannot submit.
Am I doing something wrong?  Does anyone have an idea as to what's happening?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/11784043-plugin-adding-googlemaps-binaries?utm_campaign=plugin&utm_content=tracker%2F637500&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F637500&utm_medium=issues&utm_source=github).

Just have a look at your included frameworks. If there are multiple ones, delete them and just reference one!


Random server crash - full Exception / backtrace included.

Hello,
I run a Ratched-based websocket server (not WAMP, straight WS).
Every once in a while, seemingly randomly, upon a client WS connection (from Chrome) start, the server crashes with an unhandled exception:
"Unable to write to stream: fwrite(): SSL operation failed with code 1. OpenSSL Error messages: error:1420C0CF:SSL routines:ssl_write_internal:protocol is shutdown"
It does seem to happen mostly upon the very beginning of the connection, once the connection has been running for a bit, I don't think it happens.
Are there any solutions other than catch'ing the $loop->run() exception and silently continuing?
Thank you.
Readable backtrace:
        1) /src/api/wssrv(202): React\EventLoop\StreamSelectLoop->run()
        2) /src/api/vendor/react/event-loop/src/StreamSelectLoop.php(205): React\EventLoop\StreamSelectLoop->waitForStreamActivity()
        3) /src/api/vendor/react/event-loop/src/StreamSelectLoop.php(244): call_user_func()
        4) [internal function]: React\Stream\WritableResourceStream->handleWrite()
        5) /src/api/vendor/react/stream/src/WritableResourceStream.php(137): Evenement\EventEmitter->emit()
        6) /src/api/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(70): React\Stream\DuplexResourceStream->React\Stream\{closure}()
        7) /src/api/vendor/react/stream/src/DuplexResourceStream.php(80): Evenement\EventEmitter->emit()
        8) /src/api/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(70): React\Stream\Util::React\Stream\{closure}()
        9) /src/api/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit()
        10) /src/api/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(70): Ratchet\Server\IoServer->Ratchet\Server\{closure}()
        11) /src/api/vendor/cboden/ratchet/src/Ratchet/Server/IoServer.php(101): Ratchet\Server\IoServer->handleError()
        12) /src/api/vendor/cboden/ratchet/src/Ratchet/Server/IoServer.php(138): Ratchet\Http\HttpServer->onError()
        13) /src/api/vendor/cboden/ratchet/src/Ratchet/Http/HttpServer.php(71): Ratchet\WebSocket\WsServer->onError()
        14) /src/api/vendor/cboden/ratchet/src/Ratchet/WebSocket/WsServer.php(173): Comp\Api->onError()
        15) /src/api/wsapi.inc(478): p_bomb()

var_dump() of the exception:
class RuntimeException#97 (7) {
  protected $message =>
  string(162) "Unable to write to stream: fwrite(): SSL operation failed with code 1. OpenSSL Error messages:
error:1420C0CF:SSL routines:ssl_write_internal:protocol is shutdown"
  private string $string =>
  string(0) ""
  protected $code =>
  int(0)
  protected string $file =>
  string(68) "/src/api/vendor/react/stream/src/WritableResourceStream.php"
  protected int $line =>
  int(137)
  private array $trace =>
  array(4) {
    [0] =>
    array(3) {
      'function' =>
      string(11) "handleWrite"
      'class' =>
      string(35) "React\Stream\WritableResourceStream"
      'type' =>
      string(2) "->"
    }
    [1] =>
    array(3) {
      'file' =>
      string(66) "/src/api/vendor/react/event-loop/src/StreamSelectLoop.php"
      'line' =>
      int(244)
      'function' =>
      string(14) "call_user_func"
    }
    [2] =>
    array(5) {
      'file' =>
      string(66) "/src/api/vendor/react/event-loop/src/StreamSelectLoop.php"
      'line' =>
      int(205)
      'function' =>
      string(21) "waitForStreamActivity"
      'class' =>
      string(32) "React\EventLoop\StreamSelectLoop"
      'type' =>
      string(2) "->"
    }
    [3] =>
    array(5) {
      'file' =>
      string(23) "/src/api/wssrv"
      'line' =>
      int(202)
      'function' =>
      string(3) "run"
      'class' =>
      string(32) "React\EventLoop\StreamSelectLoop"
      'type' =>
      string(2) "->"
    }
  }
  private ?Throwable $previous =>
  NULL
}

@quakemmo Interesting one!
The error you're seeing is non-fatal and completely expected if the connection is broken. This may happen for a number of reasons, such as network issues, invalid protocol data and/or broken client implementations.
When trying to read or write from a "dead" connection, the stream emits an error event in this case and then closes the broken connection. In most cases, this means you would want to log and/or otherwise ignore this condition.
I hope this helps :+1:


special letters rendering issue

special character  like German  character isn't rendering as it is like "ü"

@TalhaSoftPlace did you ever work out the cause of this?


Clean up operator failing

Describe the bug
When I'm running this dag getting below error -
string"  File "/usr/local/lib/python3.9/site-packages/astro/sql/operators/cleanup.py", line 235, in resolve_tables_from_tasks"
38:string"    for t in task.output.resolve(context):"
39:string"AttributeError: 'MappedOperator' object has no attribute 'output'"
Is this expected ?
Raised by @jyotsa09

The output was implemented in 2.4.0 according to the release notes (see here)

Add output property to MappedOperator (#25604)

A possible fix would be to use XComArg(...) instead.


Prototype versioned app module rolling upgrades

We are attempting to gather more information on a flexible and simpler approach to rolling upgrades and also single binary syncs. This approach involves versioning the application struct (and potentially the rest of our modules) in some fashion so that at an upgrade height, it can be swapped out with a different go moduled version of the app.
In theory, for state machine upgrades, this results in something similar to restart upgrades in that we can make arbitrary consensus breaking changes (such as importing a semver minor bump but still consensus breaking version of IBC) while not having to reconnect to peers or completely reload the DB indexed into memory.
AC
To close this issue, we should create a prototype that takes a similar approach to the above to perform a rolling upgrade over 4 nodes in knuu. Ideally there is also a migration included in this upgrade.

What I basically had in mind is a multiplexer which adheres to the ABCI interface at one end and proxies calls to the relative state machine. In a way it can be seen as a sort of middleware. Each state machine is responsible for the mechanism they have for bumping the app version. The multiplexer simply stores it to disk somewhere and listens for changes via EndBlock.

As a minimal prototype, I had thought of creating a fork, bumping to v3 and having the wrapper import v1 and v2 of celestia-app. In the future we may want to go.mod these state machines for more fine granularity imports, but to start with I think we can leave it as is and see what kind of binary size that gives us.

The prototype in https://github.com/celestiaorg/celestia-app/pull/3729 works but it took several short-term workarounds that need long-term fixes before merging.

Closing this as done b/c the prototype works. I'll create follow-up issues to production-ize the prototype.

Opened https://github.com/celestiaorg/celestia-app/issues/3991


fix: fix modify_user function, add tests

fix modify_user function.
fix get_user_by_name, return None if the requested name isn't valid. The origin behavior of returning error is too serious for such occasion.
add a modify_user test

@leavelet plz fix:

@leavelet plz fix:

Maybe because of an issue of CI. See #14


fix: async mail

stop waiting until email had been sent

:tada: This PR is included in version 1.92.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


TEST commit

Overview
TL;DR

Questions
<If relevant, write a list of questions that you would like to discuss related to the changes that you have made.>
Next Steps
<If incomplete, create a task list of items that are still being worked on within the Pull Request.>
Review
<If complete, or ready for :eyes:, use @mentions for quick questions, specific feedback, and progress updates.>

Hi @orsolyalukacs! Can you help us with some context of what this pull request is for? Until then, I'm going to close this. But, if you'd like to reopen with more context, we'll be happy to take another look. 😄

Hi @brianamarie !
I just wanted to send a test commit, but I've added a new file, that I started for translations.
Since I haven't finished the translation, I don't need to merge it yet to master, so you're right! Thanks for your comment :)

Awesome, @orsolyalukacs. I am looking forward to seeing the translation! 🎉


show-utils.sh: fix jq query to get coreutils deps

In jq query, the correct regex to select .id is ".*coreutils[<EMAIL_ADDRESS>With cargo <= v1.76, id = "coreutils 0.0.26 (path+file://<coreutils local directory>)"
With cargo >= v1.77,

if local path == '<parent directory>/coreutils/', id = "path+file://<parent directory>/coreutils#0.0.26"
if local path != '<parent directory>/coreutils/', id = "path+file://<coreutils local<EMAIL_ADDRESS>
Fix uutils/coreutils#6479

With this fix, the UTILITY_LIST variable used in CICD and FreeBSD workflows is correct => list of tools to test (lint) with cargo clippy for feature unix.

CICD workflow / job "Documentation/warnings" / step "Initialize workflow variables" https://github.com/uutils/coreutils/actions/runs/9584875018/job/26429476497?pr=6485
FreeBSD workflow / job "Style and Lint" / step "Prepare, build and test" / Run 'run' in VM https://github.com/uutils/coreutils/actions/runs/9584875002/job/26429475259?pr=6485


Upgrade socket.io-client to v3

Socket.io-client v3 will (slightly) reduce bundle sizes downstream by removing the duplicate versions of ms/debug from consumers of Fluid.
We can remove references to @types/socket.io-client since it ships with TS types now.
Resolves #4608

@vladsud How good is the automation in FF these days? Do I have to manually test this in Fluid preview or is a clean buddy build sufficient?

The fluid socket.io server is running with socket.io v2. Do you know if the v3 client is fully compatible with the v2 server? Curious if any protocol changes occurred.

The fluid socket.io server is running with socket.io v2. Do you know if the v3 client is fully compatible with the v2 server? Curious if any protocol changes occurred.

Looks like it isn't :( https://socket.io/docs/v3/migrating-from-2-x-to-3-0/index.html. This is going to be hard to manage the upgrade if it's not compatible in either direction...
I know I say this a lot, but I really don't like socket.io

I'm going to close due to the server incompatibility issue. We'll need ODSP and the runtime to coordinate a plan here if we want to upgrade


NIFI-7176 - InvokeHTTP - timeout supported expression language

-okhttp client update version
-read timeout supported expression value from flowfile and variables. (support different timeout value for each request)
-connection timeout supported expression value from variables
-based on updated master(my previous PR is not ok to merge)
Thank you for your review.

Thanks for your first contribution to the project. I have added some questions/comments. There is a template in the PR request which describes basic contribution requirements and expectations, but this seems to be missing. In addition, 3 of the 4 CI checks are failing. Were you able to build the complete project locally with tests and checkstyle passing before submitting the PR?

Thanks for your first contribution to the project. I have added some questions/comments. There is a template in the PR request which describes basic contribution requirements and expectations, but this seems to be missing. In addition, 3 of the 4 CI checks are failing. Were you able to build the complete project locally with tests and checkstyle passing before submitting the PR?

Thanks for your review. I build project locally. Especially i build nifi-standard-nar.jar and add my local nifi than start and test with my flow for all cases.
I run checkstyle on project and there is no error.
I dont know why checks are failing because i check logs and it doesn't depend with my commits.
[ERROR] Failed to execute goal on project nifi-splunk-processors: Could not resolve dependencies for project org.apache.nifi:nifi-splunk-processors:jar:1.12.0-SNAPSHOT: Could not find artifact com.splunk:splunk:jar:<IP_ADDRESS> in splunk (https://splunk.artifactoryonline.com/splunk/ext-releases-local/) -> [Help 1]


🎨 Support subpackage dependencies in a single pyproject.toml file

To assist with multiple dependabot PRs being opened per dependency, per submodule, it would help if common dependencies could be managed better. To this end, it would be great to have a single pyproject.toml file, defining our different submodule packages, and then each submodule can install their relevant package. This allows versions to be managed in a single file, simplifying dependency management and the number of automated dependabot PRs.
See: https://github.com/python-poetry/poetry/issues/2270

This plugin might be of interest to you: https://github.com/ag14774/poetry-monoranger-plugin

https://github.com/ag14774/poetry-monoranger-plugin


CLOUD-535 Templates: add keystore type configuration to config scripts

for 1.3.3

pushed to sso-wip branch


Fixed nfs-client Makefile, so that it builds on osx

Make fails on osx with the following error:
cd nfs-client; \
	make container
CGO_ENABLED=0 go build -o docker/x86_64/nfs-client-provisioner ./cmd/nfs-client-provisioner
sudo docker build -t quay.io/external_storage/nfs-client-provisioner:latest docker/x86_64
Password:

This PR updates the Makefile so that the nfs-client-provisioner builds on osx.
I removed the unnecessary sudo before the docker commands.
Additionally, I added GOOS=linux and compiler arguments to statically link the binaries in the build commands.

/assign @wongma7 @salkin


crash on getUserMedia

The app is crashing on the following line,
https://github.com/remotium/cordova-plugin-webrtc/blob/master/src/ios/WebRTCPlugin.m#L461
Apparently during CaptureManager::StartWithBestCaptureFormat in capturemanager.cc
It could be due to a change in the chromium code, could you tell me the revision hash you build against?  That way I can try to replicate your build.

@wmill I updated the plugin, it'll now automatically fetch the webrtc lib from CocoaPods libjingle_peerconnection file. Could you check again if the problem got resolved?
Thanks

This project is deprecated in favor of https://github.com/eface2face/cordova-plugin-iosrtc.
Please use that instead. Thanks


[8.x ] Update Cursor.php

Order by column that can be null given me "Unable to find parameter [last_answer] in pagination item.".
I solved it by this change and make 2 orders by, first is the id that won't be null, second is "last_answer" that can be null, and worked.

If there are tests for Cursor it is good to cover this case too

@antonkomarev
How can i make tests for this?
I tested it locally and worked well with orderBy id and last_answer, not only last_anwser or there is another error in another place.
It's mean that the column must not be null, if null so required one that won't be null.
I don't know if is it efficient way to achive that, but this worked for me.

@paras-malhotra ?

I think this PR is good to go. 👍


Update README.md

improved the readme file

Nice idea, and thanks for the share.

You’re welcome


Enum's return case does not have to be escaped to return_

Skie produces
@frozen
public enum CommonTripType : Swift.Hashable, Swift.CaseIterable, Swift._ObjectiveCBridgeable {

  case oneway
  case return_
  case multicity
  case nomad

But having just return should work here.

Hi! I'm not sure if it can be just return or not. Some keywords in Swift are contextual and I'd have to verify if "return" is one of those. Anyway, the renaming is done by the Kotlin compiler itself (even without SKIE).
We could rename it in SKIE (if it's possible), but you might want to also report that to the Kotlin compiler team.

I tried it, and it seems to be possible. However, as mentioned above, this is not really a SKIE bug, and we would have to implement this as a separate feature in SKIE (that would revert the renaming done by the compiler). For this reason, I'll convert this issue to a "feature proposal" discussion.


How to prepare config for model searching?

Hello @skmhrk1209 !
Thanks for your amazing work!
I want to run your code with my own dataset. And I noticed that your first_order_search.py takes an input variable of "--config", which seems to be a json file.
However, I didn't fount it in your repo. So it is kinda hard for me to figure out how to prepare this config for me.
Would you mind telling me how to deal with it? Or could you post the config you are using, so I could make my own based on that.
Thanks again for your work!

Hi, I just pushed config file.
Moreover, I modified code to solve single-level optimization problem following the paper.
If you want to solve bilevel optimization problem like DARTS, you can use the instance methods of SuperMobileNetV2.

@skmhrk1209 Thanks!


Update README.md

thank you for your time

omg thanks :)

i will try to find time :)

because you knew i'd read code, i promise i will find time :-)

Thank you so much.  It is no rush at all.  I know you are a very busy person and it means a lot to me!


Provide a way to distinguish between terminating error vs. non-terminating error

Add more details later

Steps to reproduce
Expected behavior
Actual behavior
Environment data

> $PSVersionTable

That is definitely something that should be addressed! That makes just 10 years we struggle with that ;-)

Related: #4292
Given the current capabilities:

In hindsight, by inspecting $Error, I don't think there's a (straightforward) way to classify previous errors - though I'm not sure that's needed.

To distinguish errors as they occur, use a Try / Catch statement: only terminating errors will trigger the Catch handler:

Note: I'm using 1 / 0 as a stand-in for a pipeline-terminating error here:
# Trigger a pipeline-terminating error; works the same with a script-terminating error (Throw).
$errCountBefore = $Error.Count
$terminatingErrorOccurred = $False
Try {
  1 / 0
}  Catch { # TRIGGERED by a TERMINATING ERROR - both pipeline-terminating and script-terminating
  # Note: To also *output* the error, use Write-Error $_, but note that this
  #       *duplicates* the automatically generated $Error entry.
  Write-Error $_
  $terminatingErrorOccurred = $True
}
if ($terminatingErrorOccurred)            { 'Terminating error occurred.' }
elseif ($Error.Count -gt $errCountBefore) { 'Non-terminating error occurred.' }

'---'

# Trigger a non-terminating error.
$errCountBefore = $Error.Count
$terminatingErrorOccurred = $False
Try {
  # A non-terminating error prints its output to the error stream,
  # irrespective of any enclosing Try/Catch handler.
  Get-Item /NoSuch
}  Catch {  # NOT triggered by a NON-TERMINATINGg ERROR
 $terminatingErrorOccurred = $True
}
if ($terminatingErrorOccurred)            { 'Terminating error occurred.' }
elseif ($Error.Count -gt $errCountBefore) { 'Non-terminating error occurred.' }

The above yields:
/Users/jdoe/Desktop/pg/pg1.ps1 : Attempted to divide by zero.
....
Terminating error occurred.
---
Get-Item : Cannot find path '/NoSuch' because it does not exist.
...
Non-terminating error occurred.

@SteveL-MSFT: I want this for Functions per our discussion on critical vs error logs.
/cc @TylerLeonhardt @daxian-dbw

https://github.com/PowerShell/PowerShell/issues/4781


migrate eperson references

References
Add references/links to any related issues or PRs. These may include:

Fixes #[issue-number]
Related to REST Contract

Description
Migrate cris properties (pointing/referencing) to epersons

f.e. editusers properties being used for cris object policydefinition
this PR does not migrate groups. properties pointing to groups are currently not migrated :)

Instructions for Reviewers
List of changes in this PR:

added multiple steps to migrate eperson references (partly shown on the screenshot below)
cris properties with old_jdyna_values.dtype == 'eperson' are resolved to the belonging eperson. The email is added as the metadata_value and the uuid as the metadata_authority.

Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.

can only be tested by applying the Pentaho procedure.

Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[ ] My PR passes Checkstyle validation based on the Code Style Guide.
[ ] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[ ] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[ ] If my PR includes new, third-party dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[ ] If my PR modifies the REST API, I've linked to the REST Contract page (or open PR) related to this change.

Hello @floriangantner thanks for your PR. The PR has been merged in dspace-cris-7
Thanks for your contribution.


New Sandify: loads only on Chrome, & can't add layers

The new Sandify is unusable for me. I'm running a Mac Pro (not Macbook) with a robust video card and mbl's of DRAM. OS is far from current, but the previous Sandify site functioned just fine under El Capitan 10.11.6. This version of the site, though, renders as a blank screen under Firefox, Safari, and even iCab and Brave. Only in Chrome does the site function at all, but I can use only a single layer, because when I add another, every subsequent click anywhere on the window triggers the "New layer" dialog box, so it isn't possible to edit parameters, or to do anything except to quit. I'm disappointed. Is there a new hardware or OS requisite I should know about?

That's a huge surprise to me. I don't know if any hardware or browser requirements. I develop and use it with Firefox. Both in the desktop and on mobile. My laptop isn't exactly new. But my phone is definitely not a power machine.
Can you try a private window in Firefox? I wonder if there is something wrong with the stored data between versions.
You can also open the console and see if there are any errors.

In Firefox 57

Did you really mean 57? I am not diligent about updating, but I am on firefox 97. I don't see any errors or warnings at https://sandify.org.
I don't see that error, or any others from chromium 99 (not exactly chrome, but very close).
I'd really like to help, but I don't know how to.

I'm running fine in Chrome 98, Firefox 98, and Safari 15.2.
Are you using security addons/plugins which modify the CSP headers to be more secure? We don't current add a CSP header at all to our site.

I have no issues with it loading on Brave, [Version 1.36.111 Chromium: 99.0.4844.51 (Official Build) (64-bit)].

Closing this due to inactivity. If you continue to have trouble, please let us know.


Bump pyo3 to 0.21.2

Code will need to add the occasional & to borrow the new smart pointer as &Bound<T> to pass these types around (or use .clone() at the very small cost of increasing the Python reference count)

https://pyo3.rs/v0.21.0/migration.html

I think this is covered by #79 right, but thanks again as well!


EnderIO faces are relative to world coördinates, and not machine faces.

Issue Description:
This issue DOES happen within a modpack, but I believe the other mods are completely irrelevant to this bug and/or feature problem.
What happens:
When picking up an already configured machine, the machine retains its configuration relative to N/E/S/W rather than machine faces. This makes it so that if I turn the previously north face to south, the previously south configured output is now on the 'front' and no longer the 'side'.
What you expected to happen:
The faces are supposed to stay relative to the machine's front's defined directions Eg: Side Left, Side Right, Bottom, Etc.
Steps to reproduce:
Here's a video of the issue:
https://youtu.be/9-0-Ec-tbwY

Affected Versions (Do not use "latest"):

EnderIO: 1.10.2-<IP_ADDRESS>_beta
EnderCore: 1.10.2-<IP_ADDRESS>-beta
Minecraft: 1.10.2
Forge:
---Forge Modloader: <IP_ADDRESS>
---Minecraft Forge: <IP_ADDRESS>5
---Minecraft Coder Pack: 9.19

Your most recent log file where the issue was present:
I doubt this might be necessary, but here's the current log. Minecraft was NOT closed.
https://paste.ee/p/79Voh
Thanks for your attention.

Thank you for your suggestion. It has been added to our list or possible enhancement.
This ticket will be closed because we want the list of open tickets to reflect known issues.


How to do a full validation loop at iteration 0?

Hi all
I have two issues with logging in lightning:
First, I would like to run a full validation loop in the beginning to get the validation loss at random initialziation.
Second, I set "log_every_n_steps=100" for the pl.Trainer and would have expected the trainer to log also at initialization 0 but it starts at 100.
Thus, I cannot see how the network behaves at initialization neither on the train nor the validation set. I tried to find a fix in the documentation but didn't succeed.
Any help is highly appreciated :)

First, if you would like to run validation before training in the first, you can use https://pytorch-lightning.readthedocs.io/en/latest/trainer.html#num-sanity-val-steps
Second, setting up log_every_n_steps=100 will only log at every 100 steps
if you would like to log at 0, you can check batch_idx==0 in training/validation_step and log what you want.

will it makes sense to allow logging at global_step == 0?

will it makes sense to allow logging at global_step == 0?

not sure... what does everyone think?

Thanks for your answers. For me (speaking from a research perspective) it is definitely useful to know what's happening right at initialization. For example when examining different initialization schemes.

yeah, i don’t think i mind logging batch 0.
@ananthsub?

Please allow me a follow up question: When passing num_sanity_val_steps=-1 to the trainer, the method validation_epoch_end is called at iteration 0 but for some reason nothing is logged. I tried both self.log(..) as well as logs={...}, return 'log':logs.
As soon as the first epoch is over, everything logs as normal. What do I need to do to trigger the first log to show up on tensorboard? Thanks in advance

Logging at global step 0 sounds good to me

(global step) % log_every_n_steps.

global_step is indexed at 0, so if log_every_n_steps = 10, it will log at 1, 11, 21 training_step .

Hi,
I've somewhat similar question - Is there any way to log the first training epoch (or several iteration) without doing optimization?
I want to get baseline for the initialized model and compare loss values both on training and validation samples.
Thanks in advance,
-ea


Please fix the code

YOU have made some changes to the code, with the latest changes and information on how to install the code, I got an error after downloading some videos 👇
node:events:491
throw er; // Unhandled 'error' event
^
Error: certificate has expired
at TLSSocket.onConnectSecure (node:_tls_wrap:1535:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket._finishInit (node:_tls_wrap:949:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:730:12)
Emitted 'error' event on ClientRequest instance at:
at TLSSocket.socketErrorListener (node:_http_client:481:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'CERT_HAS_EXPIRED'
}
I also tried the old installation method, which was this

npm i puppeteer
npm install puppeteer puppeteer-extra
npm install puppeteer-extra-plugin-stealth puppeteer-extra-plugin-adblocker),
but even here I got a different error code than the one above, the error code 👇

node:events:491
throw er; // Unhandled 'error' event
^
Error: connect ETIMEDOUT <IP_ADDRESS>:443
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1247:16)
Emitted 'error' event on ClientRequest instance at:
at TLSSocket.socketErrorListener (node:_http_client:481:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 443
}
I have used your script for months without any problems, the last two weeks I have always encountered problems, these two days I have been unable to do so since the above errors appear, if it is possible to fix it again, I would be very grateful, thank you!

i think you should delete the project and try to reinstall it again
add blocker no longer used
install it like that
git clone https://github.com/karim0sec/Bulk-Tiktoks-Downloader/
if you don't have git then download zip file and extract it
in terminal project directory only use
npm i

it is possible to download 10-60 videos, then it stops, I've tried it several times, but it always stops downloading more videos. is there any technique to understand which videos have been downloaded and to resume the download from where it was left because it stops and starts again from the beginning? (I deleted the project and installed it again as you explained above) Thank you!

well i updated code but haven't test it may you test it again after pull repo and using npm i in directory command line?
and before do that please run npm install -g npm to upgrade your npm version

It worked perfectly for two days, but as I understand it, the error comes from the changes Snaptik has made on its website, if I am right and this is the reason, I would be very grateful if you could explain it to me or a ready video, which shows that how can I change the selection in the code, since I could make this change myself, without asking you, since I have become very annoying these days!

It worked perfectly for two days, but as I understand it, the error comes from the changes Snaptik has made on its website, if I am right and this is the reason, I would be very grateful if you could explain it to me or a ready video, which shows that how can I change the selection in the code, since I could make this change myself, without asking you, since I have become very annoying these days!

updated


N+1 query issue

Started GET "/plans?day_offset=0" for ::1 at 2017-01-20 17:51:47 +0800
Processing by PlansController#index as HTML
Parameters: {"day_offset"=>"0"}
User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 5], ["LIMIT", 1]]
Plan Load (0.3ms)  SELECT "plans".* FROM "plans" WHERE "plans"."user_id" = $1 AND "plans"."date" = $2  [["user_id", "5"], ["date", "2017-01-20"]]
Rendering plans/index.html.erb within layouts/application
Rendered plans/_sidebar.html.erb (0.5ms)
Rendered plans/_header.html.erb (0.3ms)
Comment Load (0.2ms)  SELECT  "comments".* FROM "comments" WHERE "comments"."plan_id" = $1 LIMIT $2  [["plan_id", 84], ["LIMIT", 1]]
Comment Load (0.2ms)  SELECT  "comments".* FROM "comments" WHERE "comments"."plan_id" = $1 LIMIT $2  [["plan_id", 85], ["LIMIT", 1]]
Comment Load (0.1ms)  SELECT  "comments".* FROM "comments" WHERE "comments"."plan_id" = $1 LIMIT $2  [["plan_id", 86], ["LIMIT", 1]]
Comment Load (0.2ms)  SELECT  "comments".* FROM "comments" WHERE "comments"."plan_id" = $1 LIMIT $2  [["plan_id", 87], ["LIMIT", 1]]
Comment Load (0.2ms)  SELECT  "comments".* FROM "comments" WHERE "comments"."plan_id" = $1 LIMIT $2  [["plan_id", 88], ["LIMIT", 1]]
Comment Load (0.2ms)  SELECT  "comments".* FROM "comments" WHERE "comments"."plan_id" = $1 LIMIT $2  [["plan_id", 89], ["LIMIT", 1]]
Rendered plans/index.html.erb within layouts/application (29.0ms)
Rendered shared/_footer.html.erb (0.3ms)
Completed 200 OK in 86ms (Views: 73.0ms | ActiveRecord: 1.7ms)

The description above didn't point out the issue accurately.  After I changed the relationship between Plan and Comment to one to many, then the problem came out. And the fix is like below:
    @plans = Plan.includes(:comments).plan_in_a_day(current_user.id, @date)


When we mention empty string in GUID then system is not throwing correct Error

i have written code
IF SMTPMailSetup."Password Key" = '' then
Error('Password is empty ');
but when i tried to execute the above code system is throwing error instead of giving empty string error
Invalid format of GUID string. The correct format of the GUID string is: CDEF7890-ABCD-0123-1234-567890ABCDEF where 0-9, A-F symbolizes hexadecimal digits.
solution should be, compiler should find the issue and should not allow to create app

Al Compiler version is 3.0.106655
Build version is 14.0.29530

Have you tried comparing with a null Guid? IT sound like the comparison failing due to an empty string not being castable to Guid.

A null GUID is a GUID will zeros in every position - you can't compare a GUID to a string without that string being castable to a GUID.
The string '' is not a valid GUID so this doesn't look like a bug, more like a coding error.
Is the "Password Key" a GUID type?

It is indeed a GUID field:

So the solution is comparing with a null Guid (just define a variable of type Guid a do NOT give it a value).
I guess you could wish for the compiler finding this at compile time to avoid getting it at runtime.
But type casts are hard to check for without limiting freedom. We want to be able to have an implicit cast from String to Guid, but the compiler should check immutable strings being valid for casting at compile time - though one.

@AskeHolst you can just use:
IsNullGuid() built-in function for this.

Even solution with the IsNullGuid(), lets hope the original poster @srinivasbanny is reading this.
It still leaves the general compiler question of checking types at compile time. Which is why this question might be relevant here.

@AskeHolst exactly that is what my question is, if i am trying to define this as a string then compiler should give some error not to allow us to build the app at least

@AskeHolst but there's no reason to use a string as a way to check against this GUID here. GUID literals could be useful in other cases - there are a few places in NAV/BC where a notification ID is re-used so that the notifications don't stack (for example the Dynamics 365 sync. code)
@srinivasbanny I don't follow in your case here - you need to test the value of "Setup Key", not the string literal so there shouldn't be any need for the compiler to check any strings.
As stated though, GUID literals might be useful in future in order to create compile time constants.

@charlespockert I think you are missing the point of compiler checks: That developers make mistakes.
So you are right, there is no reason to make the mistake, but it happens. What @srinivasbanny is asking for, is a check to tell him, at compile time, that he made a mistake by comparing an empty string with a Guid. Just another request for enhancing the compiler.

@AskeHolst I'm not missing the point, I'm just saying that IsNullGuid and guid literals would solve this in a better way.
I agree, developers make mistakes, but it's a developers job to educate themselves on the type system and understand not to expect a string cast (which could be any value at runtime) to be checked at compile time.

AL behaviour seems to have changed here.
The following code throws the above error in build 14.0.* and works as expected in build 13.0.*.
var
	testGuid: Guid;
begin
	if testGuid <> '' then;
	Message('OK');
end;

Tested with on-prem BC 13 cumulative upd 3 (no error) and on-prem BC 14 (error).
There are multiple fixes possible, but it is curious that this AL behaviour has been changed.
My question is was the change in behaviour intentional?

Hi! The behavior you see in 14.0.* is the correct one and it is mostly related to legacy code. In C/AL, whenever a Guid was compared with a String-like type, behind the scenes, the String was parsed into a Guid and the comparison was performed between two Guids.
If the string cannot be parsed into a Guid, an exception is thrown at runtime.
I agree that this is not ideal, but we need to keep the existing behavior because existing code depends on it.


QTFiles for QAAC

The easiest way to get the required QTFiles is to use nu774's 'makeportable2'.
https://sites.google.com/site/qaacpage/
Maybe include it in the QAAC folder and add a note how it works.
Download the latest iTunes
https://www.apple.com/itunes/download/win64
and then drag/drop it onto the makeportable2.cmd file
then wait for it to extract the required QTfiles folder

Done in latest release


about answer can be made little bit more detailed.

assign this to me

Hey @thtauhid  ,I want to work on this, could you please assign it to me? Thank you!

Hi @praptisharma28
@Kritika30032002 is already working on this issue. Feel free to reach out to her if she wants to collaborate with you on this issue.
You can also take a look at other issues available from https://github.com/users/thtauhid/projects/1/views/2
Thanks for your interest.


Fix #935 - Wrong variable used in VML setViewBox()

This fixes #935 where 5f08cf50e5d6a852f8bc40310b2cdc85bafd5b87 introduced a better setViewBox() but did not update the variable name. This caused errors in IE8.

Thanks!


Ensure only imaging studies are processed from OMOP ES parquet files

Definition of Done / Acceptance Criteria
When reading data from OMOP ES, only imaging procedures (accessino number is not None) are added to PIXL queues
Testing
No changes needed.
Current status

Hardcoded to use only ng tube and chest X-rays in #207, had considered a way to get configuration but we can filter where the accession number is not None as only imaging results will have that field filled in the link file
We may have to edit the test parquet files so that only the two expected images have the accession number filled in, have a feeling that they were another imaging modality, but the tests should only have two images (e.g. the current filtering output is correct)

@stefpiatek this is public/PROCEDURE_OCCURRENCE.parquet
{"procedure_occurrence_id":1,"person_id":1,"procedure_concept_id":4200610,"procedure_date":"2021-07-01T00:00:00.000Z","procedure_datetime":1625127300000,"procedure_type_concept_id":32817,"procedure_end_date":null,"procedure_end_datetime":null,"modifier_concept_id":0,"quantity":null,"visit_occurrence_id":null,"procedure_source_value":null,"procedure_source_concept_id":0,"modifier_source_value":null}
{"procedure_occurrence_id":2,"person_id":1,"procedure_concept_id":4058335,"procedure_date":"2021-07-01T00:00:00.000Z","procedure_datetime":1625140800000,"procedure_type_concept_id":32817,"procedure_end_date":null,"procedure_end_datetime":null,"modifier_concept_id":0,"quantity":null,"visit_occurrence_id":null,"procedure_source_value":null,"procedure_source_concept_id":0,"modifier_source_value":null}
{"procedure_occurrence_id":3,"person_id":2,"procedure_concept_id":4327032,"procedure_date":"2020-05-01T00:00:00.000Z","procedure_datetime":1588339813000,"procedure_type_concept_id":32817,"procedure_end_date":null,"procedure_end_datetime":null,"modifier_concept_id":0,"quantity":null,"visit_occurrence_id":null,"procedure_source_value":null,"procedure_source_concept_id":0,"modifier_source_value":null}
{"procedure_occurrence_id":4,"person_id":2,"procedure_concept_id":4163872,"procedure_date":"2020-05-23T00:00:00.000Z","procedure_datetime":1590240671000,"procedure_type_concept_id":32817,"procedure_end_date":null,"procedure_end_datetime":null,"modifier_concept_id":0,"quantity":null,"visit_occurrence_id":null,"procedure_source_value":null,"procedure_source_concept_id":0,"modifier_source_value":null}
{"procedure_occurrence_id":5,"person_id":2,"procedure_concept_id":4163872,"procedure_date":"2020-05-23T00:00:00.000Z","procedure_datetime":1590240940000,"procedure_type_concept_id":32817,"procedure_end_date":null,"procedure_end_datetime":null,"modifier_concept_id":0,"quantity":null,"visit_occurrence_id":null,"procedure_source_value":null,"procedure_source_concept_id":0,"modifier_source_value":null}
{"procedure_occurrence_id":6,"person_id":3,"procedure_concept_id":4327032,"procedure_date":"2015-05-01T00:00:00.000Z","procedure_datetime":1430487013000,"procedure_type_concept_id":32817,"procedure_end_date":null,"procedure_end_datetime":null,"modifier_concept_id":0,"quantity":null,"visit_occurrence_id":null,"procedure_source_value":null,"procedure_source_concept_id":0,"modifier_source_value":null}

Only one of the ids mentioned in the code is here, and one is duplicated (the whole row is). Is that intentional?
Would it make sense to keep the test data in some human readable format (so we can track it on github too) and only convert to parquet at test time? Or alternatively keep both (this introduces chance of them not matching)?

Only one of the ids mentioned in the code is here, and one is duplicated (the whole row is). Is that intentional?
Yeah they're the same imaging type for the same person but taken at a different time

Would it make sense to keep the test data in some human readable format (so we can track it on github too) and only convert to parquet at test time? Or alternatively keep both (this introduces chance of them not matching)?

I'd be up for having a helper test function that takes a CSV of input data and then splits it out into parquet files in the format that we expect. Had been an option earlier that wasn't used in #159 in the testing heading


OpenRefine hangs on 'Initializing context' When Running on OpenStack

I'm trying to run OpenRefine inside an OpenStack Linux virtual machine ported from a Virtualbox Linux VM.
Things work fine in the Virtualbox VM but in OpenStack the launch hangs on the initialisation step:
21:39:31.445 [            refine_server] Starting Server bound to '<IP_ADDRESS>:3333' (0ms)
21:39:31.446 [            refine_server] refine.memory size: 1400M JVM Max heap:<PHONE_NUMBER> (1ms)
21:39:31.455 [            refine_server] Initializing context: '/' from '/opt/openrefine-3.0-beta/webapp' (9ms)

At this point it hangs...
Config: OpenJDK 1.8.0_171, openrefine-3.0-beta
(I can't update versions in the VM for now...)
Any pointers as to how I can debug this further, or what the issue(s) might be?
I can run other services and see them via http over an internet connection, although I can't see out to the internet from inside the box (eg ping etc doesn't work), so I suspect I also have a network issue somewhere.

I left it >10 mins and it seemed to get going itself...
So: any ideas why it should take a significantly long time to start running on first run? (It seems to get going okay on later runs.)

Hmmm... experimenting with a Docker container as part of a docker-compose config and once again OpenRefine just hangs, not getting further than:
refine_container | /usr/lib/jvm/java-1.8-openjdk/bin/java -cp server/classes:server/target/lib/*   -Xms1400M -Xmx1400M -Drefine.memory=1400M -Drefine.max_form_content_size=1048576 -Drefine.verbosity=info -Dpython.path=main/webapp/WEB-INF/lib/jython -Dpython.cachedir=/root/.local/share/google/refine/cachedir -Drefine.data_dir=/mnt/refine -Drefine.webapp=main/webapp -Drefine.port=3333 -Drefine.host=<IP_ADDRESS> com.google.refine.Refine
refine_container | Starting OpenRefine at 'http://<IP_ADDRESS>:3333/'
refine_container |
refine_container | 22:12:34.364 [            refine_server] Starting Server bound to '<IP_ADDRESS>:3333' (0ms)
refine_container | 22:12:34.368 [            refine_server] refine.memory size: 1400M JVM Max heap:<PHONE_NUMBER> (4ms)
refine_container | 22:12:34.393 [            refine_server] Initializing context: '/' from '/openrefine-3.1/webapp' (25ms)

Okay, I think the issue is that the hanging was a server memory issue.
Anyone know what the minimum spec server that OpenRefine will reliably run on and what the start / config parameters for OR are in such a case?
With the -1400M default and a 2GB machine I got the hanging situation above. 3Gb seems okay.

I have this same issue.
Openrefine 3.2 with 7 GB de ram.
`guaman@openrefine:~$ ./openrefine-3.2/refine -m 4000M -i <IP_ADDRESS> -p 80
You have 7473M of free memory.
Your current configuration is set to use 4000M of memory.
OpenRefine can run better when given more memory. Read our FAQ on how to allocate more memory here:
https://github.com/OpenRefine/OpenRefine/wiki/FAQ:-Allocate-More-Memory
Starting OpenRefine at 'http://<IP_ADDRESS>:80/'
13:05:53.262 [            refine_server] Starting Server bound to '<IP_ADDRESS>:80' (0ms)
13:05:53.315 [            refine_server] refine.memory size: 4000M JVM Max heap:<PHONE_NUMBER> (53ms)
13:05:53.453 [            refine_server] Initializing context: '/' from '/home/guaman/openrefine-3.2/webapp' (138ms)
`

I'm having same issue here 128GB/16 cores. Anyone know what's happening?

@freedev Try removing all OpenRefine extensions temporarily to see if it still hangs?  You can join our https://forum.openrefine.org where we'll be able to help you further.  See you there!

Closing this issue as not really actionable for our team.  And we have limited resources to try to reproduce exact user environments where this issue seems to stem from.  We'll be more than happy to provide help and support on the forum.


Should upgrading to aws-sdk 2.0 have been a major version change?

When we upgraded our gems recently our site was broken due to a major breaking upgrade to aws-sdk via the dependency from carrierwave-aws. It seems to me that a change such as this should also result in a major version bump to carrierwave-aws.

I had the same thought earlier today https://twitter.com/sorentwo/status/615938839543033856
My original thinking was that because carrierwave-aws was pre-1.0 a set of changes like this wouldn't be a problem. That thinking has proven incorrect. There are a lot of breaking changes within aws-sdk-2 and apparently a lot more users of the gem than I had guessed. I'm working on an alternate version strategy currently.

Yeah, I'm of the mind that even pre-1.0 should adhere to semantic versioning, though I guess it would be good to have a way to indicate that something isn't stable yet.

I'm strongly considering bumping the current release to 1.0.0-pre and releasing a 0.7.0 with a reversion to aws-sdk-1. That should prevent some of the issues you (and other's) are running into, while giving an upgrade path as well.
Honestly the upgrade has been a huge pain to me with no actual benefits. The maximum expiration time is now only 1 week, signed urls are insanely long, and it is pickier about passed configuration values. I'm sure it has improved things for the aws-sdk gem internally, but it has been a hassle.

I'm strongly considering bumping the current release to 1.0.0-pre and releasing a 0.7.0 with a reversion to aws-sdk-1. That should prevent some of the issues you (and other's) are running into, while giving an upgrade path as well.

I am in favor of this idea.

Honestly the upgrade has been a huge pain to me with no actual benefits. The maximum expiration time is now only 1 week, signed urls are insanely long, and it is pickier about passed configuration values. I'm sure it has improved things for the aws-sdk gem internally, but it has been a hassle.

I remember running into something similar with fog a while back before switching to this. I bet things like that help to reduce the number of support requests they get on their end.

New releases are out. 0.7.0 is identical to 0.5.0, which will trump any eagerly installed 0.6.0 versions. The upgrade to AWS-SDK v2 is now wrapped up in 1.0.0-rc.1. Thanks for the collaboration!

Sounds great. Thanks!


Polestar: simplify

/cc @loebse I can't test this

@loebse this check seems invalid:
	// Extract resume path from redirect URL
	if resp.Request.URL == nil {
		return nil, fmt.Errorf("no redirect url")
	}

per Go docs:

Request is the request that was sent to obtain this Response. Request's Body is nil (having already been consumed). This is only populated for Client requests.

...so this can never be empty. Instead, the following block needs error handling in case the url doesn't have the expected structure. Another option would be to suppress the redirect and get the URL from the response's location header instead (though that's likely more effort to do).
Could you kindly take another look to make this nicer?

As this is already merged to master I also tested this and it looks good to me. Or is there any other branch you want me to have a look at @andig ?

Thats perfect then, thank you 👍🏻


Change name to more general

Probably a good idea to change name so other models can be incorporated, maybe memory_models should make more sense?

Makes more sense to just make another repo and copy the code.


The type str of the ProjectConfig parameter is changed to the type path

The type str of the ProjectConfig parameter is changed to the type path

Thanks, @xy-qimu, for improving the examples!


Go mod has been enabled

Added compatibility with Go Mod. This included bumping up the version of gorgonia, but you and I both knew this would happen. Tests seem to run okay.
Let me know if it needs anything else!

Oh man.. I am so sorry I missed this @neetle


Terminal editors: VI's edit mode is lost on reload

Testing #127192

in a terminal editor start "vi" on a text file
enter "insert" mode by typing 'i'
type some characters and observe that they are inserted
run "reload window" command
type more characters

Observe: characters are not inserted because insert mode was ended (like pressing ESC).

Actually, the same happens when a terminal is moved from editor group to panel.

This is unexpected, will investigate

Actually, the same happens when a terminal is moved from editor group to panel.
This doesn't repro for me when moving to/from the panel

Also works fine for me on reload of the window

I can't repro either, I tried:

Open a terminal with vim and enter insert mode
Verify input works
Reload window with it in the editor, verify input works
Reload window with it in the panel, verify input works
Swap between editor -> panel, panel -> editor and make sure input works

I was using vi (not vim) on linux and macOs - will try again tomorrows

Same with vi for me

I can still reproduce:

Please note: since "Screencast mode" is reset after the window reload, you cannot see that I was typing worldl and I would have expected that the typing worldl appears after the hello.
But since I was back in vi's command mode, the w has no effect and the o switched vi back into insert mode.

Oh, I understand why VI's edit mode is lost: I'm using F1 to open the Command palette in order to find the "reload window" command and vi exits edit mode with that.

I'm using F1 to open the Command palette in order to find the "reload window" command and vi exits edit mode with that.

Hmm this still shouldn't be sending anything to vi though as it gets handled by vscode to open the command palette. Could you try launch using --verbose so we get logs in the terminal and then toggle escape sequence logging? This will print anything send to/from xterm.js which should include whatever is causing it to exit.

Before providing the logs, here is another even simpler case: just switching the focus makes vi return to command mode.

Please observe how the block cursor moves from the 'F' to 'c' when clicking in the editor area.

On focus some things happen in the terminal for me as there's a focus VT sequence that can be listened to:

I'm guessing your vi here is configured to reset the state. I still can't repro though 🤔

Ok, this is a "feature" of ubuntu 21.04 LTE !
I just verified that the problem does not occur in ubuntu 20.10 LTE.
And I can reproduce the issue even outside of VS Code:
Running vi in a terminal on ubuntu 21.04 shows the same behavior: a click on the desktop makes vi leave insert mode.
On ubuntu 20.10 this does not happen.
So I think you are off the hook ;-)

Great, TIL 🙂


DMN allowed values are sometimes laid out incorrectly

Describe the Bug
Sometimes allowed values are laid out incorrectly.

Steps to Reproduce

Open input editing
now this may happen

Expected Behavior
It should always be laid out correctly.
Environment

OS: MacOS, Linux (not always
Camunda Modeler Version: 4.1.1

I believe we could ensure that it's always laid out correctly as the current structure is a mix of inline elements and blocks.

I prepared a branch where it's probably fixed for all. As I could not reproduce the issue on my computer, I will need help to confirm it works. Please download artifacts from links below:

https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/make-sure-allowed-values-is-laid-out-correctly/camunda-modeler-make-sure-allowed-values-is-laid-out-correctly-linux-x64.tar.gz
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/make-sure-allowed-values-is-laid-out-correctly/camunda-modeler-make-sure-allowed-values-is-laid-out-correctly-mac.dmg
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/make-sure-allowed-values-is-laid-out-correctly/camunda-modeler-make-sure-allowed-values-is-laid-out-correctly-mac.zip
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/make-sure-allowed-values-is-laid-out-correctly/camunda-modeler-make-sure-allowed-values-is-laid-out-correctly-win-ia32.zip
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/make-sure-allowed-values-is-laid-out-correctly/camunda-modeler-make-sure-allowed-values-is-laid-out-correctly-win-x64.zip

Fixed upstream via https://github.com/bpmn-io/dmn-js/pull/557


e2e: detect resources deleted using DeletionTimestamp

lgtm

This somehow causes the same issue we have on 1.7: https://github.com/coreos/etcd-operator/issues/1233
failed to create 3 members etcd cluster: still failing after 24 retries

@etcd-bot retest this please


test framework: split istioctl stdout and stderr

otherwise we end up writing errors to the output, which breaks our
cleanup. This might fix https://github.com/istio/istio/issues/23149

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
68883cbd35d95b58da2c0148daa84af1c427c095
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-galley-k8s-tests_istio
19b396fdfe967ea669d9ec1e9c4d6153dc941982
link
/test integ-galley-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-galley-k8s-tests_istio
19b396fdfe967ea669d9ec1e9c4d6153dc941982
link
/test integ-galley-k8s-tests_istio

integ-local-tests_istio
19b396fdfe967ea669d9ec1e9c4d6153dc941982
link
/test integ-local-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


[Feature Request] Add resolved callstacks to Execution Events

I'm hoping for the same New Thread Stack and Ready Thread Stack options that Windows CPU Usage (Precise) has.

agreed that would be nice
Is this for LTTng or for Perfetto events?
while stackwalk is theoretically possible to obtain on newest tracing, decoding stack and symbols remain a challenge.
There is a lack of a nice symbol decoding methods and format like on Windows. This is necessary to decode the stackwalk both in general for Linux/Android as well as in these trace formats.
I think we have experimental barely working support for LTTng for just KM (kernel-mode) stacks if a special file is provided similar to what Trace Compass does.

We're also evaluating VTune in our search for a WPA-like Linux profiler.

So since you used precise language about CPU Usage Precise and scheduling events, I know you are interested in them. However, just to be clear and if others can make use of this, I did want to say we do support Linux profiling with stacks (KM/UM). This is equivalent to Windows CPU Usage (Sampled).
You used the term "Linux profiler" here probably in the generic sense of the word, not the specific sense of an actual profiler which samples the CPU at a specific interval, determining where CPU time is spent on which functions and the stack that led there (profiling). Last I checked LTTng did not support profiling in this sense. Instead, these tools rely on Linux kernel perf tool cpu-clock events where the stack is decoded by perf/Linux on the box before reading into our tool. All this is documented here - https://github.com/microsoft/Microsoft-Performance-Tools-Linux-Android/blob/develop/LinuxTraceLogCapture.md#perf

Is "experimental barely working support for LTTng for just KM (kernel-mode) stacks" documented anywhere?

With that bit on profiling support out of the way let me move to your specific follow-up question. No it has not been documented before the experimental support we have, but probably you could get it to work with a few bugfixes if you want to look. AFAIK symbol info has not been added to Trace Compass traces, although it could technically be done. Therefore, there has to be some manual way to resolve symbols. LTTng grabs the undecoded callstack, but something still needs to resolve the symbols.
I will explain / document here where we are:

Context / Inspiration - Trace Compass (OSS) is a popular GUI for reading LTTng traces, although it has different features than this toolkit and WPA. Trace compass supports providing the kallsyms (KM only) and loading it in the GUI. See https://archive.eclipse.org/tracecompass.incubator/doc/org.eclipse.tracecompass.incubator.kernel.doc.user/User-Guide.html
This is where we attempt to read kallsyms for Perf cpu-clock events converted to LTTng CTF format. The conversion is a bit of a PITA to do - not really recommended. Anyways, the current checked in algo I think is wrong or sucked here, but it gives you the idea of what to do and where to do it.
Anyways, this could be fixed and ported to LTTng scheduling events such that at least the KM stacks could be decoded similar to Trace Compass

Maybe try the kallsyms symbol support in Trace Compass if you can, and see if it works well enough for you to want to use it. Then we would be open to a contribution here in these tools to get similar support
Long term here is what I would suggest for the LTTNg and Linux folks to better support call stacks and symbols

LTTng needs to support profiling (cpu-clock) events
Embed binary id / signature info into the LTTng trace necessary for symbol decode (similar to what Windows does)
Have some sort of symbol server or on-demand method to pull down symbols to decode  (similar to what Windows does)

FYI This (2) is now deprecated - kallsyms for Perf cpu-clock events converted to LTTng CTF format


python3 support

Both the client-side and the server-side runtime would need a little bit of work for python3 support.
Server-side

[ ] the fabfile fabfile_builder.py handles spinning up an EC2 instance, downloading anaconda, configuring it, tarballing the result, and cramming it back into S3 as the run environment. You'd just need to download the python3 miniconda -- everything there should basically work ok.
[ ] jobrunner.py would need to be python3 friendly

Client-side

[ ] as @tdhopper has pointed out with some issues, there's just a host of non-python-3 friendly code and idioms in there. all of them could be fixed and I think some of the more complex parts (cloudpickle?) already have python 3 support

Additionally we'd want to properly set up a build matrix on travis for testing
See also issues #21  #19  #20

I'm working on a fork that will run on python 3. If I get it working i'll share it. I did find one snafu in my journeys.
The python 3 StringIO doesn't accept bytes arguments.
"If you need to write code that runs on 2.7 and 3.x, use the BytesIO class in the io module." source:
http://stackoverflow.com/questions/6479100/python-stringio-replacement-that-works-with-bytes-instead-of-strings

Ok this is incredibly awesome! I've been hacking a lot on this lately -- I think there's also the issue of the anaconda runtime. Want to coordinate together? This is so great!

Sure thing. I'm hacking it together too, then I was going to go back and make sure 2.7 still worked. Is 2.7 the cutoff for backwards compatibility? I'm CST, so  i'm going to call it a night, but I think I made a decent dent. I'm trying to get the simpletest.py to run. I got as far as uploading the pickles to s3, but then it hangs with no status or error messages.
(data-sci) hiro@deathscythe /data/Development/python/pywren $ python examples/simpletest.py
a60b6278-4398-4037-83fe-286109ab77c3

hiro@deathscythe /data/Development/python/pywren $ aws s3 ls s3://pywern/pywren.jobs/a60b6278-4398-4037-83fe-286109ab77c3/
2017-02-10 23:21:14          5 aggdata.pickle
2017-02-10 23:21:15     204286 lambda.pickle

Yeah yeah, I spelt the bucket name wrong.

Awesome, any chance you have a public fork I can take a look at?
On Fri, Feb 10, 2017 at 11:30 PM, Matt<EMAIL_ADDRESS>wrote:

Sure thing. I'm hacking it together too, then I was going to go back and
make sure 2.7 still worked. Is 2.7 the cutoff for backwards compatibility?
I'm CST, so i'm going to call it a night, but I think I made a decent dent.
I'm trying to get the simpletest.py to run. I got as far as uploading the
pickles to s3, but then it hangs with no status or error messages.
(data-sci) hiro@deathscythe /data/Development/python/pywren $ python examples/simpletest.py
a60b6278-4398-4037-83fe-286109ab77c3
hiro@deathscythe /data/Development/python/pywren $ aws s3 ls s3://pywern/pywren.jobs/a60b6278-4398-4037-83fe-286109ab77c3/
2017-02-10 http://pywren.jobs/a60b6278-4398-4037-83fe-286109ab77c3/2017-02-10 23:21:14          5 aggdata.pickle
2017-02-10 23:21:15     204286 lambda.pickle
Yeah yeah, I spelt the bucket name wrong.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericmjonas/pywren/issues/22#issuecomment-279122938,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACPEo47-9fO8SwYKEJLvQGE8gaBU2uDks5rbUeLgaJpZM4Kc2ha
.

I committed my work and pushed it here: https://github.com/washcycle/pywren

Ok I just pushed a bunch of the stand-alone reducer functionality to master, and then created a python3 branch with an updated travis config to test python 3. It will fail for a while :)

I created a python3 runtime at s3://ericmjonas-public/condaruntime.python3.stripped.scipy-cvxpy-sklearn.mkl_avx2.tar.gz  -- you should be able to set your yaml to point to it and have a python runtime on the remote side.

 I found a few things:

cloudpickle has some bugs with python3.6, but not python3.5.

In the lambda wrenhandler, I unpickle the function object to get the python module source code that we've sent along. This is actually pretty bad because wrenhandler runs inside the old-and-busted lambda python runtime. I think I'm going to have to change the format of the pickled function to make this work, which is a bigger change than I was planning.

I'm going to try and address item right now, we'll see how much work it is.

Excellent, haven't had a chance to work on it again this weekend. Did you
commit the changes to your branch? Should I keep moving with what I have in
the meantime?
 I found a few things:

cloudpickle has some bugs with python3.6, but not python3.5.
2.
In the lambda wrenhandler, I unpickle the function object to get the
python module source code that we've sent along. This is actually pretty
bad because wrenhandler runs inside the old-and-busted lambda python
runtime. I think I'm going to have to change the format of the pickled
function to make this work, which is a bigger change than I was planning.
I'm going to try and address item right now, we'll see how much work it is.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ericmjonas/pywren/issues/22#issuecomment-279267460,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABBp_oFN-gpmOpDuxCEMEleH9rWsq8doks5rb59VgaJpZM4Kc2ha
.

Ok, check out the python3 branch -- I think we're incredibly close. There are some import complications that I had to hack around because of the way that lambda's python 2.7 invokes things (hence some gross hacks around imports).
I fixed issue (2) above by passing the function as a json-serialized string instead of an actual pickle object so that it can be unpickled by both python2 and python3. Along the way I got to learn all about the differences between bytes and strings and encodings and pickling.
My plan right now is to try and get travis working for both python2 and python3.5 with the latest code change, and then try and clean it up. I'll post on this issue in an hour or so when I have it working and would love to get your feedback before merging into mainline.
Also now that we're getting interest, can I list you in the soon-to-be-created CONTRIBUTORS.md?

Will be happy to look it over. Feel free to add me to the list. I'm pretty excited about this!

Ok I have a pull request up on the master branch that I'd love your
feedback on!
On Sun, Feb 12, 2017 at 8:54 PM, Matt<EMAIL_ADDRESS>wrote:

Will be happy to look it over. Feel free to add me to the list. I'm pretty
excited about this!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericmjonas/pywren/issues/22#issuecomment-279282942,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACPEosxGikYclT9CVmQShtp6TglM5s-ks5rb8XegaJpZM4Kc2ha
.

Great! Will do when I get home ;) I did notice in the python3 branch last night that when I ran create_config it wasn't pointing to the python 3 run-time on your public s3 in the .pyrewn_config. Maybe you addressed that already.

So now create_config has a --pythonver version that should be set to
"3.5" when you create the config. I really need to think of a more
consistent way of versioning these runtimes.
On Mon, Feb 13, 2017 at 1:24 PM, Matt<EMAIL_ADDRESS>wrote:

Great! Will do when I get home ;) I did notice in the python3 branch last
night that when I ran create_config it wasn't pointing to the python 3
run-time on your public s3 in the .pyrewn_config. Maybe you addressed
that already.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericmjonas/pywren/issues/22#issuecomment-279494947,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACPEmoL5vkbKUMs1oJVUOmpaYh4cMmkks5rcK3-gaJpZM4Kc2ha
.

I had a thought on this. We could check the version in the function that creates the config and use that to select the runtime. Similar to what was done with the python imports I don't see why that wouldn't work in this case. I am thinking we might want to also consider two config files for people who utilize both environments .pywren_config3 and .pywren_config2. If you this this is a good idea I think it is something I am willing to tackle.

With @ooq's recent commits create-config now automatically picks the right python runtime, I'm going to say that we have working python3 support and close the issue!


fix isdir for empty first page on azure

I found this surprising. I posted the path this reproes on in #blobfile, in case you want to investigate.

Interesting, if I had to guess, I would guess that delimiter="/" queries will skip up to N entries before returning an empty page of results.  I will see if there's a way to do this without the delimiter part of the query.

I don't see why I used delimiter here, but removing it doesn't fix the issue anyway.  Thanks for the PR!


HybridVec: a drop-in replacement for Vec that uses stack storage for small vectors

Inspired by @Gankro's comment in the thread about SSO on discuss.rust-lang.org.
This is a drop-in replacement for Vec that dynamically moves between stack and heap for smaller vectors. The threshold is currently governed by two hardcoded constants, the size of the on-stack array and the max number of bytes in the contained type, but perhaps in the future it could be configurable at compile-time or even calculated from a percentage of the running stack size. I didn't know enough about DST to implement a dynamically-sized array so the on-stack array is a constant size.
The file is huge mainly because I copied all the tests from vec.rs to make sure it was up to snuff. In fact, a lot of code was shamelessly copied from vec.rs and adapted to HybridVec, mostly with respect to heap storage management.
I had to comment out the assertions on capacity for smaller vectors because switching to stack storage broke them (HybridVec::new().capacity() != 0) and I didn't want to expose the ARRAY_SIZE constant for the tests submodule or copy it as a magic number for each occurrence.
Some methods, such as map_in_place, dedup and vec::as_vec, (and their associated tests) were omitted on purpose to limit complexity while others were omitted accidentally because Vec's API is massive and the tests didn't complain. Please let me know of any that should be there but aren't.
I made sure all tests passed before submitting this PR. I also ran benchmarks, though I'm not exactly sure if I'm interpreting them correctly because they seem to show regressions when the vector is on-stack: Pastebin
Of course, this could just be overhead. I expect some from the widespread use of dynamic dispatch required by this implementation strategy. A real comparison should compare HybridVec to Vec for vectors of the same size to emphasize any performance improvements/regressions. Additionally, some methods have a more naiive implementation than their Vec ancestors for simplicity's sake and should be benchmarked for performance regressions.
This is very much still a work-in-progress, though I feel it's mature enough already to be included as a working prototype so it can cut its teeth in the wild.
In addition to missing needed methods and benchmarks, I neglected to write doc-comments for most of the methods because the public API behaves, for the most part, equivalently to Vec's, with the exception of shrink_to_fit which has a new move_to_stack: bool parameter, which was needed to make into_boxed_slice() work correctly for smaller vectors.
The stack-vs-heap behavior happens transparently and is never exposed to the user except for this parameter.

My gut feeling is that it's too soon for this type to exist. We don't have the type-system necessary for it to be really right.

I do consider it a work-in-progress prototype, though I don't understand what it needs from the type system to be "really right". Making the array size a type parameter, you mean?

The array size as part of the type, and the manually-drop RFC huon linked are both highly desirable for this functionality, yes.

But it works as-is. It seems to me that those can be implemented on this type without breaking its behavior as they become available.

@Gankro @reem @huonw  I got busy with life stuff and this kind-off fell off the radar. But I have finally updated it with the tweaks we discussed and brought it up to speed with the latest Rust.
However, I'm disappointed that my implementation appears to lose out to Vec in microbenchmarks:
test proto::hybrid_vec::tests::bench_small_hybrid                 ... bench:        37 ns/iter (+/- 1)
test proto::hybrid_vec::tests::bench_small_vec                    ... bench:        18 ns/iter (+/- 1)

The benchmark is just a naive let _: HybridVec<_> = (0usize .. ARRAY_SIZE).collect(). I have some ideas on where it might be chugging but I need to profile it first.
Also plenty of TODOs for doc-comments, though the API is 99.99% equivalent to Vec for the same-named methods.

collect-rs is being broken up into several distinct crates hosted at github.com/contain-rs
Still working out how third parties can submit crates for us to help review/maintain.


fix: Check for action length

Since we always convert an action to an array, we should check for its
length instead of it being defined or not (it always will be).
Closes #69

Just a small heads up, this is not the best approach. We are assuming that only the first action can have a fallback. Could be the last action. If that's the case, it wouldn't be rendered as well. My recommendation would be something like the Array.some, but I don't know the best way to approach that in ejs.

Hi @Guergeiro,
Thanks for identifying the issue and creating the PR.
I believe that a developer who is interested in fallback text for their action buttons will be enabling it for all action buttons (why selectively enable it per-button?). Therefore, the fix in this PR should be adequate for now.
Merged & published to npm in 2.0.27.


Add tessconfigs submodule and links for required tessdata files

Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

Request for comments. This is a possible solution how a local clone of tessdata_fast (and similar the other tessdata* repositories) can be used with Tesseract. It adds the necessary directories configs and  tessconfigs and the file pdf.ttf as symbolic links into the submodule.

Thanks! This will be useful.
Does this add the whole tesseract repo as a submodule or only the required subfolders?

In case it pulls in the whole repo, how about pulling out the directories configs and tessconfigs and the file pdf.ttf into a new tessdata_configs repo and then including that as a submodule into tesseract as well as tessdata, tessdata_fast and tessdata_best.

It is the whole repository.
The alternative way is to create a new repository (I'd name it just tesseract-ocr/configs or tesseract-ocr/tessconfigs, not tesseract-ocr/tessdata_configs), fill it with the data from tesseract/tessdata including the history and use that new repository as a submodule for tesseract and tessdata, tessdata_fast, tessdata_best.

I like the alternative way better.

tesseract build instructions will need to be modified to update the config submodules.

Here is an example repository which could be used: https://github.com/stweil/tessconfigs.

Looks good. It has all the history too.
@zednop please create the new repo.

it is not problem to create another repository. But can he get input from tesseract packages (e.g. Ubuntu), if we do not break something?

Creating the new repository won't break anything. The critical point comes later. Adding the new repository as a submodule to the tessdata* repositories should work without any problem, but adding the submodule tothe tesseract`repository needs more thoughts. The good news is that older version (3.x, 4.x) won't be affected, so Linux distributions based on 4.x won't have to change anything for now. They will have to update their build scripts for Tesseract 5.0.

Regarding name, @Shreeshrii suggested tessdata_configs and I suggested configs or tessconfigs (see comments above).
The tesseract repository will replace the files in the tessdata subdirectory by files from the new repository which must be added as a submodule, only in Git master of course. That requires updates of the documentation.

tessconfigs sounds good.

done: https://github.com/tesseract-ocr/tessconfigs

I replaced the content with the files including the complete history from the tesseract repository and added your commit on top.

Now the pull request was updated to add the new tessconfigs submodule.


Check for local branch behind remote before throwing an error

          1 Warning

:warning:
Please provide a changelog summary in the Pull Request description @ohayon

  Generated by :no_entry_sign: Danger


[Event Request] Codeunit 80 Sales-Post - OnBeforeFillTempLine

Hi, would it be possible to get an event OnBeforeFillTempline in codeunit 80, trigger OnRun, like this :
...
        GetGLSetup();
        GetSalesSetup();
        GetInvoicePostingSetup();
        GetCurrency(Rec."Currency Code");

        SalesHeader := Rec;
        OnBeforeFillTempline (SalesHeader);
        FillTempLines(SalesHeader, TempSalesLineGlobal);
        TempServiceItem2.DeleteAll();
        TempServiceItemComp2.DeleteAll();
...

    [IntegrationEvent(false, false)]
    local procedure OnBeforeFillTempline (var SalesHeader: Record "Sales Header")
    begin
    end;

?
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Unable to install es6 Shim or registry:env/meteor

Prerequisites

[ x ] Did you check the FAQ?
[ x ] Did you search open and closed issues to see if your issue has already been reported?

Description
Unable to run
sudo typings install es6-shim --ambient --save
sudo typings install registry:env/meteor --ambient
Steps to Reproduce

Create new Meteor Project
Install, npm install, etc.
sudo typings install es6-promise --save
Attempt above commands

Expected behavior:
Both installs complete successfully, creation of main definition file.
Actual behavior:
typings ERR! message Unable to find "es6-shim" ("npm") in the registry. Did you want to try searching another source? Also, if you want contribute these typings, please help us: https://github.com/typings/registry
typings ERR! caused by https://api.typings.org/entries/npm/es6-shim/versions/latest responded with 404, expected it to equal 200
typings ERR! cwd /Users/rainer/player-two-two/player-two
typings ERR! system Darwin 15.5.0
typings ERR! command "/usr/local/bin/node" "/usr/local/bin/typings" "install" "es6-shim" "--ambient" "--save"
typings ERR! node -v v6.1.0
typings ERR! typings -v 1.0.4
typings ERR! If you need help, you may report this error at:
typings ERR!   <https://github.com/typings/typings/issues>
Versions
1.0.4

https://github.com/typings/typings/issues/517

Ah, seems my GitFu is weak today. Sorry for the Dupe.
On Tue, May 17, 2016 at 2:58 PM Blake Embrey<EMAIL_ADDRESS>wrote:

Closed #519 https://github.com/typings/typings/issues/519.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/typings/typings/issues/519#event-663443874

--

Rainer Paskiewicz

i am trying to install typings behind a proxy in our jenkins server. it is failing even after i supplied, http(s)Proxy,and registry in the .typingsrc. Any idea, how to solve this

typings install debug --save

typings ERR! message ENOENT: no such file or directory, open 'http: //api.typings.org/entries/npm/debug/versions/latest'


Timestamp offset ±[hh][mm] notation results in "iso: bad argument"

Repro is with zq commit 4dff9e90.
I wanted to try my hand at some of the basic shaping concepts enabled by #1833, so the first thing I tried was importing a Suricata EVE JSON log. Out-of-the-box, the timestamps in the alert records have the ISO format with the timezone expressed as an offset form UTC. However, when I attempt to apply the iso() function to turn it into a ZNG time value, I get an error.
$ echo '{"timestamp":"2020-03-26T11:03:29.986905-0700"}' | zq -t 'put ts=iso(timestamp)' -
iso: bad argument

I can see the notation with the colon between hours & minutes does appear to work, though.
$ echo '{"timestamp":"2020-03-26T11:03:29.986905-07:00"}' | zq -t 'put ts=iso(timestamp)' -
#0:record[timestamp:string,ts:time]
0:[2020-03-26T11:03:29.986905-07:00;1585245809.986905;]

The summary at https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC implies that both syntaxes are legal.

Verified in zq commit 7c7abe9.
Now the conversion is successful.
$ zq -version
Version: v0.29.0-109-g7c7abe91

$ echo '{"timestamp":"2020-03-26T11:03:29.986905-0700"}' | zq -z 'put ts=iso(timestamp)' -
{timestamp:"2020-03-26T11:03:29.986905-0700",ts:2020-03-26T18:03:29.986905Z}

Thanks @henridf!


Build fails at error: no template named 'add_lvalue_reference_t' in namespace 'std'; did you mean 'add_lvalue_reference'?

Hi,
I checked out master branch of includeOS and installed all dependencies as mentioned on Wiki page as well as those reported by install.sh. But when I try to run it, compilation fails at following error.
Am I missing any particular dependency here?
In file included from /home/sameerp/sameer_files/garage/includeos/IncludeOS/vmbuild/./../api/util/elf_binary.hpp:22:
In file included from /home/sameerp/sameer_files/garage/includeos/IncludeOS/vmbuild/./../mod/GSL/gsl/gsl:24:
/home/sameerp/sameer_files/garage/includeos/IncludeOS/vmbuild/./../mod/GSL/gsl/multi_span:710:28: error: no template named 'add_lvalue_reference_t' in namespace 'std'; did you mean 'add_lvalue_reference'?
    using reference = std::add_lvalue_reference_t<value_type>;
                      ~~~~~^~~~~~~~~~~~~~~~~~~~~~
                           add_lvalue_reference
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/type_traits:1402:12: note: 'add_lvalue_reference' declared here
    struct add_lvalue_reference
           ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[5]: *** [CMakeFiles/vmbuild.dir/vmbuild.cpp.o] Error 1
make[4]: *** [CMakeFiles/vmbuild.dir/all] Error 2
make[4]: *** Waiting for unfinished jobs....
20 errors generated.
make[5]: *** [CMakeFiles/elf_syms.dir/elf_syms.cpp.o] Error 1
make[4]: *** [CMakeFiles/elf_syms.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [vmbuild/src/vmbuild-stamp/vmbuild-build] Error 2
make[1]: *** [CMakeFiles/vmbuild.dir/all] Error 2
[  9%] Linking CXX static library libuplink.a
[  9%] Built target uplink
make: *** [all] Error 2
Sorry
Could not install from bundle.

Cmake is at version 3.9.1 and other dependencies are as follows.
sameerp@sameerp-dt:~/sameer_files/garage/includeos/IncludeOS$ sudo INCLUDEOS_PREFIX=/home/sameerp/sameer_files/garage/includeos/ ./install.sh
Dependencies required:
Status          Package              Version
------          -------              -------
    INSTALLED       curl                 7.35.0-1ubuntu2.11
    INSTALLED       make                 3.81-70.1nvidia0
    INSTALLED       cmake
    INSTALLED       nasm                 2.10.09-1
    INSTALLED       bridge-utils         1.5-6ubuntu2
    INSTALLED       qemu                 2.0.0+dfsg-2ubuntu1.36
    INSTALLED       jq                   1.3-1.1ubuntu1
    INSTALLED       python-pip           1.5.4-1ubuntu4
    INSTALLED       g++-multilib         4:4.8.2-1ubuntu6
    INSTALLED       gcc                  4:4.8.2-1ubuntu6

clang-3.8 -> INSTALLED

python pip -> INSTALLED
     INSTALLED
     INSTALLED
     INSTALLED
     INSTALLED

>>> IncludeOS will be installed with the following options:

    Env variable              Description               Value
    ------------              -----------               -----
    INCLUDEOS_SRC             Source dir of IncludeOS   /home/sameerp/sameer_files/garage/includeos/IncludeOS
    INCLUDEOS_PREFIX          Install location          /home/sameerp/sameer_files/garage/includeos/
    ARCH                      CPU Architecture          x86_64
    INCLUDEOS_ENABLE_TEST     Enable test compilation   OFF
Is this correct [Y/n]? y

Here is the git info:
commit 66efbd097dfb4e1705c6713d9beda96197e96c58
Merge: ddde692 8f1d6af
Author: Alf-André Walla<EMAIL_ADDRESS>Date:   Mon Oct 16 09:56:37 2017 +0200

    Merge pull request #1525 from SeanMooney/fix_websocket_crash_on_close

    fix panic on close or 2+ connections

commit 8f1d6af8cae0e5b0a37078d2431c15b4223cde94
Author: Sean Mooney<EMAIL_ADDRESS>Date:   Sun Oct 15 19:09:49 2017 +0100

    fix panic on close or 2+ connections

    - This change fixes the kernel panic when clients
      close the websocket.
    - This change fixes the kernel panic when a second
      client connects to the websocket.

commit ddde69288515e937733b33d8061e00b71e7fd86e

I also tried the option B listed here but it seems the Wiki is outdated.
./install.sh: illegal option -- -
Options:
-y Yes: answer yes to install
-q Quiet: Suppress output from cmake during install
-b Bundle: Local path to bundle
-n No Net bridge: Disable setting up network bridge

I am sure, I am missing certain package or certain version of package, but any help would be appreciated, thanks!

Hi @sameerppatil, that error is due to using a compiler not supporting the C++14 standard as std::add_lvalue_reference_t need C++14 compliance as can be seen here

Ohh, Thanks.
I updated gcc-4.8 to gcc-4.9 and compilation goes smooth now.
I will close this issue out.
Thank you.


Circle CI: stop using it or migrate to CircleCI 2.0

Both circle and travis are running CI builds on commits to bbc-a11y branches. Technically we only need one, and Circle CI is grumbling about deprecating support for our legacy config, like this:
Please start migrating this project to CircleCI 2.0.

If it's easy, upgrade Circle, otherwise Travis should suffice.

Removed Circle CI during handover session while pushing through https://github.com/bbc/bbc-a11y/releases/tag/v2.1.0