How to transform actions to local robot end effector frame?

Hi,
Thanks for your great work!  I've observed that the actions in the data utilize the "OSC_POSE" controller type, indicating they are defined in the global coordinate frame. However, I'm currently exploring the possibility of obtaining actions relative to the local frame of the robot's end effector, (which might align more closely with the "IK_POSE" controller type, see https://github.com/ARISE-Initiative/robosuite/blob/48c1b8a6c077d04399a00db05694d7f9f876ffc9/docs/demos.md?plain=1#L37 ）
I understand that I could potentially implement the coordinate transformation myself, but for the sake of accuracy and convenience, I'm curious if there are any existing methods or tools available to achieve this.
Thank you very much in advance!

I am not aware of an existing implementation of this for OSC in robosuite, but it should be straightforward to do this conversion.

Hi, did you get anything working for this? would be really helpful if you could share


buildifier run not using proper mechanism to allow to undo

Description of the bug:
I've made changes to BUILD file and buildifier triggered automatically.
Then I've realized that I want to Undo and got the following message:

What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

Edit some BUILD file and let buildifier to reformat it.
Try to Undo

Which Intellij IDE are you using? Please provide the specific version.
2023.2
What programming languages and tools are you using? Please provide specific versions.
Java
What Bazel plugin version are you using?
2<IP_ADDRESS>.1
Have you found anything relevant by searching the web?
No response
Any other information, logs, or outputs that you want to share?
No response

I'll try more

Yeah, unable to reproduce it and undo works as expected. Not sure how I ended up with that dialog before.


Remove restriction that the pattern of like must be a literal

The restriction was artificial. Like can be executed the same way as
we execute col1 = col2.

@matriv please review


Exception in CZML Sandcastle example

This might take 2 or 3 times to reproduce.

Open the CZML Sandcastle example.
Double click on the AGI billboard.  Zoom in so you can see the buildings on the imagery.
Switch to 2D.  Zoom in again.
Switch to Columbus view.

I don't know if the zoom has anything to do with it or if it is just the timing with the CZML file and primitives go in and out of the view frustum.

@pjcozzi I tried a few times but I couldn't reproduce this.  But I keep running into #1518 so it's hard to test.

I reproduced it first try.

I can't reproduce this any more either.


Add inspire-search extension

Description
Add extension to search inspirehep.net.
For more info, see README.md.

Hi! Thank you so much for your contribution to Raycast!
My name is Milena and I will be reviewing your extension today :)
One thing that I think would improve the UI of your extension would be to add the options you have on the list view to the detail view. I would be more inclined to want to copy the BibTeX for the article after reading its abstract, for instance. Does it make sense?

Thanks, Riccardo! Ping me when you're done. I can re-open the PR in case it gets stalled.

@mil3na Just a quick ping to let you know thatI have added actions to the Detail View as you suggested.

Awesome, thanks!Quick question: I noticed that I forgot to push also the updated readme. Do I need to submit another pull request for that or is there an easier way to update it?On Jul 24, 2023, at 1:19 PM, Milena Araujo @.***> wrote:
@mil3na approved this pull request.
Thanks! LGTM! 🚀
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

If it's something quick you can send me and I can commit it directly, to make things easier. But, for any changes, I would recommend making another PR

Thanks, I appreciate it!The new README is attached.On Jul 24, 2023, at 1:52 PM, Milena Araujo @.***> wrote:
If it's something quick you can send me and I can commit it directly, to make things easier. But, for any changes, I would recommend making another PR
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

You cannot send files via Github like you send in an email.

Apologies. No worries, I will submit another pull request.On Jul 24, 2023, at 2:19 PM, Milena Araujo @.***> wrote:
You cannot send files via Github like you send in an email.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Excellent piece of work

I would like to appreciate you for such a great piece of work. Hats off. awesome. !!

Thanks!


Support Tuple/listlike of arrays in addition to just list

Or raise An Error when the input is a list like but not a real list

support for tuple added


Support for start & end player options

Hi,
start & end options of youtube iframe player is not supported.
https://developers.google.com/youtube/player_parameters#start
https://developers.google.com/youtube/player_parameters#end
Any workaround for this.

@saggiyogesh I'll try to look at it soon. meanwhile you can offer a PR

any updates on this?


Incorrect title for openapi schemas

Describe the bug
While editing openapi yamls,  schemas in the "Structure" tab, gets changed to schemes when Material icons are turned on.
Also, no other sections are visible except paths and components.
To Reproduce
Open any openapi yaml with Material Icons turned on.
Expected Behavior
It should be schemas. Not schemes
All sections should be visible.
Environment
IntelliJ IDEA 2023.1 (Ultimate Edition)
Build #IU-231.8109.175, built on March 28, 2023
Runtime version: 17.0.6+10-b829.5 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11.0
GC: G1 Young Generation, G1 Old Generation
Screenshots
Plugin Disabled

Plugin Enabled

What the... It's not related at all...
Can you provide a project i can reproduce?

Got it...
This is related to
https://plugins.jetbrains.com/plugin/10044-atom-material-icons
I mixed up the project name.
I believe that is also maintained by you.
On Wed, Mar 29, 2023 at 1:15 PM Elior Boukhobza @.***>
wrote:

What the... It's not related at all...
Can you provide a project i can reproduce?
—
Reply to this email directly, view it on GitHub
https://github.com/mallowigi/a-file-icon-idea/issues/357#issuecomment-1488099383,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUZD6XH5TOVU3QWU35X26JTW6PSBLANCNFSM6AAAAAAWLMXUR4
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
CONFIDENTIALITY NOTICE: This e-mail and any attachments hereto are
intended only for use by the addressee(s) named herein and may contain
legally privileged and/or confidential information. If you are not the
intended recipient of this e-mail, you are hereby notified that any
dissemination, distribution or copying of this e-mail, and any attachments
thereto, is strictly prohibited. If you have received this e-mail in error,
please notify the sender by replying to this message and permanently delete
the original and any copy of this e-mail and any printout thereof.

Still, the issue doesn't look like it's related to the plugin at all. Are you sure you're showing me the state with the plugin on and off **and being the one and only change between them? **
From my point of view this looks like you have a plugin responsible for this in the second screenshot, or you're using different versions of the ide


Windows 10 Preview - anyone want to get started?

http://windows.microsoft.com/en-us/windows/preview-iso
English (x64):

http://iso.esd.microsoft.com/W9TPI/FD54DF81A4CCF4511BA1445C606DDBA2/WindowsTechnicalPreview-x64-EN-US.iso
SHA1 EB75A3D3C0F621F175B75DC65DB036D0E00EAC43
Key: NKJFK-GPHP7-G8C3J-P6JXR-HQRJR

Just tried build 9926 Enterprise Technical Preview ISO. It seems that floppy support is back.

See PR #132 for a first working template.

Just merged #132 and #144 into master.


Exposing method that returns a list with Ctypes inverted?

I have defined unions, and structs in my Ctypes Inverted interface with great success, but I have been having trouble in passing a list of them with the inverted stubs.
This is a basic premise of what I want to do.
I have a function:
let test a =
[a;a;a]
let t_type = view ~read:get_t~write:set_t fin_t (this is what will be passed as a paremeter).
let() = I.internal "test" (t_type @-> returning ????) test
I have tried various methods using big_Arrays, and CArrays, but the return type still isn't what it is supposed to be. Most of the documentation I have seen has been of the regular Ctypes, and not the inverted bindings.

The easiest approach is to use a root.
You can use Root.createto obtain an opaque handle to your list, and expose it to C as a void * (or as a pointer to an incomplete struct type to give a little more type safety).  When the void * value is passed back to OCaml you can use Root.get to retrieve the list:
# let p = Ctypes.Root.create [1;2;3];;
val p : unit Ctypes.ptr = (void*) 0x557bc90e8910
# (Ctypes.Root.get p : int list);;
- : int list = [1; 2; 3]

You'll also need a free-like function to release the root (by calling Root.release) when it's no longer in use by the C code.

Thank you for the help. I used Ctypes.Root and Ctypes.get before the thread, but I was confused as to how to retreive the value when C passes the value back. This is my method. The add function takes a list of type x as an argument, and returns another list. The helper function takes a void ptr as an argument, and then passes an x list to the add function. I think that this portion of the code is correct, but I'm not sure how to retrive the value from C.
let add_helper a =
let x = (Root.get a :(x list)) in
Root.create (add x)

module internal ...

let () = I.internal "add_helper"(ptr void @-> returning (ptr void)) add_helper

I'm not sure where to call Root.get to retreive the value.

The root interface is quite low level, so you may find it easier to build a thin type-safe wrapper around it, and then use that.  For example, here's a module that hides the void pointers and the unsafe types of the root operations:
module CList :
sig
  type t
  val t : t typ  (* Used to describe interfaces to C *)

  val alloc : int list -> t
  val free : t -> unit

  val get : t -> int list
  val set : t -> int list -> unit
end =
struct
  type t = unit ptr
  let t = ptr void

  let alloc = Root.create
  let free = Root.release

  let get = Root.get
  let set = Root.set
end

Now you can use this interface to build functions that operate on C-accessible lists:
let length : CList.t -> int =
  fun t -> List.length (CList.get t)

let sum : CList.t -> int =
  fun t -> List.fold_left (+) 0 (CList.get t)

let empty : CList.t =
  CList.alloc []

let reverse : CList.t -> CList.t =
  fun t -> t |> CList.get |> List.rev |> CList.alloc

let cons : int -> CList.t -> CList.t =
  fun x t -> CList.alloc (x :: (CList.get t))

and you can expose these functions to C using internal and CList.t:
let () = I.internal "reverse" (CList.t @-> returning CList.t) reverse
let () = I.internal "cons" (int -> CList.t @-> returning CList.t) cons
let () = I.internal "free" (CList.t -> void) CList.free
(* etc. *)

Sorry I got to this a little late. I wrote a similar interface to this, that just exposes the list as void pointers, but I kept on getting a seg fault. Then I tried this interface, but ran into a similar error. Is there something wrong with my little client program.
int main(){   int x[3] = {3, 4, 5};   int (*ptr)[3];   ptr = &x;   printf("%p\n", reverse(ptr));  free(reverse(ptr)) }
I was just trying to print the address in memory as the function returns a pointer. Even when I try to get the first element of the returned list, I get a seg fault.

  int x[3] = {3, 4, 5};
  int (*ptr)[3];

This snippet deals with C arrays, which have different memory representations to OCaml lists.  Since the representations are different, It's not possible to treat the same value as both an OCaml list (in OCaml code), and a C array (in C code): you'll have to choose one representation or the other.
There are two options available:

