Serialization/Deserialization Requirements & Implementation

Since I've been harping on this subject and recently some related issues (#94, #95) have been opened, it seems like a good time to get a discussion regarding where we'd like to see serialization for passing objects into the pre-rendering system to go and how we'd like it to work.
Here are my initial thoughts:

Core classes in either the Ruby or Opal runtimes should not be opened up and extended with additional methods and behavior. This means removing react_serializer and _react_param_conversion. I believe those to be an anti-pattern. We'd be much better suited using composition than extending the responsibilities of classes. A hash shouldn't care about the details of how it converts to a transport format and back. Building simple classes like, HashSerializer, ArraySerializer, etc, would separate concerns, and allow for serializers to be swapped out with custom objects. MyFancyHashThingSerializer for example.
Core classes should be serialized and deserialized by default.
Custom objects can provide custom serialization/deserialization objects. BlogPostSerializer for example.
Maybe provide something like a SimpleObjectSerializer that can be instructed which methods/attributes of a custom class should be serialized and deserialized without needing to define a custom serializer.

Question: What are some other scenarios and uses cases we should be taking into account?

@ajjahn - I think I understand how this would work:

naming convention would look for a class (module?) called <class_name>ReactSerializer, and if such a class (module?) existed would use use its self.serialize/deserialize methods.

So we would add HashReactSerializer, etc to react.rb (Hash may be the only one needed actually)
And ReactiveRecord would add ActiveRecordReactSerializer...
okay so far?
Assuming so, then I have two questions:

is the lookup for the matching serializer done by searching the classes inheritence tree, so if you have class Foo < Hash then you would first look for FooReactSerializer, the HashReactSerializer, and finally ObjectReactSerializer ???  Or does ActiveRecord::Base have to automagically define serializer classes as each time ActiveRecord::Base is subclassed?

how this all allow a different Serializer to be swapped in, as you suggest?

I'm going to stream of conscience pseudo code this, so it doesn't have to look exactly like this.
We provide the simplest serializer. It simply relies on ActiveSupport which will call to_json on the value:
class BaseSerializer
  def initialize(value)
    @value = value
  end

  def to_json
    # ActiveSupport already knows how to handle built in collections and value objects.
    ActiveSupport::JSON.encode(@value)
  end

  # Could be handy to make the serializer callable.
  def call
    to_json
  end
end

Let's say we have a plain old ruby object we'd like to serialize:
class Car
  attr_accessible :make, :year
end

class CarSerializer < BaseSerializer
  def to_json
    { make: make, year: year }.to_json # or whatever custom serialize logic you want.
  end
end

Pretty much the same for ActiveRecord models:
class Employee
  belongs_to :company
end

class EmployeeSerializer < BaseSerializer
  def as_json
    @value.as_json(only: [:name, :email], include: [:company])
  end
end

is the lookup for the matching serializer done by searching the classes inheritence tree, so if you have class Foo < Hash then you would first look for FooReactSerializer, the HashReactSerializer, and finally ObjectReactSerializer ???

When we render :component in a controller or view, we can select the correct serializer based on the class of the passed in object. No need to traverse trees, just stick to a convention.
# somewhere in the render helper
serializer = begin
  "#{object.class.name}Serializer".constantize
rescue
  BaseSerializer
end

# Serialize it
serializer.new(object).to_json

how this all allow a different Serializer to be swapped in, as you suggest

Pass an explicit serializer as an option to render :component
render component: Employee, employee: @employee, serializer: EmployeeWithTitleSerializer

Or does ActiveRecord::Base have to automagically define serializer classes as each time ActiveRecord::Base is subclassed?

It doesn't really make sense to have an 'ActiveRecord' serializer. Data serialization is a domain concern. If you wanted a serializer that serialized all the attributes of an ActiveModel object, the base serializer would do the trick since as_json does that be default.

After typing all this out... I don't see any reason we can't just lean on something like ActiveModelSerializers outright. It already solves this problem for us, not to mention it is part of JSON-API, which is now merged in to Rails 5.
We probably should implement react.rb's render helper as a true ActionController::Renderer. I'm sure we could easily offload the serialization to ActiveModel::SerializableResource.new(resource, options).to_json
Anyway, does that help illustrate where I was going with this?

Yes the basics of what you outlined were exactly what I was figuring.  My questions still stand however.
RE: "When we render :component in a controller or view, we can select the correct serializer based on the class of the passed in object. No need to traverse trees, just stick to a convention."
But that means that if I design a serializier for a base class (Foo) and then have a subclass, I don't automatically get the serialization behavior.  That is why I thought we would have to traverse down the class hierarchy.
RE: render component: Employee, employee: @employee, serializer: EmployeeWithTitleSerializer
And if you have two objects being passed?  How does it know which object that serializer goes with?
RE: It doesn't really make sense to have an 'ActiveRecord' serializer. Data serialization is a domain concern. If you wanted a serializer that serialized all the attributes of an ActiveModel object, the base serializer would do the trick since as_json does that be default.
This is the exact problem that got us into this... people do override as_json for whatever purpose.   If we could count on "as_json" working, then we don't need any of this, and could just call the objects as_json method...
Another Side Topic Related
Right now we are determining the "type" based on the optional "type" of the param macro.
This has already caused several new users to stumble, as its optional, but not really if you are passing data from the server, that needs serialization.
Perhaps we should pass the serializer class name as part of the top level params.  In otherwords the render method would call the serializer, and then as part of the params to the "TopLevelComponent" would pass the list of serializer classes used.
The TopLevelComponent would then do the deserialization before calling the actual component.

I'm sort of re-emerging here so forgive the lack of context, but is this meant to be done in a "reactive record" gem or in the (simple) Opal wrapper around React? I would certainly say serialization should not be a part of the basic GEM.
Putting aside when GEM it belongs in, for my application, I've just done a fairly simple setup where I whitelist a few serializable attributes for a class and then override #as_json to serialize those attributes on the server side. I then have a ::json_create method that I've overloaded on the Opal side.
React (on opal) never has to know about any of this except for 1 base 'Store' component that deserializes the JSON (which is my initial state) using JSON.load and instantiates a GrandCentral store.
There is no serialization back to the server in my case (wouldn't want to anyways due to security issues with deserializing on my machine).

Its not just applicable to reactive-record (although reactive-record certainly needs some mechanism)
The intention here is to provide some standard mechanism so that things "just work" in an obvious way, and that gems like reactive-record can use it as well.
When I say obvious way, I mean if I pass some structure as a param from the server, I expect it to appear reconstituted on the client (assuming the class is isomorphic.)   So I do think there needs to be some built-in mechanism to take care of the deserialization.
The more I think about it, the better I like the idea of making this the responsibility of TopLevelComponent.  This component is part of the rails interface and I think we all agree all the rails adapter code should go in its own gem.   That will keep this whole issue out of the react.rb code, it will also make it independent of the param "type" declaration (something I know @wied03 wants to get away from.)
However that leaves us with the issue of how to declare the serializer/deserializers.  The code currently is basically as @wied03 describes it above except for the method names.
@ajjahn proposed using separate serialization classes, which seems great, but there were a few pending questions above.

I should add that I never send ActiveRecord models to the client. In my view they are too mutable and complex to work well with the React/Redux/GrandCentral architecture. I build "view models" and those are what I serialize with Rails and deserialize with the approach I noted above.

So this is blocking cleaning up PropsWrapper which is blocking context support, so it would be good to wrap this up.
I think the best approach is to get this out of the base react.rb param mechanism, and move it to the TopLevelComponent as mentioned above.  This decouples the whole mess from react.rb, makes it so you don't have to "type" params, and makes everything work much more naturally.
Again that proposal is to have anything calling the TopLevelComponent serialize, and leave a JSON wrapper that tells what type to use when deserializing on the client.  Inside TopLevelComponent it would then detect the wrapper, and know how to deserialize.  Done.
The question still remains how to specify the serialization/deseralization methods.
There are two proposals:  Separate classes that use a naming convention, and providing an class level deserializer method, and instance level serialization method.    I am fine with either one, but lean towards the latter approach (which also seems to be the way @wied03) is doing it.

OK. I have no opinions about how some of this works since I won't use it. As long as a lot of this caching code, etc. (assuming caching was created for serialization as @ajjahn explained) is moved to TopLevelComponent and TopLevelComponent is relocated to one of the other GEMs, I'm happy.

@ajjahn - RE: your comments over on #134 - I want to be sure we are on the same page here just we don't get confused.  This has nothing to do with reactive-record.  I simply believe that there needs to standardized way to pass data from server to client, and have the data arrive in the opal component in the same form as it left the client.  I.e. serialized then deserialized.
This is a function of the code being isomorphic, thus anybody getting into react.rb will likely have an expectation that if I do something like this:
render_component "Foo", some_param: MyBigClass.new(...)
that inside the component Foo, some_param should be an instance of MyBigClass.
@wied03 - I think the direction is to move TopLevelComponent in with some kind of isomorphic helpers gem, that can be used to be (for example) a rails interface.


Fix uncaught exception reporting for Scheduler

Fixes #799, #829.

Hey guys, this is looking good, so what's left to do on it?

@alexandru Oh, I meant to assign for review, to double check but if it's fine then we can merge it :)


Keyboard Shortcuts and Notifications

Describe the feature
Add support for keyboard shortcuts and notifications when performing file operations.

git fetch origin
git checkout 19-keyboard-shortcuts-and-notifications


Allow to use the API for another user point of view

We force the API to target the current user's data https://github.com/Calendart/Office365Adapter/blob/master/src/Office365Adapter.php#L41. But the API allow us to target another user's data using /users/<id>. I think that this should be available in our library.

The thing is, the api (or how we are using it) already uses the oauth token of a current user. So I think that if we should ever se CalendArt with another user, we would need its oauth token, so we can be in the context of said user (and thus keep using /me endpoints)

Not really. You can use your access_token and request some informations about a user if he's a part of your group or team etc. If you have any granted access on him.


When launched with a file path, the viewer doesn't listen to any TCP ports.

Describe the bug

When lauched with files rerun xxx.rrd, the viewr doesn't listen to any port. I am not sure is this a intentional behavior or not. If not, I opend a pr #6951, hope it will help.
No LOG msg shows we are hosting a SDK sever over some ports.
> rerun /media/Q/eulerBackUp/Box/Box/rerun_samples.rrd
[2024-07-20T19:37:04Z INFO  re_data_loader::load_file] Loading "/media/Q/eulerBackUp/Box/
Box/rerun_samples.rrd"…
[2024-07-20T19:37:04Z INFO  winit::platform_impl::platform::x11::window] Guessed window s
cale factor: 1
[2024-07-20T19:37:04Z WARN  wgpu_hal::vulkan::instance] Unable to find extension: VK_EXT_
swapchain_colorspace
[2024-07-20T19:37:04Z INFO  egui_wgpu] There were 2 available wgpu adapters: {backend: Vu

> rerun
[2024-07-20T19:38:40Z INFO  re_sdk_comms::server] Hosting a SDK server over TCP at <IP_ADDRESS>:9876. Connect with the Rerun logging SDK.
[2024-07-20T19:38:40Z INFO  winit::platform_impl::platform::x11::window] Guessed window scale factor: 1
[2024-07-20T19:38:40Z WARN  wgpu_hal::vulkan::instance] Unable to find extension: VK_EXT_swapchain_colorspace

To Reproduce
Steps to reproduce the behavior:

rerun xxx.rrd

Expected behavior

It should host a SDK server.
Desktop (please complete the following information):

OS: Pop!_OS 20.04 LTS x86_64

Rerun version
rerun-cli 0.17.0 [rustc 1.76.0 (07dca489a 2024-02-04), LLVM 17.0.6] x86_64-unknown-linux-gnu release-0.17.0 d65ca50, built 2024-07-08T13:47:55Z

Additional context

related to #5695


Generate all resource docs

Proposed changes
As the title states, this PR includes the resource docs for all of the providers that support generating a schema. I noticed that 3 providers, pulumi-aiven, pulumi-gitlab and pulumi-mailgun don't have the Makefile target to generate a schema. We can add docs for those once they are updated.
I made some minor adjustments to the css of anchor tags inside list items. These are used in the index pages. Please see this commit.
Unreleased product version (optional)
N/A
Related issues (optional)
These docs were generated with changes from https://github.com/pulumi/pulumi/pull/4308.

Most of these seem to be causing an unclosed blockquote somewhere:

Most of these seem to be causing an unclosed blockquote somewhere:

I bet it is because of a missing new-line between the blockquote on the previous and the start of the h3 tag. I'll look into it.

Ok this PR has been updated with improvements to the gen_resource_docs.sh script which will install the required provider plugin so that the examples are properly converted and included in the docs.

:tada:


Make Policy evaluation event based and more efficient

Currently the policy evaluation happens is triggered by triggering policy evaluation using polciy engine object on incoming stream of processed components. We can design this so that evaluators are listening to events so that it is no longer needed to loop over the evaluators in the Policy engine. This would make policy evaluation more efficient.

Starting on this :)

this may not be the best optimization considering that we are now also fetching vulnerabilities list associated with a component in advance if this list is needed to avoid query multiple times. If we go this route, all the vulnerabilities would also have to be detached before using which would essentially be more work instead of less/ parallel work. Thus closing this issue.


Error: [introspection-engine/connectors/sql-introspection-connector/src/misc_helpers.rs:396:72] called Option::unwrap() on a None value

Command: prisma introspect
Version: 2.10.0
Binary Version: af1ae11a423edfb5d24092a85be11fa77c5e499c
Report: https://prisma-errors.netlify.app/report/11875
OS: x64 darwin 19.6.0
JS Stacktrace:
Error: [introspection-engine/connectors/sql-introspection-connector/src/misc_helpers.rs:396:72] called `Option::unwrap()` on a `None` value
    at ChildProcess.<anonymous> (/Users/paulbottein/workspaces/sencrop/sencrop-api-nestjs/node_modules/@prisma/cli/build/index.js:33:4762)
    at ChildProcess.emit (events.js:314:20)
    at ChildProcess.EventEmitter.emit (domain.js:486:12)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)

