SOLR-16842: Back port to branch 9x

https://issues.apache.org/jira/browse/SOLR-16842
Description
Backport to branch_9x.
Solution
Please provide a short description of the approach taken to implement your solution.
Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[ ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[ ] I have developed this patch against the main branch.
[ ] I have run ./gradlew check.
[ ] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

Humm..  I expected Crave and all the script tests to run on github.....

I think you used the wrong JIRA in the title and description. Could you add some content to the title in addition to the backport?

I think you used the wrong JIRA in the title and description. Could you add some content to the title in addition to the backport?

Argh, that is what I get for not copy-pasting the JIRA ticket number!

Okay, this is starting to turn into a bear...    I'm working through dealing with the fact that in 9x most of our tools don't have basicauth, and that there are lots of bats tests on main that aren't on branch_9x...    We'll see....

Perhaps more of the actions should run for PRs against the stable branch, e.g. add stable branch to https://github.com/apache/solr/blob/main/.github/workflows/tests-via-crave.yml#L6

I merged the changes to github workflows and triggered a new build. The precommit workflow now runs, but I cannot see the other workflows kicking off...

I'll take a stab at some of the failures...

Pushed some commits that at least makes Solr compile, and Fixes HealthCheckToolTest.
I propose that we revert most .bats files to testing original (deprecated) options, so we know the old cli API works.
I can see some confusion with /solr url suffix.

Okay, this is starting to turn into a bear... I'm working through dealing with the fact that in 9x most of our tools don't have basicauth, and that there are lots of bats tests on main that aren't on branch_9x... We'll see....

Wrt basicAuth support with --credentials, I just kept what 9x already has, i.e. no basic auth support for all the tools, so removed OPTION_CREDENTIALS from those. Kept it for AuthTool only, of course, with added support for -credentials.

Your changes look great, I especially like the helper for deprecated and current option look up.  That type of logic is spread about in the work I did and I guess easy to goof!

Wrt the create tool vs create_collection and create_core, I tried to keep all three, may still be a bit un-polished.

I believe I fixed the docker tests (gradlew testDocker), which failed at create_core_exec :)
But when building locally with gradlew dev, and then running bin/solr create_core -c foo, I get a scary error
java.lang.NoClassDefFoundError: org/apache/solr/logging/MDCSnapshot
I'm not able to proceed with the hunt more for now, but with PR tests running it should be easier for any committer to pick a test failure and fix it!

Fixed the test_auth.bats test in commit https://github.com/apache/solr/pull/2540/commits/f187b3e6fd762a9ba047bf6828193b56e83f6f74.
Reason: A mix of missing back-compat options parsing and missing /solr suffix on baseUrl.

Pushed several changes

Finally fixed the /solr url suffix normalization issue I hope
CreateTool now used for create, create_core and create_collection.
solr create -h usage options printed by SolrCLI (with 120 c width instead of 74)
Docker tests once again pass
BATS tests for auth and create now pass.

Still many BATS tests fail due to missing cmdline definitions...

PackageManagerCLITest.testPackageManager was just a case of solrUrl and solr-url..    The other one may be about dealing with the /solr in the path or not...

I looked a bit more at SolrCloudExampleTest.testLoadDocsIntoGettingStartedCollection to see if I could figure it out...   I thought I had some ideas, but no luck..   I believe we are struggling to detect if we are in cloud mode or not, and maybe we are not crafting the right url..   I checked, and the context route being only on main may be part of the problem:
* SOLR-16911: Establish /solr as the only host context supported by Solr, removing legacy ability to change this.  Solr paths will only be either /solr or /api now.  (Eric Pugh)

Just fixed the test_delete_collection.bats test (Linux only).

Getting there... All BATS tests now run, except these five:
not ok 32 solr help flag prints help in 1521ms
# (from function `assert_output' in file /home/runner/work/solr/solr/.gradle/node/packaging/node_modules/bats-assert/src/assert.bash, line 247,
#  in test file test/test_help.bats, line 26)
#   `assert_output --partial 'Usage: solr COMMAND OPTIONS'' failed

not ok 33 solr with no flags prints help in 133ms
# (in test file test/test_help.bats, line 30)
#   `run -1 solr' failed, expected exit code 1, got 0

not ok 37 status help flag prints help in 183ms
# (from function `assert_output' in file /home/runner/work/solr/solr/.gradle/node/packaging/node_modules/bats-assert/src/assert.bash, line 247,
#  in test file test/test_help.bats, line 55)
#   `assert_output --partial 'usage: status'' failed

not ok 38 healthcheck help flag prints help in 196ms
# (from function `assert_output' in file /home/runner/work/solr/solr/.gradle/node/packaging/node_modules/bats-assert/src/assert.bash, line 247,
#  in test file test/test_help.bats, line 63)
#   `assert_output --partial 'usage: healthcheck'' failed
#
# -- output does not contain substring --
# substring (1 lines):
#   usage: healthcheck
# output (14 lines):
#
#   ERROR: Unrecognized or misplaced argument: --help!

not ok 78 status does not expose cli parameters to end user in 278ms
# (from function `assert_output' in file /home/runner/work/solr/solr/.gradle/node/packaging/node_modules/bats-assert/src/assert.bash, line 247,
#  in test file test/test_status.bats, line 45)
#   `assert_output --partial "ERROR: Unrecognized or misplaced argument: -solr!"' failed

All BATS are green 🦇
Please do a review of my latest couple commits to see if you agree with the decisions.

I looked a bit more at SolrCloudExampleTest.testLoadDocsIntoGettingStartedCollection to see if I could figure it out... I thought I had some ideas, but no luck.. I believe we are struggling to detect if we are in cloud mode or not, and maybe we are not crafting the right url.. I checked, and the context route being only on main may be part of the problem:
* SOLR-16911: Establish /solr as the only host context supported by Solr, removing legacy ability to change this.  Solr paths will only be either /solr or /api now.  (Eric Pugh)

Yea, I gave it a shot as well, but the test (AbstractFullDistribZkTestBase) insists in using some dynamic host-context instead of /solr. I tried hardcoding context as in main, but to no avail. This is a tricky one.

Managed to fix SolrCloudExampleTest by adapt SolrCLI.getSolrClient to use sysProp hostContext from tests if exists. This made the test pass, but now the BATS test for PostTool started failing. Reason was that it used SolrCli.getSolrClient(solrUrl) to get its client for doing commit, with the full http://localhost:8983/solr/mycollection url as base URL. Which no longer works (should it?). So I modified PostTool to instead extract collection name from URL, get a clinent with baseURL and call client.commit(myCollection).