exposing OCaml lists to C code.
Use the Root approach described above.
In OCaml you'll be able to use normal programming facilities (pattern matching, etc.)
In C you'll only be able to access the value through the functions you export; you won't be able to use C array/pointer facilities.

Exposing OCaml functions that deal with C arrays to C code.
Use CArray or ptr or bigarray.
In OCaml you'll need to use the functions in the ctypes interface (CArray.get, !@, etc.) to manipulate values.
In C you'll be able to treat the values as arrays, pointers, etc., as your client program does.

That makes a lot more sense. I think my underlying question was can you pass a list input from C to OCaml through a void pointer. However, this seems only possible using a array on the C side and this makes first option not viable, as there is no method of giving a input for a list.


Ensure that all layers that should be deleted are

$map?.loaded() will return false if  "there has been a change to the sources or style that has not yet fully loaded". This means that in cases where several layers should be deleted at once, only the first one will be.
Reproducing the bug
The cluster example has a <GeoJSON> component, with a <CircleLayer>, <SymbolLayer> and CircleLayer as children.
Suppose that we allow the user to toggle whether or not they are displayed by wrapping the children in a {#if showMarkers} directive (with the value of showMarkers bound to a UI element).
When the condition because false, the onDestroy lifecycle method is called for each of the SymbolLayer/CircleLayers, but after the first method calls $map.removeLayer(), $map.loaded() becomes false and so the other layes are not removed:
With showMarkers true:

After showMarkers becomes false, some markers remain:

But the map should look like this:

Modified version of routes/clusters/+page.svelete (with extension changed to allow upload):
modified_+page.svelte.TXT

Thanks! Yeah the loaded stuff may need some cleanup elsewhere too. In the past I've written component libraries for Leaflet, where it would get set to true once and then only change when the entire map was destroyed, but it definitely seems to work differently here.

Uploaded to npm as v0.2.1


Apply common file names across components

Resolves #440
Ensure all files use the common file names/formats set out in code guidelines. As a consequence of the previous fix, this means the tests and stories in particular will no longer appear in our build outputs.
What did you change?
Renamed various test and story files.
How did you test and verify your work?
Ran a build and checked outputs. Ran storybook and checked functional.

@dcwarwick CDAI uses .spec.js

Carbon-react uses 'test', though. Albeit they use -test.js (which doesn't work for them) rather than .test.js. Both 'test' and 'spec' seem to be current practices, and most configs are set up to include either, which is also true of ours:

I'm submitting my vote for .test.js 🎉

Fair enough @dcwarwick although it might give @matthewgallo the impression this is a democracy ;-)


Persist Challenge Tracker

Persist the Challenge Tracker so it can be reopened in the same state.

Added in release 0.7.


Running App Problem

Hello There,
I follow your guide, to run the application. I installed all dependencies follow by links, then downloaded and extracted the project in MyDir folder. After that I opened the project by CodeBlocks, and build it successfully, but when I ran the project in new paddle lite said "The Model File is not supported".
Help me to fix this problem, please.
Thanks a lot

A few days ago, PaddlePaddle has released a new version of Paddle-Lite 2.7.0.
It turns out that this version doesn't support all deep learning models of previous versions, unfortunately also the Face Mask Detection model, which was originally synthesized in version 2.3.0.
In order to keep things simple, I suggest replacing version 2.7.0 by 2.6.3. We've adapted the installation guide on the website. It should now run without any problems.
P.S. Clear your browser cache with  as we cache the webpages. Clear also your previous installation of Paddle-Lite on your RPi by removing the Paddle-Lite folder. Last, clear your Code::Blocks project by removing the obj and bin folders.

A few days ago, PaddlePaddle has released a new version of Paddle-Lite 2.7.0.
It turns out that this version doesn't support all deep learning models of previous versions, unfortunately also the Face Mask Detection model, which was originally synthesized in version 2.3.0.
In order to keep things simple, I suggest replacing version 2.7.0 by 2.6.3. We've adapted the installation guide on the website. It should now run without any problems.
P.S. Clear your browser cache with as we cache the webpages. Clear also your previous installation of Paddle-Lite on your RPi by removing the Paddle-Lite folder. Last, clear your Code::Blocks project by removing the obj and bin folders.

I followed the website, and I had the problem with Paddle-Lite 2.6.3.

Did you get the same error? "The Model File is not supported"? In that case you may still have 'something' of version 2.7.0 on your file system left. Probably the libpaddle_api_light_bundled.a.


[improve][broker] Use validateTopicOperationAsync methods in all cases

Motivation
The validateTopicOperationAsync method should be used in all cases.
Modifications

replace usage of validateTopicOperation with validateTopicOperationAsync in remaining code locations
remove the unused validateTopicOperation methods

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

related to #15043

/pulsarbot rerun-failure-checks

Codecov Report

Merging #19016 (f949639) into master (08591d9) will decrease coverage by 13.08%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master   #19016       +/-   ##
=============================================
- Coverage     49.85%   36.76%   -13.09%
+ Complexity     8658     1961     -6697
=============================================
  Files           500      209      -291
  Lines         54930    14433    -40497
  Branches       5867     1574     -4293
=============================================
- Hits          27386     5307    -22079
+ Misses        24464     8550    -15914
+ Partials       3080      576     -2504

Flag
Coverage Δ

unittests
36.76% <ø> (-13.09%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...pulsar/broker/admin/impl/PersistentTopicsBase.java

...g/apache/pulsar/broker/lookup/TopicLookupBase.java

...rg/apache/pulsar/broker/web/PulsarWebResource.java

...a/org/apache/pulsar/broker/admin/v3/Functions.java

...ad/jcloud/provider/TieredStorageConfiguration.java

...ker/stats/prometheus/metrics/LongAdderCounter.java

...ache/pulsar/broker/service/AbstractReplicator.java

...broker/delayed/InMemoryDelayedDeliveryTracker.java

...r/service/schema/AvroSchemaCompatibilityCheck.java

...n/java/org/apache/pulsar/client/api/RawReader.java

... and 699 more


Set-up continuous integration

CD/CI for QA Tool. For now use Travis.
Acceptance Criteria

[ ]  When a PR is opened and code is pushed to a branch, Travis is run

Issue moved to pg-irc/QA-Tool #4 via ZenHub


Context factory and session factory

Currently there is no way to customize the instantiation of session objects. I would need to use a dedicated proxy for the connections to insta.

waiting for workflows to be run

@aandergr would you please approve the workflow run?

@aandergr  PR updated to retain backwards compatibility -> please allow workflows to run

We will not mark Instaloader deprecated and switch to a new main class.
The workflows can be run locally, we use Pipenv for dependency pinning so the exact versions that are used in the workflows can be easily installed in a virtual environment. The commands that are executed are described in .github/workflows.

We will not mark Instaloader deprecated and switch to a new main class.

Please let me know why.
I see design flaws with this class that I tried to eliminate while keeping backwards compatibility.
If you don't deprecate it, you'll always have to cope with impacts of these flaws -> for long term maintenance of this project, that will cause headaches

It's important to understand that deprecating a core class has significant implications, even if backwards compatibility is maintained. Deprecation signals to users that they should begin transitioning to a new class, which can introduce confusion and a perception that the current design is fundamentally flawed or unstable. This is not a message we want to send unless there is a compelling, unavoidable reason to do so.
In the case of Instaloader, the issues you've identified can be addressed within the existing API design, as you mentioned. This approach allows us to improve the class without causing disruption or requiring users to adapt to a new interface. By enhancing the current design rather than creating a new one, we maintain consistency and avoid the overhead associated with maintaining multiple parallel implementations.
While I agree that forward-thinking design is crucial, it's equally important to balance innovation with stability. For long-term maintenance, we believe it's more efficient to refine and iterate on the existing class, addressing flaws incrementally while preserving the established API. This approach minimizes potential headaches by reducing the complexity that comes with maintaining deprecated code and managing transitions.


testing the normal and beta version on rdr1

I tried to apply the normal version of dlss enabler and also "beta" but the game seems to have this error here, would there be any correction tips?
dlssg_to_fsr3.log
OptiScaler.log

lo resolviste?

yes, use the version of dlss enabler 3.2 that will work, then you turn off vsinc and activate nvidia low latency then the fg will unlock in the game


[WORKAROUND] [hipRTC] Warning issues with hipRTC_header.h

Workaround for https://github.com/ROCmSoftwarePlatform/MIOpen/issues/1648

@atamazov  FYI

@atamazov FYI

@junliume Reusing existing W/A code is GOOD!


af-magic: make separator window-size-aware

As asked for in #5249.
cc @leoheck

No interest in this.

Any chance of reviving this? I implemented a fix for this locally but this solution is much more elegant than mine.

There you go.

Thanks!


[ODS-4965] Implement View script to support StaffUSIToEducationOrganizationId

It was decided to use ticket ODS-4966 as the foundation for database integration test for auth views. Closing this PR and creating a new one with my changes implemented on top of ODS-4966 changes.


No DNS resolution

Hi this does not seem to be working anymore.  The Droplet creation is fine and your install script appears to complete properly, it says the proxy is running at the end.
However I'm not getting any DNS resolution from the Droplet as a DNS server.  I can resolve names from the Droplets console (it uses Google <IP_ADDRESS>) but if I set the DNS on my computer to the Droplet I get no response.

Try dig netflix.com @localhost on your VPS first..

Hi @ab77
I had already destroyed the original droplet which I created in the San Francisco data centre.  So I created a new one in New York 3.
dig on the VPS works so I assume there is a host based firewall on the Droplet blocking DNS?  Sorry I have never used Digital Ocean Droplets before.
I still can not perform look ups from my computers to the Droplet, I can lookup to other (random) DNS servers.  I have tested from a few different Internet connections that use different ISP's to ensure the ISP is not messing with the traffic.  My firewalls do not block DNS lookups to any destination.

DONE
/opt/netflix-proxy
Change your DNS to <IP_ADDRESS> and start watching Netflix out of region.

Blow everything away and start again, this time making sure to SSH to your host direct and then running build.sh without sudo, preserving the ${SSH_CONNECTION} variable.
Check iptables rules by running iptables-save | more to make sure you home IP address in the FRIENDS group.
Failing all that, you could try the new version, which will bring up a web interface if your IP isn't authorized.
-- ab1

Sorry I was following instructables and not your instructions on GitHub http://www.instructables.com/id/Build-your-own-Smart-DNS-Proxy-and-unblock-Netflix/
Following your instructions I get the following, I think the script is not completing properly (username, password and IP's sanitised).
`root@docker:~#
root@docker:~# ping6 netflix.com
connect: Network is unreachable
root@docker:~# git clone https://github.com/ab77/netflix-proxy /opt/netflix-proxy && cd /opt/netflix-proxy && ./build.sh -u [my username] -p [my password]
Cloning into '/opt/netflix-proxy'...
remote: Counting objects: 2894, done.
remote: Compressing objects: 100% (115/115), done.
remote: Total 2894 (delta 47), reused 0 (delta 0), pack-reused 2769
Receiving objects: 100% (2894/2894), 51.82 MiB | 20.11 MiB/s, done.
Resolving deltas: 100% (1573/1573), done.
Checking connectivity... done.
resolved params: clientip=<IP_ADDRESS> ipaddr=<IP_ADDRESS> extip=<IP_ADDRESS>
cmd: ./build.sh -r=1 -b=0 -s= -z=0 -n=1 -u=[my username] -p [secret] -k [secret]

disabling native IPv6 on eth0...                                                                                [ OK ]
installing XPath...                                                                                [ OK ]
enabling he-ipv6 interface...                                                                                [ OK ]
bringing up IPv6 tunnel...                                                                                [ OK ]
testing IPv6 tunnel (this may take a while)...                                                                                [ OK ]
enabling DNS recursion...                                                                                [ OK ]
authorising clientip=<IP_ADDRESS> on iface=eth0...                                                                                [ OK ]
adding IPv4 iptables rules...                                                                                [ OK ]
creating Docker and sniproxy configuration templates...                                                                                [ OK ]
checking IPv6 connectivity...
enabling sniproxy IPv6 priority...                                                                                [ OK ]
installing sipcalc...                                                                                [ OK ]
enabling Docker IPv6 dual-stack support with fixed-cidr-v6=1:2:3:4::/64...                                                                  [ OK ]
adding IPv6 iptables rules...                                                                                [ OK ]
installing iptables|netfilter-persistent service...                                                                                [ OK ]
socialising Docker with iptables-persistent service...                                                                                [ OK ]
updating iptables-persistent init script...                                                                                [ OK ]
saving iptables rules...                                                                                [ OK ]
creating zones.override from template...                                                                                [ OK ]
updating db.override with extip=<IP_ADDRESS> and date=20160427...                                                                                [ OK ]
installing python-pip and docker-compose...                                                                                [ OK ]
configuring netflix-proxy-admin backend...                                                                                [ OK ]
configuring netflix-proxy-admin reverse-proxy...                                                                                [ OK ]
creating and starting Docker containers...                                                                                [ OK ]
configuring upstart...                                                                                [ OK ]
reloading ipables rules...                                                                                [ OK ]
no specific steps to execute for Ubuntu at this time...                                                                                [ OK ]
testing DNS...                                                                                [ OK ]
testing proxy (OpenSSL)...
root@docker:/opt/netflix-proxy#
`


dialog max width is set to 80 vw

Bug:
can't have more than 80% width for dialog
What is the expected behavior?
have the width to cover more than 80%
What is the current behavior?
the maximum width is to 80% of the viewport
What are the steps to reproduce?
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: http://plnkr.co/edit/o077B6uEiiIgkC0S06dd
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, browsers are affected?
"@angular/material": "2.0.0-beta.2"
Is there anything else we should know?
I saw that the class of the element "md-dialog-container" is set to "mat-dialog-container". the class has style max-width: 80vh. This cause the issue

Was confused by this as well. If it helps, here's a plunker showing the issue http://plnkr.co/edit/e4Kx2GzQoGwQUn4A7utq?p=preview

as a temporary solution I fixed it by adding to styles.css (the main style file):
.mat-dialog-container {
    max-width: none !important;
}

Better solution will be welcome

in addition to @akomarovsky temporary solution,
on xs screen if you need 100% available width use this
.mat-dialog-container {
    max-width: 100vw !important;
}

to set the width beautifully on xs(phone) screen put this on the outer most container (I am using angular/flex-layout)
ngStyle.gt-xs="width: 380px" ngStyle.xs="width:85vw"

@crisbeto do you know where the 80vw came from?

I believe that it was a combination of looking at what M1 used and eyeballing it, because we need some cut-off point to prevent the dialog from getting too wide.

@crisbeto #7488 addresses this by shifting the responsibility of max-width to Overlay config via Dialog config

If you want to have a fullscreen dialog on mobile, just add this to the styles.scss:
@media (max-width: 600px) {
  // Making the modal fullscreen in mobiles
  .cdk-overlay-pane {
    width: 100vw !important;
    height: 100vh !important;
  }
}

So the modal will have the following width and height on desktop and in mobile it will be fullscreen.
This is my openDIalog function in controller:
const dialogRef = this.dialog.open(DialogComponent, {
      maxWidth: '100vw',
      maxHeight: '100vh',
      width: '750px',
      height: '85vh',
      data:
    });

@adisreyaj The address bar will cover the content on ios safari

@adisreyaj I guess, you want to use max-width & max-heigth for cdk-overlay-pane
otherwise menus, etc would always stretch to 100%
When using flex-layout the max-width media query should be 599 (ref)
so here is what I use:
@media (max-width: 599px) {
  // modal dailogs should be able to fill the fullscreen if required
  .cdk-overlay-pane {
    max-width: 100vw !important;
    max-height: 100vh !important;
  }
}


Support multiple user sessions

See: https://github.com/jedireza/frame/issues/180

Does the current version of aqua only allow one logged in user at a time?

Haha. No. But it does limit each logged in user to one session.

Sorry for my lack of knowledge, but is there a session timeout atleast? Seems like a nice to have feature tho.

Sure thing. By default, we're just using hapi-auth-cookie internally:

https://github.com/jedireza/aqua/blob/ea085be912494561149e1899d68cb468e5e0d144/server/auth.js#L15-L21

And you could swap out hapi-auth-cookie for whatever strategy works best for your project.

I've decided to archive this project. Thank you for your interest and contributions.
https://github.com/jedireza/aqua#no-longer-maintained


Fix broken Travis CI builds

Update setuptools to work with python 3.7 (nightly)
Update packages during pip install to fix weird dependency problems
Remove fixed builds (except python-nightly) from allowed failures

Oh nice, I was baffled by the deps thing.


Add license headers

Add license headers for java, groovy, scala and kotlin files.
Based on https://github.com/open-telemetry/community/issues/113, these are required for now at least.
Resolves #147

Any IDE integrations that can automatically add the relevant headers?
IDEA has this built-in, if you configure it (it's a little arcane, but does work well)

The spotless plugin will now fail the check build on license header issues.
You can use it to generate the license headers using ./gradlew spotlessApply.


SUBMARINE-1001. Experiment Patch Didn't Work.

What is this PR for?
The reason why patch of experiment occurs error is when parsing the experimentSpec to MLJob, it will set the name of meta to experimentId of meta in experimentSpec.
However experimentId of meta in experimentSpec received from workbench is null, making patchNamespacedCustomObject error.
What type of PR is it?
[Bug Fix]
Todos
None
What is the Jira issue?
https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-1001
How should this be tested?
Just create a new experiment and update it.
Screenshots (if appropriate)
None
Questions:

Do the license files need updating? No
Are there breaking changes for older versions? No
Does this need new documentation? No

@pingsutw  The test failed is because the modification of experimentSpec is in rest api, not in experimentManager, originally.
I've moved the modification section into experimentManager, so it passed.


AuthMethodPickerActivity is started multiple times

Start the firebase demo (version-0.6.0)
Rotate the device during the Smartlock account chooser dialog (called by the ChooseAccountActivity in resolveSavedEmails(Activity activity))

Press the back button multiple times until the AuthMethodPickerActivity is visible

Then the AuthMethodPickerActivity is multiple times on the activity stack

The reason for that behaviour is that Smartlock account chooser dialog activity is started every time you rotate the device. This results in multiple calls of onActivityResult in ChooseAccountActivity, which starts every time the AuthMethodPickerActivity.

This is fixed in #357.

The fix for this issue has been released in version 1.0.1.


Videos should also be supported EpicDemo#25

done.

BTW if you want to reference an issue from a different repository in a commit message you need to include the org name (so starcounter/epicdemo#25)

After this is finished, it should be merged to the develop branch instead of master branch, for the reasons explained in https://starcounter.gitbooks.io/guidelines/content/branching.html
Please follow this for all of the sample apps

Apart from this comment in json it's all cool

To merge it to develop:

close this PR (without merging)
open a new one for develop
merge and delete source branch


os/exec: TestIgnorePipeErrorOnSuccess/10MB often hangs on netbsd-amd64-71

As of e1ced321950 (just past Go1.9beta2), I see occasional hangs during os/exec's TestIgnorePipeErrorOnSuccess/10MB on netbsd-amd64-71 (NetBSD 7.1).

Documentation bug is #22911


Handle ThrottlingException

Problem
When the number of concurrent builds is high, AWS throttles API calls to check for build status and logs. This causes some builds to fail on Jenkins. See https://github.com/awslabs/aws-codebuild-jenkins-plugin/issues/31
Solution
Use the AWS JDK provided RetryPolicy setting in the ClientConfiguration. The retry policy will have a RetryCondition that retries only on throttling exception and not anything else. It will have an ExponentialBackoffStrategy that sleeps for increasing periods of time before retrying.
This contribution is under the Apache 2.0 license.

@leobaran-aws @oliver-schoenherr let me know what you folks think about this

Thanks for your contribution! The code looks good--I'll test it before merging.

Merged. Thanks again--it's super cool to hear that you're able to run 100 concurrent builds with the plugin!

We're planning to run a lot more than 100 concurrent builds, and these tests run for a long time so I don't mind start polling at once a minute or something. @leobaran-aws any chance you can consider adding the pollingInterval option made in #32 to the plugin so users can decide how often to poll?

I'm actually working on that right now by modifying this pull request: https://github.com/jenkinsci/aws-codebuild-plugin/pull/10. I plan to release it in version 0.39 tomorrow. This will allow you to set the minimum polling interval, maximum polling interval, and the polling jitter. For your use case, I'd imagine a minimum poll of 60 seconds and maximum of 90-120 would be sufficient for builds that run for 30+ minutes.

Gee that's awesome, thank you so much!

Implemented in 4d45a86990955551a1e53216ec0c98590c088019 which I'll release in version 0.39 today. Let us know how it works for you. You can configure these settings in Manage Jenkins > Configure System under the AWS CodeBuild plugin section (I'll add this to the README as well).

Thank you, I tried it on a test Jenkins master and it seems to work, since I need to restart Jenkins to have the update take effect I'll try it out on the other ones tomorrow.
Just curious, what's the reason for putting this inside Configure System and not as params passed in to the step?

Great! The current build-level configuration is pretty complex and I think polling config is globally applicable. But if you or another customer has a use case for build-level polling configuration, we can certainly implement that.


feat: add profiles

link to #42
Changes:

Edit profiles in settings tab, up to 6 profiles

Set global hotkeys to apply custom profiles

The active profile will be showed in the status bar

I would like to make some commits to this feature. Could I get access to the profiles branch?

Try writing a rule in Profile A and B, delete something in Profile A and switch to Profile B. The error message is still there.
The error messages should be cleared and I think it would be a good idea to have a modal asking "Are you sure you want to discard changes?" before switching and resetting the changes.

I'm not sure how to make changes to this branch directly, so I made another branch on my fork and am trying to merge it with main.

Do you think it's possible to select the active profile by choosing a tab? Whatever tab you are on when the plugin settings are saved will be the profile that is chosen. This would simplify the interface and remove the need for another option.


[Sonarr] Updated naming scheme to be consistent with Radarr

          It doesn't work with the folder name either (the folder gets renamed to `Kingdom 2019 (2019)` as well. (I forgot to do the "move series trick to rename the series folder, that's why I thought it was inconsistent, PEBKAC).

At the end of the day, the issue is that CleanTitle is not a great entry to use as it may or may not already contain a year. To ensure that the year is there consistently, we should either use CleanTitleYear (but parenthesis are getting stripped) or TitleYear (but it isn't the clean version).
I've opened a ticket on Sonarr to put more context and potential improvements that could be made to handle this scenario:
https://github.com/Sonarr/Sonarr/issues/5369
Originally posted by @ColinHebert in https://github.com/TRaSH-/Guides/issues/1088#issuecomment-1381720337
Could you perhaps test the following
{Series CleanTitleWithoutYear} ({Series Year})

I am not yet running v4 (but was considering it about 10 mins ago), so the commit that introduces CleanTitleWithoutYear isn't available yet ( https://github.com/Sonarr/Sonarr/commit/3973571411b466a18d0ce6de828ed837683247ed )

Sorry, took me a bit of time to circle back.
So in general, it works well. Only difference is that the previous version was the "non-clean" version of the title. So we'll see some renames (which I think is fine)
A handful of examples:
Naming pattern Series:{Series CleanTitleWithoutYear} ({Series Year}) - S{season:00}E{episode:00} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}
Naming pattern Anime: {Series CleanTitleWithoutYear} ({Series Year}) - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}

- Season 01/Cautious Hero - The Hero Is Overpowered but Overly Cautious (2019) - S01E12 - 012 - The Hero Is Overpowered But Overly Cautious [Bluray-1080p][10bit][x264][FLAC 5.1][EN+JA]-NH.mkv
+ Season 01/Cautious Hero The Hero Is Overpowered but Overly Cautious (2019) - S01E12 - 012 - The Hero Is Overpowered But Overly Cautious [Bluray-1080p][10bit][x264][FLAC 5.1][EN+JA]-NH.mkv
...
- Specials/Re - ZERO, Starting Life in Another World (2016) - S00E17 - Re-PETIT 6 Greed That Isn't a Pig's [Bluray-1080p][Opus 2.0][x265]-Tenrai-Sensei.mkv
+ Specials/Re ZERO Starting Life in Another World (2016) - S00E17 - Re-PETIT 6 Greed That Isn't a Pig's [Bluray-1080p][Opus 2.0][x265]-Tenrai-Sensei.mkv
...
- Season 02/KonoSuba – God's blessing on this wonderful world!! (2016) - S02E05 - 015 - Servitude for This Masked Knight! [Bluray-1080p][10bit][x265][Opus 2.0]-Pog42.mkv
+ Season 02/KonoSuba – Gods blessing on this wonderful world!! (2016) - S02E05 - 015 - Servitude for This Masked Knight! [Bluray-1080p][10bit][x265][Opus 2.0]-Pog42.mkv
...
- Season 01/Cunk & Other Humans on 2019 (2019) - S01E03 - Episode 3 [HDTV-1080p][AC3 2.0][h264]-LiNKLE.mkv
+ Season 01/Cunk and Other Humans on 2019 (2019) - S01E03 - Episode 3 [HDTV-1080p][AC3 2.0][h264]-LiNKLE.mkv

This was closed automatically for some reason but does look like a good change to me.

Believe this ended up getting fixed at some point given the naming
https://trash-guides.info/Sonarr/Sonarr-recommended-naming-scheme/#episode-format

Believe this ended up getting fixed at some point given the naming
https://trash-guides.info/Sonarr/Sonarr-recommended-naming-scheme/#episode-format

I might be missing something but the guide you linked still uses {Series TitleYear} and not {Series CleanTitleWithoutYear} ({Series Year}) which was suggested here.

This was closed automatically for some reason but does look like a good change to me.

In general, we only make/discuss suggestions on our Discord, and after we agree that it needs to be changed/fixed, we move it to a GHI.


How to write a generic component

Hi, how would you go about building a generic component with generic properties in Yew? With generic I mean a component that can render child components dependent on a Rust Type parameter.
I have been creating components by hard-coding them into a html!:
struct TreeView...
impl Component for TreeView...
html!{
    <TreeView
        text={props.text}
        children={props.children}
        expanded={props.expanded}
        message_parent={Some(self.child_messenger(i))}
    />
}

But now I would like to render a component with a type parameter (like TreeView<T: Component>, and would like to know how to create the component for T in the view(&self) -> Html method of TreeView<T>.

@mankinskin the <Select<T>> component uses generics here: https://github.com/yewstack/yew/blob/master/src/components/select.rs
Not the same use-case as yours, but I don't see why it wouldn't be possible. Let me know if you run into issues

Select<T> can only render generic types which implement ToString, as it renders them as a string. But I would like a way to render generic T: Components in other Components.
I have implemented a StringComponent to just try and do what I have right now but with a generic component instead of a hard-coded String. This is what it looks like:
The StringComponent
#[derive(Properties, Clone)]
pub struct StringProperty {
    string: String,
}
impl From<String> for StringProperty {
    fn from(string: String) -> Self {
        Self {
            string,
        }
    }
}
impl<'a> From<&'a str> for StringProperty {
    fn from(s: &'a str) -> Self {
        Self {
            string: s.to_string(),
        }
    }
}
impl ToString for StringProperty {
    fn to_string(&self) -> String {
        self.string.clone()
    }
}
pub struct StringComponent {
    props: StringProperty,
    link: ComponentLink<Self>,
}
impl Component for StringComponent {
    type Message = ();
    type Properties = StringProperty;

    fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self {
        Self {
            props,
            link,
        }
    }
    fn view(&self) -> Html {
        html! {
            {self.props.to_string()}
        }
    }
    fn update(&mut self, _: Self::Message) -> ShouldRender {
        false
    }
}

The generic TreeView<C: Component>:
#[derive(Properties, Clone, Debug)]
pub struct TreeData
where P: Properties
{
pub element: P,
pub expanded: bool,
pub children: Vec<TreeData>,
pub message_parent: Option<Callback>,
}
impl TreeData
where P: Properties
{
fn update(&mut self, msg: Msg) {
match msg.clone() {
Msg::ToggleExpand => {
self.expanded = !self.expanded;
},
Msg::ChildMessage(child_index, child_msg) => {
self.children[child_index].update(*child_msg);
},
}
}
}
pub struct TreeView
where C: Component,
{
props: TreeData<::Properties>,
link: ComponentLink,
}
impl TreeView
where C: Component,
{
pub fn toggle_expand(&self) -> Callback {
self.link.callback(|_| {
Msg::ToggleExpand
})
}
pub fn child_messenger(&self, child_index: usize)  -> Callback{
self.link.callback(move |msg| {
Msg::ChildMessage(child_index, Box::new(msg))
})
}
}
impl Component for TreeView
where C: Component,
{
type Message = Msg;
type Properties = TreeData<::Properties>;
fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self {
    Self {
        props,
        link,
    }
}
fn view(&self) -> Html {
    html!{

                {if self.props.expanded {
                    "V"
                } else {
                    ">"
                }}
                <C props={self.props.element}/>

            {
                if self.props.expanded {
                    html!{

{
                            for self.props.children.iter().cloned().enumerate().map(|(i,child)| html!{
                                <TreeView<C>
                                    element={child.element}
                                    children={child.children}
                                    expanded={child.expanded}
                                    message_parent={Some(self.child_messenger(i))}
                                />
                            })
                        }

                    }
                } else {
                    html!{}
                }
            }

    }
}
fn change(&mut self, props: Self::Properties) -> ShouldRender {
    self.props = props;
    true
}
fn update(&mut self, msg: Self::Message) -> ShouldRender {
    if let Some(message_parent) = &self.props.message_parent {
        // self is child
        message_parent.emit(msg.clone());
        false
    } else {
        // self is root
        self.props.update(msg);
        true
    }
}

}
Now there are a few problems here. First, the `html!` macro call

html!{
<TreeView
element={child.element}
children={child.children}
expanded={child.expanded}
message_parent={Some(self.child_messenger(i))}
/>
}
causes the error:

error[E0401]: can't use generic parameters from outer function
--> server/tasks/src/tree.rs:86:47
|
58 | impl Component for TreeView
|      - type parameter from outer function
...
70 |     fn view(&self) -> Html {
|        ---- try adding a local generic parameter in this method instead
...
86 |                                     <TreeView
|                                               ^ use of generic parameter from outer function
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
(Adding a local generic parameter for `view` does not change the error, it is probably something in the `html!` macro)

And the other problem is this line:

```
(`self.props.element` is of type `::Properties`)
In Yew, you need to assign the Properties' fields one by one by spelling them out. When using generic components, with generic Properties, we can not know the fields and can not spell them out. it would be useful to allow to assign all of the properties from a Properties value like this maybe:
<C {self.props.element}/>

If those two things are fixed, this should already be very useful for creating reusable components.

@jstarry I would like to create a PR for this. If you have any comments on this or ideas of how to implement it, please let me know.

@mankinskin sorry that this isn't documented, but what you are describing is already possible: See here: https://github.com/yewstack/yew/blob/master/src/virtual_dom/vcomp.rs#L378

@jstarry ah, perfect.
Then the only issue is the error[E0401]: can't use generic parameters from outer function because of:
html! {
    <TreeView<C>
                       ^ use of generic parameter from outer function
}

This might be because the html! macro defines some functions using the type expression for the component, but I haven't really looked into it yet.

Simply wonderful. I used cargo-expand to see the output of the html! proc macro, and simply pasted it in place where I used it. For
html! {
    <TreeView<C>
        element={child.element}
        children={child.children}
        expanded={child.expanded}
        message_parent={Some(self.child_messenger(child_index))}
    />
}

it generated:
enum ProcMacroHack {
    Nested = (
        "< TreeView < C > element = { child . element } children = { child . children }\nexpanded = { child . expanded } message_parent =\n{ Some (self . child_messenger (child_index)) } / >",
        0 ).1,
}
::yew::virtual_dom::VNode::from({
if false {
    trait __yew_validate_comp: ::yew::html::Component {}
    impl __yew_validate_comp for TreeView<C> {}
    let _ = |props: <TreeView<C> as ::yew::html::Component>::Properties| {
        props.element;
        props.expanded;
        props.message_parent;
        props.children;
    };
}
::yew::virtual_dom::VChild::<TreeView<C>>::new(
    <<TreeView<C> as ::yew::html::Component>::Properties as ::yew::html::Properties>::builder()
    .element(<::yew::virtual_dom::VComp as ::yew::virtual_dom::Transformer<_, _>>::transform({ child.element }))
    .expanded(<::yew::virtual_dom::VComp as ::yew::virtual_dom::Transformer<_, _>>::transform({ child.expanded }))
    .message_parent(<::yew::virtual_dom::VComp as ::yew::virtual_dom::Transformer<_, _>>::transform({ Some(self.child_messenger(child_index))}))
    .children(<::yew::virtual_dom::VComp as ::yew::virtual_dom::Transformer<_, _>>::transform({ child.children })).build(),
    ::yew::html::NodeRef::default()
)
})

And when trying to build the code with this in place the error shows exactly where the problem is:
...
75 |             impl __yew_validate_comp for TreeView<C> {}
   |                                                   ^ use of generic parameter from outer function

When commenting out the if false part, everything works!
Now all that remains is to figure out exactly what that part is for, and if there is a way to do it differently. It is generated here: https://docs.rs/yew-macro/0.14.0/src/yew_macro/html_tree/html_component.rs.html#151-154
and it says that these impls are for giving nicer error messages.
The problem is that the impl doesn't define the generic type parameters and thus C is technically not defined in the impls scope, and Rust does not allow nested impls to use generic parameters from outer impls (or functions).
But, the macro can not know what to put there, because all it sees is the type TreeView<C>. Any trait bounds defined for C are not visible to the macro, as far as I know, so this would not be possible:
impl<C> TreeView<C>
    where C: Component,
{
    ...
    trait __yew_validate_comp: ::yew::html::Component {}
    impl<C> __yew_validate_comp for TreeView<C> where C: Component, {}
    ...
}

because where C: Component coulld not be derived by the html! macro (as far as I know).
So I guess I will just remove this part in a fork for now, and continue with that.
It would be good to know how exactly this impl improves the error messages. Probably it improves the error if TreeView<C> doesn't implement Component.
It would be great if there is a way to get the full generic parameter definition in the macro, to make it work with this impl, but I would argue that this improvement of compiler output is not really worth giving up generic components with trait bounds, otherwise.

Ah dang, yeah I agree with your assessment and that is the reason why the code is there. Hope we can find a nice middle ground though

Yes definitely, I can just make a PR for this for now and we can see if there is a good solution to keep the better compiler error.

Works for me!

This can be done using type alias like below
`use yew::prelude::*;
pub type IntComp = ValueHoldingComponent;
pub type StringComp = ValueHoldingComponent;
pub struct App {
link: ComponentLink,
}
impl Component for App {
type Message = ();
type Properties = ();
fn create(_: Self::Properties, link: ComponentLink<Self>) -> Self {
    App {
        link,
    }
}

fn update(&mut self, msg: Self::Message) -> ShouldRender {
    true
}

fn change(&mut self, _: Self::Properties) -> ShouldRender {
    false
}

fn view(&self) -> Html {
    let num = 88 as u64;
    let strng = format!("Hello");
    html! {

            <IntComp value={num}/>
            <StringComp value={strng}/>

    }
}

}
pub struct ValueHoldingComponent where T:Clone+ 'static + std::fmt::Display{
props:ValueHoldingComponentProps,
}
#[derive(Clone,Properties)]
pub struct ValueHoldingComponentProps where T:Clone + 'static + std::fmt::Display{
pub value:T
}
impl Component for ValueHoldingComponent where T: Clone+ 'static + std::fmt::Display{
type Message = ();
type Properties = ValueHoldingComponentProps;
fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self {
    Self{
        props
    }
}

fn update(&mut self, msg: Self::Message) -> bool {
    false
}

fn change(&mut self, _props: Self::Properties) -> bool {
    false
}

fn view(&self) -> Html {
    html! {

        {&self.props.value}

    }
}

}`

This can be done using type alias like below
`use yew::prelude::*;
pub type IntComp = ValueHoldingComponent;
pub type StringComp = ValueHoldingComponent;
pub struct App {
link: ComponentLink,
}
impl Component for App {
type Message = ();
type Properties = ();
fn create(_: Self::Properties, link: ComponentLink<Self>) -> Self {
    App {
        link,
    }
}

fn update(&mut self, msg: Self::Message) -> ShouldRender {
    true
}

fn change(&mut self, _: Self::Properties) -> ShouldRender {
    false
}

fn view(&self) -> Html {
    let num = 88 as u64;
    let strng = format!("Hello");
    html! {

            <IntComp value={num}/>
            <StringComp value={strng}/>

    }
}

}
pub struct ValueHoldingComponent where T:Clone+ 'static + std::fmt::Display{
props:ValueHoldingComponentProps,
}
#[derive(Clone,Properties)]
pub struct ValueHoldingComponentProps where T:Clone + 'static + std::fmt::Display{
pub value:T
}
impl Component for ValueHoldingComponent where T: Clone+ 'static + std::fmt::Display{
type Message = ();
type Properties = ValueHoldingComponentProps;
fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self {
    Self{
        props
    }
}