Rust Stacktrace:
   0: backtrace::backtrace::trace
   1: backtrace::capture::Backtrace::new
   2: user_facing_errors::Error::new_in_panic_hook
   3: user_facing_errors::panic_hook::set_panic_hook::{{closure}}
   4: std::panicking::rust_panic_with_hook
   5: _rust_begin_unwind
   6: core::panicking::panic_fmt
   7: core::panicking::panic
   8: sql_introspection_connector::misc_helpers::calculate_scalar_field
   9: sql_introspection_connector::introspection::introspect
  10: sql_introspection_connector::calculate_datamodel::calculate_datamodel
  11: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
  12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
  13: <futures_util::compat::compat03as01::Compat<Fut> as futures::future::Future>::poll
  14: <futures::future::map::Map<A,F> as futures::future::Future>::poll
  15: <futures::future::either::Either<A,B> as futures::future::Future>::poll
  16: <futures::future::lazy::Lazy<F,R> as futures::future::Future>::poll
  17: futures::future::chain::Chain<A,B,C>::poll
  18: <futures::future::then::Then<A,B,F> as futures::future::Future>::poll
  19: <futures::future::map::Map<A,F> as futures::future::Future>::poll
  20: <futures::future::either::Either<A,B> as futures::future::Future>::poll
  21: futures::task_impl::std::set
  22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
  23: tokio::runtime::thread_pool::ThreadPool::block_on
  24: tokio::runtime::context::enter
  25: tokio::runtime::handle::Handle::enter
  26: introspection_engine::main
  27: std::rt::lang_start::{{closure}}
  28: std::rt::lang_start_internal
  29: _main

Same as #4102

The underlying report doesn't have much information so I am unable to reproduce this.

Recent reports for 2.17

I am unable to find new reports of the crash:

I am just going to close this.


1.0 a: 2FA reset on level 1.

When you reset 2FA in Level 1, it should not ask for the approval key. But just pin and the answer.

Verified this issue on dev app v1.7.0(294)


How to write a new auth backend?

I'm currently using an external program for validation and have found the server gets fork bombed when many clients try to authenticate at once. My authentication isn't very sophisticated, the login password is a github personal access token, I call a Github API to see what orgs it belongs to, and if someone in my organization they are authorized. To remedy the fork bomb issue I'd like to just patch in a local auth method at compile time to make the HTTP request. Could someone walk me through what would be required to implement this? I've looked at the other authn modules and its not really clear how they get called, it looks like there is more involved then just dropping in a .go file in that directory.

@techknowlogick Can you help me out?


Throwing not working on Oculus Quest

Most things seem to work great for me on the quest.  The only real show stopper I've found for some games is that throwing isn't working at all.  The object always drops straight down when the grip/trigger is released during the throw.
Fantastic software btw!

I'm having a similar issue in Superhot VR (Steam).  I'm unable to even let go of objects.  Using the Quest Alpha 2 version.

Possibly due to ALVR not passing through velocity data from the controllers? I remember a similar issue appearing with the SteamVR Razer Hydra driver.

Same here, trying to play Pipejob.  :)  Did play Brookhaven Experiment for an hour or so and am in awe of how impressive this software is.  Looks better than on my original Vive.

Same issue? #196
I will check it when I have time.

Yeah, looks like the same issue.

Just opened a PR that fixes this.

I noticed this too.  Both in Rec Room and Echo arena.  Can't throw anything.

@babybasher It looks like ejwilburn added a PR for this so it should be fixed in the next update.

@ejwilburn
alpha5 includes your PR.
Thank you!
https://github.com/polygraphene/ALVR/releases/tag/v2.4.0-alpha5

Appears to be fixed in Alpha 5.  Thanks!!
Closing this issue.


what about mobile devices

This lib is interesting! I'd love to see configuration for mobile devices. would you consider adding that?

Thanks. Would be a great addition yes. There was not a need for it internally when I created the library. Open to a pull request if you want to implement it, but I will probably get around to adding it at some point 😃

Hey @ctaepper and @AndrewLeedham, I've tried to address this issue in #660. Would love your thoughts/feedback. Thanks!


nixos/gitlab: move custom_hooks_dir into gitaly config

Motivation for this change
Gitaly 13.1 changed the location to specify the custom_hooks_dir configuration option.
From https://about.gitlab.com/releases/2020/06/22/gitlab-13-1-released/#upgrade:

Configuration values used by server-side Git hooks in Gitaly were stored in gitlab-shell/config.yml. They are now stored in Gitaly’s config.toml file under the [gitlab] and [hooks] TOML sections.

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@petabyteboy, @talyz, @fpletz, @globin, @kalbasit please review.


Rename partyline GLM cache to partyline-cluster-locks

This is a leftover from previous RP.

This is a minor name change. I just merge it.


Add possibility to specify additional build parameters

This PR allows specifying additional build parameters:
Input:
{
  "definition": {
    "id": 28
  },
  "project": {
    "id": "..."
  },
  "sourceBranch": "refs/heads/master",
  "sourceVersion": "...",
  "reason": 943,
  "parameters": "{\"WORLD\": \"hello\"}"
}

In Azure Pipelines:
bash: env | WORLD -> WORLD=hello

closing this out as this was already implemented in #11


change path file name and create navigation tests

Hi @revengeles - what ticket is this for? NJWE-968 is our NJCC 1.0 epic.


Update LB checks

Description
Updated printer functions and converted a few actions to checks.

Testing

Checklist:

[ ] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published.

Documentation
Make sure that you have documented corresponding changes in this repository.

@shloka-bhalgat-unskript whats the plan for this PR? Can we take care of @abhishek-unskript comments?


[TH2-2298] Added exception handling for regex operation in the message filter

Please, resolve the conflict first


Update sql-data-warehouse-workload-classification.md

Slight update in the wording to "runs as dbo" for Synapse Workspaces, instead of adds MI to the dbo role

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

#sign-off

Invalid command: '#sign-off'. Only the assigned author of one or more file in this PR can sign off. @WilliamDAssafMSFT

#sign-off


Any alternative which is being actively developed

any fork of this repo will also work

Google --> Windows 11 ServerRdsh.