BUILD SUCCESSFUL in 5m 10s (crave from laptop)

@janhoy, just looking again at this one, thanks for all the efforts!!!!    This looks like it's ready to commit?  However before I click "Squash and merge", I wanted to confirm with you!!

It’s the best I could do with my available time. I have NOT done a thorough review of all options in all tools, just fixed the ones causing test failures.
The windows script lacks tests so who knows what works or not? Perhaps we are able to do follow up work on that front?
If no one else are willing to do a more thorough manual review, I believe merging this as is, is better than not merging.
And very important: some of my commits may include fixes that should be forward ported to main. We should make a placeholder JIRA to research what that might be.

Good thoughts here @janhoy...   I will leave this open for another day or so, and then look to commit it.  I will put out an appeal to the dev mailing list when 9.7 release process starts asking for additional testing of bin/solr.cmd...

I filed SOLR-17371 for forward-porting.
Also synced PR branch with branch_9x.

This fails:
./gradlew :solr:core:test --tests "org.apache.solr.cloud.SolrCloudExampleTest.testLoadDocsIntoGettingStartedCollection" -Ptests.jvms=96 "-Ptests.jvmargs=-XX:TieredStopAtLevel=1 -XX:+UseParallelGC -XX:ActiveProcessorCount=1 -XX:ReservedCodeCacheSize=120m" -Ptests.seed=44FFA474CD768986 -Ptests.timeoutSuite=600000! -Ptests.file.encoding=UTF-8

however this passes:
./gradlew :solr:core:test --tests "org.apache.solr.cloud.SolrCloudExampleTest.testLoadDocsIntoGettingStartedCollection"

okay, it fails on that tests.seed value.   How can I step through the test in intellij with that seed value?

looks like logic to identify a nodename assumes one _ and we have two _ chars!

Found a string comparison bug. For hostContext=/box/, in some code that was supposed to strip the context from URL, but failed due to training slash confusion. Pushed a fix, will see how it jives..

Found a string comparison bug. For hostContext=/box/, in some code that was supposed to strip the context from URL, but failed due to training slash confusion. Pushed a fix, will see how it jives..

Test now passes locally for me!  I think we are ready to merge!


revert(package_controller): revert read all changes

Revert https://github.com/leptonai/gpud/commit/bbe44e9d9cf558c64d5dc271cb7ec8c712244ffd#diff-c906605e748d121b3971e1a345a1d43b1d73c6fa835fe8636433ce211a781063L326

c.f., https://github.com/leptonai/gpud/pull/253


spring-cloud-alibaba-nacos-discovery AutoServiceRegistion do not run the start method

AutoServiceRegistion do not run the start method  when SpringCloud's version base on 2.0.0+ in module spring-cloud-alibaba-nacos-discovery.

could you give a Minimal, Complete, and Verifiable example to give more detail about this issue?

by the way, you can refer this example. https://github.com/spring-cloud-incubator/spring-cloud-alibaba/tree/master/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example

corresponding version of spring cloud Edgware  is 0.1.0-BUILDSNASHOT,  corresponding version of spring cloud Finchley is 0.2.0-BUILDSNASHOT.

Thank you for your reply. The example you gave can run normally. I've integrated it into my project, and it's possible that a conflicting problem caused the registration to become unavailable . I've tested it out. Thanks a lot.


AttributeError: 'ModelPatcher' object has no attribute 'model_keys'.

When I was using the AnimateDiffEvo animatediff loader node to create a video, I encountered the following error at this node. What is the problem? Please help me take a look, thanks。
ERROR:
Ckpt:
[1] dreamshaper_8
Lora:
[1] base_ckpt: dreamshaper_8
lora(mod,clip): v3_sd15_adapter(0.5,0.6)
[AnimateDiffEvo] - INFO - Loading motion module v3_sd15_mm.ckpt
!!! Exception during processing!!! 'ModelPatcher' object has no attribute 'model_keys'
Traceback (most recent call last):
File "D:\AIPaint\new\ComfyUI-aki-v1.3\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "D:\AIPaint\new\ComfyUI-aki-v1.3\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "D:\AIPaint\new\ComfyUI-aki-v1.3\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "D:\AIPaint\new\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\nodes_gen1.py", line 160, in load_mm_and_inject_params
model = ModelPatcherAndInjector(model)
File "D:\AIPaint\new\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\model_injection.py", line 36, in init
self.model_keys = m.model_keys
AttributeError: 'ModelPatcher' object has no attribute 'model_keys'. Did you mean: 'model_dtype'?
Prompt executed in 5.81 seconds
FETCH DATA from: D:\AIPaint\new\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-Manager\extension-node-map.json [DONE]

https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved/issues/394
Just update AnimateDiff-Evolved,  otherwise it wikt work on newer versions of ComfyUI.

#394
Just update AnimateDiff-Evolved, otherwise it will not work on newer versions of ComfyUI.

It's OK ! Thank you very much,! Love!


fix event listener binding on leave/join, add test, fixes #184

Also change EventEmitter to a proper one

lgtm besides the little comment in the edit


AsyncPlayerChatEvent spams console

i keep getting this block of error message in my console: http://pastebin.com/BWnhM2qk
is there any way to get rid of it? i am using the default config, outside of MySql database info.

Please do the following for us:

[ ] Update your Multiverse-Core version http://ci.onarandombox.com/view/Multiverse/job/Multiverse-Core/
[ ] Post the results of /mv version -g

I am still running 1.8, i did the command, then realized you might want it after i update. here is the results from the currently installed plugin : http://pastebin.com/1FQxSckh

Change %CHAT% to %chat%, the case matters.

NOTE: don't forget to run /mv reload after editing the config.

that fixed it! thanks so much! now it's not such a headache to review console logs. :) :+1:


Support rerendering the toolbar on HTMX boosted pages.

This reworks the JavaScript integration to put most event handlers on document.body. This means we'll have slightly slower performance, but it's easier to handle re-rendering the toolbar when the DOM has been replaced.

@knyghty can you verify that this resolves the issue on your project?

@tim-schilling once I use the snippet from the example it works fine, yes 👍🏻


Split tsr

This branch removes the tsr subfolder from the prpy package and changes the imports to reflect that.