fn update(&mut self, msg: Self::Message) -> bool {
    false
}

fn change(&mut self, _props: Self::Properties) -> bool {
    false
}

fn view(&self) -> Html {
    html! {

        {&self.props.value}

    }
}

}`


Reduce Obfuscated Code Size

Is your feature request related to a problem? Please describe.
Everyone likes smaller code!
This suggestion is base don the assumption that the functions I see scattered throughout the obfuscated code are "dead code noise", e.g. function(g,a){return g*a;}.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
There are a lot of functions and they take up more space that necessary.
Describe the solution you'd like
Replace function(g,a){return ga;} and similar with with (g,a) => ga; Or perhaps randomly vary between the two.
Should perhaps be a config option, e.g. "Arrow obfuscation OK";
Describe alternatives you've considered
None
Additional context
Add any other context or screenshots about the feature request here.

How about this?
If arrow functions are present in code - obfuscator also will use them.

Not sure how this addresses my comment, unless you are saying that
obfuscator mirrors the function style of the code it is flattening or dead
ending when defining other functions.
In this case, I should work to use more arrow functions in my source and
less regular functions.
On Fri, Dec 4, 2020 at 12:26 PM Manzhula David<EMAIL_ADDRESS>wrote:

How about this
https://github.com/javascript-obfuscator/javascript-obfuscator#kind-of-variables
?
If arrow functions are present in code - obfuscator also will use them.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/javascript-obfuscator/javascript-obfuscator/issues/830#issuecomment-739000962,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABF2US2DP2O2GPPFC7ZK743STFAVPANCNFSM4UMRKJSQ
.

@anywhichway, no no, I just offered idea for this feature.
Sory if I confused you

Hmm. Some mechanism that detects if obfuscated code uses arrow functions and after that appends them - would be nice.
Anyway if I do this feature it will transform only functions appended by the obfuscator itself.

exactly what I was looking for!
On Saturday, December 5, 2020, Timofey Kachalov<EMAIL_ADDRESS>wrote:

Hmm. Some mechanism that detects if obfuscated code uses arrow functions
and after that appends them - would be nice.
Anyway if I do this feature it will transform only functions appended by
the obfuscator itself.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/javascript-obfuscator/javascript-obfuscator/issues/830#issuecomment-739250520,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABF2US3PP7C2UDDZQCNZVJDSTIXZ7ANCNFSM4UMRKJSQ
.

If you use this somewhere in code arrow function can just destoy all.
I mean:
function kruzya() {const self = this;this.gay = true; return self;} // work fine
const kruzya = () => this.gay = true, this; // unexpected this

@BlackYuzia, as stated in this comment, it will transform only functions appended by the obfuscator itself.

Other idea: add option kinda "supportModernJavascrypt". It will be useful for destructuring like in #720 and also may be useful for future interesting syntax constructions

Other idea: add option kinda "supportModernJavascrypt". It will be useful for destructuring like in #720 and also may be useful for future interesting syntax constructions


master: Update version to 1.7.0; set to DEV mode; no new GUID is needed.

@dotnet-bot test ci_disablejit_x64_debug please

@mmitche That's funny, the name of the check ci_disablejit_x64_debug overlapped the trigger for ci. Did you add the \b boundaries on the RegExp for ci? Is there any way I can re-trigger that build without re-triggering them all (by e.g. pushing a new ref, close/reopen)?

@mmitche ping
I'm pushing a new ref to reset the CI

@dilijev you can do '@dotnet-bot test this plaese' (spell correctly)
I haven't changed anything about the triggers in a while

@mmitche I was hoping to avoid re-triggering all checks if possible. There's that overlap between the ci trigger and the trigger with ci in the name. Maybe we should just update the name of those checks to put ci at the end instead of the beginning. /cc @MSLaguana

@dilijev If it failed, you can click on the details link, log in and click "retry" on the left.

@dotnet-bot
test Ubuntu shared_ubuntu_linux_debug
test Ubuntu shared_ubuntu_linux_test
@mmitche I thought retry didn't usually have the desired effect, but if that works now, that's good to know.

@dilijev Retry does, Rebuild does not.


Code Segment Loss Due to Backticks (`)