Startup and shutdown sound

how to configure/setup start up sound in hyperland?

you configure it

exec-once=aplay ... ?


/bin/sh not found on docker volumes tutorial

Hi there !
Following this tutorial , I ran the docker container run --name c2 -ti img1 command, that yield the following:
$ docker container run --name c2 -ti img1
/bin/sh: [/bin/sh]: not found

Therefore the container is stopped and we can't continue.

Seems like you didn't create the Dockerfile and built the image as indicated in the previous step with the command docker image build -t img1 .

The mistake I made was to copy pasting the Dockerfile content as echo parameter, without escaping internal quotes. My bad !
[node1] (local<EMAIL_ADDRESS>~
$ echo "FROM alpine
> VOLUME [\"/data\"]
> ENTRYPOINT [\"/bin/sh\"]" > Dockerfile
[node1] (local<EMAIL_ADDRESS>~
$ cat Dockerfile
FROM alpine
VOLUME ["/data"]
ENTRYPOINT ["/bin/sh"]
[node1] (local<EMAIL_ADDRESS>~
$ docker image build -t img1 .
Sending build context to Docker daemon  1.562MB
Step 1/3 : FROM alpine
latest: Pulling from library/alpine
627beaf3eaaf: Pull complete
Digest: sha256:58e1a1bb75db1b5a24a462dd5e2915277ea06438c3f105138f97eb53149673c4
Status: Downloaded newer image for alpine:latest
 ---> 4a415e366388
Step 2/3 : VOLUME /data
 ---> Running in 6fe24ed87388
 ---> 7a4869004b6c
Removing intermediate container 6fe24ed87388
Step 3/3 : ENTRYPOINT /bin/sh
 ---> Running in c11efb1741d8
 ---> 8a27ffd13219
Removing intermediate container c11efb1741d8
Successfully built 8a27ffd13219
Successfully tagged img1:latest
[node1] (local<EMAIL_ADDRESS>~
$ docker container run --name c2 -ti img1
/ #

Now it works fine, Thanks!


Snackbar theming

I didn't find any examples on how to set text colors for these two attributes.

Hmm, well toasts aren't themable on purpose. The text should always be white (the library doesn't touch them).
I'll look at Snackbars though.

I've implemented Snackbar support in 0.3.2.
There are definitely no issues with toasts, unless you're using an old version of this lib.

Thank you for looking into it :)


chore: update tika to version 1.17

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines

Description of change

Updates tika to latest version.

After rebasing on latest uPortal, this passes smoke tests.


#9 textinput add fields

Closes https://github.com/cfpb/design-stories/issues/9
I could not import a a css file by means of absolute or relative imports. I wanted to use flexbox so that the svg icon and alert text would be inline. I was also having trouble setting the type for an svg icon ( type-located on line 22 of TextInput.tsx) (icon-located on line 73 of TextInput.tsx) so that it could be dynamically selected based on the notification.


issues with undo shortcut ctrl+z on windows10

PabloDraw3.3.0-alpha1 on windows 10 (1909)
sometimes when trying to undo via shortcut ctrl+z instead of undoing it adds new characters to the drawing as shown in the picture provided.

one way of fixing this is selecting edit from the menu and closing it again right after. ctrl+z then works again, but i havent measured how long that persists.

Hm, yeah there's something wrong going on with shortcuts on windows.  Thanks for reporting the issue!

On Linux as well!

Hm, yeah there's something wrong going on with shortcuts on windows. Thanks for reporting the issue!

thats true this applies for other shortcuts as well. also on pablo2 one would hit backspace while shift key is still pressed. ever since pablo3 this acts like a shortcut to add the character "" which i'm probably not copying correctly here. why this is annoying for me is because i use a lot of "/"'s in my pictures and my pinky usually just sits on the shift key.

Thanks for the additional information, @neo-backwards-one.  I'll try to resolve that one as well.

@neo-backwards-one The original issue with ctrl+z should now be fixed with 3.3.0-beta1, I still have to work on the shift+backspace issue.


path joining bug in bandpasses.py line 52

Line 57 in bandpasses.py (hdulist = fits.open(filt_dir + fname)) is throwing an error for me because of a missing slash:
FileNotFoundError: [Errno 2] No such file or directory: '/grp/jwst/ote/webbpsf-dataMIRI/filters/F1550C_throughput.fits'

The source of the error is on Line 52: filt_dir = webbpsf.utils.get_webbpsf_data_path() + 'MIRI/filters/'
Both lines could probably use a call to os.path.join (or pathlib.Path), as in hdulist = fits.open(os.path.join(filt_dir, fname))

Fixed in PR #6.


how to add values in the empty form ?

Hello,
I got an issue while trying to add values in the empty form like that
empty: function (acc_form) {
	acc_form.data.username = req.session.user.username;
	acc_form.data.email = req.session.user.email;
	acc_form.data.name = req.session.user.name;
res.send(acc_form.toHTML());
}

is there a way to include the values in the empty form ?
thank you so much

I'm so sorry I got it
acc_form.fields.username.value = req.session.user.username;


question: relationship between gist:hasPart and gist:isMadeUpOf

It seems like gist should assert that:
gist:isMadeUpOf rdfs:subPropertyOf gist:hasPart .

Water is made up of hydrogen and hydrogen is part of water.
If we don't think gist should assert that then that might mean gist intends gist:hasPart to be a relationship between gist:Artifacts only -- since water and hydrogen are not gist:Artifacts.
But I don't think that is necessary because it is easy to find that out in a query:
select * where {
?s gist:hasPart ?o .
?o a gist:Artifact .
?s a gist:Artifact .
}

A bit of background here...
I am working on getting water quality data into Wikidata (my example entity is here). I am using wdt:hasPart to relate drinking water to things in it (such as copper, lead, etc.).
And eventually I'd like to put more effort into aligning Wikidata with Gist.

Hi @rjyounes ,

in that the latter retains its independent identity whereas the former don't, becoming absorbed into the whole.

If the definition of "retention of independent identity" is something like: "the part can be extracted from the whole without destroying the part" then the relationship of hydrogen to water meets the same criteria as the engine block to a spark plug.
I can remove the spark plug from the engine block with a torsional force and the spark plug is still a spark plug.
I can remove the hydrogen from the water with electrolysis and the hydrogen is still hydrogen.
(Though that does make me think a useful test for direct parts might be whether or not you can remove them from the whole and the whole still exists.)
The torsional force is macroscopic chemistry and the electrolysis is microscopic chemistry.
But the macro/micro distinction there is an example of what Dennett calls "scale chauvinism."
If instead the definition of "retention of independent identity" isn't about the ability to extract the parts but more about the absorption into the whole... I still don't think I still much difference between an engine doings its thing with all of its parts and water doing its thing with all of its parts... other than the role of gist:Artifact. But maybe my world hypothesis is mechanism and gist's is another.
(I'm treating spark plug as a direct part of an engine block just for this discussion but I think it isn't.)

@rjyounes
PROPOSAL: close this issue, it is subsumed by #152

Closing - subsumed by #152.


Federation Experience Frontend - View

Signed-off-by: Jason-Guo<EMAIL_ADDRESS>

Suggested changes have been made and pushed

removed unused imports
moved location on navbar
included Info column in table


Have you seen amd hipify?

https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/blob/master/clang-hipify/README.md

Not sure your "issue" is really an issue as such => closing.  As far as your question, can you confirm which opencl platforms / versions are supported by hipify?

It is noto a bug. It is just to point you to a "similar" project. Hip actually support only nvcc and hcc compilers.

Ok.  Good info.  Thanks! :-)

Nvcc it is Nvidia :) If you want the list of hcc Target Platfoms see the relative section in http://gpuopen.com/compute-product/hcc-heterogeneous-compute-compiler/

Yes.  Seems it doesnt really support OpenCL?

It is not opencl.. See FAQ and Terminolgy section of https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/blob/master/README.md

Ok.  To what extent is hipify supported on Intel GPUs and mobile GPUs?

It is not about hipify it is about hcc.
HCC supports OpenMP 3.1 on CPU. The support for OpenMP 4.x accelerator offloading is currently in development.

See actually available compiler backends https://github.com/RadeonOpenCompute/hcc/wiki


C# tutorials - asynchronous operations

Show how to implement asynchronous operations in C# using async and await.
Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

Taking this one, as this now fits snugly in with #176.

@cartermp If you have a fork where you're already working on this, I'd be happy to review and comment.

Absolutely.  The current version of the update is #214, where @richlander pushed some of his changes.  I've been working off of that.  I think it's ready for a review.


NullPointerException crash with ReHooked on NeoForge for 1.21.1

Minecraft: 1.21.1
ReHooked: 1.7.0-1.21.1
Adorned (Curios API): 9.1.4+1.21.0
NeoForge: 21.1.83
Description
The mod does not even run with NeoForge causing a NullPointerException. Tried to add a mod to an existing modpack, but every time I launch the pack - it crashes.
Created an empty instance with just Adorned and ReHooked and got the same NPE error.
Expected Behaviour
Mod should launch as expected and not to crash.
Current Behaviour
Mod crashes with an NPE with java.lang.NullPointerException error.
latest.log (if you find it useful)

I've just now seen the issue report, I'll try to solve it as soon as I can, thanks for the report

@DenisMasterHerobrine Uploaded version 1.8.0-1.21.1 to curseforge, the bug should be fixed on the new version.
If you're having any issues with it let me know, and thanks again for the bug report.

Thank you, now it launches and works as expected!


useQuery or useQueryParams

Enhancement idea, looking for feedback.
This hook would return an object of parsed query params from the window location:
// url: mysite.com?foo=bar&test=3

function MyComponent () {
   const { foo, test }  = useQueryParams()
    return (...)
}

// foo = 'bar'
// test = 3

Parsing would default to something like parse from query-string, but would optionally allow custom function to be passed.

Interesting, but why should it be a hook vs just a function?
function MyComponent () {
   const { foo, test }  = parseQueryParams()
    return (...)
}

Hmm that's a good point. I think I was hoping to leverage useMemo to reduce the calculation time.
function useQueryParams (parse=defaultParse) {
   const query = window.location.search
   return useMemo(() => parse(query), [ query ])
}

However the savings could be minimal since parsing the params probably isn't too expensive. And you could also just memoize a function with lodash memoize or similar.
I'll leave it up to you whether you think this is a good use case for a hook, feel free to close if you think it falls outside the use case!

Interesting, but why should it be a hook vs just a function?
function MyComponent () {
   const { foo, test }  = parseQueryParams()
    return (...)
}

We could say the same thing for useLocalStorage.
It could be interesting to implement useQueryParams like use LocalStorage.
function MyComponent () {
   const [foo, setFoo]  = useQueryParams('foo');
}

@AlexandreAWE adding ability to set a param makes it more interesting. How do you  change a single param?
I'm thinking an interesting hook would be if this internally used useLocation and return what useLocation returns on every location change, but also parsed query params and a method to change the location. That would basically be a the minimal React router.
const Demo = () => {
  const [params: {foo, test}, goto] = useRoute();
  // ...
};

Changing a single params could be problematic if you use a routing library.
Here is my current Typescript implementation of useQueryParams hook (using History Library):
I also use URLSearchParams to handle query params.
export function useQueryParams(param: string, history?: History): [string, (value: string) => void] {
  const searchParams = new URLSearchParams(document.location.search);

  const [paramValue, setParamValue] = useState<string>(searchParams.get(param));

  function setParam(value?: string) {
    if (value !== null) {
      searchParams.set(param, value);
    } else {
      searchParams.delete(param);
    }

    if (history) {
      history.push({ search: searchParams.toString() });
    } else {
      document.location.search = searchParams.toString();
    }

    setParamValue(value);
  }

  return [paramValue, setParam];
}

:tada: This issue has been resolved in version 12.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Nice ! Thank you !


Extraneous SDA transition during i2c stop sequence (IDFGH-7347)

Environment

Development Kit:   ESP32-PICO-Kit|
Kit version 4
Module or chip used:  ESP32-PICO-D4
IDF version: v4.4
Build System:   idf.py
Compiler version: 8.4.0
Operating System:  Windows 11
(Windows only) environment type: PowerShell
Using an IDE?: Yes (Eclipse)
Power Supply:   External 5V

Problem Description
I am running ESP-IDF v4.4 and using i2c_master_write_to_device to write a byte to an I2C device.
I'm seeing an odd pulse on the SDA line, I think from "master" (the ESP32) between the final ACK of the write and the stop sequence. The annotated trace below:
Scope trace
I would not expect SDA to go high after the last ACK. After the ACK, SDA should be held low into the stop sequence. Otherwise, it looks like it might be attempting a Repeated Start, but "aborts" it before the next clock pulse. I'm not seeing any functional failures in my device, so it doesn't seem to be causing any harm. I was just surprised to see it.
Code to reproduce this issue
esp_err_t rc = i2c_master_write_to_device(_i2cPort, address, &value, 1, pdMS_TO_TICKS(10));

@o-marshmallow  thanks for confirming the observation. I'm aware of the I2C spec indicating that SDA can change while SCL is low, so that's fine. I don't know if there's a time limit to when the stop must be issued, but this particular signal is very short (1uS roughly) so we shouldn't be in any peril there.
Really, I brought up this issue as an anomaly (I hadn't seen it in other I2C traces) and wanted to make sure it was something expected of the ESP32. I agree it does seem harmless if it always remains within the time constraints of the I2C spec.

@mbratch From what I know, there is no time limit for issuing a STOP condition after an (N)ACK, it's a bit tricky to test, but in theory, the SCL line can be kept low for as long as you want. In fact, even a device could do this with clock stretching, le's say for example ot latch the writes changes internally.
I just tested at a higher frequency to be sure, and the artefact is still here but for much less time (360ns), so I guess we can say it's an expected and controlled artefact :smile:

@o-marshmallow thanks, again, for confirming. I'll close this since it's not really an issue.

@mbratch You are welcome


Can't withdraw sats to Alby Extension

Description
Withdrawal difficulty to alby extension wallet
Steps to Reproduce
Try withdrawing sats to a connected alby extension
Expected behavior
The loader keeps buffering until the copy is clicked and then a message pops up with how much has been sent, but nothing's recieved on the alby end
Screenshots

Environment:
I used my PC for both SN and Alby extension

Browser [Microsoft Edge]

Additional context
Help check if this is an alby problem, or if I must attach wallet first

If we say it's sent, then Alby has your money. This issue is on Alby's end. We don't control their wallet.

Thank you for that clarification


Change logrotate to config in packaging

ISSUE TYPE

Enhancement Request

COMPONENT NAME

RPM, Packaging, install

CLOUDSTACK VERSION

<IP_ADDRESS>

CONFIGURATION

OS / ENVIRONMENT

CentOS
SUMMARY

Consider marking logrotate script as config in the RPM packaging
https://github.com/apache/cloudstack/blob/master/packaging/centos7/cloud.spec#L519
STEPS TO REPRODUCE

EXPECTED RESULTS

%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-agent

ACTUAL RESULTS

%attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}-agent

@glennwagner I've fixed it here: https://github.com/apache/cloudstack/pull/2860 /cc @PaulAngus @mlsorensen


Intel RealSense D435i and T265 on Xavier AGX - USB Overflow + other errors - Laggy depth stream

Hello!
I am currently working on a project that implies the use of a nVidia Xavier AGX and two RealSense Cameras(D435i + T265).
I am running everything on nVidia JetPack 4.3 (Ubuntu Bionic), using the last librealsense version.
If I run the realsense-viewer command and then enable stream from both of the cameras I keep getting random errors such as:
09/07 14:41:45,418 WARNING [546727518592] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/07 14:42:32,555 ERROR [545720885632] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 131
09/07 14:42:34,514 WARNING [546903667072] (uvc-device.cpp:664) interrupt event received: 1, 3, 0, 7, 0, 11,
[ WARN] [1594294955.407646568]: Hardware Notification:USB REC overflow,1.59429e+12,Error,Hardware Error
As a consequence, the depth stream of the camera is very laggy and this fact does not enable me to run algorithms such as: SLAM, Navigation, etc.
I also have to mention that I am using the original USB cable for both of the devices. More than this, I have bought a powered USB 3.0 Hub, but the errors persist.
Can you suggest something that could help me?
Thank you,
George

Hi,
Will you be needing further help with this? If we don’t hear from you in 7 days, this issue will be closed.
Thanks


Allow "inline" menu contributions to quick pick items

Similar to tree items, it would be great to be able to contribute commands to quick pick items
It is possible internally -- see:

Example use-case:
I would like to remove that button on top (since it is dependent on selection) and instead have it available on each stash entry. There are many other quickpick lists in GitLens where I would like to do a similar thing.

API proposal (is basically just exposing the existing internal API):
	interface QuickPickItem {

		label: string;

		// ...

		/*
		NEW

		*/
		buttons?: QuickInputButton[];
	}

	export interface QuickPick<T extends QuickPickItem> extends QuickInput {

		/**
		 * Current value of the filter text.
		 */
		value: string;

		// ...

		/**
		 * Buttons for actions in the UI.
		 */
		buttons: readonly QuickInputButton[];

		/**
		 * An event signaling when a button was triggered.
		 */
		readonly onDidTriggerButton: Event<QuickInputButton>;

		/**
		 * NEW
		 */
		readonly onDidTriggerItemButton: Event<IQuickPickItemButtonEvent<T>>;
		// ...
	}

New type:
interface IQuickPickItemButtonEvent<T extends QuickPickItem> {
	button: QuickInputButton;
	item: T;
}

That’s great to see this feature request being reopened and moving to API proposal stage. I have opened a similar request last year (#96147), but just like this one, was closed due to not enough upvotes.
Similar to this request, but on a keyboard approach, maybe https://github.com/microsoft/vscode-remote-repositories-github/issues/2 could also take advantage if you expose Alt Modifiers, as requested in #18064. I know the Alt modifier is a not so powerful idea, but at least for those  in New Window commands, it would follow VS Code behavior.
Looking forward for testing this API 😬

Reopening for finalization

Finalized in f8ed49c5d331378dfed8f31a6360bac76329bed4

@isidorn Wow! You work really fast!
Just kidding, I didn't realize that this was already in.  So I guess don't worry about this request 😄

@nturinski hahaha, as I said I am not aware of all the Quick Pick api features :)
Let us know how it goes.


account activation

I think we have a typo here --- ActivationView is misplaced by PasswordResetConfirmView.
url(r'^activate$', views.PasswordResetConfirmView.as_view(), name='activate'),
https://github.com/sunscrapers/djoser/blob/master/djoser/urls.py#L13
Another question is that why we need to use POST method for activation? The activation link is sent via email, and user's click supposes to activate the related account. Such click would generate a GET request, I suppose.

@mfyang thanks a lot for reporting! I've just fixed it.
The main reason why we use POST method for activation is that we think GET method in any API should not change models state in database.
The other reason is this is just a REST API and opening the URL pointing to ActivationView in the browser doesn't make sense, because it replies with JSON (or other format). Assuming that you work for example on Single Page App the recommended way to handle the activation process is to create a separate page where the app triggers POST request to your backend API.
That's why we stick to this approach. However we are open to suggestions.


sqlite-jdbc-<IP_ADDRESS>.jar can't support mips system

java.sql.SQLException: Error opening connection
	at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:239) ~[sqlite-jdbc-<IP_ADDRESS>.jar!/:?]
	at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:61) ~[sqlite-jdbc-<IP_ADDRESS>.jar!/:?]
	at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28) ~[sqlite-jdbc-<IP_ADDRESS>.jar!/:?]
	at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:21) ~[sqlite-jdbc-<IP_ADDRESS>.jar!/:?]
	at org.sqlite.JDBC.createConnection(JDBC.java:115) ~[sqlite-jdbc-<IP_ADDRESS>.jar!/:?]
	at org.sqlite.JDBC.connect(JDBC.java:90) ~[sqlite-jdbc-<IP_ADDRESS>.jar!/:?]
	at java.sql.DriverManager.getConnection(DriverManager.java:677) ~[java.sql:?]
	at java.sql.DriverManager.getConnection(DriverManager.java:251) ~[java.sql:?]

Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=mips64el, paths=[/usr/lib:/usr/java/packages/lib:/usr/lib/mips64el-linux-gnuabi64/jni:/lib/mips64el-linux-gnuabi64:/usr/lib/mips64el-linux-gnuabi64:/usr/lib/jni:/lib:/usr/lib]
	at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:367) ~[sqlite-jdbc-<IP_ADDRESS>.jar!/:?]

