Scroll Reverser jumps from backward and forward scrolling when using trackpad

Scroll Reverser jumps from backward and forward scrolling when using trackpad. This issue appeared after upgrading to macOS Monterey. It happens randomly for brief amounts of time. I only observed it when scrolling downward. Using M1 Macbook Pro (2020)
Thank you

Isn't this a duplicate of #129? I'm also seeing that problem and I think they already discussed that problem on that issue.

Thanks for reporting @ravenspired, and thanks @mrcsilva - this is indeed a dupe of #129 so I will close this one


Humble branch demo fails on execution

I'm seeing a few issues when trying to execute the Demo pick and place program.

Execution fails part way through the task
I get a few Found empty JointState message's when executing (seems to not be causing any issues)
I can't execute the pickup because I would collide with the object and move_group fails
The controller for each task is not specified and I get warnings
I get a bunch of warnings about the trajectory controller is not listed

If I ask the demo config to execute the solution with the mock_components:
execute: true
The robot can only execute up to the pick point and then collision detection with the object causes it to stop.
[pick_place_demo-1] [moveit_task_constructor_demo<PHONE_NUMBER>.467567393]: Planning succeded
[pick_place_demo-1] [moveit_task_constructor_demo<PHONE_NUMBER>.467579243]: Executing solution trajectory
[pick_place_demo-1] [moveit_task_constructor_executor_110240201996832<PHONE_NUMBER>.185096688]: Goal was aborted or canceled
[pick_place_demo-1] [moveit_task_constructor_demo<PHONE_NUMBER>.206986352]: Task execution failed and returned: 99999
[pick_place_demo-1] [moveit_task_constructor_demo<PHONE_NUMBER>.207010792]: Execution complete

I'm also seeing a few empty JointState messages while it approaches the pick point:
[move_group-4] [moveit_robot_state.conversions<PHONE_NUMBER>.333089713]: Found empty JointState message
[move_group-4] [moveit.plugins.moveit_simple_controller_manager<PHONE_NUMBER>.333216522]: Returned 2 controllers in list
[move_group-4] [moveit.plugins.moveit_simple_controller_manager<PHONE_NUMBER>.333223566]: Returned 2 controllers in list
[move_group-4] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle<PHONE_NUMBER>.333295994]: sending trajectory to panda_arm_controller
[ros2_control_node-5] [panda_arm_controller<PHONE_NUMBER>.333428349]: Received new action goal
[ros2_control_node-5] [panda_arm_controller<PHONE_NUMBER>.333455996]: Accepted new action goal
[ros2_control_node-5] [panda_arm_controller<PHONE_NUMBER>.041431964]: Goal reached, success!

and if you inspect the Rviz terminal we can see that we get a bunch of warnings about which controller is going to execute each stage:
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.470975575]: The trajectory of stage '4' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.471033496]: The trajectory of stage '5' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
////
Same for stage 7, 11, 14,...

and then the robot is stopped because it would collide with the target object.
[move_group-4] [moveit_ros.plan_execution<PHONE_NUMBER>.134433464]: Trajectory component '10/19' is invalid
[move_group-4] [moveit_collision_detection_fcl.collision_common<PHONE_NUMBER>.134438323]: Found a contact between 'object' (type 'Object') and 'object' (type 'Robot attached'), which constitutes a collision. Contact information is not stored.
[move_group-4] [moveit_collision_detection_fcl.collision_common<PHONE_NUMBER>.134440510]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[move_group-4] [moveit_ros.plan_execution<PHONE_NUMBER>.134442674]: Upcoming trajectory component '10/19' is invalid

I tried to look into how the planning scene is passed to the executor action (I think this is how it's set when making the goal) but can't see the source of the issues with it not being properly passed to move_group to execute.

This seems to be a duplicate of #561, which was fixed with an additional revert on the Humble branch. Please checkout the latest commit 9c3655dec2f8e3dae199a76f5be4f5c81bcfc7bc.

Not sure how I missed that commit on my fork, sorry about the sloppy workspace management!
I still get these warnings. Should the controllers be explicitly set in each Stage?
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.106751682]: The trajectory of stage '4' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.106813314]: The trajectory of stage '5' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.106851123]: The trajectory of stage '7' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.106876960]: The trajectory of stage '11' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.106931256]: The trajectory of stage '14' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.106975585]: The trajectory of stage '16' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.107018325]: The trajectory of stage '18' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.107050142]: The trajectory of stage '21' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.107091647]: The trajectory of stage '24' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.
[move_group-4] [moveit_task_constructor_visualization.execute_task_solution<PHONE_NUMBER>.107175876]: The trajectory of stage '25' from task '' does not have any controllers specified for trajectory execution. This might lead to unexpected controller selection.

Something like #582 fixes that issue for me.


Add operator permissions for argocd appications

add a clusterrole rule to allow applications integration
- apiGroups:
  - argoproj.io
  resources:
  - applications
  verbs:
  - list
  - get
  - patch

Not approving because I'm waiting for env that enables application patch (need to add in the operator first)


Some Windows refinements are needed

Hello! I linked your site in a Reddit comment and got some feedback from /u/Charlie7Mason here, which I'd like to "forward" to you.

Win + PrtSc does not mention that it also saves the screenshot as a file to C:\Users\YourUserName\Pictures\Screenshots

Game bar shortcut does not mention Win + Alt + PrtSc, which saves the screenshot as a file to C:\Users\YourUserName\Videos\Captures

It would be great if you could add these.

Awesome, thanks for forwarding these to me. I'll see if I can make time to add those points in this weekend

I've updated the Windows page to address the points you've forwarded here. Thanks again for letting me know!


[DOCU-1634] Docs logo and navbar improvements

Review
@Kong/team-docs
Summary
Proposal for a logo update; logo created by Chuca. Taking team feedback into account, I split the original logo into two images and linked each one to different things (similar to Netlify Docs).
Specific changes:

Update and split Kong logo: "Kong" still links to konhq.com, "Docs" links to docs.konghq.com.
Fix navbar dropdown on mobile - when Docs dropdown is expanded, the text now fully fits in the menu and doesn't float over page text
Changed link in navbar from "docs.konghq.com" into a relative link to root (/). This way, when you build the site locally or in a Netlify preview, the link goes to the homepage of the build, not to the live docs.

Outstanding issue: doesn't display very well on the Plugin Hub (padding issues). No easy fix here; the problem is hub.css stlying overwriting navbar-specific styling.
Out of scope, will be a follow-up ticket: labelling external links in the navbar as external, and maybe thinking about a better grouping.
Reason
Cohesiveness, standardization, and a clear sense of where you are in the Kong ecosystem. Makes the navbar change/difference clearer.
https://konghq.atlassian.net/browse/DOCU-1634
Testing
https://deploy-preview-3108--kongdocs.netlify.app/

Check out logo and the links to both konghq.com and docs.konghq.com
Test the "Docs" links next to "Support", should stay in the netlify preview but take you to the homepage
Resize the page and check logo responsiveness
At mobile size, check the dropdown menu for "Docs" and make sure that the Contributing link and Get Started button are on a white background
Check some lower-down pages, eg https://deploy-preview-3108--kongdocs.netlify.app/enterprise/.

nicely scoped, LGTM. Will let @GayleNeumann approve ❤


Typescript 5.7.2: Can't extend DataView - TS2508: No Base constructor has the specified number of type arguments

🔎 Search Terms
"dataview", "ts2508", "no base constructor has the specified number of type arguments"
🕗 Version & Regression Information

This changed between versions 5.6.3 and 5.7.2
This probably changed in commit or PR #59417
This is the behavior in every version I tried, and I reviewed the FAQ for entries about DataView and TypedArray
I was unable to test this on prior versions because _______

⏯ Playground Link
https://www.typescriptlang.org/play/?ts=5.7.2#code/MYGwhgzhAEAa0FMAeAXBA7AJjAImFYAagJYIDu0A3gL5A
💻 Code
class X extends DataView {}

🙁 Actual behavior
error TS2508: No base constructor has the specified number of type arguments.
🙂 Expected behavior
build should run without any issues and class X should use the default constructor of DataView
Additional information about the issue
No response

This is working as intended, see the release notes and the PR you linked; #59417
DataView is now a generic type accepting one type argument. You don't provide a type argument.

@MartinJohns could you please provide an example? I tried the following:
class X extends DataView<Uint8Array> {}

But this gave me another error:
Type 'Uint8Array<ArrayBufferLike>' does not satisfy the constraint 'ArrayBufferLike & { BYTES_PER_ELEMENT?: undefined; }'.
  Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'ArrayBuffer & { BYTES_PER_ELEMENT?: undefined; }'.
    Type 'Uint8Array<ArrayBufferLike>' is not assignable to type '{ BYTES_PER_ELEMENT?: undefined; }'.
      Types of property 'BYTES_PER_ELEMENT' are incompatible.
        Type 'number' is not assignable to type 'undefined'.

Okay, I got it working like this:
class X extends DataView<Uint8Array['buffer']> {}