https://github.com/1chooo/ctf-writeup/blob/a1b5808dd00624a63ecd760405275c5ff4d870fa/docs/web/index.md?plain=1#L101
There seems to be an issue with code segment loss due to the presence of backticks (`) in our system.

replace `  with


"start at the beginning" link navigates to the legacy RWD

Describe the Issue
When a new camper signs in and visits the top page of /learn , a message "If you are new to coding, we recommend you start at the beginning." is displayed.
But when they click the link, it will take them to the legacy RWD. I think we should switch it to the new RWD.
Affected Page
https://www.freecodecamp.org/learn/
Steps to Reproduce

Sign in with a new user (with less than 15 challenges completed, as far as I understand the code. I checked this behavior by creating a new GitPod workspace)
Go to /learn
Click the link "start at the beginning"
It will navigate to the first lesson of the legacy RWD

Expected behavior
The link should take the camper to:

The new RWD curriculum if the new RWD is translated for the current language
The legacy RWD curriculum if the translation is not ready

Screenshots

System

Device: Laptop
OS: Windows 10
Browser: Chrome
Version: 104.0.5112.81

Additional context
No response

Good catch.
That should definitely be pointing to the new curriculum.

Hello,
The link is set by slug (line 63, @client/src/components/Intro/index.tsx) and the one seems to be set by the data get from a graphql query (line 101 - 111, @client/src/pages/learn.tsx).
But in the challengeNode of data, id "learn-html-by-building-a-cat-photo-app/step-1" is not contained and we can not set the link to new RWD so how about that adding the id for new RWD's step-1 and reading the id by the correct graphql query.

I'm now searching the file which contains or generate the allChallengeNode data or the endpoint which send back the one(because now I think the one is in fcc codebase).
Thanks.

Use the superblock. Filter for the first challenge in the new RWD superblock.

@moT01  The query like this？
query FirstChallenge {
  challengeNode(
    challenge: {superBlock: {eq: "2022/responsive-web-design"}, challengeOrder: {eq: 0}, order: {eq: 0}}
  ) {
    challenge {
      fields {
        slug
      }
    }
  }
}


Can't install on linux/windows with pip3

Hello, i have trouble with install this packet on linux and windows systems.
ERROR: Could not find a version that satisfies the requirement tensorflow<=1.15.0,>=1.12.0 (from fawkes) (from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1, 2.3.0rc2, 2.3.0)
ERROR: No matching distribution found for tensorflow<=1.15.0,>=1.12.0 (from fawkes)

What i need to do for fix this problem ?

So, i found answer. I need use python < 3.8 :/

I try download it on 3.7 version but i get same error.
ERROR: Could not find a version that satisfies the requirement tensorflow<=1.15.0,>=1.12.0 (from fawkes) (from versions: none) ERROR: No matching distribution found for tensorflow<=1.15.0,>=1.12.0 (from fawkes)

Should be an issue not related to fawkes but python environment

Yes, there might be a problem in python environment. Anyway i found compiled version for windows.


Error when rescue Grape::Exceptions::ValidationErrors in json format with backtrance and original_exception

Following #2471, I found that this case is raising an error.
describe 'rescue Grape::Exceptions::ValidationErrors in json format with backtrace and original_exception' do
  let(:app) do
    Class.new(Grape::API) do
      format :json

      rescue_from Grape::Exceptions::ValidationErrors, backtrace: true, original_exception: true do |e|
        error!(e, 418, {}, e.backtrace, e)
      end

      params do
        requires :beer
      end

      get '/' do
      end
    end
  end

  before { get '/' }

  context 'with json response type format' do
    subject { last_response.status }

    it { is_expected.to eq(418) }
  end
end

Our README shows the same kind of example but without original_exception and backtrace.
Nonetheless, It works for XML and TXT because of the simple ternary condition while JSON is doing something different when Grape::Exceptions::ValidationErrors
If we want to add original_exception and backtrace I think we'll need to enhance Grape::Exceptions::ValidationErrors with a new function to include its when dumping JSON.

@numbata if you want to take a look

Unfortunately, since Grape::Exceptions::ValidationErrors generates an array when formatted in JSON, we won't be able to add the properties at the root level. Also, adding them to each element of the array might be to much.

Sure would be happy to take it for tomorrow, but it feels as if you are already deep into it.

Unfortunately, since Grape::Exceptions::ValidationErrors generates an array when formatted in JSON, we won't be able to add the properties at the root level. Also, adding them to each element of the array might be to much.

Agreed! And what if we could just skip the backtrace and the original exception filling if the message structure is not suitable for it? Something like that:
module Grape
  module ErrorFormatter
    module Json
      extend Base

      class << self
        def call(message, backtrace, options = {}, env = nil, original_exception = nil)
          result = wrap_message(present(message, env))

          result = merge_rescue_options(result, backtrace, options, original_exception) if result.is_a?(Hash)

          ::Grape::Json.dump(result)
        end

        private

        def wrap_message(message)
          if message.is_a?(Hash)
            message
          elsif message.is_a?(Exceptions::ValidationErrors)
            message.as_json
          else
            { error: ensure_utf8(message) }
          end
        end

        def ensure_utf8(message)
          return message unless message.respond_to? :encode

          message.encode('UTF-8', invalid: :replace, undef: :replace)
        end

        def merge_rescue_options(result, backtrace, options, original_exception)
          rescue_options = options[:rescue_options] || {}
          result = result.merge(backtrace: backtrace) if rescue_options[:backtrace] && backtrace && !backtrace.empty?
          result = result.merge(original_exception: original_exception.inspect) if rescue_options[:original_exception] && original_exception

          result
        end


Inconsistent reporting of [E0733] between cargo check and cargo run

Problem
I encountered a weird issue where cargo check reports success, whereas cargo run (or build, test, etc.) results in compilation error (of course with exactly the same feature flags and cfg(test)).
I expected them to be consistent, (check should report all build failures as far as I undestand)
Steps

Use the following minimal reproducible example

pub trait Foo {
    type Dependency: Foo;

    async fn foo() {
        Self::Dependency::foo().await;
    }
}

impl Foo for () {
    type Dependency = ();
}

#[tokio::main]
async fn main() {
    <()>::foo().await;
}

Run cargo check - only warning is shown:

warning: `test-play` (bin "test-play") generated 1 warning
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.08s

cargo build results in error:

error[E0733]: recursion in an async fn requires boxing
 --> src/main.rs:4:5
  |
4 |     async fn foo() {
  |     ^^^^^^^^^^^^^^
5 |         Self::Dependency::foo().await;
  |         ----------------------------- recursive call here
  |
  = note: a recursive `async fn` call must introduce indirection such as `Box::pin` to avoid an infinitely sized future

For more information about this error, try `rustc --explain E0733`.
error: could not compile `test-play` (bin "test-play") due to 1 previous error

Possible Solution(s)
Usage of associated type is an important part of repro. So the reason is somehow related to this
Notes
No response
Version
cargo 1.78.0 (54d8815d0 2024-03-26)
release: 1.78.0
commit-hash: 54d8815d04fa3816edc207bbc4dd36bf18014dbc
commit-date: 2024-03-26
host: aarch64-apple-darwin
libgit2: 1.7.2 (sys:0.18.2 vendored)
libcurl: 8.1.2 (sys:0.4.72+curl-8.6.0 system ssl:(SecureTransport) LibreSSL/3.3.6)
ssl: OpenSSL 1.1.1w  11 Sep 2023
os: Mac OS 14.1.0 [64-bit]

I expected them to be consistent, (check should report all build failures as far as I undestand)

This is not actually true. There are post-monomorphization errors that do not get reported by check.

So this is a feature rather than bug?
Did not expect this, thanks for explaining!
Should I close the issue then?..


Add visibility filter pseudo-selectors like in JQuery

:hidden Selector - https://api.jquery.com/hidden-selector/
:visible Selector - https://api.jquery.com/visible-selector/

These pseduo-selectors are not a part of any CSS spec and implementing them as pseudo-selectors will be quite complicated since we'll need to parse queries. We can introduce filter method instead:
Selector('.hey').hidden(true); // default
Selector('.hey').hidden(false);

Note that we can't use visible filter since there is a shorthand property with the same name.

What do you think we should use instead of visible?
I guess visible is the only right word for this, so we will have to take something not quite correct yet simple enough.
Is it

displayed
shown (plays sort of nice with hidden)
..?

I think visible, displayed and shown are to similar and can make more confusion. I prefer hidden

Selector('.hey').filterByVisibility(true|false)

In most cases we need a visible and accessible element (in viewport and etc.),
so I prefer Selector('.class').visible(true|false)

@miherlosev  https://github.com/DevExpress/testcafe/issues/1018#issuecomment-264182318

Oh, after reading the user's issue I thought we were going to have two methods with bool parameters like hidden(bool) and visible(bool) and I was going to ask what's the difference between hidden(false) and visible(true).
It turns out that we don't. So, we need either two methods with no parameters or one parameterized.
Yet I can't choose between hidden(bool) and filterVisible + filterHidden

Note that we can't use visible filter since there is a shorthand property with the same name.
I don't see logic problem for this (I don't know technical context).

DOMNode State has visible property, but Selector has visible method.

@VasilyStrelyaev https://derickbailey.com/2014/03/27/double-negatives-in-code-dont-not-avoid-double-negative-boolean-logic/

@miherlosev Apart from it being a bad design decision for the API:

If you need to get the entire DOM element state, call the selector with the await keyword like you would do with regular async functions. It returns a DOM Node Snapshot that contains all property values exposed by the selector in a single object.

in https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors.html#dom-node-snapshot (BTW, section that explains selector properties points to the DOM Node snapshot, so it's not quite clear that we expose these properties on Selector as well \cc @VasilyStrelyaev)

@miherlosev Apart from it being a bad design decision for the API:

If you need to get the entire DOM element state, call the selector with the await keyword like you would do with regular async functions. It returns a DOM Node Snapshot that contains all property values exposed by the selector in a single object.

in https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors.html#dom-node-snapshot (BTW, section that explains selector properties points to the DOM Node snapshot, so it's not quite clear that we expose these properties on Selector as well \cc @VasilyStrelyaev)

@inikulin The topic that lists the DOM Node State members no longer uses the word snapshot. Now we say that it lists the State API.
And that topic is linked from a section that says about the selector API.

Selectors and promises returned by selectors expose API to get the state (size, position, classes, etc.) of the matching element. See DOM Node State.

@VasilyStrelyaev Yep, maybe it's worth mentioning that they are exposed as promises on Selectors and SelectorPromises, and as regular properties on snapshot in https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/dom-node-state.html

Selector('.hey').filterVisible()
Selector('.hey').filterHidden()

Looks clear

Oliver suggested to refactor the entire Selectors topic (https://github.com/DevExpress/testcafe/issues/1760) so I'll think of it as a part of this complex task.

@VasilyStrelyaev And we should deprecate snapshots and SelectorPromises for the love of god. It will significantly simplify both codebase and the API.

How to click on this pseudo-selector, we have a situation where we have to 'click' on the pseudo selector (which is basically an icon). Any suggestion?

Currently this is how I am clicking on the element
await t
    .hover(Selector('div.display.inline-textarea'));

            const clickedElem = await t.eval(() => document.getElementsByClassName('release-description')[0]
                .getElementsByClassName('edit-icon')[0].click());

What do you call a pseudo selector? Could you give a part of the HTML markup?
From you code, they looks like regular CSS classes, so you would write something like
await t.click('release-description edit-icon');


An Array, not And Array

Challenge http://freecodecamp.com/challenges/waypoint-condense-arrays-with-reduce has an issue. It should state 'an array', not 'and array'.

Thanks for the catch, on it!

@danieldrasdo Can we close this as there is a fix in place? Thanks :)

@danieldrasdo thank you for pointing this out! The patch was merged so I'm closing this issue,


Not Found

So i did a git clone go get and go build and i got the executable. but when i run the executable it just says 2019/02/03 16:08:24 Not Found. what could i be doing wrong, i have setup the config.yaml as described in urreadm.e

Check if you have correct 'telegram_token' field in your config.yml

Confirm that with config.yaml
telegram_token: "XXX"
split_msg_byte: 4000
send_only: true

I get
2021/06/02 12:09:04 Not Found
too

oh, that should be bot id plus bot token (delimited by ":")
guess it should be noted in README.md


Adding microk8s label to node

Fixes https://github.com/ubuntu/microk8s/issues/308
The label added is: microk8s.io/cluster=true

Merging this. Please review if you have time.


Simplify packer config

Using a container simplifies the packer test config, more portable and quicker to execute.

Looks like I need to fixup .travis.yaml. :)