You could try to add support via https://github.com/dockcross/dockcross#dockcrosslinux-mipsel

I have the same problem. I have update problem use  sqlite-jdbc-<IP_ADDRESS> .   but the problem haven't solve.    what shoud i do ? who tell me .

It's not an architecture, I need the support of both mips64 and mips64el architectures.


Queries with 6 months range fetches only 5m blocks

Thanos, Prometheus and Golang version used:
Thanos v0.12
What happened:
Steps:

I opened dashboard for the last 6 months - data loaded just for the last 3 months (retention for 5m)
Step sent to Thanos was 10800
According to step / 5  Thanos queried only 5m blocks (Grafana calculated that I need ~1400 data points for 6 months, step 3h or 10800s)

Currently, Thanos uses step / 5 for max source resolution:
maxSourceResolution, apiErr := api.parseDownsamplingParamMillis(r, step/5)

What you expected to happen:
I expect to see all data that I have in Object storage, doesn't matter in what resolution this data is.
Maybe it would be better to force loading 1h block if we definitely know that we don't have 5m for the requested time range and interpolate data points?
cc @bwplotka @IKSIN @krya-kryak

still reproducible

still reproducible

still actual

@d-ulyanov Is this still valid? Have you tried with more recent version?

Is anything was done to fix it in recent versions?
It is still valid, yes.