Okay, sorry, I had to reopen as I still can't make it work:
class X extends DataView<Uint8Array['buffer']> {}

Hovering over DataView I see the following error: No base constructor has the specified number of type arguments.ts(2508)


Address - Use selflink instead of resource ID

Description of your changes
Use selflink instead of resource ID when resolving SubNetwork from an Address resource.
-->
Fixes #88
I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
I was testing my changes manually by building and pushing a new image to our repository. Once I deployed the new provider the Address resource was created successfully.

/test-examples="examples/compute/address.yaml"


Update Encrypted Credentials

One of the credential files (in particular, the GCS service account key) has become obsolete.
In this PR we update the whole encrypted credentials.tar archive, which now contains a new key.
Also, the private RSA key, used for the GitHub auth on Travis is now found in that archive as well.

@armiol, PTAL.
This change is to be propagated to other repositories as well.


Making connection using commandline

first of all, thank you team for the wonderful product!
My question is that if there is a commandline client for windows/linux/mac, or is there any way to making connection with some sort of commandline tool?
Thanks

no update on this request ?


Add new Rails/BeforeDestroy cop

When we use before_destroy, we have to use one of the two solutions.

before_destroy callbacks should be placed before dependent: :destroy associations (or use the prepend: true option), to ensure they execute before the records are deleted by dependent: :destroy.
https://guides.rubyonrails.org/active_record_callbacks.html#destroying-an-object

Putting before_destroy before dependent: :destroy can be detected with RuboCop::Cop::Layout::ClassStructure.
I added a cop to detect the prepend: true option.
Since there are two solutions, the cop default is disabled.
It's the same reason it's not Safe.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.

I'm using Semantic Commit Messages. If that's a bad thing, I'd like to fix it.