improve adapters page visibility

Description (required)
This PR adds some extra links to, and a sidebar nav highlight for, the on-demand rendering adapters page.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

en
basics/rendering-modes.mdx
Source changed, localizations will be marked as outdated.

en
guides/integrations-guide.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Masonry is malfunctioning in iOS 10 while compiling with XCode 8.

It worked well before I updated to iOS 10 and Xcode 8.
For example,in a UITableViewCell subclass:
        UIImageView *imageView = [UIImageView new];
        imageView.contentMode = UIViewContentModeScaleAspectFill;
        [self.contentView addSubview: imageView];
        self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
        [imageView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(0);
            make.right.mas_equalTo(0);
            make.top.mas_equalTo(15);
            make.height.mas_equalTo(imageView.mas_width).with.multipliedBy(9/16.0);
        }];
        self.pImageView = imageView;

        [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(0);
            make.right.mas_equalTo(0);
            make.top.mas_equalTo(0);
            make.bottom.mas_equalTo(imageView.mas_bottom).with.offset(15);
        }];

This used to work like a charm in iOS 9 while compiling with XCode 7.x, but now it is not.
Console shows this:
[LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<MASLayoutConstraint:0x1740b1dc0 UITableViewCellContentView:0x100546830.bottom == UIImageView:0x1005203b0.bottom + 15>",
    "<MASLayoutConstraint:0x1740b2120 UIImageView:0x1005203b0.left == UITableViewCellContentView:0x100546830.left>",
    "<MASLayoutConstraint:0x1740b2180 UIImageView:0x1005203b0.right == UITableViewCellContentView:0x100546830.right>",
    "<MASLayoutConstraint:0x1740b2240 UIImageView:0x1005203b0.top == UITableViewCellContentView:0x100546830.top + 15>",
    "<MASLayoutConstraint:0x1740b2300 UIImageView:0x1005203b0.height == UIImageView:0x1005203b0.width * 0.5625>",
    "<NSLayoutConstraint:0x174099eb0 UITableViewCellContentView:0x100546830.height == 0>",
    "<NSLayoutConstraint:0x174099e60 UITableViewCellContentView:0x100546830.width == 375>"
)