Tests fail due to an assortment of ImportErrors. The root cause is a tsr.py in prpy.planning that is found before the tsr module. Renaming tsr.py seems to fix that issue. I'll let you pick the new name.
In addition, there were a couple of places that passed the manip parameter to TSR, which seems like it should be manipindex. Changing that in 8dbb20adc8b746562e27b481b51d8c389157df88 made the tests pass.

These are the changes so that prpy/tests/planning now all run:

Renamed tsr.py to tsrplanner.py
Changed __init__.py to import from tsrplanner

The final change is to base/robot.py to change the constructor call to tsrlibrary
The call now provides the manipindex argument to be compatible with  tsr without OpenRAVE dependencies


Add "How to contribute" session in README.md to Gradle users

Continuing #790 work, add instructions for building and testing Takes with Gradle instead of Maven including the execution of all integration tests and qulice profile for static analysis.

@yegor256/z please, pay attention to this issue

0crat in

@0crat status

@0crat status (here)

@paulodamaso This is what I know about this job in C3FFK3YAY, as in §32:

The job #847 is in scope for 21s
The role is DEV
The job is not assigned to anyone
The budget is not set yet
Job footprint (restricted area)

Bug was reported, see §29: +15 point(s) just awarded to @paulodamaso/z

The job #847 assigned to @victornoel/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat refuse

Tasks refusal is discouraged, see §6: -15 point(s) just awarded to @victornoel/z

The job #847 assigned to @krzyk/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat refuse

@0crat refuse (here)

@krzyk The user @krzyk/z resigned from #847, please stop working. Reason for job resignation: Order was cancelled

@0crat assign @marceloamadeu

@0crat assign @marceloamadeu (here)

@paulodamaso The job #847 assigned to @marceloamadeu/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

Manual assignment of issues is discouraged, see §19: -5 point(s) just awarded to @paulodamaso/z

The user @marceloamadeu/z resigned from #847, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @marceloamadeu/z

@0crat assign @fabriciofx

@0crat assign @fabriciofx (here)

@paulodamaso The job #847 assigned to @fabriciofx/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

Manual assignment of issues is discouraged, see §19: -5 point(s) just awarded to @paulodamaso/z

@fabriciofx  Closed due https://github.com/yegor256/takes/pull/919#issuecomment-450050226

Job was finished in 4 hours, bonus for fast delivery is possible (see §36)

@ypshenychka/z please review this job completed by @fabriciofx/z, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

The job #847 is now out of scope

@fabriciofx According to our QA Rules:

Ticket must have references to all pull requests where the problem was actually fixed