not fixed yet :(

not fixed yet :(

https://github.com/thanos-io/thanos/pull/3723 was merged, let's close this issue.
@bwplotka could you add fix version to this issue?

https://github.com/thanos-io/thanos/pull/3723 was merged, let's close this issue.
@bwplotka could you add fix version to this issue?


Add NINO and postcode from workforce data into person_search_attributes

Context
The current person search used by the One Login integration uses the NINO from DQT/TRS only. Now that we have NINO from workforce data to we should include this to improve the chances of matching using NINO. We may use the person’s postcode to match on in future as well so we should populate this too.
Changes proposed in this pull request
Amend the process that imports workforce data to populate person_search_attributes with the NINO and person’s postcode, where available.
N.B. a database trigger on the appropriate workforce data tables is probably the way to go for this, similar to what we’re doing with the person table.
Guidance to review
DB migrations + code + tests
Checklist

[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 Add NINO and postcode from workforce data into person_search_attributes


Add service links to example and fix style

What is the context of this PR?
Fixes: #1577
Also updated docs and header title param to conform with navigation links (BREAKING CHANGE)
How to review
Example now looks as expected

 Issue #1577: Service Links missing from internal header example and incorrectly styled when applied


diff: The hardware performance counter is cleared at the necessary wamup

Previous we use tapAndRead to hidden IO ports for read-only probe like some Difftest Bundle.
However, chisel does not support hierarchical wiring for writable probe, which means even we use tapAndRead, explicit IO port will be generated to pass timer/... By the way, addSink/addSource will also be deprecated later, and latest bore API require us to addSource before addSink.
In next step, seems we should still try isVisible to reduce number of LogPerfHelper

Seems we can use Builder.currentModule and tap to get LogPerfelper instantiate in same parent Module. I'm trying but some helper instantiated in when scope can not accessed from even same module.


Try to remove deploy.lock when deploy is fail

Try to remove deploy.lock when deploy is fail

Q
A

Bug fix?
No

New feature?
Yes

BC breaks?
No

Deprecations?
No

Fixed tickets
N/A

Try to remove deploy.lock when deploy is fail to make it simpler

I don't know if is best for default behavior. Maybe it is. What @deployphp/maintainer thinking?

@elfet : my team have a problem how to determine between failed deploy or locking by someone that running deployer. So from my side, it's better to remove deploy.lock when deploy had been fail

Ok, lets give it a try)

Ok thank you :+1:

@ad3n  I am reverting this. Got problems with race cond: one start deploy, another start deploy, fails and removes deploy.lock, so second can start another deploy interupting first deploy.

hhhmmm yes, you are right.

Or there is another solution, throw GrasefulExitException from deploy:lock and do not fail here. In other cases deploy:unlock will be triggered.

I think that is not simple, but if we can make sure we have one folder in release that is better solution to make sure only one deploy that running

What about removing this from common recipe and move to template instead? To make it optional for users. So they can choose what to do then deploy fails? What if they do not want to remove deploy.lock?

Not really that is good idea. Can we use http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x700.html to counting how many deploy that running in same time

I think it's better to make this configurable, and allow users to turn off: before('deploy:failed', 'deploy:unlock');
Now it is not possible.

Not really that is good idea. Can we use http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x700.html to counting how many deploy that running in same time

@elfet : :+1:


[pkg/otlp/model] Backport attributes changes from Datadog exporter

What does this PR do?
Backports OpenTelemetry Collector Contrib Datadog exporter attributes package changes made in this PR to pkg/otlp/model.
Motivation
Keep pkg/otlp/model updated with latest changes to the attributes package in the OpenTelemetry Collector Contrib Datadog exporter. This is part of the effort led in the following PR.
Additional Notes
Describe how to test your changes
The tests in the OpenTelemetry Collector Contrib Datadog exporter attributes package have also been backported.
Checklist

[x] A release note has been added or the changelog/no-changelog label has been applied.
[x] The need-change/operator and need-change/helm labels has been applied if applicable.
[ ] The appropriate team/.. label has been applied, if known.
[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[x] The config template has been updated if applicable.

Note: Adding GitHub labels is only possible for contributors with write access.

@mx-psi the other PR was merged 👍

Let's merge then :)


Implement usage of big.js as oppose to BigInt

Instead of messing too much with BigInt/Number natively, we'll adopt big.js for now for safety of user input validation.

Replace the internal usage and operations to be based on satoshis and not decimals.


Annex - Technical Programming Documentation

TPD Sections:

[x] #158
[x] #159
[x] #160
[ ] #161
[x] #179

Come comments about the documentation:
memoriaAAG.pdf
anexosAAG.pdf

Really appreciate it @alvarag. When I am done with #159 I will look into it.

anexosAAG.pdf
More comments on the pdf files:
memoriaAAG.pdf

I will look into them later this week, thanks in advance for your comments


Cropping

What was the reason to remove cropping?
It looks like basic useful feature.

@gut4
I want to keep simple area of responsibility this module.
If you want to croping, using react-native-ffmpeg or iOS is AVMutableComposition and Android is MediaCodec.
I tried AVMutableComposition and MediaCodec.
AVMutableComposition was work. But MediaCodec is didn't work.
There were few crop samples using Mediacodec.(A lot of crop image)
This is demo using react-native-ffmpeg.
DEMO: react-native-record-screen-zone


Problem with four steps

Hi
When I'm adding one more step (4 steps) then the sliding image is out of the black circle only on first and fourth are in the correct shape.

Resize your image, because the images for the steps need to be with same size. Obviously you can put a small content inside them.

Please follow
https://stackoverflow.com/questions/47795449/smiley-rating-bar-swift/52443856#52443856
I have Done this for 5 Steps.


Support updating the Gist dropdown samples without code changes

The list of Gist IDs in the dropdown are fixed. Instead, they could be saved as a list in another Gist, which DartPad would load first.
Credit to @timmaffett, who came up with the idea in this comment.

Thanks for the suggestion! Closing as a duplicate of https://github.com/dart-lang/dart-pad/issues/2857.


[models] Implement KV-cache to have own global for each layer, K, V.

In this implementation, we are splitting up the KV cache to have a global for each layer for each K/V. This will allow for cleaner indexing which will lead to simpler analysis and better perf down the line.
One analysis that we need this for is to check that we have independent reads and writes to KV-cache. We need this to remove redundant copies of KV-cache.  We can also do the same with integrated/big slab but would be much harder since it will require us to analyze dynamic striding and more complex ranges.

FWIW, I ran chat mode on both streaming and non streaming and seem to be running OK on my local system. Seems like just a Runner running out of memory issue again. :/


API fails for any language when release notes are uploaded

Did you see this error before? It fails for any language and any size of text (less than 500 bytes or less than 500 characters):
gradle publishHuaweiAppGalleryHuaweiRelease

> Task :publishHuaweiAppGalleryHuaweiRelease
Huawei AppGallery Publishing API: Prepare input config
Huawei AppGallery Publishing API: Found build file: `OrganicMaps-23050808-huawei-release.aab`
Huawei AppGallery Publishing API: Get Access Token
Huawei AppGallery Publishing API: Get App ID
Huawei AppGallery Publishing API: Get Upload Url
Huawei AppGallery Publishing API: Upload build file 'build/outputs/bundle/huaweiRelease/OrganicMaps-23050808-huawei-release.aab'
Huawei AppGallery Publishing API: Upload release notes: 1/59, lang=tr-TR

> Task :publishHuaweiAppGalleryHuaweiRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':publishHuaweiAppGalleryHuaweiRelease'.
> Update Release Notes for 'tr-TR' is failed. Response: UpdateReleaseNotesResponse(ret=Ret(code=204144649, msg=[cds]update app information failed, additional msg is [Parameter(appInfo.languages.newFeatures) error: String ,length between 0 and 500]))

@biodranik Hey. I have not been able to reproduce the issue for several days. How does it stable in your case?

We didn't upload any new releases yet. Will let you know later when we'll do it.
So you never hit that issue, right?

So you never hit that issue, right?
Yes, never

I did not reproduce it today. Looks like Huawei fixed their temporary issue.


Ubuntu 17.04 doesn't launch app (GUI or terminal)

I try to start the GUI with run_keybase and it gets stuck. From the terminal keybase -d login gives the following:
[ERRO keybase standard.go:230] 09f dial unix /run/user/1001/keybase/keybased.sock: connect: no such file or directory
Am I missing something obvious? I tried going over other's similar issue to no avail.
my log id: c804b5edaf9dfb62cfe8a91c

The /home/$USER/.config/autostart file was owned by root, had to chown.


SourceKit Language Server stops response everytime after seconds of use

Describe the bug
Everytime I open a Swift code file, vscode-swift start running, after a few seconds of typing codes, the SourceKit Language Server won't response anymore. Only kill the sourcekit-lsp.exe with Task Manager, change LSP settings to restart the language server or restart VSCode can fix it for a moment, then it get unresponsive again.
Even during the period it runs normally, I often feel it laggy, which feels like it got unresponsive and recovered by itself after one or two seconds, but finally it will get completely unresponsive.
To Reproduce
Steps to reproduce the behavior:

Open an one-file Swift source
Type some code, use the auto completion like usual
Everything get stucked, e.g. the red line won't disappear even after being fixed
In trace window, there's only a lot of message of "Sending notification" and "Sending request", but no "Received" messages anymore

Expected behavior
Work normally just like language servers for other languages
Environment

OS: Windows 11 23H2 (22631.2715)
Swift version (output of swift --version): Swift version 5.9.1 (swift-5.9.1-RELEASE) Target: x86_64-unknown-windows-msvc
Visual Studio Code version: 1.84.2 (1a5daa3a0231a0fbba4f14db7ec463cf99d7768e)
vscode-swift version: v1.7.0

Additional context
I set "swift.sourcekit-lsp.trace.server" to "messages", here's a screenshot of the situation

In addition, after it gets responsive, I change LSP settings, press OK to restart the language server, on the output window for Swift, it shows as:
11:03:37: SourceKit-LSP setup
11:03:37: Swift version 5.9.1 (swift-5.9.1-RELEASE)
11:03:37: focus: undefined
11:04:53: SourceKit-LSP setup
11:04:53: Error: Stopping the server timed out

(I restarted language server at 11:04:53)

Can you report this in the https://github.com/apple/sourcekit-lsp repo.
This is most likely an issue with sourcekit-lsp itself.

The timeout issue appears to be an issue with VSCode itself. Restarting an LSP server on Windows doesn't register it has killed the original process. So I have to catch the timeout and assume it has killed the process.

Would you be able to verify if these issues are resolved when using swift 5.8. I have another very similar issue which is resolved by using swift 5.8. I realise this is not a solution but it allows us to narrow down where the issue is coming from.
By the way I added this https://github.com/apple/sourcekit-lsp/issues/982

Tried with Swift 5.8.1, everything works fine.
PS > swift --version
compnerd.org Swift version 5.8.1 (swift-5.8.1-RELEASE)
Target: x86_64-unknown-windows-msvc

Thanks that narrows it down. Let's see if the sourcekit-lsp guys come up with anything.

I have the same problem here with Swift 5.9.1 on Windows 11. The moment I type Foundation. or WinSDK. , LSP Server take full CPU usage, issuing the command to restart LSP Server don't resolve, LSP Server constantly unresponsive.
No problems with Swift 5.8.1.

Good news from Alex Hoppen
https://github.com/apple/sourcekit-lsp/issues/982
I confirm the fix is working  with current main dev snapshot  (Swift 5.11).
Thanks Swift Team !

I wasn't sure if those changes had made it into a snapshot, obviously they have now. That's great news.

As this is fixed and been cherry-picked for latest 5.9. It isn't part of a release yet it will be soon so I'm going to close this


New release?

I just stumbled across some Rails 5 compatibility issue and noticed that the code in question has already been fixed in the source code.
The last release is from August 2014, are there any plans to bundle the current state of the library into a new release?

https://rubygems.org/gems/rails_param/versions/0.10.0
Thanks.


Mount components on bottom

Hi, this is a very cool project! I was just wondering, would it be possible to mount the components on the bottom and have the LCD and buttons on the side below the board. That way the top would be flat and make it much easier to place the piece you are soldering on top - especially if it is a large piece.

Perhaps separating the heating board into a separate board that can be mounted with risers on top of the controller board would be even better - then one could replace the heating board if needed or even have different size heating boards.

I really like that idea - and make heating boards available as spares
On Thu, Mar 3, 2022 at 10:43 PM lsadehaan @.***> wrote:

Perhaps separating the heating board into a separate board that can be
mounted with risers on top of the controller board would be even better -
then one could replace the heating board if needed or even have different
size heating boards.
—
Reply to this email directly, view it on GitHub
https://github.com/AfterEarthLTD/Solder-Reflow-Plate/issues/14#issuecomment-1057959940,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIHLCLYNANZXYX3XUYS4TRLU6CQUXANCNFSM5PZC5M6A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

A small adaptation to the current design might be possible, with solder points for adding an external/mounted heating board. Then one can use the base unit alone, or expand it with an external heating board if you like.
The current design is nice for small parts and probably many people won't need anything more initially.

Hi, nice ideas!
Putting components on the bottom and having the entire top as a heater could work very well. I think I'd have to limit the max heating temp for low temp paste to make sure it doesn't melt the control solder of damage the components over time.
The detachable board is a good idea. A few people have suggested similar ideas. I'll certainly look into it as its a popular request.
I plan to make a larger board in the not too distant future so I'll take this all into consideration.
Thank you

having the entire top as a heater could work very well

I wasn't really thinking about increasing the size of the heater on top since it could damage components on the bottom, but if that could work it would be interesting. The reason for moving the components to the bottom is just so you have a completely flat element you can put a larger piece on top of - lets say you have a very large piece and you want to heat the middle part of it, with the current design that's not possible. For this to work the risers would need to be flush and not stick out the top.

Oh I see!
I like that.
On the version I have purchased to sell I have sorted out grub screws that sit flush with the top, therefore opening up the sides and the bottom. But you're right, if everything was on the bottom it would be easier to flow bigger boards.

Yes, I came across your design from a youtube video from Scott ( GreatScott video ) where he compared your design to a really tiny commercial unit. When he was showing how he was working with a big board for each unit it was clear that the commercial unit, even though it is much smaller, is much easier to handle since you can just place the board on top. My take-away was that the DIY version would be way superior to the commercial one, if only you could do the same.


Cogvideo2B score

Hi, I see that the total score of cogvideo2B on Leaderboard is 80.94%, but after I use all_dimension_long. txt to inference, the total score measured is only 78.68%.
The video I produced with cogvideo2B was 8 frame rate, 6s length, and 480x720 resolution.
May I ask why my test result is so much lower than that on the leaderboard?
Looking forward to your reply，thanks a lot

Could you provide the details of the model checkpoint and sampling setting?

Could you provide the details of the model checkpoint and sampling setting?

Model weights are download from https://huggingface.co/THUDM/CogVideoX-2b/tree/main here Inference code is inference/cli_demo.py from Cogvideo2B repo And sampling setting is the default setting, I only change some dir path

Hello, here are our settings for sampling CogVideoX-2B (last line): https://github.com/Vchitect/VBench/tree/master/sampled_videos#what-are-the-details-of-the-video-generation-models. We use the SAT weights to sample videos for evaluation.

Could you provide the details of the model checkpoint and sampling setting?

Model weights are download from https://huggingface.co/THUDM/CogVideoX-2b/tree/main here Inference code is inference/cli_demo.py from Cogvideo2B repo And sampling setting is the default setting, I only change some dir path

And for evaluation, we use the VBench-long code to evaluate sampled videos.

Hi, I also tried the sat weights to sample videos, and got a new result 79.75% which is still much lower than the report result.
For evaluation, I still use the old evaluation code, could these cause problem? Since the only difference between using the longer txt and the original is the length of the prompt

What prompt list did you use?

https://github.com/Vchitect/VBench/blob/master/prompts/gpt_enhanced_prompts/all_dimension_longer.txt
this one

Hi, we've released the following details for evaluating CogVideoX-2B:

videos used for evaluation: https://drive.google.com/file/d/1zuQ47Uvze4157o4YMta0Zqz9G8TdHcXZ/view?usp=share_link
code used for evaluation: https://github.com/Vchitect/VBench/tree/master/vbench2_beta_long

Feel free to let us know if you find any discrepancy. Thanks!


ValueError with pspnet.py

Hi, when I run pspnet.py, I get a ValueError due to a negative dimension (output file with error
pspnet.txt
attached). I'm using virtualenv with python2.7, tensorflow version 1.3.0 and keras version 2.0.8. I'm also using the weight files that you've provided.
Any help would be greatly appreciated!
Thanks
Nariman

For me building the network still works.
can you print the input shapes in:
--> 177     prev_layer = AveragePooling2D(kernel, strides=strides)(prev_layer)

Shapes are:
kernel = (60, 60)
strides = (60, 60)
prev_layer = (?, 2048, 60, 1)

For me that is:
(60, 60)
(60, 60)
(?, 60, 60, 2048)
are you using theano dim ordering?

For me everything also works. Have you done any modifications to the code, or

The issue was that "image_data_format" in keras.json was set to "channels_first". I removed that line and I don't have that problem anymore. Thanks for your help.


Feature/maintenance mode

closes #6976
TODO

[x] tidy up PR
[x] fix tests
[x] write a test for core/server/index.js
[x] big final test
[x] bring back help color
[x] squash

travis is green, ready to merge


Add Opentelemetry Cloud Trace Exporter

To summarize an internal document:

dir: google/cloud/opentelemetry/...
class: google::cloud::otel::TraceExporter

use namespace otel just to avoid conflicts with ::opentelemetry.

feature: experimental-opentelemetry_sdk
ctor: TraceExporter(Options options)

Prototype is here: https://github.com/dbolduc/google-cloud-cpp/tree/ot-tracing-design-doc/google/cloud/trace/exporter
Of note, we need to translate the name of some span attributes into names that appease Cloud Trace. There is an internal doc which has the mappings. (If you can sift through the TODO's, unanswered comments, and scary red highlighting).
Also, several methods are unimplemented.
Implementation steps:

[x] Set up directory, feature, basic building

[x] Install library. Might benefit from the remainder of #10795
[x] Include in docs

[x] Add Recordable class

[x] SetName
[x] SetAttribute
[x] #11775
[x] The rest
[x] Map attribute names to Cloud Trace names.

[x] Add TraceExporter class

[ ] ~Filter options, so that we do not create spans in the trace client. We will need to be careful about environment variables overriding any options we supply.~

[x] Write Integration test

[x] Generate Cloud Trace v1. We need it to list traces. Aside: We might want to check other vN > 1 services to see if they are replacements or additions to the v1 service....

[x] #11360

We decided not to filter out any options supplied to the exporter, so this is just done.


Fully qualify names in cpp apply overloads.

This should fix #202.

Can you also do these?

update the changelog
update the golden master C++ files for gbc-tests
amend the commit message to say Fixes https://github.com/Microsoft/bond/issues/202, "gbc cpp generates ambiguous references when a struct and enum val share a name"

I'm not sure this is a good change.
I think it would be better to catch this in .bond compiler as syntax error. It happens that it is possible to make this work in generated C++ because we generate enums into a distinct namespace. But it won't necessary always be that way. We only do that today as a ways to get poor man's scoped enums. With C++ enum class that will not be necessary and in C++ enum and class share the same namespace. Also it is probably safer to not assume that other languages that we might want to support in the future would allow enum and class of the same name.

I think we should consider disallowing that - and that was my first thought, too - but that change can easily break customers' public APIs. I hit this when I took the comm bond file that we're happily building for C# and tried to build it for C++. All this does is make gbc generate valid C++ for this currently-legal bond.

@sapek, I think you're talking about a slightly different issue than this change addresses. We're looking at structs and enum values with the same name. e.g.:
namespace conflict;
struct Foo {};
enum E { Foo; };

enum classes appear to actually solve this problem for C++ by requiring references to enum values to be qualified with the name of the enum, just like C# and Java do.

@tstein, you are right, I misread the issue. The conflict between enum value names and type names applies only to the old style enums in C++ so the case for supporting this is stronger.

LGTM.
@lalo is working on fixing the AppVeyor build problems.


Refactor WiFi priority to allow independent ip settings

This PR requires https://github.com/nerves-project/nerves_wpa_supplicant/pull/19 before merging
This allows each network to have it's own ip address settings
in the WiFiManager module. This allows for a simple priority
system where a user can configure a primary ip, then fall back
to creating a hostap network if the network wasn't found or is
disconnected etc.

Currently Travis is failing nerves_wpa_supplicant can't be built from git for some reason. I plan on migrating both of them to Circle once this feature is out.

Is that due to mix hex.build requiring dependencies to be on hex? I'll go with whatever you decide to do so long as CI eventually passes.


feat(block-producer): rebase next

An experiment to see what a rebased branch PR'd back looks like ito diff.


fix: remove unused numpy import

This was probably from VS Code's intellisense automatically importing it for you.

It is indeed from that, I need to disable it lol. thanks


Fix broken link to the Java app insights page

Missing parentheses caused broken link.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@josemaia : Thanks for your contribution to the Azure documentation! The author, @antonfrMSFT, has been notified to review your proposed change.

sign-off


Vulkan Error while parsing file

Godot version:
Godot night build
OS/device including version:
OS Win 10 64, AMD RX 480
Issue description:
Ive downloaded the latest night build and while opening my project - "Error while parsing file"
image: https://drive.google.com/file/d/1XNZqmSYaSuf_2GRxnxEqPmHiMWH87Koh/view?usp=sharing

If you're opening a project created in Godot 3.x versions, this will likely won't work (a converter has to be implemented to migrate 3.x projects to 4.x projects eventually, I guess).

No, but creating a new file and saving works.

Closing per @Xrayez's comment. 3D mesh format
conversion code has yet to be implemented.


AwsProxyResponse class is generating response JSON which is rejected by API gateway with Malformed error

We are calling java lambda from api gateway and in cloudwatch logs i can see internal server error is coming,
After going through the logs and support team i got to know that AwsProxyResponse class is generating response JSON which is rejected by API gateway with Malformed error
Json generated is using field name base64Encoded instead of isBase64Encoded

Hi @Chiranjibeem,
can you please fill out the issue template to help us looking into your issue?
The property is named explicitly
https://github.com/aws/serverless-java-container/blob/main/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/model/AwsProxyResponse.java#L122 so I wonder what makes the serialization ignore it in your case.
To help us debug your issue fill in the basic information below using the options provided
Serverless Java Container version: eg. 1.5
Implementations: Jersey / Spring / Spring Boot / Spring Boot 2 / Spark
Framework version: eg SpringBoot 2.2.6.RELEASE
Frontend service: REST API / HTTP API / ALB
Deployment method: eg SAM, Serverless Framework, Console
Scenario
Describe what you are trying to accomplish
Expected behavior
Describe how you would expect the application to behave
Actual behavior
Describe what you are seeing instead
Steps to reproduce
Provide code samples we can use to reproduce the issue as part of our integration tests. If there is a public repository for the misbehaving application link to it here
Full log output
Paste the full log output from the Lambda function's CloudWatch logs
logs

Serverless Java Container version: 2.0.0-M2
Implementations: Spring Boot
Framework version: SpringBoot 3.2.0
Frontend service: AWS API Gateway
Deployment method:  Serverless Framework
Scenario - When we are trying to invoke lambda with proxy integration from apigateway, apigateway is throwing malformed error
Expected Behaviour - as part of lambda response, api gatway is expecting isBase64Encoded value but from lambda response we are getting only base64Encoded key
Actual Behaviour - isBase64Encoded should come ans statusDescriptions also not required as per api gateway
Stepa to reproduce -
Create a api gatway
Call lambda ( rerurn type should be AwsProxyResponse)
Invoke Lambda from ApIGAteway

Can you please try reproducing it using our sample https://github.com/aws/serverless-java-container/tree/main/samples/springboot3/pet-store?
We have multiple unittests in place that cover it so I can only imagine it's related to specific configurations inside your application.


NanoDet 416x416 edge tpu model not working for coral

When I try to use your precompiled model I get an error while calling allocate_tensors()
interpreter.allocate_tensors()

File "/home/andrej/tf2-models/env-nightly/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 259, in allocate_tensors
return self._interpreter.AllocateTensors()
RuntimeError: Internal: :213 batches * single_output_size != output->bytes (6032 != 313664)Node number 232 (EdgeTpuDelegateForCustomOp) failed to prepare.
any ideas? I am using tf-nightly 2.5dev, libedgetpu1-max 15.0

Unfortunately, you will have to wait for the following issues to be resolved.
https://github.com/google-coral/edgetpu/issues/274


Fix Rust chat function format which was broken in 3f58ff8

I think the title says it all, stumpled across this while using those functions~
I think chat messages from users (even if artifical) should be kept the same format (and rust uses : after a name~)
Some thought I might want to give along the way: is userid really needed to be done as string? I mean if the language number is big enough (64 bit) then it doesn't need to be a string which makes a bit bigger memory footprint, even if minimal...

This doesn't fix anything, it just adds a semi-colon.

Well it's a fix to a change that was done earlier but yeah it's just cosmetics...

I think Rust had it without the semi-colon for a bit, which is why it was changed here. I do notice it has the semi-colon now though.


Update Spark 3.1 shim for ShuffleOrigin shuffle parameter

Spark 3.1 changed ShuffleExchangeLike to remove the canChangeNumPartitions method and replaced it with a shuffle origin instead.  This updates the shims to pass the original CPU shuffle exec node when asking for a GPU shuffle exec node rather than fetching the canChangeNumPartitions field out of it which won't be present on some Spark versions.

build

build


BUG: Broken links in Modin Usage Examples page

Modin version checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest released version of Modin.

[X] I have confirmed this bug exists on the main branch of Modin. (In order to do this you can follow this guide.)

Reproducible Example
N/A
Issue Description
This page has many borken links. For example,
https://github.com/modin-project/modin/blob/759d548814a6ac224e83e7531cf98e20b13d85cb/docs/usage_guide/examples/index.rst?plain=1#L19
Expected Behavior
No borken links.
Error Logs
No response
Installed Versions
Latest version of doc

Hi @MortalHappiness, thanks for posting this issue. @Retribution98, can you take a look at the broken links? IIRC, you were the last person who updated the pages for Modin on Ray in a cluster.

@YarShev I opened a PR here.
https://github.com/modin-project/modin/pull/7336

Oh, I see, thanks!


build(deps): update sbt-tpolecat from 0.1.20 to 0.1.22

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.davidgregory084", artifactId = "sbt-tpolecat" } ]

labels: sbt-plugin-update, early-semver-minor, semver-spec-patch, commit-count:1

Codecov Report

Merging #49 (e62f0a7) into main (e6ad2bc) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #49   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           18        18
  Branches         1         1
=========================================
  Hits            18        18

Continue to review full report at Codecov.

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


Html errors

This PR addresses issue #1036 reported in chaise.
It was decided that when an HTTP error is returned with content-type including HTML, this is an error generated from the server (Apache) rather than our code. Ermrest does not produce HTML errors, only JSON errors.
In the case of an HTML error being returned, it had to be because of some server error that Ermrest did not catch. This is seen as a server error and changed to a 503 Service Unavailable error.

Updated the code to throw a 500 Internal Server Error instead of a 503 Service Unavailable.


Add button

Guys! I think this solution is not useful, but yesterday I worked long time on this and found a solution 🤔 . This project is more about DOM and I am not so good right now, I hope it's enough, please review my solution

Guys! I'll get over it @pavelbidenko2018 @Sayed94h @okozmovskaya 👍


Teableau server preference persistence

Hi,
How can we do the preference persistence ?
For example,
The mentioned user preference or meta should be persistence while removing existing container and running new instance of tableau-server

Published workbook
Newly created user
Newly created My view of workbook.

Thanks in advance

you can save an image anytime, even after initialization. check my blog post's pro tipp section with docker commit.
https://databoss.starschema.net/tableau-server-linux-docker-container/
let me know if this helps

The traditional approach would be to have the config on the host, and mount it into the container rather than copy in the dockerfile. This would be much better practice... Everyone would use Tamas's image but -v ./config:/config their config into the container.

Hmm, I can make this happen easily


Add optional timeout parameter to await*() methods

Calling await*() with no timeout is scary. I think that in almost all cases, when we wait for something we don't want to potentially wait forever. While clients of this library could handle this themselves, it's much easier to add it to this library directly.
Regarding the implementation: it might make sense to have a TimeoutException class to make it easier for clients to differentiate between rejected promises and timeouts.
It's totally cool if you don't want to merge this!

Thanks for your PR and the great suggestion :+1:
The feature makes perfect sense to me, so I'd love to see this in.
Some remarks about the current implementation which should be addressed first.

The timer should be cancel()'ed when the promise(s) settle.
A second call to the await*() method should not be affected by a timer that was previously set up.
This also eases interoperability with mixed async and non-async projects.
All pending promises should be cancel()'ed when the timer is invoked.
Debatable, but IMHO the "await" implies that we either wait for the promises to settle or will never care about their (possible) future results. Arguably, another use case would be "checking" whether a promises settles within a given time frame, but this should probably be handled in a different feature?
Add a dedicated TimeoutException (extends RuntimeException) as per your above suggestion
Introduces some (more) duplication which I'd like to avoid

Looking forward to getting this in :)

The timer should be cancel()'ed when the promise(s) settle. A second call to the await*() method should not be affected by a timer that was previously set up. This also eases interoperability with mixed async and non-async projects.

This just occurred to me after pushing :). I've fixed this now and added tests to cover it. I went for a different approach to invoking cancel() just because it meant adding less code, but I'm happy to instead invoke cancel() if you'd prefer.

All pending promises should be cancel()'ed when the timer is invoked. Debatable, but IMHO the "await" implies that we either wait for the promises to settle or will never care about their (possible) future results. Arguably, another use case would be "checking" whether a promises settles within a given time frame, but this should probably be handled in a different feature?

This is indeed an interesting and debatable issue. I do feel that it's a little restrictive to cancel() any remaining promises upon a timeout as obviously there might be other consumers of that promise, but I do appreciate the benefits and evidently awaitRace() and awaitAll() are implemented in such a way that they will cancel any unresolved promises upon completing. And it would be best to be consistent with what you've already implemented. Have you considered implementing an Exception class with a cancelPromises() method or similar, or otherwise making that 'auto cancel' functionality optional?

Introduces some (more) duplication which I'd like to avoid

Agreed. I'll take a look at that at some point.

@clue I've updated the PR to implement all of the recommendation you made in the OP but I haven't yet added tests to prove that promises are cancelled when a timeout occurs. I've also re-factored a bit to shorten each of the public methods and reduce duplication a bit.
I seem to have broken the HHVM build on Travis; I'll take a look at that now.

Any thoughts on this @clue? I'm currently depending on my fork for another project so it'd be great to get this merged. If there are any remaining issues then I can look at them this evening.

Have you considered implementing an Exception class with a cancelPromises() method or similar, or otherwise making that 'auto cancel' functionality optional?

This is an interesting idea… Let's move this to a dedicated ticket (#4), okay? :-)

Any thoughts on this @clue?

Thanks for poking me :-) I'll review this again shortly in detail (and would appreciate if anybody else happens to have some thoughts on this!). At first sight, I'm not quite sure I like the code layout. The original code was rather clean, but did contain quite a bit of duplicate code. The new code avoids this duplication, at the cost of readability (all IMHO).
Either way, thanks for your PR and the discussion!

Thanks for poking me :-) I'll review this again shortly in detail (and would appreciate if anybody else happens to have some thoughts on this!).