Will attempt to recover by breaking constraint
<MASLayoutConstraint:0x1740b2300 UIImageView:0x1005203b0.height == UIImageView:0x1005203b0.width * 0.5625>

How can I fix this? Thanks a lot.

@aquaibm are you using interface builder at all?
Looks like iOS 10 has two additional constraints there for width/height unsure why but that's whats causing the error.

No, I am not using interface builder, purely code layout,NO ib file for this class.

@aquaibm what if you do self.translatesAutoresizingMaskIntoConstraints = NO as well? And are you using iOS's prefetching or auto cell sizing?

@aquaibm basically something in iOS 10 runtime is adding:
"<NSLayoutConstraint:0x174099eb0 UITableViewCellContentView:0x100546830.height == 0>",
"<NSLayoutConstraint:0x174099e60 UITableViewCellContentView:0x100546830.width == 375>"

Masonry was not in the past nor will ever modify non Masonry constraints so somehow you have to track down what new API(s) are necessary to stop those two constraints from being created/added.

@robertjpayne  self.translatesAutoresizingMaskIntoConstraints = NO I have been tried this ,not working, still the same alert.
"<NSLayoutConstraint:0x174099e60 UITableViewCellContentView:0x100546830.width == 375>"
This constraint is expected , right ? My device is iPhone 6s,so it's width should be 375, as specified by this:
        [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(0);
            make.right.mas_equalTo(0);
}];