Please add reference to corresponding PR (e.g. by mentioning this issue in PR's description)

@ypshenychka I've edited my comment in the PR as you can see here. Could you check if everything fine now? Thanks!

@fabriciofx Thanks

@0crat quality acceptable


CB-14252: Allow to send --silent arg to run command to disable output

What does this PR do?
Allows to hide console output when launch cordova run browser
Checklist

[x] Reported an issue in the JIRA database
[x] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
[ ] Added automated test coverage as appropriate for this change.

Does this option exist for other platforms?
Where would this have to be documented?

No, there isn't any similar option in other platforms, same for port and target options that already are in this platform.
Unfortunately I was not able found any documentation for cordova browser.


Search function

Currently the search function doesn't work. Should implement at least a simple search for keywords/tags/data sources.
At the same time each tag/data source should be converted into a link

menu bar search works, searches over all available fields
tags & data sources link to subsetted search
as does clicking user names


Inconsistency in types between bool and boolean

I've noticed that in our docs we say
Supported types
Guardrails supports many data types, including:, string, integer, float, boolean, list, object, url, email and many more.

But boolean doesn't work as defined in the Guardrails spec. Instead, it seems like we have to use bool.
https://github.com/ShreyaR/guardrails/blob/1ec0183c6c519b51248abc14d6d4048d9f8fdf1b/guardrails/datatypes.py#L154-L155
Should we move to boolean or update the documentation to ensure it maps to the code?

@woop good catch! Updating the docs so that they're consistent with the code definition sounds good to me.
Long term, it would be good to be consistent with JSON schema types, possibly whenever there are other breaking changes to the spec

Closing; docs have been fixed since.


Allow export as namespace alongside commonJS's export =

Search Terms
export as namespace lodash umd commonjs
Suggestion
This is coming from this issue:
https://github.com/Microsoft/TypeScript/issues/29039
Basically vscode auto-import won't work with lodash's .d.ts file because, and I quote @aleclarson:

When export = is used, a CommonJS module is implied, which means named exports (eg: export const) are no longer allowed (since that's an ESM feature). The problem is that named exports are required for auto-import to work.

He suggested that I open a new proposal for:

export as namespace to be used as a hint that auto-import can suggest the namespace's properties.

Use Cases
This would allow lodash to be auto-completed because named exports would then be allowed side-by-side with commonJS.
Checklist
My suggestion meets these guidelines:

[?] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[?] This wouldn't change the runtime behavior of existing JavaScript code
[?] This could be implemented without emitting different JS based on the types of the expressions
[?] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[?] This feature would agree with the rest of TypeScript's Design Goals.

Thanks!
Linked issues:
https://github.com/Microsoft/TypeScript/issues/10907
https://github.com/Microsoft/TypeScript/issues/24719
https://github.com/Microsoft/TypeScript/issues/26299

#29039 is completely off the rails 😢
export as namespace has nothing to do with import _ = require("lodash"), and UMD-ness doesn't affect whether or not auto-imports are available from a file. The ability to destructure from a module that purports to be a CommonJS module via an export =  declaration is a feature that would occur based on the loader, not the module.


RxJs encounters build error with TypeScript 2.4.1

RxJS version:
5.4.1
Code to reproduce:
N/A. See Additional information below.
Expected behavior:
Successful build
Actual behavior:
Build error:
ERROR in node_modules/rxjs/Subject.d.ts (16,22): Class 'Subject<T>' i
ncorrectly extends base class 'Observable<T>'.
  Types of property 'lift' are incompatible.
    Type '<R>(operator: Operator<T, R>) => Observable<T>' is not assignable to type '<R>(operator: Operator<T,
R>) => Observable<R>'.
      Type 'Observable<T>' is not assignable to type 'Observable<R>'.
        Type 'T' is not assignable to type 'R'.

Additional information:
Steps to reproduce the error:

npm install -g @angular/cli
ng new my-project
cd my-project
Inside package.json, change typescript version to 2.4.1
npm update
ng build
Build fails

Build fails with TypeScript 2.4.1
Build passes with TypeScript 2.4.0

dupe of https://github.com/ReactiveX/rxjs/issues/2699 and https://github.com/ReactiveX/rxjs/issues/2539 .


SearchVoice button isn't showing up

voice button isn't avialable in my application, but i can use it in your demo app
what is the problem, have also used
searchView.setVoiceSearch(true);

I'm experiencing the same thing.

hope it will fixed soon.. @nathanjones

Me too.

me too

Same problem here

Same here...
Please fix asap...

Fixed That. Please accept the PR.

Still...
Not showing the voice search button..

I'm having the same issue. If this PR could be accepted that would be greatly appreciated.


Terminal doesn't always render initially when using PseudoTerminal and task custom execution

VSCode Version: Version: 1.43.2 (system setup)
Commit: 0ba0ca52957102ca3527cf479571617f0de6ed50
Date: 2020-03-24T07:38:38.248Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0

OS Version:
OS: Windows_NT x64 10.0.19600

Steps to Reproduce:
Our extension registers a custom task provider and it provides tasks with custom execution and the following presentation options:
{
            clear: true,
            focus: false,
            reveal: vscode.TaskRevealKind.Always
};

If the terminal "tab" is not already selected for some other reason (say power shell started, etc.) then when the task runs, the terminal dropdown displays the correct task name, but nothing renders.
Note that adding this simple code:
        vscode.window.onDidOpenTerminal((t) => {
            t.show();
        });

Works around this issue.

Does this issue occur when all extensions are disabled?: Yes

@Tyriar & @alexr00 - any update on this? Our customers are starting to notice this issue more.

@GabeDeBacker I'm not able to repro this now. There were some changes in showing tasks in 1.44, do you still see the issue there?

Fixed a similar issue recently https://github.com/microsoft/vscode/issues/94714
The problem there was that when an extension created a terminal and did not call show and then another terminal is shown, there were actually 2 terminal tabs visible at once, one not being drawn (the initial one) and one being draw but it was offscreen.

That was probably it then. I tested in master this time so I had the fix for https://github.com/microsoft/vscode/issues/94714

@GabeDeBacker can you check in Insiders and see if you still have the same problem?

@alexr00  - Hey, sorry about not responding sooner. Checking now

@alexr00 - I can confirm that this is indeed addressed in the insiders version. I'm closing this issue.


[Task]: Extract package job to a new workflow file

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks
No response

Little context on this. Closing it for now.


on the CI/CD, amplifyPush should check when there's no changes

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
amplifyPush pushes backend even when there are no changes.
Amplify CLI Version
4.24.1
To Reproduce
just use amplifyPush on the CI/CD
Expected behavior
amplifyPush should not push the backend when there are no changes.
Screenshots
N/A
Desktop (please complete the following information):

OS: N/A
Node Version: N/A

Additional context
N/A

@aprilmintacpineda
are you getting this on Amplify Console?

@UnleashedMind yes it's on the Continuous Deployment on the amplify console. I have the following amplify.yml
version: 1
backend:
  phases:
    build:
      commands:
        - '# Execute Amplify CLI with the helper script'
        - amplifyPush --simple
frontend:
  phases:
    preBuild:
      commands:
        - yarn install
    build:
      commands:
        - yarn run build
  artifacts:
    baseDirectory: build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

Is it also updating other resources even when there are no changes? because it seems so..


How to impl a trait for failure::Error?

I trying to migrate from quick_error to failure with the following code.
This was the original error enum:
quick_error!{
    #[derive(Debug)]
    pub enum AppError {
        Business(err: BusinessError){
            from()
            cause(err)
            description(err.description())
        }
        R2d2(err: r2d2::Error){
            from()
        }
        // ...
        Other(err: Box<error::Error + Send + Sync>){
            from()
            description(err.description())
            from(err: io::Error) -> (Box::new(err))
        }
    }
}

that is used within a rocket module:
type Result<T> = result::Result<Json<T>, AppError>;

#[get("/count/tags")]
fn get_count_tags(db: State<DbPool>) -> Result<usize> {
    let tags = usecase::get_tag_ids(&*db.get()?)?;
    Ok(Json(tags.len()))
}

And here I was able to impl a trait for my custom AppError:
impl<'r> Responder<'r> for AppError {
    fn respond_to(self, _: &rocket::Request) -> result::Result<Response<'r>, Status> {
        Err(match self {
            AppError::Business(ref err) => {
              // ...
            }
            _ => Status::InternalServerError,
        })
    }
}

With failure I don't need the wrapping AppError anymore (👍) so now the Result looks like this:
type Result<T> = result::Result<Json<T>, failure::Error>;

And everything is fine but of course I can't implement a trait for the external failure::Error :(
How would you solve this? Keep using the wrapper AppError that holds all possible error types?
Or use a struct WrappedError(failure::Error) and impl the std::error::Error manually?

Yes, if you need to implement a trait for it, you'll need to use a newtype around it. :-\
If you do that, I recommend adding impl<F: failure::Fail> From<F> for AppError. This makes ? work automatically, just like it does for failure::Error.

Hm... it's a bit complicated :(
Here is my wrapper and result type:
#[derive(Debug)]
enum AppError<'a>{
    Fail(&'a failure::Error),
    Unknown
}

type Result<'a, T> = result::Result<Json<T>, AppError<'a>>;

with
impl<'a, F: failure::Fail> From<F> for AppError<'a> {
     fn from(f: F) -> AppError<'a> {
        if let Some(err) = f.downcast_ref::<failure::Error>() {
            AppError::Fail(err)
        }  else{
            AppError::Unknown
        }
    }
}

but this leads to
let tags = usecase::get_tag_ids(&*db.get()?)?;
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `failure::Error`

And implementing the std::error::Error trait does of course not work for the external failure::Error :-\

The best way to convert your error type to Error is with from(), not downcast_ref. You should do this:
struct AppError(failure::Error);

impl<F: failure::Fail> From<F> for AppError {
    fn from(f: F) -> AppError { AppError(failure::Error::from(f)) }
}

I'm sorry for bothering you:
/ impl<F: failure::Fail> From<F> for AppError {
|     fn from(f: F) -> AppError { AppError(failure::Error::from(f)) }
| }
|_- first implementation here

/ impl From<failure::Error> for AppError {
|    fn from(e: failure::Error) -> AppError { AppError(e) }
| }
|_^ conflicting implementation for `infrastructure::web::AppError`