Thanks :)

At first sight, I'm not quite sure I like the code layout. The original code was rather clean, but did contain quite a bit of duplicate code. The new code avoids this duplication, at the cost of readability (all IMHO).

The trouble is, there's a lot of duplication and code complexity otherwise. Maybe the approach (naming, at least) can be improved, but I think it'd be a shame to essentially copy & paste 50 loc into all three methods.

Thanks for the update @joshdifabio! Unfortunately I haven't had the time to review this more thoroughly so far :( I'll keep an eye on this and will come back to this as time permits!
In the meantime, have you checked out my (alpha quality) clue/promise-timeout project? This might be an alternative approach that could remove quite a bit of the code duplication.

Thanks for the update.
I've had a look at the promise-timeout package; thanks for that. I have a few projects kicking around which depend on the timeout fork of php-block-react for unit tests. At some point I'll try rewriting those tests to use php-block-react in combination with promise-timeout and see which approach yields the most pleasing results.

[…] use php-block-react in combination with promise-timeout and see which approach yields the most pleasing results

Awesome, please let me know how it works out! :+1:
I still think that adding a timeout to blocking functions is a common feature that should be exposed in a way that is easy to use. Though I'm curious as to how this is best achieved. Thanks for your patience and much appreciated work so far!

@joshdifabio Thanks for all the effort you've put into this ticket! :tada:
I very much appreciate your work and I'd love to get this functionality in! :+1:
Given that the new functional API landed the other day, I currently don't see how we could resolve the resulting merge conflict. Instead, I'd like to close this ticket for now, so that it serves as an archive for the history of the original implementation idea.
If you (or anybody else for that matter) happens to want to rewrite this on top of the functional API, please feel invited to file a new PR and I'd be happy to help push this forward :+1: I've just opened #14 for the reference so this doesn't get lost.
Thanks!