Basically the code I've posted is to make sure the cell's contentView grows as the imageView size changed later, yes ,I am using UITableView autoresizing trick, it works well before iOS 10.

@aquaibm right so this isn't an issue with Masonry it's something to do with iOS 10, unfortunately I'm not sure what exactly is causing those two extra constraints but I would poke around with some of the API's related to auto sizing and see if that is the cause.

Did you figure out what the issue was @aquaibm I seem to be discovering the same thing.
For context, @robertjpayne.. it seems that we now have to set a "placeholder" height with UITableViewCell's that require some sort of dynamic layout based off content. UITableViewAutomaticCellDimension doesn't seem to work properly.
Happy to sync and set up an example project if this helps you debug, @robertjpayne?

@anthonygeranio nope.

I've found a way to bypass this problem. In this case I've posted above,just avoid to use make.bottom, using make.height instead will take away the console warning. Like this:
replace
        [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(0);
            make.right.mas_equalTo(0);
            make.top.mas_equalTo(0);
            make.bottom.mas_equalTo(imageView.mas_bottom).with.offset(15);
        }];

with
        [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(0);
            make.right.mas_equalTo(0);
            make.top.mas_equalTo(0);
            make.height.mas_equalTo(imageView.mas_height).with.offset(15+15);
        }];

But it's very unconvenient, it's a pain to caculate the offset for every case.

I have the same problem “It worked well before I updated to iOS 10 and Xcode 8.”
`

(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.translatesAutoresizingMaskIntoConstraints = NO; // new add
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self initSubview];
}
return self;
}

(void)initSubview{
self.titleLabel = [[UILabel alloc] init];
self.titleLabel.numberOfLines = 0;
[self.contentView addSubview:self.titleLabel];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.contentView).offset(25);
make.left.equalTo(self.contentView).offset(10);
make.right.equalTo(self.contentView).offset(-10);
}];
[self.contentView mas_updateConstraints:^(MASConstraintMaker *make) {
make.top.left.equalTo(self);
make.bottom.equalTo(self.titleLabel).offset(25);
make.width.equalTo(@(SCREEN_WIDTH));
}];
}

(void)setTitle:(NSString *)title{
_title = title;
self.titleLabel.text = title;
}`

tableview layout before is OK but update xcode8 layout will be chaotic, (all data show in first cell, See only a part of the data)
Can anyone help me? thanks

@aquaibm @robertjpayne @anthonygeranio Do you have any Suggestions?

iOS 10's autolayout engine must have been modified, it has broken Masonry.
For example, check out the code below:
`        NSLog(@"0 %@",self.contentView.constraints);
    UIImageView *imageView = [UIImageView new];
    imageView.contentMode = UIViewContentModeScaleAspectFill;
    [self.contentView addSubview: imageView];
    [imageView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(0);
        make.right.mas_equalTo(0);
        make.top.mas_equalTo(15);
        make.height.mas_equalTo(imageView.mas_width).with.multipliedBy(9/16.0);
    }];
    self.pImageView = imageView;

    NSLog(@"1 %@",self.contentView.constraints);`

And then got this in console:
 0 ( ) 1 (     "<MASLayoutConstraint:0x1702a6660 UIImageView:0x100500780.left == UITableViewCellContentView:0x100550760.left>",     "<MASLayoutConstraint:0x1702a6720 UIImageView:0x100500780.right == UITableViewCellContentView:0x100550760.right>",     "<MASLayoutConstraint:0x1702a6840 UIImageView:0x100500780.top == UITableViewCellContentView:0x100550760.top + 15>" )
The height constraint is missing!

iOS 10 is not setting the initial view constraints so if you are not super thorough, not saying you have not been :), you could easily miss some.
Sent from my iPhone

On 18 Sep 2016, at 17:50, aquaibm<EMAIL_ADDRESS>wrote:
iOS 10's autolayout engine must have been modified, it has broken Masonry.
For example, check out the code below:
` NSLog(@"0 %@",self.contentView.constraints);
UIImageView *imageView = [UIImageView new];
imageView.contentMode = UIViewContentModeScaleAspectFill;
[self.contentView addSubview: imageView];
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.mas_equalTo(0);
    make.right.mas_equalTo(0);
    make.top.mas_equalTo(15);
    make.height.mas_equalTo(imageView.mas_width).with.multipliedBy(9/16.0);
}];
self.pImageView = imageView;

NSLog(@"1 %@",self.contentView.constraints);`

And then got this in console:
0 (
)
1 (
"<MASLayoutConstraint:0x1702a6660 UIImageView:0x100500780.left == UITableViewCellContentView:0x100550760.left>",
"<MASLayoutConstraint:0x1702a6720 UIImageView:0x100500780.right == UITableViewCellContentView:0x100550760.right>",
"<MASLayoutConstraint:0x1702a6840 UIImageView:0x100500780.top == UITableViewCellContentView:0x100550760.top + 15>"
)
The height constraint is missing!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@aquaibm width/height constraints are installed on the view itself. So make sure you check imageView for that missing constraint. It will be there.

@robertjpayne Oh,seems like I've made a mistake,thanks.