Ugh that's very unfortunate! I'm sorry, I thought it would work, but coherence has bitten us pretty badly here.

I've got a better solution!
If you want to abstract over both F: Fail and failure::Error, you should use the bound T: Into<failure::Error>, which will be implemented for all fail types as well as the error type.
In your case:
impl<T: Into<failure::Error>> From<T> for AppError {
    fn from(t: T) -> AppError { AppError(t.into()) }
}

This should work for you!

Ok, your last hint solved most issues but now I still have problems to match my ErrorKind variants :(
Out of the box failure seems not to support it but I thought  Error and ErrorKind could solve it. Unfortunately I cant setup a working example (see #107).

Slightly off topic, but this last hint has let me refactor how my newtype impl's were structured in https://github.com/tismith/exitfailure - I was running into the same coherence issues as @flosse and using Into<failure::Error> worked a treat.

Any chance we get failure::Error to implement std::error::Error on its own?

After 3 days of trying to coalesce errors between tokio, thrussh, and failure I'm pretty much ready to give up in frustration. It seems like if the story for failure is backwards compatibility then not implementing std::error::Error is a pretty big hole. Thanks.


Rename Microcharts.Forms

Since there's no (easy to find) information detailing the differences between the nuget packages Microchart and Microchart.Forms, I think it'd be very useful to rename Microchart.Forms to Microchart.XamarinForms.

@morphx666  are you even able to install the Microcharts.Forms on your native project ?
It's got a restraint for Xamarin.Forms 3.0 which doesnt even exist :/
Please let me know if you got arround this.

No, I didn't try to install it; I was just considering it for a future project, but the fact that I had to "research" which package to use, I though it might be a good idea to change their names to better reflect their purpose.

The Forms is pretty common for Xamarin.Forms nuget packages (like SkiaSharp.View and SkiaSharp.View.Forms).
And now that it's beeing used it's more complex indicate users to migrate... :(
@christophedemey Try switching to alpha channel for a Xamarin.Forms 2.4.0 compatability (still in preview but supports .NET Standard).

I saw this on dotnet conf as an example and did not know it was not production ready, switching to a preview build of xamarin i cant do that :-(
I guess i'll have to wait for xamarin 3 to be released.

The 2.4 should be available really soon! I’ll publish the release package of Microcharts on the same day.

@aloisdeniel thanks, looking forward to testing this component : -)

It's now released in version 0.7.1!
And as I said, I'm sorry but it will stay as Microchars.Forms.


QUIC RXDP: Harden ACK processing and reuse allocation

Fixes https://github.com/openssl/project/issues/198
Fixes https://github.com/openssl/openssl/issues/21912

Merged to master. Thank you.


feat(Model): Ability to pass TypeORM Entity options

Problem
When using the Model decorator sometimes it's necessary to specific the table name explicitly. For instance in the case of a model named category, I want the table to be named categories. As it sits, warthog would name it categorys
Solution
Ability to use the standard Entity options TypeORM provides. Since the Model decorator essentially wraps the Entity decorator anyway, allow the use of the same options.
Usage
@Model({ name: 'categories' })
I can add an example for this if need be.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


unit tests sometimes have sporadic failures

It has been observed at least on OSX that some of the unit tests sometimes have sporadic failures. Following are some example failures as output by tests/run:
-n o tests/ts1.sh:
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `\'v\217\347' and `\376"i\3317.\345\250V\333w>\346\311\203\034\316=\337~\233n\320\325\005\371\320Sp\301|\247"\036\024\221\247\016\213\222;\256=<c&\3224'.

-n  o tests/tr2.sh:
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `6\030v\317\3133о\366|\263htv9\0173\340\2421\275F\a\232\360DJ\017\233\037:)\241\023\375\350.\272\r<6\201\002\330\203+\005\221#\355$\343\321F\357T\036\264g[>]\344\200Ę\265s\236\031E\302-\220ǰܺob<\210\004\32415\246\300{ˏ\030\270xrژ\335/\243_ވ8\255y\a\177\362\234!\251N\336\322\371\325p\024\f\241\353&#6\371\204\313\020V\031\311\210V\302\004\\\237\374\316\215!i\357s\231,P\373+\346\303\310tX\300\355\177\247R\347u:3bA-\2148\03114\361\271k\241\376\247/\033\271S\\|,\a#\200w\237\374\002\232!\024\316\346\371C\017\370\354˕\343\241\301\244\025\2763\000iÜP\340\021.\001\301\246\304\363\233\266\022!\030\232L\024\204\311K\030\340\3249.\310\354\a_\t\374{j.$0\021q\267\252<\021\023\260\301Z\235m\005\330H\342~\016\t\242\310\303Oڏ\210S\311\177\275\240\345AwQ g\334\370\302\336\021\207\r}`;8\326Ҵ\270.\363q6\325J,\234(\253QƼ\226V\310\301$W\231A\273\033\000\251\274ѥ\321\322\027\320\000뚦{@\277~-\205\343݅E\200\341\032\203\240\027\3338\366z\351CM6\177C\201\312(N\273\346\201d\200\032\177\371*\177\sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `\rX\266\204(a) (b)' and `\rX\266\204'.

Some of the unit tests when they fail do not emit output to help diagnose the failure. Here is an example invoking tests/ab.sh directly:
$ rc=0
$ attempt=1
$ while [ $rc -eq 0 ]; do tests/ab.sh bin/radamsa ; rc=$?; echo $attempt; attempt=$((attempt+1)); done
1
2
3
4
5
6
7
8
9
10
11
12
$

After 12 attempts a failure was observed, but the reason for the failure is not emitted.
Likely it is the expectation that the unit test results be consistent. If the current revision in git is under development and the sporadic failure is expected or some cleanup is still underway, kindly ignore. I was unable to determine if release v0.4's unit tests encountered sporadic failures as issue https://github.com/aoh/radamsa/issues/5 affects the v0.4 release.
As a comparison, release v0.3 had consistently passing unit tests.
(As a side note, at least on OSX the built-in echo command in sh does not support the -n option. This is the reason that "-n" is printed before all of the tests in tests/run . Consider reworking when echo is used in that script so that the -n option is unnecessary, if relevant).

Hi,
Great! Build issues are very welcome. I'll fix soonish when I have spare time. My *BSD buildbots are currently offline, so might be that I haven't noticed some issue on BSDish platforms.
There have been many issues with unit tests on OSX due to minor differences in arguments etc. Might make sense to use the version of owl used for building also for sorting and echoing in tests.

So the behavior is intended, because radamsa is supposed to pad the input with a low probability with random data, if the input is very short. This is done to improve coverage of test with tiny fixed inputs. The only issues is with OSX sort getting confused by non-textual data. This does not matter, because the tests are probabilistic and are expected to fail on occasion, in which case they are tried again many times before tests/run considers them to fail. Sort stderr is now piped to /dev/null, so it doesn't get in the way.
Does the build work otherwise on OSX?

The only issues is with OSX sort getting confused by non-textual data.

Oh, I did not realize that the output was not representative of a failure. Sorry for the false alarm on those tests.
I've modified ab.sh as follows to determine why it is sometimes failing:
# check bad string insertion happens as intended (more likely within quoted area)
mkdir -p tmp

echo '-----------------------------------------------------------------""---------------------------------------------------------------------------' \
   | $@ -m ab -p od -n 20 > tmp/ab.sh.tmp
cat tmp/ab.sh.tmp | grep -q '^-*\".*%.*\"-*$'
rc=$?
if [ $rc -ne 0 ]; then
   echo "Unexpected output:"
   cat tmp/ab.sh.tmp
   exit 1
fi

Attached is one the output from one such test run which failed.
ab.sh.tmp

This does not matter, because the tests are probabilistic and are expected to fail on occasion, in which case they are tried again many times before tests/run considers them to fail.

When building Radamsa the unit tests automatically run. As unit tests may sporadically fail, could the unit tests be sectioned into their own make target (e.g. "make check") so that they do not run automatically? Otherwise, one may build Radamsa, see a failure, and wonder if the sporadic failure indicates an issue with Radamsa on one's platform.
Sure, I can understand that Radamsa, being probabilistic, may not always fuzz as expected. However, is it possible to modify the unit tests which may fail with some probability so that the tests will be more deterministic?

Does the build work otherwise on OSX?

Seems to work so far. I've not tried the TCP stuff yet, which looks interesting.

Makes sense. There is now a separate test build target, which runs the tests if necessary. I also added a thanks-section to readme.md.


net: DNS lookups do not include host name suffix as a search domain

src/net/dnsconfig_unix.go has this comment:
// See resolv.conf(5) on a Linux machine.
// TODO(rsc): Supposed to call uname() and chop the beginning
// of the host name to get the default search domain.
...which succinctly describes the issue.
Here's an example: Given a server with uname -n "foo.x.y.z" where /etc/resolv.conf only has nameserver lines, and with another server with hostname "bar.x.y.z", net.LookupHost("bar") results in "no such host" when using the built-in DNS resolver, but succeeds when running with "GODEBUG=netdns=cgo".
go version: go version go1.6 linux/amd64
go env:
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ben/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="x86_64-pc-linux-gnu-gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="x86_64-pc-linux-gnu-g++"
CGO_ENABLED="1"

CC @mdempsky @bradfitz


Rstudio Server- Cannot Read Property "desktopInfo" of Null

Hi,
I meet the similar trouble as described in #21 . My obsidian version is v0.15.9, and custom frames is 2.4.4 .
Although we use different version and rstudio, the error is the same.
Here's the dev tool console's output:

When I set on "Force iframe"  mode, I can't open dev tools. When I try to login in "Force iframe" mode, I get the error: "Error: Temporary server error, please try again".

Well, it seems that rstudio's reason https://docs.rstudio.com/ide/server-pro/latest/tutorial_api/configuration.html#allow-iframe.

In my opinion, rstudio enabled load inside a brower frame (such as iframe) for security reasons. This causes problems in "Fore iframe" mode. Here's the issue talking about this https://github.com/rstudio/rstudio/issues/12197.
In addition, rstudio server couldn't suite for all kinds of browsers, for example, QtWebEngine-based browsers, such as qutebrowser or KDE Falkon. Maybe this causes problems in normal mode. Here's the issue https://github.com/rstudio/rstudio/issues/12406


Back button not functioning

I was trying out the demo provided to see how things work and saw that the BACK button does not move the player back the 1.5 seconds like suggested, but rather moves it forward like the FORWARD button does.  Not sure how/where to remedy this, but would be great if someone could provide some insight on how to fix.

61a6611 should have fixed this bug. Thanks for flagging!
Btw, just to warn you -- this module is likely to be deprecated in the near future, as oTranscribe 2 does not use it.


add code to point python to correct dir

This is an update to main.py to ensure you can import main from Plugin.

Hey @Drimix20, I have created a 2.0.1 release in @deefrawley's repo which fixes the above bug as we have had reports this plugin is not working at the moment.

When you are available please merge this in, re-create  the 2.0.1 release in your repo and update the plugin manifest's download url back to your release.


Promoting develop to main

closed after finding a regression https://pagodaplatform.atlassian.net/browse/DEC-890


Error importing Uniswap with the latest version of web3.py

Describe the bug
>>> from uniswap import Uniswap
from web3.contract import Contract, ContractFunction
ImportError: cannot import name 'ContractFunction' from 'web3.contract'

To Reproduce
$ python3.11 -m venv .venv
$ source .venv/bin/activate
(.venv) $ pip install git+https://github.com/ethereum/web3.py.git
(.venv) $ pip install uniswap-python
(.venv) $ python
Python 3.11.2 (main, Feb  8 2023, 14:49:24) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from uniswap import Uniswap
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/arjuna/.../review_uniswap_python/.venv/lib/python3.11/site-packages/uniswap/__init__.py", line 2, in <module>
    from .uniswap import Uniswap, _str_to_addr
  File "/home/arjuna/.../review_uniswap_python/.venv/lib/python3.11/site-packages/uniswap/uniswap.py", line 11, in <module>
    from web3.contract import Contract, ContractFunction
ImportError: cannot import name 'ContractFunction' from 'web3.contract' (/home/arjuna/.../review_uniswap_python/.venv/lib/python3.11/site-packages/web3/contract/__init__.py)
>>> from web3.contract import ContractFunction
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'ContractFunction' from 'web3.contract' (/home/arjuna/.../review_uniswap_python/.venv/lib/python3.11/site-packages/web3/contract/__init__.py)
>>> from web3.contract.contract import ContractFunction
>>>

Expected behavior
We should be able to import Uniswap with the latest version of web3.
Additional context
The reason I installed web3.py from GitHub repo is Python3.11 doesn't work with web3.py from pip.
ImportError: cannot import name 'getargspec' from 'inspect' (/usr/lib/python3.11/inspect.py)

Working on a fix in #320

web3 = "5.24" works

Any update about this? Thanks in advance team!


Replace custom BigInteger types with System.Numerics.BigInteger

BigInteger (Numerics) and AlgoStudio.Core.BigInt are now so similar that solving marshalling and testing semantic compatibility between the two types no longer makes sense.

Implemented for upcoming release


How to link a existed class instance to another class' property

In my realm database, I have had a class instance, how could I return it ang assign it to another class' property without save it again?
Do I need to use a RLMResults?
For Example:
class Dog:
property: name;
property:owner;
class Pig:
property:name;
property:owner;
class Person:
property:id(primary key)
property:name;
Now I have a Dog with a person in the realm database.
How could I get the person in the database, and then resign it to the pig without saving the person again?
Or I just donot have to make the person as a property of the Dog or Pig. I just need to save its ID?
Since when I save a Dog or Pig instance into the database, it will save a person into the Person table.
How could I avoid to save the same instance or reuse the instance?

Or I have a misunderstanding with Realm?

Realm is a object store and not a relational database. If you link / assign the same person to a Pig and a Dog, it is the same entry which will be referenced to both, so you will automatically reuse the same instance until you explicitly create a new instance. You don't operate on copies, but instead the actual data.
let person = Person()
person.name = "Arthur"

let dog = Dog()
dog.name = "Rex"
dog.owner = person

realm.write {
    realm.add(person)
    realm.add(dog)
}

let arthur = Realm.objects(Person).filter("name = %@", "Arthur")
let pig = Pig()
pig.name = "Babe"
pig.owner = arthur

assert(pig.owner == dog.owner, "It is the same owner for both animals.")

@mrackwitz Thanks! Got it.
I have a album which has a owner, and user lists who loves it, user list who comment on it. I try to save album with the users once. Then I got the problem:  primary key cannot be the same.
Now I check and save each user when I init user the album contains.
The problem has been solved.
+ (instancetype) initUserWithDictionary:(NSDictionary *)dictionary{
    NSInteger userID = [dictionary[@"uid"] integerValue];
    UserModel *aUser = [UserModel objectForPrimaryKey:@(userID)];

    if (aUser != nil) {
        return aUser;
    }

    UserModel *user = [[UserModel alloc] init];
    user.userID = [dictionary[@"uid"] integerValue];

    if ([UserModel isNullWith:dictionary[@"userName"]]) {
        user.userName = @"";//nil;
    } else {
        user.userName = dictionary[@"userName"];
    }

 // the first time I did not save each user when its init method
// I tried to save an album with all users related to the album, and some users are the same
// then problem has come

// now save it each time when init
// problem has been solved
   // persist data
    RLMRealm *realm = [RLMRealm defaultRealm];
    [realm transactionWithBlock:^{
        [realm addObject:user];
    }];
    return user;
}

Oh, I see. I think what you really want to do is perhaps rather:
NSMutableDictionary *userData = dictionary.mutableCopy
if ([UserModel isNullWith:userData[@"userName"]]) {
    userData[@"userName"] = @"";//nil;
}
UserModel *user;
RLMRealm *realm = [RLMRealm defaultRealm];
[realm transactionWithBlock:^{
    user = [UserModel createOrUpdateInRealm:RLMRealm.defaultRealm withValue:userData];
}];
return user;

This takes care of auto-updating the user and creates it only if doesn't already exist via the primary key.

@mrackwitz Elegant! Thanks a lot!


scroll bar position issue

Hi All,
I am facing issue in scrollbar position.
In my webchat i am loading 5 adaptive cards as attachments and i set the attachment layout as List type.
now when the message is loading the scrollbar is moving to bottom. so to view the cards i need to scroll up.
i want to set the scrollbar to the 1st card or starting of the new response.
Please suggest how to do that.

Hello @ras232
Can you give us some information about how you're coding your Web Chat page? Are you using React/Node.js for example?

i am using js implementation

Thank you, @ras232 (You can edit your own comments and format code blocks using three backticks: ```)
I have a few more questions.

Is your bot able to send the attachments as part of the same activity?
Would it be desirable for you to send the attachments as a carousel?

Hi Kyle,Thank you for your quick response.

Is your bot able to send the attachments as part of the same activity?  -> yes
Would it be desirable for you to send the attachments as a carousel?  ->  we have search functionality in the bot. For user's query it will hit api and prepare cards as per the api response and attach these cards as attachment to the response. we are using carousel now but looking for List format because against the search query might have 50, 60,80 or 100 records present in database and message attachment limit is 250kb, so we cant show all results in one go. so we thought of adding "SHOW MORE" functionality as a work around for this to show all records against tht search group by group. When user will hit SHOW MORE the system will return next set of data against that query. Now if we are using List format,  with show more click  next set of result will just append to existing list. this is to enhance visual. For this i need, when a response to a message is loading the scroll bar should position at the ever 1st response(1st attachment in-case of a list layout) but now it is going to the end. so to view the 1st card i need to scroll up..again when  i am hitting show more i am just lost not able to trace from where the next result set is starting.

Hope i am able to make u understand my requirement.
On Wednesday, 20 May, 2020, 12:22:09 am IST, Kyle Delaney<EMAIL_ADDRESS>wrote:
Thank you, @ras232 (You can edit your own comments and format code blocks using three backticks: ```)
I have a few more questions.

Is your bot able to send the attachments as part of the same activity?
Would it be desirable for you to send the attachments as a carousel?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hello @ras232
It doesn't look like Web Chat provides any options for you to customize the scrolling behavior. You might be interested in this issue: https://github.com/microsoft/BotFramework-WebChat/issues/2884
Since you're just using the Web Chat CDN rather than using Node or making your own React app, I'm guessing you won't want to try any advanced techniques to get your desired behavior. Web Chat automatically scrolls to the bottom when a new message appears and the transcript is already at the bottom. You might be able to find a way to override that behavior by looking into the source code. Or you could prevent the auto-scrolling by having your middleware scroll up one pixel before it displays the new message, and that would prevent the auto-scrolling. Then you'd have to write code that determines where the top of the first message is and scrolls to that.

Per @v-kydela request, closing as resolved.


KAFKA-16428: Fix bug where config change notification znode may not get created during migration

Yeah, I need to add a test. But I really want this fix to make 3.6.2. I filed a follow-up here: https://issues.apache.org/jira/browse/KAFKA-16435


Appstudio update build-suite-test-component-git-source-omst

Pipelines as Code configuration proposal

Pipelines as Code CI/build-suite-test-component-git-source-omst-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
appstudio-init

✅ Succeeded
14 seconds
clone-repository

✅ Succeeded
7 seconds
appstudio-configure-build

✅ Succeeded
30 seconds
build-container

✅ Succeeded
5 seconds
show-summary


Submit ghcjs-base to hackage

@hamishmack confirmed that ghcjs-boot libraries do not depend on ghcjs-base, so it should be safe to use any version of ghcjs-base from hackage.
I think I can handle this one after https://github.com/ghcjs/ghcjs-base/pull/77 is merged.
I'll try to add anyone, who is enthusiastic and doesn't look malicious or crazy to me, to the maintainer list of ghcjs-base on hackage.

Any update on this? It would be nice to have this in Hackage.

@hamishmack @crocket Bump. Is this happening any time soon? I would really like to have ghcjs-base on hackage.

yes, the boot libraries for ghcjs on ghc 8.2 won't contain ghcjs-base anymore

Can we have ghcjs-base on hackage? It is a dependency of jsaddle, which is on hackage, for example.

@luite you mean ghcjs-base is gone altogether? We can remove it from jsaddlethen/

Of course if  ghcjs-base is no longer needed for  jaddle, then an upload to Hackage may not be that important.

I have uploaded latest master branch to hackage.


Breakpoints do not work properly, again, and still.

I know you'll do exactly nothing, because it's what you did since the first time you got this kind of request. But I'll write it again, because it's the right thing to do. Tipical use case:
 $(".slider").slick({
    mobileFirst: true,

    responsive: [{
      breakpoint: 830,
      settings: "unslick"
    }]
}

If you start with a small screen, it wil work. As soon as you reach 830 it will unslick. Fine. Than go back to < 830, and you won't have slick back.
So you cannot say your plugin is responsive. It's not. A thing called responsive should behave like a responsive thing. And this is not the case. I think after 2+ years since last time I checked. I come back and guess? Still the same issue.
And by the way: this is not magic, neither.

listen for the window resize event and reinitialize slick
off = windowWidth <= 830;

onResize:
  if (windowWidth <= 830 && !off) {
    unslick
    off = true
  } else if (windowWidth > 830) {
    off = false
  }

reinitializing is the logical thing to do - but I wonder how many people worried and wondered what they did wrong; especially, when the slider works like a charm most of the time.

it should be implemented
same case here, it should be more clean and fast having an internal method instead of custom external function i think

@eparisio it has been at least 3 years since my very first request about this...

this repo has not been updated since april. 2018. i think it's time for everybody to move on from slick slider.

@stratboy The feature you request is more like "disable" rather than "destroy". And the whole point of destruction is to clean up itself so once destroyed they can't initialised it again. Here a "disable" feature can be implemented but to be honest simple event listener on the resize event does the job perfectly as @eballeste mentioned in his comment.

@mscoobby I really think that a 'responsive' functionality must be bi-directional.

@mscoobby I really think that a 'responsive' functionality must be bi-directional.

@stratboy Yes I agree. They should implement a function to disable it on certain breakpoints, but the destroy function is also useful in some cases.

When unslick happens, this line is being triggered:
https://github.com/kenwheeler/slick/blob/master/slick/slick.js#L803
because of that resize method won't be triggered anymore, ever. And this is the very method that would trigger evaluating breakpoints. It seems that fixing this won't be that hard, because if we allow to evaluate breakpoints, slick will trigger refresh:
https://github.com/kenwheeler/slick/blob/master/slick/slick.js#L644
if for given breakpoint, the settings property are not unslick.
refresh will then lead to init method, and it's imaginable that we should see the slick to be ready again.
Of course, it may not be that easy. Hard to tell how the system will behave, if we allow it to be active all the time. But it seems to considerably easy to fix it.

@mscoobby I really think that a 'responsive' functionality must be bi-directional.

@stratboy Yes I agree. They should implement a function to disable it on certain breakpoints, but the destroy function is also useful in some cases.

That is true as well, but disable vs. destroy is an implementation detail and the resulting behavior doesn't reflect the literal first two lines of slick website (at the time of writing)

Fully responsive. Scales with its container.
Separate settings per breakpoint

Separate settings per breakpoint, nah, in reality one breakpoint (one having settings: "unslick" supersedes all others.
As you said, time to move on.

move on people! the issues are about to reach 1000 open issues and apparently the only merged pull requests are from people who talk to directly to the main dev. stop beating a dead horse.


Several fixes to the About modal

Fix an issue wherein the mouse cursor is always set to Pointer
Tighten the UI a bit so it doesn't overflow.

Signed-off-by: Hanif Bin Ariffin<EMAIL_ADDRESS>
[ ] Added an entry to CHANGELOG.md if this change could be valuable to users

Codecov Report

Merging #1565 (6a3dceb) into master (e416688) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

:exclamation: Current head 6a3dceb differs from pull request most recent head 768bfff. Consider uploading reports for the commit 768bfff to get more accurate results

@@            Coverage Diff            @@
##           master   #1565      +/-   ##
=========================================
- Coverage    6.83%   6.83%   -0.01%
=========================================
  Files         126     126
  Lines       52138   52148      +10
=========================================
  Hits         3563    3563
- Misses      48575   48585      +10

Impacted Files
Coverage Δ

lapce-ui/src/about.rs
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Mouse position improperly calculated on Windows with fractional DPI scaling

Hello!
First: thank you so much for this wonderful tool. It's gonna save me a ton a time. I did find a small issue, though, and that's in how mousePosition is being calculated. Unfortunately, e.mousePosition is somewhat unreliable, for both the inverted Y that you've accounted for, but also for fractional scaling. Fortunately, there's a utility that manages this:
        Event e = Event.current;
        Vector2 mousePos = HandleUtility.GUIPointToScreenPixelCoordinate(e.mousePosition);
        Vector3 position = sceneView.camera.ScreenToWorldPoint(mousePos);

This should be all that's required to project the mouse position into the "real" position within the scene view window, and quickly fetch the position using ScreenToWorldPoint.
Thanks again, and excellent work!

@konistehrad Thanks for identifying this issue and providing the solution.  I'll update and test it shortly.

fixed in commit 3581c0032c92e5a87d71be072f0536fa354431cf