improve doc for setting up IntelliJ IDEA

Description
the documentation is not very clear on how to  run programs in IntelliJ IDEA
Type of change
documentation improvement
How Has This Been Tested?
yes
Checklist:

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

This has been merged. Thank you @jk2K for your contribution to Appsmith! 🎉

This has been merged. Thank you @jk2K for your contribution to Appsmith! 🎉


Add exercise perfect-numbers

Hi,
I would like to contribute with the perfect-numbers exercise implementation.

Right on!
We'll want this one to be as close to idiomatic ES6 as possible.  Please go ahead and implement a solution, and I can help you iterate it to ES6 code.

Hi @matthewmorgan, I believe I am all done, please tell me what you think.

💯 !!  Thanks again.  Nice work.

Happy to help!


Add object-store labels to PRs

Which issue does this PR close?
re #2030
Rationale for this change
automatically assigning labels to PRs to assists in reviews and categorization
What changes are included in this PR?
automatically add object-store label to PRs
Are there any user-facing changes?
no

Codecov Report

Merging #2146 (21467ef) into master (19a7189) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2146   +/-   ##
=======================================
  Coverage   82.86%   82.86%
=======================================
  Files         237      237
  Lines       61296    61296
=======================================
  Hits        50792    50792
  Misses      10504    10504