[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

(btw there's a typo in the PR title, "Destory" instead of "Destroy")

@andyw8
Thank you for pointing this out!
I fixed the typo in the title.
And I'm sorry.
Commit messages and branch names also have typos.
Should I close this PR and re-create it with the correct branch name?

I don't care about the branch name. On the other hand, please squash your commits into one.
Note that this proposal has not been determined to be appropriate for inclusion in RuboCop Rails yet. Either way, the next RuboCop Rails release will be a bug fix release, so a release including a new cops will come later. Thank you.

Thank you for your comment!
All the commits are combined into one commit.


Ternary formatting is a bit unexpected

I'm sure this is intentional, but wanted to point it out/ask.  My source:
let foo = (bar === 0) ?
               baz :
               qux;

Which gets reformatted to:
let foo = (bar === 0)
                ? baz
                : qux;

This is a little strange to me, as it seems like the first stanza is the "question" and should keep the ? token.  The second and third stanzas are "truthy" answer and "falsy" answer.
let foo = question ?
                truthyAnswer :
                falsyAnswer;

I can see where the current formatting is "prettier" in that the ? and : stack neatly, just wondering if it throws the implication of the syntax a bit.
Thx!

In my experience having ? and : on the new line improves the readability (as it's easier to immediately see them while scanning code). This becomes more obvious when you have something more than a single word, e.g. an example with a require:
const { configureStore } = process.env.NODE_ENV === `production` ?
  require(`./configureProdStore`) : // eslint-disable-line import/no-commonjs
  require(`./configureDevStore`); // eslint-disable-line import/no-commonjs

// compared to

const { configureStore } = process.env.NODE_ENV === `production`
  ? require(`./configureProdStore`) // eslint-disable-line import/no-commonjs
  : require(`./configureDevStore`); // eslint-disable-line import/no-commonjs

(In the former it kinda looks like it's requiring both until I read the code more closely, while in the latter it's immediately obvious while scanning the code that it's a ternary)
Or with jsx:
<button
  onClick={e => this.toggleAdvanced(e)}
  className="advancedOptions-button"
>
  {this.state.showAdvanced ?
    <FormattedMessage
      id="allocator-vacate-index.hide-advanced-options"
      defaultMessage="Hide advanced options"
    /> :
    <FormattedMessage
      id="allocator-vacate-index.show-advanced-options"
      defaultMessage="Show advanced options"
    />}
</button>

// compared to

<button
  onClick={e => this.toggleAdvanced(e)}
  className="advancedOptions-button"
>
  {this.state.showAdvanced
    ? <FormattedMessage
        id="allocator-vacate-index.hide-advanced-options"
        defaultMessage="Hide advanced options"
      />
    : <FormattedMessage
        id="allocator-vacate-index.show-advanced-options"
        defaultMessage="Show advanced options"
      />}
</button>

I feel the latter is more obvious when quickly scanning through the code (though, I'm biased as that's the way I've written them for a long time, so might just be because of experience that I scan them quicker).

yup, ? in the next line makes think that the current line needs to be checked and will be replaced with the next line's value if it truthy. reading a long line only to see that it has ? in the end is slower while scanning.

Here's an example of a ternary in my code:
      const prop =
        field === 'DurationOfLast1_2Signal' ? 'durationLast12' :
        field === 'DurationOfLast1_4Signal' ? 'durationLast14' :
        field === 'LeakFault' ? 'leakFault' :
        null;

And here is how Prettier reformats it:
      const prop = field === 'DurationOfLast1_2Signal'
        ? 'durationLast12'
        : field === 'DurationOfLast1_4Signal'
            ? 'durationLast14'
            : field === 'LeakFault'
                ? 'leakFault'
                : null;

I know it's subjective, but I think my code is more readable. In my real code there are 9 ternaries, so the Prettier indentation gets pretty extreme.
The default indentation is 2 spaces, so why does it switch to 4-space indentation after the first ternary?

@mvolkmann I know it's maybe just an example but you would be way better off just doing something like:
const fieldMap = {
  DurationOfLast1_2Signal: 'durationLast12',
  DurationOfLast1_4Signal: 'durationLast14',
  LeakFault: 'leakFault',
};

const prop = fieldMap[field];

that use of ternary's is super confusing

Maybe it's micro-optimizing, but I think about the cost of both creating the map object and the cost of the hashmap operation to lookup the value.
I know it gets down to personal preference, but I don't think my use of ternaries is confusing at all and I often see that style used.

Definitely micro-optimising 😛  I'd even prefer an if/else block instead of nested ternary, but it is just a style thing for me. Eslint has a rule on nested ternary http://eslint.org/docs/rules/no-nested-ternary.

I don't think we're going to add a new config option for this, and I think it is better to use different code for multiple ternaries. I actually find the prettier code slightly clearer because the other format is kind of abusing ternaries. If you're really after performance:
let prop = null;
switch(field) {
  case 'DurationOfLast1_2Signal':
    prop = 'durationLast12';
    break;
  case 'DurationOfLast1_4Signal':
    prop = 'durationLast14';
    break;
  case 'LeakFault':
    prop = 'leakFault';
    break;
}

In many cases it's probably best to abstract this out into a function, then you could just do:
function lookupField(field) {
  switch(field) {
    case 'DurationOfLast1_2Signal':
      return 'durationLast12';
    case 'DurationOfLast1_4Signal':
      return 'durationLast14';
    case 'LeakFault':
      return 'leakFault';
  }
}

Sad to hear this. I know everyone has their hot button issues. Conciseness of code is very important to me. For me this is likely a deal breaker and means I will not be using Prettier.

R. Mark Volkmann
Object Computing, Inc.

On Feb 23, 2017, at 11:03 PM, James Long<EMAIL_ADDRESS>wrote:
I don't think we're going to add a new config option for this, and I think it is better to use different code for multiple ternaries. I actually find the prettier code slightly clearer because the other format is kind of abusing ternaries. If you're really after performance:
let prop = null;
switch(field) {
case 'DurationOfLast1_2Signal':
prop = 'durationLast12';
break;
case 'DurationOfLast1_4Signal':
prop = 'durationLast14';
break;
case 'LeakFault':
prop = 'leakFault';
break;
}
In many cases it's probably best to abstract this out into a function, then you could just do:
function lookupField(field) {
switch(field) {
case 'DurationOfLast1_2Signal':
return 'durationLast12';
case 'DurationOfLast1_4Signal':
return 'durationLast14';
case 'LeakFault':
return 'leakFault';
}
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Why do some people feel that this is "abusing" ternaries?
const value =
  condition1 ? value1 :
  condition2 ? value2 :
  condition3 ? value3 :
  value4;

I realize opinions vary, but this seems very clear to me.

We need to make a call on how to format things and we can't cater to every style. If we tried to change ternaries it impacts a lot of other places where it should not break that way and is less readable. It's all tradeoffs. I'm sorry it doesn't fit your style, but with this kind of formatter, there are going to be things that's aren't person for each person.
It's "abusing" it because the syntactic feel does not match how it's actually parsed at all, and what you are really looking for will be solved with do expressions in JS, coming soon. Then you could do do{ switch(val) { ... }} and get something similar

Closing this as we need to make a call. Sorry for those who disagree, we're not going to be able to please everyone :(

@jlongster I think you totally need a saved reply for these cases where you reject. It's wasting your precious time.

@mvolkmann I'm willing to support such an option in my fork, if you or someone else can submit a PR 😀

I use this format to improve ternary readability:
export const VersionMatch = (v1, v2) => {     return parseInt(v1.major) == parseInt(v2.major) || v2.major == '*' ?       parseInt(v1.minor) == parseInt(v2.minor) || v2.minor == '*' ?         parseInt(v1.patch) == parseInt(v2.patch) || v2.patch == '*' ?           parseInt(v1.build) == parseInt(v2.build) || v2.build == '*' ?           true           :           false         :         false       :       false     :     false }
How I can get this format on prettier?


allow  in description

use my beloved replaceInJSX-helper

for a very short moment I was thinking about adding markdown - but wow, that would be super overkill
I will not be able to use : bold, strong, underline, links, images, lists
Is this fine?

the replaceWithJSX-helper is super powerful and I could add much more stuff


Update README.md

Fixed some common typing errors and make readme.me google translate compatible so that anyone from another language can understand it by translating.
Description
This PR fixes #
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Done.:)

🎈 Yay, @thelovekesh!


Text Area Keyboard input is slow.

I current developed littlevgl Designer(https://github.com/chaos4284/lvgl_designer)
I want to ask a few questions.
I  applied Text Area of " lv_examples/lv_tests/lv_test_group/".
However, I found that the keyboard input response of the text area is slow.
How can I improve the response speed of Text Area keyboard input?

I might look slow because the letters are added when you release the key. It's not the "natural" way. You can tweak the keyboard driver to emulate a press and release on key press.
bool keyboard_read(lv_indev_data_t * data)
{
    data->state = state;
    data->key = keycode_to_ascii(last_key);

    /* Tell there is more data when pressed. The next data will the releases state. */
    state = LV_INDEV_STATE_REL;
    return data->state == LV_INDEV_STATE_PR ? true : false;
}

As it really looks more natural I'll add this working mechanism.
Is it work better there?

I will test it after work.

Code is well operate. Thanks.

@chaos4284 I would recommend using submodules for lvgl, lv_drivers, and lv_examples. It would make the library easier to update.

I reopend current issue.
When typing keyboad input,
When typing keyboard input quickly, it is not as smooth as typing in the search box on the Internet browser, and some characters are missing.

Try to lower LV_INDEV_READ_PERIOD in lv_conf.h.

No Effect.  The problem is still the same.

Please send a video about how it looks like now.

Here is the source code at the https://github.com/chaos4284/lvgl_designer.
It exist total three screen.
From the left, It is  component screen, draw screen, property screen.
If you click the button component on the component screen and then click on the Draw screen, the textarea appears on the Property screen.
After selecting textarea with MOUSE, enter  the value with the keyboard.

I tested you project and I have some tips:

Call lv_tick_inc() in a task. Similarly to the original PC simulator example
Set SDL_REFR_PERIOD to 10 in monitor.c
Set LV_INDEV_READ_PERIOD to 10 in lv_conf.h

Still not perfect but much better for me

When I modified A to a value of 10, then I confirmed Key Input  are smooth.
Thanks.

Great! As LittlevGL polls the key presses  (and not event-driven) I think that all we can do.


task: update documentation for golang

Description
Updating documentation to cover golang version requirement
Reason
 Building atlas binary
go build -ldflags "-s -w -X github.com/mongodb/mongodb-atlas-cli/atlascli/internal/version.GitCommit=436cdc259407d225f622e5a407a43e43f4070d99 -X github.com/mongodb/mongodb-atlas-cli/atlascli/internal/version.Version=1.19.0-374-g436cdc259"  -o ./bin/atlas ./cmd/atlas
go: go.mod requires go >= 1.23.1 (running go 1.21.3; GOTOOLCHAIN=local)
make: *** [build] Error 1

Separate concern
Go.mod file does not use toolchain directive which can automatically request proper golang version for build purposes.
Do we have any reason to not define tooling directive?
Since I moved from Atlas CLI dev I noticed we no longer use adsf tools definitions.

Thank you, @blva Created #3340 as follows up to enable toolchain support.

Do we have any reason to not define tooling directive?

https://github.com/mongodb/mongodb-atlas-cli/pull/2779/files#r1530657881

Thank you for reference. I seen that PR and I did also removed adsf support for the repository:
https://github.com/mongodb/mongodb-atlas-cli/pull/2779/files#r1530658440
My understanding is that we want autoinstallation feature to be disabled.
That would mean this PR was correct (bumped required version that needs to be installed manually).
Closing toolchain PR that adds extra auto option as fallback to local

At the time I think we discussed offline (sorry we didn't capture it in the PR) given using both asdf and auto toolchain is an issue

do we disable auto toolchain and prefer asdf
do we disable asdf and prefer toolchain

And we decided to disable both and let devs decide what to use, in particular toolchain is disabled for the makefile because installation of the dev tools is wonky with  the autotool detection

@gssbzn Thank you. All makes sense. I tried to look if we can add any information into contributing guide but we already mention manual installation for specific version and no presence of toolchain/asdf. All good.


533 Adds NDAs support for recap email

Support to parse and download free documents for NDAs was added.
It was necessary to add a new field to support download documents for NDAs email_notice_type due to download link structures are different.
Here is some example data for an NDA:
{
  "case_name": "New York State Telecommunicati v. James",
  "court_id": "ca2",
  "date_filed": "2022-03-23",
  "docket_entries": [
    {
      "date_filed": "2022-03-23",
      "description": "REPLY BRIEF, on behalf of Appellant Letitia A. James, FILED. Service date 03/23/2022 by CM/ECF. [3283515] [21-1975]",
      "document_number": "00208754210",
      "document_url": "https://ecf.ca2.uscourts.gov/docs1/00208754210?uid=59a7f7615f78153b",
      "pacer_case_id": "21-1975",
      "pacer_doc_id": "00208754210",
      "pacer_magic_num": "59a7f7615f78153b",
      "pacer_seq_no": null
    }
  ],
  "docket_number": "21-1975",
  "email_notice_type": "NDA",
  "email_recipients": [
    {
      "email_addresses": [
<EMAIL_ADDRESS>      ],
      "name": "Recap email recipient, -:"
    }
  ]
}

Added tests using examples from the emails we've received from different courts but they aren't too many, so as long as we receive more NDA's it might be necessary to adjust the parser to consider all possible cases.
Let me know what do you think and if it's ok I can do a version bump and update the CL PR.

Thanks! I've changed the email_notice_type parameter to appellate.
Also added the version bump but I think is not ready because I updated my CL dev image with it and ran more tests including some new NDA's we received today and there is a new one from ca11 that it's failing to parse the document description properly. So I'll be back with the fix it and add more tests.

I've solved the problem parsing the description that I detected in ca11.
Now we also get the pacer_case_id for NDAs
As we discussed on https://github.com/freelawproject/courtlistener/pull/2257 the document_number now is null for NDAs
Added new examples (recipients anonymized)
Let me know if there is anything else. I'll also update CL PR with these changes.


Add docker-compose (WIP)

Codecov Report
Base: 66.86% // Head: 66.85% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (34179d0) compared to base (a82247b).
Patch coverage: 80.00% of modified lines in pull request are covered.

:exclamation: Current head 34179d0 differs from pull request most recent head 9df0c45. Consider uploading reports for the commit 9df0c45 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #702      +/-   ##
==========================================
- Coverage   66.86%   66.85%   -0.01%
==========================================
  Files          87       87
  Lines       12690    12700      +10
==========================================
+ Hits         8485     8491       +6
- Misses       4205     4209       +4

Impacted Files
Coverage Δ

fedimintd/src/bin/configgen.rs
1.58% <0.00%> (-0.08%)
:arrow_down:

client/client-lib/src/wallet/mod.rs
70.64% <100.00%> (+0.59%)
:arrow_up:

fedimint-server/src/config.rs
69.58% <100.00%> (+1.01%)
:arrow_up:

modules/fedimint-wallet/src/config.rs
88.46% <100.00%> (-0.57%)
:arrow_down:

client/client-lib/src/query.rs
91.57% <0.00%> (-3.16%)
:arrow_down:

client/client-lib/src/lib.rs
86.06% <0.00%> (+0.13%)
:arrow_up:

fedimint-server/src/lib.rs
86.71% <0.00%> (+0.34%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Closing now that we have https://github.com/fedimint/fedimint/pull/1192


XML Export

export the whole data in an application neutral format (XML). base64 encode the image. no need to re-import the data again (this can be done via reusing the database files directly).
there is already something existing, just enable it.

NOPE


Simplify and automate release versioning

Description
We like to introduce a change in the release process as currently it is not optimal for several reasons:

the library is released on every merge - this seems sometimes unnecessary as some changes don't affect the code like updating license headers. Also when we merge several PRs at the same time why do we need to publish a separate release for each one? This is a waste of compute resources on GitHub Actions and storage on NPM repos.
developers have to spend additional efforts to manually set the version number for the release
especially when multiple PRs are open developers don't know the sequence number of "their" release and we get merge conflicts in CHANGELOG.md and have to frequently update their PRs to resolve those.

The improved process would look like this:

developers only raise PRs for their changes without caring about release or version number
committers review, approve and merge those PRs to main (without triggering a new release)
independent from the merge committers can decide to release at any time by pushing a git annotated tag which would trigger an action run that automatically updates package.json and CHANGELOG.md setting version and change messages. Note that they are still free to publish a release after each merge if that should seem appropriate.

Acceptance Criteria

[ ] PRs don't need to include updates for package.json and CHANGELOG.md
[ ] No release is triggered after merge
[ ] Pushing a git annotated tag will trigger an automated update to package.json and CHANGELOG.md and publish a new release

Additional Information
example release trigger command
git tag -a "v3.0.16" -m "* Added feature X" -m "* Fixed bug Y" -m "* Changed behavior Z"
git push --tags

Hi @oyo, IMO the release process works quite well but sure could be improved as an enhancement, generally I'd change then to a bit more automated process than you describe with creating tags manually.

I think the version bump when raising a PR should just not be in the pre-checks as obligatory
In case someone wants release a new version with one specific PR, the version in the package.json is bump
When merging into main, the release workflow checks if a version bump occurred or not acts accordingly
When a bump occurred the publishing to NPM is triggered and as a result a tag is created
See https://github.com/eclipse-tractusx/policy-hub/blob/main/.github/workflows/release.yml#L66 for a similar workflow just with Chart.yaml instead of package.json and build of docker images instead of publishing to NPM

Hi @oyo, IMO the release process works quite well but sure could be improved as an enhancement, generally I'd change then to a bit more automated process than you describe with creating tags manually.

I think the version bump when raising a PR should just not be in the pre-checks as obligatory
In case someone wants release a new version with one specific PR, the version in the package.json is bump
When merging into main, the release workflow checks if a version bump occurred or not acts accordingly
When a bump occurred the publishing to NPM is triggered and as a result a tag is created
See https://github.com/eclipse-tractusx/policy-hub/blob/main/.github/workflows/release.yml#L66 for a similar workflow just with Chart.yaml instead of package.json and build of docker images instead of publishing to NPM

@evegufy this doesn't solve the biggest issue - constantly fixing merge conflicts in CHANGELOG.md

Hi @oyo, IMO the release process works quite well but sure could be improved as an enhancement, generally I'd change then to a bit more automated process than you describe with creating tags manually.

I think the version bump when raising a PR should just not be in the pre-checks as obligatory
In case someone wants release a new version with one specific PR, the version in the package.json is bump
When merging into main, the release workflow checks if a version bump occurred or not acts accordingly
When a bump occurred the publishing to NPM is triggered and as a result a tag is created
See https://github.com/eclipse-tractusx/policy-hub/blob/main/.github/workflows/release.yml#L66 for a similar workflow just with Chart.yaml instead of package.json and build of docker images instead of publishing to NPM

@evegufy this doesn't solve the biggest issue - constantly fixing merge conflicts in CHANGELOG.md when multiple PRs are opened at the same time

@oyo the CHANGELOG.md doesn't need to be updated with every PR if that causes issues, then let's just update the changelog when creating a PR containing a version bump in package.json, that's also completely fine (in the portal-backend repo for instance the changelog is only updated at release, updating the changelog is something specific to portal-frontend, and I figured that's because you think it's beneficial).
The downside of not maintaining the changelog with every PR is that then someone needs to maintain the entire changelog at the release.
FYI, for the new repos I moved to a automated Changelog creation according to PR titles:
https://github.com/eclipse-tractusx/policy-hub/blob/main/CHANGELOG.md
https://github.com/eclipse-tractusx/policy-hub/blob/main/docs/technical-documentation/release-process/Release Process.md#update-changelogmd
But that's difficult for the portal repos. as there's the issue of poor PR title maintenance of the past... as the portal-shared-components is relatively new, we could at least try it out, what do you think?

Ticket refined; pushing it into the backlog

Hi @oyo  and @evegufy ,
I have gone through this issue and would like to contribute. Below is the approach that I have implemented:
Step 1: PR Validation
1. Check Version Bump:
a. If the package version in the PR is lower than the current published version (e.g., published version is 0.0.42 and PR version is 0.0.41), return an error: "Please update the package version to the correct version."
b. If the package version is not bumped (i.e., it is the same as the published version), allow the PR to proceed to the next step without errors.
c. If the package version is bumped, one commit message is displayed in GitHub action which user have to copy and run in their local and update the PR.
commit message  - 'git commit --allow-empty -m "chore: release 0.0.20" -m "Release-As: 0.0.20"
Step 2: Post-Merge Actions
1. Check Version Again:
a. After the PR is merged, check if the package version has been bumped.
b. If the version is bumped, proceed with the build-and-publish job. If not, skip this step.
Step 3: Build and publish job
1. During the build-and-publish job:
a. Create a PR using release-please that includes updates to the CHANGELOG.md file, summarizing all commits made after the last release.
b. Once the release PR (created by the dependent bot) is merged by user (who has merge access), the release is created, followed by tag creation and package publish step.
Key Notes:
Release PR: The release process is fully automated, with the changelog PR generated and needs to be merged by an authenticated user to trigger the final release and then publish the package to npm.
Empty Commit for Release: The empty commit serves as a marker indicating that the release process should proceed.
This refactor streamlines the process while ensuring version integrity and automated release management. Does this align with your requirements, or do you need further adjustments?

@oyo  / @evegufy  can we close it ?


Problem Connecting to iamssl/Prd-NA/universal:\nlist index out of range

This shows up in the logs of our 0.3.7 build:
2015-07-24 15:53:08,640 WARNING: Traceback (most recent call last):
  File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py", line 159, in get_all_certs_in_region
    cert_info = get_cert_info(cert['body'])
  File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py", line 90, in get_cert_info
    'issuer': cert_get_issuer(cert),
  File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py", line 40, in cert_get_issuer
    return str(cert.get_issuer()).split("/O=")[1].split("/")[0].translate(None, " ,.").strip()
IndexError: list index out of range
 [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:164]
2015-07-24 15:53:08,640 INFO: 'Problem Connecting to iamssl/Prd-NA/universal:\nlist index out of range' [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2015-07-24 15:53:08,640 INFO: Found 6 IAM SSLs from Prd-NA/universal [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:168]```

Could you edit iam_ssl.py to have it print out cert.get_issuer() BEFORE the line where it does the splits?
CURRENT:
def cert_get_issuer(cert):
    return str(cert.get_issuer()).split("/O=")[1].split("/")[0].translate(None, " ,.").strip()

NEW:
def cert_get_issuer(cert):
    app.logger.debug("ISSUER: [{}]".format(cert.get_issuer()))
    return str(cert.get_issuer()).split("/O=")[1].split("/")[0].translate(None, " ,.").strip()

Then either manually run the iamssl watcher, or restart the scheduler.  Grep through the new logs for "ISSUER".
Your cert must not have /O= followed by a /
I guess we could put the current code in a try/except block, and simply return cert.get_issuer() if it runs into an exception parsing the issuer.

What's the correct procedure after I modify a .py?  It seem the .pyc isn't being recompiled if I just restart the scheduler; it always terminates quickly with a fatal error.

You probably introduced a syntax error when you edited the file.
Make sure you are using four spaces for indentation and not tabs.  The error message you're seeing should contain a hint to the error.

Ha, indeed I did, but I caught it a little to late, and posted a little too soon :)
2015-07-24 21:57:20,033 INFO: Running IAM SSL for d2l-staging (15 minutes interval) [in /usr/local/src/security_monkey/security_monkey/reporter.py:55]
2015-07-24 21:57:20,033 DEBUG: Checking iamssl/d2l-staging/us-east-1 [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:133]
2015-07-24 21:57:20,149 DEBUG: ISSUER: [/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA] [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:38]
2015-07-24 21:57:20,153 DEBUG: ISSUER: [/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA] [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:38]
2015-07-24 21:57:20,176 DEBUG: ISSUER: [/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA] [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:38]
2015-07-24 21:57:20,177 DEBUG: ISSUER: [/CN=RMQTESTCA] [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:38]
2015-07-24 21:57:20,178 WARNING: Traceback (most recent call last):
  File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py", line 158, in get_all_certs_in_region
    cert_info = get_cert_info(cert['body'])
  File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py", line 89, in get_cert_info
    'issuer': cert_get_issuer(cert),
  File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py", line 39, in cert_get_issuer
    return str(cert.get_issuer()).split("/O=")[1].split("/")[0].translate(None, " ,.").strip()
IndexError: list index out of range
 [in /usr/local/src/security_monkey/security_monkey/watchers/iam/iam_ssl.py:163]
2015-07-24 21:57:20,178 INFO: 'Problem Connecting to iamssl/Prd-NA/universal:\nlist index out of range' [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2015-07-24 21:57:20,178 DEBUG: Adding ('iamssl', u'Prd-NA', 'universal') to the exceptions list. Exception was: 'Problem Connecting to iamssl/Prd-NA/universal:\nlist index out of range' [in /usr/local/src/security_monkey/security_monkey/watcher.py:153]

Ahh, so it's working for a few of your certs.  The one it's failing on (/CN=RMQTESTCA) doesn't have a proper issuer.  It must be a self-signed SSL cert.
I'll  add a try/except block. If it sees an exception, I'll just have it return "No Valid Issuer Found".
I'm about ready to head home today, so look for a fix early next week.

Have a good weekend.  Yes, it will be nice to have a quick way to audit use of self-signed certs in the env.  Thanks.

Hey @DataSquid
I just pushed a new branch up to github:
https://github.com/Netflix/security_monkey/tree/feature/missing_certificate_issuer_issue_173
I'll do some testing this week and will update this issue once I've merged it to the develop branch.

It's been working well for me.

The feature has been merged to master.  55f09b29825931a453499e61cffe13b861270bfd
I'll delete the feature branch from github now.


Googlable name

I think it would be good idea to make more googlable name, because now it would most often be confused with https://developer.apple.com/library/ios/#documentation/uikit/reference/UIKit_Framework/_index.html

oh lame haha, that's what I get for not using apple tech I guess. for now i'll just make sure to mention js/jquery more so it shows up in google since i imagine most people will use "uikit js" just like they do "express js"


:tada: add chart diff

Chart diff is a new streamlit-based tool that aspires to be a successor to the current chart approval tool. The idea behind it is to unify and simplify our tooling around charts:

Remove chart approval
Run chart-sync tool automatically after merging PR
Kill the staging server right after chart-sync finishes (and not after 3 days)

Compared to the current workflow, the new one improves:

Data managers don't have to manually chart-sync charts from staging after ETL gets deployed
Not having to approve charts twice
Replace chart approval with a more flexible tool

Features

Chart from staging & production shown side by side
Approve / Reject buttons
Smart sorting (either by "similarity score" or by updatedAt)
owidbot would be posting to a PR numbers of approved / unapproved charts

Detecting updated charts
We have to efficiently find charts updated on the staging server. We have several options:

compare updatedAt between staging and prod
compare config.version
checksum config and compare it (would it be fast enough?)

It's an open question whether we want to include charts with identical config, but different data. If we wanted to, we could use dataset.sourceChecksum or somehow compute checksum for indicators.
"Merge conflicts"
There's a period (potentially quite long for large datasets) between merging PR and running chart-sync where someone can edit charts in production. If that happens, we'd overwrite the chart, but notify us in Slack that a chart has been overwritten. It's up to us to check the previous version of the chart in Admin and decide what to do with it.
TODO

[x] functions to detect new / updated charts
[x] Indicator upgrader shouldn't be creating chart revisions, but should be creating charts directly (through Admin API just like chart-sync does it).

https://github.com/owid/etl/pull/2575

[x] Get also a config diff view (in addition to the chart-pair view)

https://github.com/owid/etl/pull/2575

[x] Unapprove all charts. Imagine that you have detected a major problem, and don't want to bring all charts to live.
[x] smart sorting with "similarity score" or updatedAt

For now only for updatedAt

[x] Filtering options: Add option to "hide approved charts", "show only drafts", etc.
[ ] run chart diff periodically against all open PRs in ETL and post results back with owidbot
[ ] run chart-sync automatically after merging

Temporarily use chart-sync manually after merging

[ ] deprecate chart approval tool in Admin & drop chart revisions table (it's one of our largest tables)
[ ] Support for draft and deleted charts (maybe start with just signaling this)
[ ] Edge case: we edit chart A on staging → we merge the PR from staging server into master → someone edits the chart A in production before ETL builds → collision! There are two versions for chart A, we should resolve this.
[ ] stress test it: what happens if we have 100 charts? 200? Do we need pagination?

I've created a separate issue collecting all the pending tasks: https://github.com/owid/etl/issues/2580.
I propose merging this PR into master soon, so we can start working with it and detecting more issues.


Module seems incompatible with RN > 0.48 : no visible @interface for 'RCTTextView' declares the selector 'textViewDidChange'

It seems that RN > 0.48 can't bind anymore RCTTextView with textViewDidChange
While compiling with RN 0.48.1 I've got this error thrown:
`/node_modules/react-native-autogrow-textinput/ios/AutogrowTextInputManager.m:31:13: error: no visible @interface for 'RCTTextView' declares the selector 'textViewDidChange:'
[self textViewDidChange:textView];
~~~~ ^~~~~~~~~~~~~~~~~
1 error generated.
** BUILD FAILED **`
If I switch back to RN 0.47.2 it's working fine.
Any idea of what is going wrong here?

Hey @BricePissard, thanks for reporting about it. This package indeed does not yet support latest RN versions.
The native part which is included in this package has some additional features that you might not even need. In the meantime you can just remove AutoGrowTextInput.xcodeproj from your project so it can compile.
That said, there are probably other, additional issue with latest RN versions, so i'm not sure if it will work properly when you can get it to run. I think there were some breaking changes along the way that can possibly affect this component.

It seems to be linked to this change in RN 0.48:
https://github.com/facebook/react-native/commit/4ff3e101ac2831a5ca64acf9aa3a868c3120e576#diff-223b3f6f8736fab6d3e706f3ebcdd09fR70
For now I just avoid the compile error by commenting-out the buggy line:
if (textView != nil && [self respondsToSelector:@selector(textViewDidChange:)])
{
  //dispatch_async(dispatch_get_main_queue(), ^{
  //  [self textViewDidChange:textView];
  //});
}

After some testing it doesn't seems to hurt my autogrow text inputs.

@artald @rubycon
It seems that in the last RN release (version 0.49.1) the autoGrow feature have been merged into the native TextInput core.

Feature Request:
https://react-native.canny.io/feature-requests/p/add-support-for-automatically-resizing-multiline-textinput-based-on-content

Merged in 0.49.1:
https://github.com/facebook/react-native/commit/7abce0b74254cc0328b6a6d8f631231eba364b76

Now to get this feature working it's just a new attribute to set:
<TextInput autoGrow={true}>
  Hello
  World
</TextInput>

React Native's TextInput autoGrow is android only.

It's working on 0.55 version of RN.


Firefox 4 and 5 have problems printing native MathML output

Firefox 4 introduced a bug where any @font-face directive causes MathML to not print properly (some characters disappear).  Since MathJax used @font-face to handle the fact that Firefox doesn't implement the mathvariant attribute, this causes MathJax native MathML output to fail to print.
Not sure what the solution should be.  Removing the @font-face directives would cause equations to not display mathvariants properly, while leaving it in causes them not to print properly.

I can reproduce the bug with a trunk build. I'll report upstream.


Passing parameter into range()

I am creating n number of EC2 instances for forming ECS Cluster using troposphere. I am passing Clustersize as parameter.
ClusterSize = t.add_parameter (Parameter(
    "ClusterSize",
    Description= "Number of nodes needed for cluster. This needs to be input by user for nonASG",
    Type= "Number",
    Default= 1

In the tool I will be deploying my code, I have provision to input this value before deployment. So I thought of looping :
for i in range(ClusterSize):
    instance = t.add_resource(
        ec2.Instance(...)
   )

But I get the error : TypeError: range() integer end argument expected, got Parameter.
How do I do this?

This is not possible since CloudFormation does not have ways to iterate within their templates. In other words, the range() iteration you're suggesting is being done locally as you generate the template. The ClusterSize parameter is input after you have submitted the template to CloudFormation and troposphere/python code is not executed there.My only suggestion would

What about using AWS Macros and count? Can I dynamically pass the value to count and launch that many EC2 instances?  @markpeek

Perhaps. I googled this which shows how to define a macro for count. I've never tried it but might give you a direction to try.


Add option to specify maximum line length before new line

A useful feature (for plain text files only) would be to specify a maximum number of characters to be generated before a new line is emitted.

This would be simple to implement if lines were ended by a single character, say CR or LF, but would be harder if line end was CR LF.


src/example.py doesn't work

The pull request below would fix the example.
https://github.com/toinsson/pyrealsense/pull/4

maybe you are using opencv 2.x ? With opencv 3 on my system it works.
I'll merge the pull request anyway.


The model results vary greatly

Hello, when i ran the pytorch source code(learning rate=0.0001, dataset=Thumos14reduced), I ran into a problem.
I ran ten times, but the results of several of them were quite different. When IoU=0.5, some can reach about 25%, but some can't reach it, only about 24% .what caused this?  Is it caused by randomness?

We did not notice variations of more than 0.3-0.5%. Anyway, this codebase should produce a bit better results (more than 24%) compared to what we reported in the paper (22.8%).


Unexpected behaviour with async functions

Hello!
When I send request, my log is
1
2
3
4

but a response is Not Found. I expect Hello Koa response. Why does it happen?
const Koa = require('koa') // v2.2.0

let app = new Koa()

app
  .use(async function (ctx, next) {
    console.log(1)
    await sleep(1e3)
    console.log(2)
    next()
  })
  .use(async function (ctx) {
    console.log(3)
    await sleep(1e3)
    console.log(4)
    ctx.body = 'Hello Koa'
  })

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms))
}

app.listen(3000)

you need to await next()

@jonathanong thank you.


Hyper opened once, never again, even after reinstalls

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name:  Windows 10
Hyper.app version: 1.3.3
Link of a Gist with the contents of your .hyper.js: default, I didn't modify
Relevant information from devtools (CMD+ALT+I on Mac OS, CTRL+SHIFT+I elsewhere):
The issue is reproducible in vanilla Hyper.app:

Issue
I just installed Hyper (from official site) and it opened, so I pinned it to the taskbar and closed, to later install hyper-pokemon (via hpm, just like https://github.com/hyper-pokemon/hyper-pokemon). Now It won't open, and clicking just spawns new "Hyper" processes but nothing appears. I tried to uninstall-reinstall the exact same way, and It appears the initial image (the greenish gif) but then it stops and Hyper doesn't open (but the processes are still there). There isn't a single error displayed so I can't provide you with more info/screenshots. Literally nothing, just background.

Maybe the plugin broke it?
Try removing/resetting config (~/.hyper.js and ~/.hyper-plugins on unix)

Worked! thank you. I removed any reference to the plugin, then reinstalled and it's ok


Calling api.SetDelay() as mentioned in readme panics

If you do this:

You get the panic:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x11cd32]

goroutine 1 [running]:
panic(0x24a620, 0xc42000c0d0)
	/usr/local/Cellar/go/1.7.4/libexec/src/runtime/panic.go:500 +0x1a1
github.com/ahmetalpbalkan/goodbye/vendor/github.com/ChimeraCoder/tokenbucket.(*Bucket).SetRate(0x0, 0x0)
	/Users/alp/workspace/gopath-goodbye/src/github.com/ahmetalpbalkan/goodbye/vendor/github.com/ChimeraCoder/tokenbucket/tokenbucket.go:41 +0x22
github.com/ahmetalpbalkan/goodbye/vendor/github.com/ChimeraCoder/anaconda.(*TwitterApi).SetDelay(0xc420012780, 0x0)
	/Users/alp/workspace/gopath-goodbye/src/github.com/ahmetalpbalkan/goodbye/vendor/github.com/ChimeraCoder/anaconda/twitter.go:156 +0x39
main.mkClient(0xc4200ca9e0, 0x15, 0xc420019020, 0x2b, 0xc420010700, 0x31, 0xc420019050, 0x2a, 0xc420019050, 0x2a, ...)
	/Users/alp/workspace/gopath-goodbye/src/github.com/ahmetalpbalkan/goodbye/main.go:89 +0xe4
main.main()
	/Users/alp/workspace/gopath-goodbye/src/github.com/ahmetalpbalkan/goodbye/main.go:36 +0x3ac

because api.bucket field is nil.

I had a similar issue, but I found a fix
It looks like you have to call api.EnableThrottling()  first, then you're able to call api.SetDelay().
The README section on throttling notes that throttling is off by default, but it would be nice to have a nice one-liner that tells the user how to enable Throttling (and explain a little more about the bufferSize argument in the EnableThrottling() function call)

+1, four years later I'm getting the same issue.


Generic type parameter inferred as {}

TypeScript Version:  1.8.10, also tested with 1.9.0-dev.20160601-1.0 which behaves the same.
The following code should compile but produces an error. It is because the type of x is inferred as Either<{},number>. IOW, the type parameter E is made rigid when it should remain generic.
Code
interface Either<E,V> { e: E; v: V }

function pure<E,V>(v: V): Either<E,V> { return { e: undefined, v }; }
function fail<E,V>(e: E): I<E,V> { return { e, v: undefined }; }

function f(x: Either<string,number>) {}

const x = pure(1);
f(x); // <- error

A similar issue comes up when inferring the type of this constant:
const x = true ? pure(42) : fail("string");

TypeScript infers Either<{},number> | Either<string,{}> instead of the expected Either<string,number>.
To fix the first problem I could define pure to return Either<any,V>. But I don't want to do that, to allow TypeScript to automatically infer E from context. Such as in this case:
// The Monad `bind` function
function bind<E,A,B>(x: Either<E,A>, f: (a: A) => Either<E,B>): Either<E,B> {
    // Incomplete implementation of this function! Only for illustration purposes.
    throw new Error('Implement me!');
}

const x = bind(pure(42), n => fail("error"));

TypeScript infers x as Either<{},{}>, but it should be Either<string,V>. The E type parameter must be the same in both arguments as well as the return type of the whole function, and because the second argument (the function f) binds it to a string, it should remain a string.
If I change pure to return Either<any,V> and fail to return Either<E,any> then the type of x changes to Either<any,any>, which is not much better.
It would be nice to have an option like noImplicitAny to make it an error if TypeScript infers {} as a type parameter.
I could solve all these issues by always explicitly attaching the types to function calls and var/let/const statements. But that adds a lot of noise to the code, which is particularly annoying for simple cases where TypeScript should be able to infer the correct types.

It sounds like you want two main things: (1) variables to have types with unbound type variables. The shortest example of your problem is
interface Either<E,V> { e: E, v: V }
declare function pure<E,V>(v: V): Either<E, V>
const x: Either<E,number> = pure(1); // what is E? TypeScript needs to know.

TypeScript just can't do this -- it never carries around type variables with a value's variable. And it only infers from argument types.
It also looks like you want whole-program type inference, in order to infer the type from two different branches of a conditional:
const x: Either<string, number> = true? pure(42) : fail("string");

TypeScript definitely does not do this -- it always works bottom up except when contextually typing, which only applies to a few constructs that would otherwise nearly always need type annotations, like object literals and lambdas.
@DanielRosenwasser worked on an error for failure when type inference produces {}, so he can comment on the feasibility of that.
The short summary is that TypeScript's type system is so far from Haskell that it's not feasible to provide many of Haskell's features.

With the nightly build and strict null checking mode you can get pretty close by using undefined as the unbound type:
// Compile with --strictNullChecks

interface Either<E, V> { e: E | undefined; v: V | undefined }

function pure<V>(v: V): Either<undefined, V> { return { e: undefined, v }; }
function fail<E>(e: E): Either<E, undefined> { return { e, v: undefined }; }

function f(x: Either<string, number>) {}

const x = pure(1);  // Either<undefined, number>
f(x);  // Ok

const xx = !!true ? pure(42) : fail("string");  // Either<undefined, number> | Either<string, undefined>
f(xx);  // Ok

const x: Either<E,number> = pure(1); // what is E? TypeScript needs to know.

TypeScript is allowed to infer it as any or undefined here. But then when I use x as the first argument of the bind function it should know that that any must be the same type as the E of the function's return type and the return type of the second argument (the f callback). And when I make the return type of bind rigid at the call site, that information should propagate backwards and forwards to any type parameter which is related, and if those don't unify then it should be an error.

Is the following code caused by the same underlying issue or is this something that is reasonably easy to add?
function f<T>(): T { return null;}
function g<T>(x: T): void {}

g<string>(f()); // argument of type '{}' not assignable to parameter of type 'string'

I have an even simpler example:
function f<T>(): T { return null; }
const x: string = f(); // same error

Yes, this is exactly how type parameter inference works in typescript. It only proceeds from function arguments, so a function with no arguments will just default to {}.
Unfortunately, {} and any are both concrete types, not fresh types that will later widen to or unify with some other type from context. Once you have {}, you're stuck with it. And any is even worse. It often infects other expressions.
I believe this architecture was chosen for locality of errors in an incremental context (intellisense, basically) and similarity to existing systems that work the same way (C# and Java, basically). @ahejlsberg can comment more about architectural decisions if you're curious.


feat: allow to customize the wrapper of a leaf

fixes https://github.com/rockettomatooo/slate-react-presentation/issues/6

fixes https://github.com/rockettomatooo/slate-react-presentation/issues

@macrozone makes sense. Thanks for the contribution!


Merge lora script

Provide a script for merging LoRA weights as described in #494.
If you think this is a good idea, this PR provides an example of how to implement such a script.
Example 1: Training on 2 datasets
Finetune on a dataset as usual:
python scripts/download.py --repo_id tiiuae/stablelm-base-alpha-3b

python scripts/prepare_alpaca.py

python finetune/lora.py \
  --checkpoint_dir "checkpoints/stabilityai/stablelm-base-alpha-3b/" \
  --data_dir "data/alpaca" \
  --out_dir "out/lora_stage_1/stablelm-base-alpha-3b/"

Merge lora weights with model:
python scripts/merge_lora.py \
  --checkpoint_dir "checkpoints/stabilityai/stablelm-base-alpha-3b/" \
  --lora_path "out/lora_stage_1/stablelm-base-alpha-3b/lit_model_lora_finetuned.pth" \
  --out_dir "out/lora_stage_1_merged/stablelm-base-alpha-3b/"

Copy .json files and config and tokenizer (there may be a more elegant solution)
scp checkpoints/stabilityai/stablelm-base-alpha-3b/*.json \
out/lora_stage_1_merged/stablelm-base-alpha-3b/

Finetune on 2nd dataset, using the merge model as the base model:
python scripts/prepare_dolly.py

Update finetune/lora.py to useoverride_max_seq_length = 2048 and micro_batch_size=2.
python finetune/lora.py \
  --checkpoint_dir "out/lora_stage_1_merged/stablelm-base-alpha-3b/" \
  --data_dir "data/dolly" \
  --out_dir "out/lora_stage_2/stablelm-base-alpha-3b/"

Example 2: Inference
Regular finetuning and lora inference:
python finetune/lora.py \
  --checkpoint_dir "checkpoints/stabilityai/stablelm-base-alpha-3b/" \
  --data_dir "data/alpaca" \
  --out_dir "out/lora_stage_1/stablelm-base-alpha-3b/"

python generate/lora.py \
  --checkpoint_dir "checkpoints/stabilityai/stablelm-base-alpha-3b/" \
  --lora_path "out/lora_stage_1/stablelm-base-alpha-3b/lit_model_lora_finetuned.pth"

With merged lora weights:
python scripts/merge_lora.py \
  --checkpoint_dir "checkpoints/stabilityai/stablelm-base-alpha-3b/" \
  --lora_path "out/lora_stage_1/stablelm-base-alpha-3b/lit_model_lora_finetuned.pth" \
  --out_dir "out/lora_stage_1_merged/stablelm-base-alpha-3b/"

scp checkpoints/stabilityai/stablelm-base-alpha-3b/*.json \
out/lora_stage_1_merged/stablelm-base-alpha-3b/

python generate/base.py \
  --checkpoint_dir "out/lora_stage_1_merged/stablelm-base-alpha-3b/"

[x] figure out why there is an extra "condense_ratio" config key that is not supported by Config, then remove line del config_params['condense_ratio']
[x] Figure out why second finetune/lora.py causes an out-of-memory error
[ ] add documentation to lora finetuning tutorial

Hm, I am bumping into some weird behavior. "Example 1: Training on 2 datasets" in the description above works fine but "Example 2: Inference" doesn't. Apparently, there are
"Missing key(s) in state_dict: ... transformer.h.12.attn.attn.lora_B"

Why it's weird is that the issue occurs when calling
python generate/base.py \
  --checkpoint_dir "out/lora_stage_1_merged/stablelm-base-alpha-3b/"

but
python finetune/lora.py
--checkpoint_dir "out/lora_stage_1_merged/stablelm-base-alpha-3b/"
--data_dir "data/alpaca"
--out_dir "..."
works fine. Are the checkpoint directories used differently in finetune/lora.py and generate/base.py @carmocca ?

Thanks so much for all the code rewrites and fixes. It works flawlessly now. I also added a small tutorial section. I think it's good to merge now! 🚀


support nest type alias with topology sort

close #927
Checklist

[x] An issue to be fixed by this PR is listed above.
fix #927
[x] New tests are added to ensure new features are working. End-to-end tests are usually in the ./frb_example/pure_dart example, more specifically, rust/src/api.rs and dart/lib/main.dart.
[x] The code generator is run and the code is formatted (e.g. via just refresh_all).
[ ] If this PR adds/changes features, documentations (in the ./book folder) are updated.
[ ] CI is passing.

Remark for PR creator

New contributors will be blocked by GitHub from running CI, but you can use a trick to workaround this, and verify your code using CI by yourself.
If fzyzcjy does not reply for a few days, maybe he just did not see it, so please ping him.

Looks good! will review soon (probably today)

I've tried so many times that I've lost track of how to change it.
Forgive me for my ability to resist frustration.
Also, because ret is a return value, I give it ownership. If you want it to be a reference, I think you have to reset the ownership.
And of course, if you look below,
You have ownership of the key and you have ownership of the value because they're all functionally resolved.
If it is reference here, then go to clone and all this ownership will be wasted

I've tried so many times that I've lost track of how to change it.
Forgive me for my ability to resist frustration.

well then just keep it the old way, not a huge problem

@fzyzcjy Should CI just be a minor issue, should we merge, or something else?


[LW-9407] Quorum step storybook setup set

Checklist

[x] JIRA - LW-9407
[ ] Proper tests implemented
[x] Screenshots added.

Proposed solution

Add the design system component for radio button
Add the design system component for dropdown selectors
Add the view for the Quorum set up step

Testing

Run the storybook package in packages/UI and check Radio button and Select group.
Run storybook in packages/core and check the UI for the quorum step

Screenshots

Select component:

Radio button component:

Quorum screen:

Changes unknown
when pulling 9c3ee694256889d5f3cff94a1ee78b4ce1aacb6e on feat/lw-9407-quorum-storybook-setup-set
into ** on feat/lw-9403-lw-9413-add-shared-wallet**.

@renanvalentin @DominikGuzei You're feedback has been added, I have changed the branch of my PR to point to main so until feat/lw-9403-lw-9413-add-shared-wallet  get's merged, the diff will show more files.

@VanessaPC I just saw that there are some merge conflicts (probably also due to sqash and merge having changed the history of my PR and now git is confused). Let me know if you need support on solving these, i can see most of the conflicts are caused by files of my PR


Remove unnecessary wrapping of TupleAdaptedFunction in function chain

In the FunctionChain builder, there is a method to help with creating tuple adapted functions. However it currently wraps it in a composite unnecessarily:
    public <R> Builder<I, O> execute(final R[] selection, final Function function, final R[] projection) {
        components.add(
                new TupleAdaptedFunctionComposite.Builder()
                        .select(selection)
                        .execute(function)
                        .project(projection)
                        .build()
        );
        return this;
    }

As the class is a composite itself, it does not need to create composites inside, especially as there is no way for that method to take more than one function.

Merged into develop


Switch clientAuthentication : Add client_secret_post as client authentication method for token endpoint

Add a 3rd possibiliity in the switch :
Public client
Basic authentication
Client secret post
the 2 fields client_id and client_secret are removed see new ticket see https://github.com/TalaoDAO/AltMe/issues/2205
if parameter    "clientAuthentication" = ""client_secret_post"
token requests is like that
Example

POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded

  grant_type=urn:ietf:params:oauth:grant-type:pre-authorized_code
  &pre-authorized_code=SplxlOBeZQQYbYS6WxSbIA
  &client_id=4648677
  &client_secret=LMLKHMLJNK

It means that "client_id" and "client_secret" is added in the request data in the payload
Be careful clientAuthentication have 4 possibilities  enum:

"none" -> already coded
"client_secret_basic"  -> alreday coded clientid and client_secret are in the header in  base64 format
"client_secret_post" -> this ticket
"client_secret_jwt" -> this the same as the request to get the configuration file with the wallet instance

the option "client_secret_jwt" is not available in the switch but only from the portal

if client authentication = client_secret_basic
token request is like :
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

grant_type=authorization_code
&code=SplxlOBeZQQYbYS6WxSbIA
&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk

with Authorization: Basic <base64(client_id:client_secret)>

if client authentication = client_secret_jwt
token request is like :
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&code=SplxlOBeZQQYbYS6WxSbIA
&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
&client_assertion=eymldmlkhkdklhfjkljkfé
&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer

with Authorization: Basic <base64(client_id:client_secret)>


better domain name for the hosted service

It would clearly help build more trust if notifico would run on a domain name cotaining notifico instead of its current cryptic name... which made me wonder about its future/safety initially.

n.tkte.ch is my personal notifico instance. It was always intended for people to run their own. It's never been linked to by me or advertised/announced anywhere. However by word of mouth it's ended up getting quite a few users and I've kept it running for seven years.
It is not going anywhere, and is on a reserved instance prepaid for several years. But it will never leave n.tkte.ch.

Thanks for clarifining, not really a big deal. I am sure that that there are lots of people really appreciating the effort invested in running it.


Fix null derefrences while loading compiled rules

While reading compiled rules file - there are a couple of places where a NULL dereference could happen.

yr_arena_get_ptr could return NULL which is not checked in  https://github.com/VirusTotal/yara/blob/929af6ef214e595d9f1a06cfaf048bf439e6b933/libyara/rules.c#L333-L343
b->data could be NULL in yr_arena_load_stream in https://github.com/VirusTotal/yara/blob/929af6ef214e595d9f1a06cfaf048bf439e6b933/libyara/arena.c#L597-L610

I can attach some sample testcases that could trigger these code paths.

For 1 the backtrace looked like
AddressSanitizer:DEADLYSIGNAL
=================================================================
==6285==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fe328a8375f bp 0x7fff6df4c210 sp 0x7fff6df4c130 T0)
==6285==The signal is caused by a READ memory access.
==6285==Hint: address points to the zero page.
    #0 0x7fe328a8375f in yr_rules_from_arena /home/test/test/yara/libyara/rules.c:342:35
    #1 0x7fe328a83b6f in yr_rules_load_stream /home/test/test/yara/libyara/rules.c:378:3
    #2 0x4cf38b in main /home/test/test/yara/cli/yara.c:1452:16
    #3 0x7fe327988c86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310
    #4 0x41d1c9 in _start (/home/test/test/yara/.libs/yara+0x41d1c9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/test/test/yara/libyara/rules.c:342:35 in yr_rules_from_arena
==6285==ABORTING

For 2
AddressSanitizer:DEADLYSIGNAL
=================================================================
==6330==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000004 (pc 0x7fe03ca88bdd bp 0x7ffdee203ad0 sp 0x7ffdee203860 T0)
==6330==The signal is caused by a READ memory access.
==6330==Hint: address points to the zero page.
    #0 0x7fe03ca88bdd in yr_arena_load_stream /home/test/test/yara/libyara/arena.c:608:5
    #1 0x7fe03cb13ade in yr_rules_load_stream /home/test/test/yara/libyara/rules.c:374:3
    #2 0x4cf38b in main /home/test/test/yara/cli/yara.c:1452:16
    #3 0x7fe03ba18c86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310
    #4 0x41d1c9 in _start (/home/test/test/yara/.libs/yara+0x41d1c9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/test/test/yara/libyara/arena.c:608:5 in yr_arena_load_stream
==6330==ABORTING

I can push the test cases to
https://github.com/VirusTotal/yara/tree/master/tests/data if needed


Fix Constant Pruning Modifier

The mask calculation in the constant pruning modifier was inverted, this one character PR fixes it!
Testing
Constant pruning modifier is tested in this branch: https://github.com/neuralmagic/sparseml/tree/modifier-refactor-constant-pruning-bug
Run python bug_constant_pruning to confirm constant pruning modifier is working as intended

Let's Go!!


Detected blocking call to import_module inside the event loop

HA core version
2024.5.1
Intergration version
0.3.24
Device type and model
Air Conditioner 00000Q13 (8) and Air Conditioner 00000Q18 (44204)
Used App
MSartHome and Home Assistant
The description of problem
Registratore: homeassistant.util.loop
Fonte: util/loop.py:99
Prima occorrenza: 19:40:39 (4 occorrenze)
Ultima registrazione: 19:40:39
Detected blocking call to import_module inside the event loop by custom integration 'midea_ac_lan' at custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package) (offender: /config/custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package)), please create a bug report at https://github.com/georgezhao2010/midea_ac_lan/issues
The logs
2024-05-03 19:40:19.859 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration midea_ac_lan which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-05-03 19:40:39.334 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module inside the event loop by custom integration 'midea_ac_lan' at custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package) (offender: /config/custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package)), please create a bug report at https://github.com/georgezhao2010/midea_ac_lan/issues
2024-05-03 19:40:39.363 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module inside the event loop by custom integration 'midea_ac_lan' at custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package) (offender: /config/custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package)), please create a bug report at https://github.com/georgezhao2010/midea_ac_lan/issues
2024-05-03 19:40:39.374 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module inside the event loop by custom integration 'midea_ac_lan' at custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package) (offender: /config/custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package)), please create a bug report at https://github.com/georgezhao2010/midea_ac_lan/issues
2024-05-03 19:40:39.384 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module inside the event loop by custom integration 'midea_ac_lan' at custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package) (offender: /config/custom_components/midea_ac_lan/midea/devices/init.py, line 23: module = import_module(device_path, package)), please create a bug report at https://github.com/georgezhao2010/midea_ac_lan/issues
Debug logging:
home-assistant_midea_ac_lan_2024-05-05T11-40-46.319Z.log

@Dino0005 my change with a fix just got merged. Could you please test it and share your results?

Hi @attilaersek ,
I'm on HA 2024.5.2, I replaced these files:
custom_components/midea_ac_lan/init.py
custom_components/midea_ac_lan/manifest.json
custom_components/midea_ac_lan/midea/devices/init.py
and after rebooting I no longer had this issue.
Thanks


add option to disable moving the dom element

Hey, I was trying to use tether with Ember.js and it works more or less fine. I encountered a problem while trying to test a component I made with tetherjs. The problem is that tether always moves the element to the body tag and I get why it does so (predictable positioning).
But when I am running the ember test suite it renders the ember application into a special container, and not like normally into the body tag. I need to be able to tell tether to stop moving the element during the tests, where the position isn't really important, because it breaks my app when it tries to move the element to the body tag.
As far as I am aware there is one more place where tether moves the element to the body tag, but that can be disabled by disabling the moveElement option.
I am of course open to changing the name of the option or other suggestions you may have. This is just something that is really neccesary to be able to use tether at all in my app.

Hi,
I have a more critical issue with this behavior. I'm have an Ember.JS components with some containing controls which opens as a tethered element.
The problem is that I cannot handle the events in the parent component because Ember's event model seem to require that events must origin from an actual DOM child.
I tried to disable the movement as in this PR. Then unfortunately the positioning seems not to be correct in a scrolling container :(
Anyways, I think it's no intuitive to have an option moveElement and when set to false to still move the element, so this PR should be accepted and/ or merged with moveElement.
Greets

I also support this PR, we are currently using ember-wormole which warps the element to another specified container already (typically somewhere near the body in the DOM). For liquid-fire (animation) integration we are going to need to be able to attach the tether to some child of the body rather than to the body itself.

Looks like the project source code was changed from coffeescript to ec6... thus blocking the pull request?

I too am having a similar issue with my app. My use case requires me to make the tethered element a child of another element in the DOM other than body. I wonder if it would be more beneficial to have an optional parameter (newRoot?) that defines where the tethered element is placed. This should be able to handle the Ember.js use cases as well as further abstracting some of the functionality of this library.

I submitted #96, which updates this PR and bumps the version number. Still haven't gotten a response from HubSpot, hopefully that'll come soon.

The conversation seems to be continuing in #96, so closing in favor of that PR


[Core] Configure destination caching timeout

Details
Currently if a destination is not found initially it will not be retried for 5 minutes. For development purposes this cache may be disabled
Target
Allow destination cache to be configurable via environment variable
See https://github.com/SAP/cloud-sdk/issues/599 how to work around the inability to configure the library itself

This issue is closed as the project is no longer maintained


Change typehinting in Bladecompiler to extend via __invoke

With this change you can extend Blade with classes that implement __invoke in addition to anonymous functions

Send to 5.1 please, and also use tabs for indentation, and don't change the spacing in the docblock. It was 2 spaces for a reason.

Wow, that was quick :-) Just to be sure: With 5.1 you mean master ? I thought, i should send it to 5.0 because of:
"Minor features that are fully backwards compatible with the current Laravel release may be sent to the latest stable branch."

This is a breaking change to the method signature of a public method.

Sorry to bother you again :-(
I don´t really see, where this change ist "breaking" ? I´m with you, that the method signature changes with this commit. But it is still possible to extend Blade with an anonymous function like before (see https://gist.github.com/bastiankoetsier/a49e4d28bf36f29a8161). Additionally you are able to pass a class to the extendmethod, that implements __invoke, so basically more flexibility.
After this is clear, i´m going to send this PR to every branch you like :-)

It's breaking for class extention.

Thanks for clarification !
PR incoming in master :-)

It's possible Taylor will disagree with me and want this on 5.0, but we'll see. Thanks anyway.


Rename UseRandomizedSession to UseRandomizedSchema.

Initially we thought of merging @UseHashJoins & @UseSemiJoins
with UseRandomizedSession but this is causes issues when overriding, eg:
@UseRandomizedSession(schema=true, useHashJoins=0.5, useSemiJoins=0.5)
TestSuperClass
@UseRandomizedSession(schema=false, useHashJoins=0.5, useSemiJoins=0)
TestClass
@UseRandomizedSession(useHashJoins=true)
testMethod()
Then when we get the annotation of the method we get the one that is on
the method itself and not a "merged" version with the annotation of the class.
This means that for the example above the active config for the testMethod()
would be: schema=true, useHashJoins=1, useSemiJoins=0.5 because for schema
and useSemiJoins the default values would be used.
A solution would be to merge the annotation from the class/method hierarchy
manually but this makes things quite complicated.
Instead we rename the UseRandomizedSession to clarify that we have 3
separate each for the specific randomness config we want to achieve.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0e54d7d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #6941   +/-   ##
=========================================
  Coverage          ?   83.08%
  Complexity        ?    13365
=========================================
  Files             ?     1536
  Lines             ?    49750
  Branches          ?     5982
=========================================
  Hits              ?    41337
  Misses            ?     5604
  Partials          ?     2809

Continue to review full report at Codecov.

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