I have already solved！
replace
self.translatesAutoresizingMaskIntoConstraints = NO;
to
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {         make.edges.equalTo(self);     }];
I also don't know why?  do you think this is helpful to you?  @aquaibm

@kevinh Nope, your solution is not suitable for my case, which needs dynamic cell heights. Besides, are you sure there no alerts showing in your xcode console when runing the project on your devices after replacing?

@aquaibm    yes is dynamic cell heights
old code is
- (CGFloat)cacheTableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath indexKey:indexKey{
    CGFloat height;
    UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];
    [cell setNeedsLayout];
    [cell layoutIfNeeded];
    cell.bounds = CGRectMake(0,0,self.tableView.bounds.size.width, cell.bounds.size.height);
    height = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
    height +=1.0f;

    [self.heightCacheDic setValue:[NSNumber numberWithFloat:height] forKey:indexKey];
    return height;
}

updated xcode8 alert
(
    "<MASLayoutConstraint:0x175ebfc80 UITableViewCellContentView:0x10c251f60.width == 414>",
    "<NSLayoutConstraint:0x171885550 UITableViewCellContentView:0x10c251f60.width <= 320>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x171885550 UITableViewCellContentView:0x10c251f60.width <= 320>

but layout is ok
after I remove
[cell layoutIfNeeded];

the warning disappear

The solution:
UIImageView *imageView = [UIImageView new];
imageView.contentMode = UIViewContentModeScaleAspectFill;
[self.contentView addSubview: imageView];
self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(0);
make.right.mas_equalTo(0);
make.top.mas_equalTo(15);
make.height.mas_equalTo(imageView.mas_width).with.multipliedBy(9/16.0);
make.bottom.equalTo(self.contentView);
}];
self.pImageView = imageView;

@anthonygeranio I would be interested in reading it.

Sweet gonna put something together tomorrow @beloso

Thanks for this :)!
Sent from my iPhone

On 22 Sep 2016, at 20:43, Anthony Geranio<EMAIL_ADDRESS>wrote:
Sweet gonna put something together tomorrow @beloso
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@anthonygeranio I will be updating an app to iOS 10. I am using masonry and it would be good to know the problems and how to solve them before hand :)
will we need a pull request to "fix" masonry?

@anthonygeranio Looking forward for your solution. 💃

I've had a cell with fixed height and still experienced this problem. The solution that worked for my case was to override intrinsicContentSize in the cell subclass and return the size you want like so:
- (CGSize)intrinsicContentSize {
    CGFloat someFixedHeight = 250.0f;
    return CGSizeMake(CGRectGetWidth(self.bounds), someFixedHeight);
}

it is good@kevinh

@anthonygeranio Please help, how to fix this issue

+1, how to fix it

+1

I ran across this same issue. It seems that:
make.center.equalTo(myLabel.mas_centerX);
would work prior to iOS 10. After iOS 10, that does not work and I needed:
make.centerX.equalTo(myLabel.mas_centerX);

Finally found out the solution for my case, seems like it's not Masonry's fault to blame for this problem.
My solution is: Just don't do this
        [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(0);
            make.right.mas_equalTo(0);
            make.top.mas_equalTo(0);
            make.bottom.mas_equalTo(imageView.mas_bottom).with.offset(15);
        }];

Do NOT call mas_makeConstraints on tableViewCell's contentView, instead be sure that there is a constraint attached to all four sides of the contentView. Like this:
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(self.contentView.mas_left);
            make.right.mas_equalTo(self.contentView.mas_right);
            make.top.mas_equalTo(self.contentView.mas_top);
            make.height.mas_equalTo(imageView.mas_width).with.multipliedBy(9/16.0);
            make.bottom.mas_equalTo(self.contentView.mas_bottom);
        }];

Hope this will help.


What to do with the Script provided by you??

I have the DateTimePicker script of yours.
But you didn't provide any readme about that.
What to do with this file??

Basically all the DateTimePicker does is act as a normal text input field which parses the entered date as a string. If the entered string is not a date, it will turn the background of the input field red. You can see the readme for more info.
Have a look at the examples for some general examples on how to use the library. They don't contain a specific example for the DateTimePicker but it should work in the same way as the other widgets except that the property you're binding to must be a DateTime.


make the switch from martha_v2 endpoint to martha_v3 [WA-349]

Once support for martha_v3  (#2223) has been merged and deployed and there are no issues, flip the switch to point to the martha_v3 endpoint and change the integration test to use URI for Jade's Terra Data Repo.
Closes https://broadworkbench.atlassian.net/browse/WA-349

I performed a pre-test from Gen3 in production. It worked to the point of giving me an error that I didn't specify a project for accessing a requester-pays bucket.

Post-release testing with Gen3 demonstrated the same behavior as pre-release, so I believe that is in good shape. I don't know how to test the Jade Datarepo integration so I have not done that.


Update SauceLabs config to include mobile browsers

Or some other service if SauceLabs doesn't provide that.

Done.


Update styling and website copy

Hi!
I updated the styling a bit to be more aligned with the https://dat.foundation branding. I updated the copy to limit confusion post-hyper protocol change, as well as to make some things more understandable.
See below for the visual styling changes, and the git diff for the wording changes. It's possible the font family URLs need to be changed, but I really wanted to try to stop being so lazy by defaulting to daddy google's font includes and just manually include some damn fonts for once
I also removed those damn bees lol
Before

After (wording changes included, see diff as well)

Cool, I like all the changes!


Deprecated Method

How could you update the following method?
OVRPlugin.GetSpaceBoundary2D(_floorSceneAnchor.Space, out Vector2[] boundary)

In later SDK releases, this method has indeed been deprecated in favor of a non-GC allocating version:
public static NativeArray<Vector2> GetSpaceBoundary2D(UInt64 space, Allocator allocator)

However, you should treat OVRPlugin as a private implementation detail. In your projects, consider using OVRScenePlane.Boundary to get the boundary points of a plane (e.g., the floor). In the context of this repo, you would do something like
if (_floorSceneAnchor && _floorSceneAnchor.TryGetComponent<OVRScenePlane>(out var plane)) {
  var boundary = plane.Boundary;
  // use boundary...
}


Remove GeoMultiPolygon since it is not used

Or is there a reason to keep this in h3api.h?

Coverage remained the same at 98.92% when pulling 8fad017c88c93fd05e255b47852d9d53bde4ac41 on ajfriend:geomulti2 into 3f92cb8a16e7b62ba3b42496c76cd4be931ce2d9 on uber:master.

Alternatively, we could get rid of all the LinkedMultiPolygon functions/structs (really, just not expose them in the public API), and just expose the arguably cleaner GeoMultiPolygon struct and associated functions publicly.

Can this be merged after v4.0.0 is released?

Can this be merged after v4.0.0 is released?

I think it depends on what we think the ideal end state would be (the public-facing data structure as LinkedMultiPolygon  or GeoMultiPolygon), and if/when we'd want to remove the other "deprecated" functions.
Apologies for coming up with another issue before 4.0, but I didn't see this stuff until I started using the new API in the Python bindings. I mostly wanted to flag this for discussion. I think here are benefits here, but I'm not sure if they outweigh the cost of delaying...
And correct me if I'm wrong, but I think using GeoMultiPolygon would greatly simplify the implementations in the bindings.
I'm guessing each of the bindings essentially implements their own linked list walker to do LinkedMultiPolygon_to_GeoMultiPolygon. We could move all of that common code to the C bindings, and I'm guessing that function shouldn't be too hard to (re)write in C.
Also, we can reduce the API surface area by removing the Linked* data structures, which I think could be confusing to users. The Linked* stuff feels like it should be hidden as an implementation detail.

And I'm guessing that was the intention behind GeoMultiPolygon, but we just never got to completing that work.

Oh, but maybe there's a potential speed benefit in avoiding the translation to non-linked data structures, so maybe it makes sense to keep both interfaces?

We discussed offline; I understand we will not block v4.0.0 on this change. We might just use this structure soon after releasing v4, or we'll consider removing it after the v4 release as no function is consuming/using/producing this structure.
@nrabinowitz @ajfriend

#681


[AllocineFRBridge] Update Faux Raccord link

This update the link to last season of the Show "Faux raccord"

Thanks for keeping the bridge up-to-date :heart:


docker build task is hanging

This is the last line of output I see
12:17:59.618 [INFO] [se.transmode.gradle.plugins.docker.DockerTask] Using the native docker binary.
> Building 95% > :server:dockerBuild

I can run the command manually with no issues.  I am not sure what is going on.

I have run into the same problem.  It is because in the NativeDockerClient, when it executes the docker command it does a waitFor() on the process. If the docker build process generates a lot of output to standard out or standard err, then it will eventually fill a buffer of the executing process and the process will block indefinitely while trying to write to the stream.  Whenever processes are executed, you have to consume the standard out and standard err or ensure that there is little to no output in there.

So the solution is to NOT use this task but instead fall back to using exec? @petehayes maybe we should put together a PR to solve the issue? I'm not sure how active this project is anymore judging from lack of commits going in

Yes, I was going to give that a shot at some point to fix this and issue a pull request.

Hi, what is the status of this issue?
From my understanding this issue is, in many cases, a blocker for using the plugin on Windows?
(never seen the problem on OS X)
See for example a discussion on the subject in the following blog post: http://callistaenterprise.se/blogg/teknik/2015/06/08/building-microservices-part-4-dockerize-your-microservices/
Regards,
Magnus.

In our case, we decided to move to the other gradle docker plugin so I won't be contributing a patch.

Ok, thanks for the update. I just realised that it already exists a pull request that seems to solve the issue so I'll post a comment there as well.


Improve large graph performance, fix typo, remove spurious file.

Change node and edge list to be set()s, which improves performance for large graphs because the check for existence in add_edge() becomes O(log(n)) instead of O(n).
Remove what seems to be a spurious graphml_parser file.
Fix a typo in the get_attributs() function name.

Could you rebase your PR on master please?


Telegraf: Provide directory information (default, etc.) for the config file

Doc the Docs Bot
APP  10:20 AM
New user feedback!
Page: https://docs.influxdata.com/telegraf/v1.24/install/
Feedback: telegraf config > telegraf.conf what directory do i need to be.  where does telegraf.conf need to be to be useful.

This info is already in the doc, right after the first mention of the telegraf.conf file:
"For Linux distributions, this file is located at /etc/telegraf for default installations.
For Windows distributions, the configuration file is located in the directory where you unzipped the Telegraf ZIP archive. The default location is C:\InfluxData\telegraf."


Create munkymack

I'm not sure what this pull request wants to accomplish. Can you elaborate or close it?

Closing off PR.