Impacted Files
Coverage Δ

...row/src/array/builder/string_dictionary_builder.rs
90.64% <0.00%> (-0.72%)
:arrow_down:

parquet/src/encodings/encoding.rs
93.43% <0.00%> (-0.20%)
:arrow_down:

parquet_derive/src/parquet_field.rs
65.98% <0.00%> (+0.22%)
:arrow_up:

arrow/src/datatypes/datatype.rs
63.00% <0.00%> (+0.31%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us.

Some evidence it is working:

🎉


modify some format.

/assign @chenopis Please review. Thanks!

Please wait. We are about moving this doc somewhere else. @Bradamant3

/assign @Bradamant3
/hold

/lgtm
/approve

/unhold


Proposed fix for WI-28837

https://youtrack.jetbrains.com/issue/WI-28837
I hope this is the correct way to add the missing optional parameters.

 If not, please download the PDF from http://www.jetbrains.org/display/IJOS/Contributor+Agreement and then print it out, sign (mention you github account name there), scan and email to<EMAIL_ADDRESS>

I haven't. Why can't I simply fill in the form online? I would like to see my patch in PhpStorm but I don't want to print anything. Mostly because those hell machines never work and it takes me too much time to make it work..

Well.. On a Mac I can use Preview app's Signature tool to sign the PDF via touchpad and fill it in and then send it.

The CLA was received. Thanks.


Cluster map pins, particularly for large number of results

From Tamas:
Use clusters wherever possible. Lets say you define a year or more for the search window. There will be tons of results. Users will like it better when the map is not crowded with LOTS of markers, instead only a couple of cluster icons. See http://vroa.nl from my portfolio

I do agree that it's not a good visual experience to load a bunch of points on a map. One caution is that we want to make sure clustering is tuned. My preference has been gridding out points into an equalized grid, but that's likely more than necessary for this application, and the clustering libraries are pretty standard.
I think it'd be good for clustering to only happen when the points reach a certain threshold, particularly because the query will already be returning a pre-queried radial search.

Great! I think we'll do some light user testing to see about fine tuning the clustering behavior, but that's not in the crticial path. What you've done is excellent because the infrastructure is there 👍


#147 Prevent devision by zero.

In general not so happy with this code, it should be replaced by Panda's...


Data source configurations can specify url parameters

Resolves https://github.com/tangrams/tangram-es/issues/663

URL params need to be inserted after the base URL, but before the # (if one is already present in the URL), and take into account possibly existing parameters:
Examples where url_params: { a: 1, b: 2 }:

http://baseurl.com/ => http://baseurl.com/?a=1&b=2
http://baseurl.com/?c=3&d=4 => http://baseurl.com/?c=3&d=4&a=1&b=2
http://baseurl.com/#lat/lng/z => http://baseurl.com/?a=1&b=2#lat/lng/z
http://baseurl.com/?c=3&d=4#lat/lng/z => http://baseurl.com/?c=3&d=4&a=1&b=2#lat/lng/z

See https://github.com/tangrams/tangram/pull/204/files#diff-be73193a7de1c86c1903f5cf92321d2aR84.

Huh, well I hadn't foreseen that someone would use a hash in a data source URL but I guess it's not impossible. I'll update.
Just to check: trailing ampersands and duplicated parameters are generally permissible, yes?

Using a hash in a URL data source template is unlikely but valid, so I think it should not break.
Trailing ampersands shouldn't be a problem as far as I know, and duplicated parameters I explicitly punted on for the JS implementation because it's not rational to put in both the template and the url_params, and can be avoided by the scene file author.

Updated! I was tempted to make a new utility file for URL functions, but I'm trying to be diligent about not abstracting anything until I use it in at least two places.