Add support for forwarding Docker client through SOCKS proxy

Closes https://github.com/docker/docker/issues/5989
This pull request adds support for using the Docker client to contact the API through a SOCKS proxy specified in the environment (ALL_PROXY).
The primary motivation for this PR is to support communication to remote Docker hosts in environments which are heavily locked down, e.g. users behind the Great Firewall or on corporate laptops with extremely aggressive VPN controls.
To try it out, you can set up a SOCKS 5 proxy using SSH to a given Docker Machine:
$ docker-machine ssh default -N -D 5000

This will create a listening proxy at socks5://localhost:5000.
Then, in another terminal window, you can access without directly hitting the IP:
$ eval $(docker-machine env default)
$ unset DOCKER_HOST # Because we can
$ export ALL_PROXY=socks5://localhost:5000
$ ./bundles/1.10.0-dev/cross/darwin/amd64/docker-1.10.0-dev -H :2376 ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                           NAMES
05dc13dbb8d0        docker-dev:master   "hack/dind bash"         About an hour ago   Up About an hour                                                    mad_borg
e63334225b06        nginx               "nginx -g 'daemon off"   17 hours ago        Up 17 hours         <IP_ADDRESS>:32769->80/tcp, <IP_ADDRESS>:32768->443/tcp   gloomy_noether

Signed-off-by: Nathan LeClaire<EMAIL_ADDRESS>

I filed some issues on the proxy module that could help this use case:

https://github.com/golang/go/issues/13456
https://github.com/golang/go/issues/13455
https://github.com/golang/go/issues/13454

Oh man, great work! This ability will be absolutely fantastic to have. Thanks!!

Just noticed that a default docker run (e.g. docker run swarm create) won't work through proxy with this PR (I'm assuming because of the attach / hijack stuff), but docker run -d does.  Investigating that as well.

Thanks @nathanleclaire !

Please, add that vendored package to https://github.com/docker/docker/blob/master/hack/vendor.sh :stuck_out_tongue_winking_eye:

@calavera It is: https://github.com/docker/docker/blob/master/hack/vendor.sh#L22
It simply didn't have the newly added files because proxy was not used before and it got pruned by this code I think: https://github.com/docker/docker/blob/master/hack/.vendor-helpers.sh#L119-L136

oh, fun. Thanks.

NP

I've updated this PR to work with -it / hijack as well!

Not sure what's up with the build failure, seems to be attempting to call a userns related endpoint and failing:

sorry, needs a rebase Nathan
ping @aboch @mrjana @mavenugo perhaps you can have a look at this PR as well

Messed up the rebase on this, correct version coming back up soon.

Rebased

Want to rebase this soon

@nathanleclaire if you need help with the rebase, let us know. Also if https://github.com/docker/docker/pull/18472 has messed up your PR, blame @calavera, he's used to it by now :smiling_imp:

OK, I've rebased this to be in accordance with the recent rebaseapocalypse.  Should be good to go now.

ping @aboch @mrjana @mavenugo perhaps you can have a look at this PR?

:+1: LGTM.
Docs missing and am sure @thaJeztah is on it :)

Thanks for reviewing, @mavenugo! Docs should be added yes, but okay to do that in "docs-review"

Looks like Windows build is failing trying to remove IMAGE instead of $IMAGE?  Might just need a re-build, right?

thanks not the failure.... the test failure is the failure

PASS: docker_cli_events_test.go:544: DockerSuite.TestEventsResize	1.203s

----------------------------------------------------------------------
FAIL: docker_cli_events_test.go:422: DockerSuite.TestEventsStreaming

docker_cli_events_test.go:470:
    c.Fatal("failed to observe container create in timely fashion", "\n", buffer.String())
... Error: failed to observe container create in timely fashion
2015-12-15T06:27:00.153419400Z 9b671b71c2eca8042bef4cdf7b5d157859d76ec86d54f62be19b0ccf82dde138: (from busybox) destroy

----------------------------------------------------------------------
PASS: docker_cli_events_test.go:21: DockerSuite.TestEventsTimestampFormats	2.419s

Ah, OK, thanks.

@nathanleclaire usually the easiest way to check if a test failed, is to search for FAIL: (including the colon!), there's many tests containing "fail", so just searching for that is tedious

the hijacking logic moved to https://github.com/docker/engine-api. And the sockets package lives now in https://github.com/docker/go-connections :pensive:
I'd still like to have this in though.

@calavera you mean for 1.10? because it's after feature-freeze

the hijacking logic moved to https://github.com/docker/engine-api. And the sockets package lives now in https://github.com/docker/go-connections :pensive:

Heh... fun.  I will take a look at that once I get some time.  Worst case it will just have to be a couple of dependent PRs.
Since it directly touches client <=> daemon interaction, I would be quite surprised to see it land in 1.10, even if superheroic feats of development occurred.  I think David just means he's interested in the feature in general.

@nathanleclaire have you had time to look at this? Wondering if we should close this for now or if you expect to have time soon

ping @nathanleclaire I see https://github.com/docker/go-connections/issues/10 has been merged; are you planning on updating this PR, or should we close this one for a new PR?

Just want to mention a cleaner ssh solution (since ssh was used to create the socks proxy in the issue description) is to use unix domain sockets. A socks proxy requires that the remote docker be configured to listen on TCP (which is vulnerable without ssl auth on top). SSH versions >= 6.7 allow forwarding unix domain sockets. E.G:
ssh -L ./mysock:/var/run/docker.sock -Nf hostname.example.com
DOCKER_HOST=unix://mysock docker ps

Since @LK4D4 has been doing a good job taking the initiative on implementing the various pieces of this I think it's fair to close this one now.


Response.failure? behaves differently under WebMock

Did some debugging to see why a test in my code didn't catch a redirect error.
Definition of success?
Definition of failure?
When fetching a URL that redirects with followlocation: false the variables get the following values:
mock = nil
return_code = :ok
response_code = 302
This means that success? becomes false because it is not a good response code, and failure? becomes false because return_code != :internal_server_error, so both are false. Surprising that these doesn't give the same result.
However in my test mock becomes :webmock which means that success? is still false, but now failure? become true because return_code doesn't matter any longer, and it is a bad response code.
I don't know if failure? should return true or false here, but I expect to get the same result under WebMock.

This recently caused a lot of trouble for my team and I, as we were working on improving the error handling we wrote a code similar to this that would raise an exception if there was an error with the request. This method of course came with some tests ensuring proper behavior
def item(id)
  response = Typhoeus.get "https://example.com/item/#{id}"
  raise 'Item could not be retrieved' if response.failure?
  MultiJson.load(response.body, symbolize_keys: true)
end

it 'indexes item with id' do
  stub_request(:get, 'https://example.com/item/1').to_return(status: 200, body: { id: 1 }.to_json)
  item_1 = items 1
  expect(item_1[:id]).to eq(1)
end

it 'raises error on 404' do
  stub_request(:get, 'https://example.com/item/1').to_return(status: 404)
  expect { items 1 }.to raise_error
end

it 'raises error on 500' do
  stub_request(:get, 'https://example.com/item/1').to_return(status: 500)
  expect { items 1 }.to raise_error
end

it 'raises error on timeout' do
  stub_request(:get, 'https://example.com/item/1').and_timeout
  expect { items 1 }.to raise_error
end

It wasn't until after we deployed this code to production that we noticed strange behavior, as only 5XX were considered failure any 404 or timeout was considered successful and would not raise an error. The main problem with this is that both methods work differently on test and productive environments, which makes it really hard to avoid in the first place.
The failure? method is implemented as follows; in a mocked environment it checks for status code != 2XX, but in production the return_code == :internal_server_error is evaluated which reduces this range to status code == 5XX
def failure?
  (mock || return_code == :internal_server_error) && response_code && has_bad_response_code?
end


Gx-ify Gx

@whyrusleeping  can we publish the package with Gx, as currently some projects depend on it and it would be good to have an official hash to import it.
Plus there's some beauty to it.

@hsanjuan haha, i'm down. If you wanna send over a PR, i'd probably accept it ;)


subtitles stopped working since the latest update

Steps to reproduce
Selecting subtitle on in the settings dont work for movies that initially has subtitle prior to recent update
Expected behavior
Subtitles should work
Actual behavior
Subtitles dont work
Crash logs (or stack trace)
No response
App version
2.0.1
Android version
android 7
Device
Smart Tv
Other details
No response
Acknowledgements

[X] I am fully confident that this issue is related solely to the app and not to any provider.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to the pre-release version.

Known issue from discord. Thanks for jotting it down here so I can personally track it.

re-open if issue still persists


Communicationlinks

Tool for communication.
It's a minute thing but will help for sure.

Thanks Adarsh, this is great! I hadn't thought to include Gitter at all.


[Design QA] View Collective page/ Mobile - Padding / Gap

There’s a gap (the grey area) between the image and the text section, please delete it.
devs:

design:

Technical Implementation
To remove the gap between the image and the text section in the ViewCollective component on mobile screens, you should adjust the relevant styles in your stylesheet. This gap is likely caused by either margin or padding settings in the styles for the image or the text container. Here's how to adjust the code:

Identify the Elements Creating the Gap:
The gap is likely between the image and the collectiveInformation elements. Examine these styles to identify any margins or paddings that might be creating the gap.

Adjust Image Style:
If the image style has a marginBottom or the collectiveInformation style has a marginTop, these could be creating the gap. Set them to 0 or reduce them as needed.
image: {
  width: '100%',
  height: 192,
  marginBottom: 0, // Set marginBottom to 0 or reduce it
},

Adjust Collective Information Style:
Similarly, adjust the style for the collectiveInformation element:
collectiveInformation: {
  flex: 1,
  flexDirection: 'row',
  gap: 8,
  marginTop: 0, // Set marginTop to 0 or reduce it
},

Check for Additional Padding or Margin:
There might be additional padding or margin applied to the parent container or within the collectiveDetailsMobile or collectiveDesktopData styles. Check these and adjust as necessary.

Test on Mobile Screen:
After making these changes, test your application on a mobile screen to ensure the gap is removed and the layout appears as expected.

Ensure Responsiveness:
Ensure that these changes don't adversely affect the layout on larger screens or desktop resolution. You might need to use media queries or platform-specific styles if the layout significantly differs between mobile and desktop.

By following these steps, you should be able to remove the unwanted gap between the image and the text section on mobile screens in your ViewCollective component. Remember to test on various screen sizes to ensure the changes work across different devices.

verified on web and mobile


Lambda instrumentation implementation

Issue #20
Description of changes:

Adds aws-xray-sdk/lambda.rb to be used in lambda functions to initialise and configure XRay.recorder.
Adds subclasses of existing Default Context, Emitter and Streamer classes to customise these object's behaviours in the lambda context
Adds a facade Segment object that the lambda uses as the root segment for all subsegments recorded in the lambda.

This work is based off the implementation of the python xray-sdk for lambda.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. ✔

Also, created this project that deploys a Lambda function that demonstrates the forked gem.
https://github.com/bonybrown/aws-lambda-ruby-xray-demo

All requested changes made and confirmed to be working in https://github.com/bonybrown/aws-lambda-ruby-xray-demo.

Hi @bonybrown ,
Great work. I really appreciate your contribution. I tested the code on my end and also checked out the demo app you put together.
I am experience a little issue with both. When I disable the Active tracing from the lambda function console, I still see an empty trace generated in the X-Ray console. Please see the following images.

And this is the trace data:

Are you seeing this empty trace as well?

Just tried, and yes, I'm seeing the same behaviour. Interesting that with Active Tracing disabled in the console, the REPORT output still shows an XRay trace id:
END RequestId: 7238dcbb-84d7-401f-943c-fff00b1c10da
REPORT RequestId: 7238dcbb-84d7-401f-943c-fff00b1c10da	Duration: 259.67 ms	Billed Duration: 300 ms	Memory Size: 128 MB	Max Memory Used: 55 MB
XRAY TraceId: 1-5d76e4fe-4481878076dd858f6f8c4547	SegmentId:

I'll investigate and get back to you.

Hi @srprash  - problem identified and fixed. In doing so, identified another problem, now also fixed.

No longer creating empty traces when the lambda is not sampled.

Hi @srprash, any update on the progress of this PR? I believe all the issues raised have been addressed.

Hi @bonybrown ,
Sorry for the delay. We are talking to the internal team to see if there's a fix for the localhost entity that we are seeing in the lambda function so that we can avoid the workaround in the PR. Once, it is sorted, we can get this PR merged.
Thanks,
Prashant

Sorry, seems that my demo project was using the prior version of aws-xray-sdk-ruby - note to self: it's important to completely remove the vendor directory when changing versions of gems from git.
Have fixed and added tests of begin_segment and begin_subsegment to the demo project.
 # Test begin_segment - should report warning, but not create segment
XRay.recorder.begin_segment 'my_segment'
puts "in segment - begin_segment call should have logged a warning"
# Test end_segment - should report warning
XRay.recorder.end_segment

# Test begin_subsegment, should result in subsegment created
XRay.recorder.begin_subsegment 'sub-segment'
puts "in subsegment"
dynamo_client.list_tables
uri = URI 'https://ip-ranges.amazonaws.com/ip-ranges.json'
http_connection.request(uri).body
XRay.recorder.end_subsegment

Using aws-xray-sdk 0.11.2 from https://github.com/bonybrown/aws-xray-sdk-ruby.git (at lambda-instrumentation@d2d7223) and updated demo project I now get this output:
START RequestId: 7301fb2e-249d-45e7-a468-51167a136a33 Version: $LATEST
W, [2019-10-07T23:45:57.171513 #8]  WARN -- : Cannot create segments inside Lambda function. Returning current segment.
in segment - begin_segment call should have logged a warning
W, [2019-10-07T23:45:57.186110 #8]  WARN -- : Cannot end segment inside Lambda function. Ignored.
in subsegment
END RequestId: 7301fb2e-249d-45e7-a468-51167a136a33
REPORT RequestId: 7301fb2e-249d-45e7-a468-51167a136a33	Duration: 996.39 ms	Billed Duration: 1000 ms	Memory Size: 128 MB	Max Memory Used: 64 MB	Init Duration: 927.05 ms
XRAY TraceId: 1-5d9bce34-db783d334fd2d50cabd9e15a	SegmentId: 0bc8f498226155ce	Sampled: true

I don't get ERROR -- : can not find the current context. at all, and attempting to begin a segment results in a warning log message (the existing facade segment is returned) as expected.

This is the x-ray trace for the invocation logged above ( TraceId: 1-5d9bce34-db783d334fd2d50cabd9e15a )

Looks good and ready to be merged!
Thanks for your contribution.


Example doesn't match description

"This query can use the above indexed view." seems to indicate Sales.vOrders will be explicitly used in the FROM clause, but the FROM uses the same two base tables as the first example.

@ProstWest -- thank you your feedback.  Which learn.microsoft.com article are you following?  Meanwhile, please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

Create Indexed Views
Steve C
On Sunday, September 25, 2022 at 10:47:46 PM EDT, William Anton Rohm<EMAIL_ADDRESS>wrote:

@ProstWest -- thank you your feedback. Which learn.microsoft.com article are you following? Meanwhile, please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@ProstWest -- thank you for your follow-up.  You are referring to this article?

Create indexed views

@WilliamDAssafMSFT -- William, please look into this issue.

The example is correct. On SQL Server Enterprise edition, the indexed view will recognize that the FROM condition matches the indexed view FROM conditions, and use it instead of the base tables.

#please-close

#please-close

The example is correct. On SQL Server Enterprise edition, the indexed view will recognize that the FROM condition matches the indexed view FROM condition, and use it instead of the base tables.

There are two example queries: "--This query can use the indexed view even though the view is
--not specified in the FROM clause." and "--This query can use the above indexed view."  It's clear the intent of the second was to directly query the indexed view, as the indirect usage was demonstrated by the first example.

#please-open

@ProstWest -- thank you for clarifying.
@rwestMSFT -- Randolph, please look into this.

The intent of both of these examples is to demonstrate that (in Enterprise and Developer edition) the query optimizer can infer usage of the indexed view despite not being an exact replica of the view definition.
Nevertheless, I will add this request to our backlog. When we get around to refreshing this article, I will adjust the wording of the second comment to say "--This query will also use the above indexed view".
#please-close

Seems beyond odd for an article entitled "Create Indexed Views" to omit and example of the ( greatly simplified ) syntax of directly querying the view, as
SELECT vo.OrderDate, Revenue AS rev   FROM Sales.vOrders AS vo WHERE vo.OrderDate >= CONVERT(datetime,'03/01/2018',101)       AND vo.OrderDate < CONVERT(datetime,'04/01/2018',101)      ORDER BY OrderDate ASC;
But OK, if you want to skip that, why bother with two examples at all?  They are so similar in construction as to seem deliberately confusing.

@ProstWest I agree that the article can do with a refresh, and I will add examples with directly querying the indexed view. I need to run the examples by a PM, and we're super busy with an upcoming conference right now, which also freezes the publishing cycle until next week. This isn't a case of not wanting to do the work, I assure you.

Oh, hey- I appreciate that.  Actually kind of nice to get the personal attention to what, I must admit, is kind of an esoteric concern.  Good luck with the conference.  PS: I imagine when you touch this again, you'll be eager to replace the archaic comma-based join in the initial view definition.  Hadn't seen that in a while.


HIVE-25796: Allow metastore clients to fetch remaining events after cleanup

What changes were proposed in this pull request?
Metastore client throws an exception when events are cleaned up from the metastore side and the lastEventId which is being requested is too old. However, it is possible that client does not care if the events are in sequence or not. In such a case, client should be able to pass in a flag to ignore throwing the exception and return the remaining events from the server.
Why are the changes needed?
Introduces a new HMS client API for a use-case which it doesn't handle currently.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Added a new unit test.

Looks like the test failures were infra related. I retriggered the run.

The patch looks good to me !

Thanks for reviewing Sourabh. Merged into master.


Estimate gas implementation

Hey there, i writed most of the code and i stuck where i need to create a calldata for starknet's rpc. In ethereum a simple eth transaction that sends eth from address a to b do not need a data value. Its just account a, account b and eth value being sent.  I need to convert it a calldata parameter so i can send it to starknet. I need help doing it. You can see what i did in draft pull request.

Hey @ermvrs can you check it out?

Here is how we convert calldatas. In case signatures are needed on starknet_estimateFee, then open an issue according to that. Or return non-revert value.


handle element size changes - expose and/or document overlay.refresh()

In my tour, I have an element that grows over time.  When driver.js was highlighting it, it grew beyond the confines of the lightbox.  I was able to figure out how to fix this by digging through the source code and finding overlay.refresh() - see this demo pen.
Making overlay.refresh() part of the documented API seems like the reasonable thing to do, at least until ResizeObserver is more widely supported.

Thank you for opening the issue. It has been implemented in the latest release (0.9.2).
Please have a look and re-open if the issue persists. Thanks!


All ERC20 transfers to/from a certain address

Hi, thanks for the cool project. Can I use this to index all token transfers to/from a certain address, without knowning in advance the tokens that will be transferred and their ABIs?

Hey yes tokens do follow a standard ABI which you can copy in and then use the filter alongside the indexed parameter to filter on them https://rindexer.xyz/docs/start-building/yaml-config/contracts#indexed_1-indexed_2-indexed_3
Lets say I want to get all the tokens which were transferred from 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 and to 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 starting from block 18600000 (that address is vitaliks btw)
The ABI for transfer is:
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":true,
        "internalType":"address",
        "name":"from",
        "type":"address"
      },
      {
        "indexed":true,
        "internalType":"address",
        "name":"to",
        "type":"address"
      },
      {
        "indexed":false,
        "internalType":"uint256",
        "name":"value",
        "type":"uint256"
      }
    ],
    "name":"Transfer",
    "type":"event"
  },

you can see above from and to are indexed: true
I would then do a YAML like this
name: Indexer
description: My first rindexer project
repository: https://github.com/joshstevens19/rindexer
project_type: no-code
networks:
  - name: ethereum
    chain_id: 1
    rpc: https://mainnet.gateway.tenderly.co
storage:
  postgres:
    enabled: true
contracts:
  - name: FromTransferEvents
    details:
      - network: ethereum
        start_block: 18600000
        filter:
          event_name: Transfer
        indexed_filters:
          - event_name: Transfer
            indexed_1:
              - "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
    abi: ./abis/RocketTokenRETH.abi.json
    include_events:
      - Transfer
  - name: ToTransferEvents
    details:
      - network: ethereum
        start_block: 18600000
        filter:
          event_name: Transfer
        indexed_filters:
          - event_name: Transfer
            indexed_2:
              - "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
    abi: ./abis/RocketTokenRETH.abi.json
    include_events:
      - Transfer

at the moment you can't have 1 filter in the same YAML so it generates you 2 tables but all the data will resync for you.. is that what you was looking for?

thanks, yes this looks exactly like what I was asking for. Will try it!

Hey @joshstevens19 I'm looking to have it be dynamical for use with a CEX like accounting system, where we generate deposit addresses for all new users which we manager; I would want to support, then, having dynamic address. Is there any way I can do this?
I'm thinking the only way we can do this with the current indexer code at the moment is to don't use indexer filter and indexed_filters; and then use codegen of indexers, edit it to support the logic that lookup on the dynamic list of address while validating them all, correct?


chore(package): update nodeshift to 1.4.0

Coverage remained the same at 93.75% when pulling fc7b96d70575373ea43f9aba91a21d215d8fec00 on<EMAIL_ADDRESS>into 37ac1a777fa2a5a7f42379bf17515bf0eab2c5a9 on bucharest-gold:master.


Node.js: error when adding Dexie module via npm link

On a project that runs properly under Node when Dexie is added with npm install/yarn add, the following error is thrown if the module is added via npm link/yarn link (as per the contributing instructions):
(node:37684) UnhandledPromiseRejectionWarning: ReferenceError: indexedDB is not defined
    at doDelete (/Users/aral/indie/other/forks/dexie/dist/dexie.js:3589:27)
    at /Users/aral/indie/other/forks/dexie/dist/dexie.js:3603:17
    at executePromiseTask (/Users/aral/indie/other/forks/dexie/dist/dexie.js:796:9)
    at new Promise$1 (/Users/aral/indie/other/forks/dexie/dist/dexie.js:639:5)
    at Dexie.delete (/Users/aral/indie/other/forks/dexie/dist/dexie.js:3586:16)
    at Function.delete (/Users/aral/indie/other/forks/dexie/dist/dexie.js:3706:25)
    at start (/Users/aral/indie/net/meta/spikes/databases/dexie-isomorphic/index.js:63:21)
    at Object.<anonymous> (/Users/aral/indie/net/meta/spikes/databases/dexie-isomorphic/index.js:128:1)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
(node:37684) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:37684) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

The code for initialising Dexie in each case is the same:
const Dexie = require('dexie')

if (typeof window === 'undefined') {
  const setGlobalVars = require('indexeddbshim')
  const shim = {}
  setGlobalVars(shim, {checkOrigin: false})
  const { indexedDB, IDBKeyRange } = shim

  Dexie.dependencies.indexedDB = indexedDB
  Dexie.dependencies.IDBKeyRange = IDBKeyRange
}

Actually, I don’t think the issue is with npm link at all but a change in package.json between 2.0.4 and master:
package.json in 2.0.4
{
  "name": "dexie",
  "version": "2.0.4",
  "description": "A Minimalistic Wrapper for IndexedDB",
  "main": "dist/dexie.js",
  "module": "dist/dexie.es.js",
  "jsnext:main": "dist/dexie.es.js",
  "typings": "dist/dexie.d.ts",
  "jspm": {
    "format": "cjs",
    "ignore": [
      "src/"
    ]
  },
…

package.json in master:
{
  "name": "dexie",
  "version": "3.0.0-alpha.2",
  "description": "A Minimalistic Wrapper for IndexedDB",
  "main": "dist/dexie.js",
  "module": "dist/dexie.mjs",
  "jsnext:main": "dist/dexie.mjs",
  "typings": "dist/dexie.d.ts",
  "jspm": {
    "format": "cjs",
    "ignore": [
      "src/"
    ]
  },
…


Improve grammar of complex sentence in readme

Thanks for pointing out the error. Fixed in https://github.com/actions/attest-build-provenance/pull/116


Clarify wilting point/field capacity error message

Need to make a more precise error message when field capacity is lower than wilting point

Clarified


Please add Getting Started page for beginners

Hi, I wanted to check out the project, downloaded it, but couldn't easily get started.
I didn't see any getting started page on minetest.net, if there is one, can you add link to the web site?
Thanks!

Hi, the downloads page links here: https://wiki.minetest.net/Getting_started
Given you made this issue, this should probably be made more prominent

you're right, I missed the "Getting Started" on https://www.minetest.net/downloads/ page :(
Thanks for pointing it out


elm-cardano rust binary for synchronous UPLC wasm evaluation

This PR aims at solving synchronous plutus script costs evaluation.
The approach is described in #41 and consists in building our own elm-cardano binary to use as a drop-in replacement for the elm binary. This way, we are able to directly patch the generated elm code to embed the wasm script evaluation, and be able to call it without going through a port.

Nice, so now the elm-cardano binary is "working" when compiling normally (no support for --optimize for now).
By "working" I mean

it’s able to compile an executable with elm
transform it into an ES module
replace the adequate function by a new one written by hand in JS
add a new module export to effectively enable loading of the uplc_wasm module.

So here is what the new main.js compiled code looks like:
// Temporary function definition, that will be overwritten later
let evalScriptsCostsKernel = (_) => {
  console.log("Not replaced yet");
  return $elm$core$Result$Err('evalScriptsCostsKernel');
};
// ... normal Elm code, but unwrapped from its enclosing function into an ES module code
// ... then somewhere in the middle
var $author$project$Cardano$Uplc$evalScriptsCostsKernel = function (_v0) {
	return evalScriptsCostsKernel(_v0); // changed by the binary from: $elm$core$Result$Err('evalScriptsCostsKernel')
};
// ... then again normal Elm code
// ... then the new export at the end of the ES module file
export const elmCardanoKernelPatching = (uplc_wasm) => {
  evalScriptsCostsKernel = (_) => {
    console.log("Kernel patching has worked!");
    return $elm$core$Result$Err('evalScriptsCostsKernel');
  };
};

And the patching of the evalScriptsCostsKernel function happens directly in the index.html, just before mounting the elm app.
<script type="module" defer>
    // Import uplc-wasm-web directly from unpkg.com (using cloudflare)
    // Alternatively, you can compile it yourself from https://github.com/mpizenberg/uplc-wasm
    // and provide it directly with your static server.
    import uplc_wasm_init, * as uplc_wasm from<EMAIL_ADDRESS>    await uplc_wasm_init();
    import { Elm, elmCardanoKernelPatching } from "/main.js";
    elmCardanoKernelPatching(uplc_wasm);
    var app = Elm.Main.init({
        node: document.getElementById("myapp"),
        flags: null,
    });
</script>

Ok, I’ve made a ton of progress. I’m now trying to call the wasm module for uplc but it seems to fail with the following error message:
Wrong era, Please use Babbage or Alonzo: unexpected type map at position 42: expected array"

I need to figure out what this is about.

It’s probably a serialization issue. So maybe it’s time to merge this and go for the Conway update of the package.


ESP-LCD: swap_color_bytes doesn't work on ESP32-S3 (IDFGH-7258)

Environment

Development Kit:     none
Kit version (for WroverKit/PicoKit/DevKitC): none
Module or chip used:  ESP32-S3
IDF version (run git describe --tags to find it):
// v5.0-dev-2585-ga82e6e63d
Build System:         idf.py
Compiler version (run xtensa-esp32-elf-gcc --version to find it):
// xtensa-esp32-elf-gcc.exe (crosstool-NG esp-2021r2-patch3) 8.4.0
Operating System:    Windows
(Windows only) environment type: PowerShell.
Using an IDE?: Yes Vscode
Power Supply:        USB

Problem Description
I am currently using the st7796 screen, which has similar commands to the 7789, when I use the official i80 demo, as long as I turn off lvgl's swap color, the color of the screen will look weird
//Detailed problem description goes here.
Expected Behavior
The screen is normal
Actual Behavior
The colors displayed on the screen are strange (see image below)

Steps to reproduce

use this example：https://github.com/espressif/esp-idf/tree/master/examples/peripherals/lcd/i80_controller
set screen to st7789
start

@FanhuaCloud  I just checked st7789 (8bit data width) with that example and works well. By default, the example utilizes the LVGL to swap the color bytes, i.e. the CONFIG_LV_COLOR_16_SWAP option. But ESP32S3's LCD controller has a hardware feature that can help to do that in hardware. You can enable that feature by
--- a/examples/peripherals/lcd/i80_controller/main/i80_controller_example_main.c
+++ b/examples/peripherals/lcd/i80_controller/main/i80_controller_example_main.c
@@ -157,6 +157,7 @@ void app_main(void)
         .user_ctx = &disp_drv,
         .lcd_cmd_bits = EXAMPLE_LCD_CMD_BITS,
         .lcd_param_bits = EXAMPLE_LCD_PARAM_BITS,
+        .flags.swap_color_bytes = true,
     };
     ESP_ERROR_CHECK(esp_lcd_new_panel_io_i80(i80_bus, &io_config, &io_handle));

Don't forget to turn off the CONFIG_LV_COLOR_16_SWAP as well.
If you're using ST7796 with 16bit data width, then you don't have to enable the "swap bytes" feature either by swap_color_bytes flag or the CONFIG_LV_COLOR_16_SWAP.

oh thank you, i tried similar code before, i realized i may have written the code wrong, everything works fine so far


tag mermaid makes building fail

Hi,
I just received an email notifying me that:

The page build failed with the following error:
The tag mermaid in _posts/... is not a recognized Liquid tag. For more information, see https://help.github.com/articles/page-build-failed-unknown-tag-error.
If you have any questions you can contact us by replying to this email.

But it works fine locally.
Here is my config and the failed page.
Thanks.

the Jekyll generator on GitHub has specific supported old version with specific plugins. You cannot add more than the list they have. Unfortunately, mermaid gem is not supported yet.


navbar underline hover effect

Related Issue
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Fixes:  #(issue no.)
Description
[Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.]

Type of PR

[ ] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.]
Checklist:

[ ] I have made this change from my own.
[ ] I have taken help from some online resources.
[ ] My code follows the style guidelines of this project.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers and screenshots after making the changes.

Hello PA
I have added underline hover effect
Uploading Screen Recording 2024-10-06 204247.mp4…

@Krishnamverma951 Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor.
Great contribution to HACKTOBERFEST'24! 🎉


Pickability and handling listeners

Raised from https://github.com/phetsims/sun/issues/676.
During dev meeting, it would be good to discuss the current approach to pickability, I'll give a refresher for how it works, and what we can do.
This has appeared as a problem for components where:

We develop a component that has default pickability on the foreground. Because there are no input listeners covering the whole component, background subcomponents get input events.
A listener is added to the entire component, so now the foreground intercepts the events and seems "buggy"

Having the non-interactive foreground set to pickable:false prevents this.

Note that @jonathanolson and I looked at some pickable usages in our project over in https://github.com/phetsims/scenery/issues/1116 trying to find spots that should be using Node.inputEnabledProperty instead. Here are our notes:

There are 303 usages of pickable:false (and more with pickable = false, many of which likely are just trying to prevent input, and not represent a transparent-to-input Node

@jonathanolson's thoughts: You definitely want to set pickable on "foreground" components.

"Do I need to pick things through it"

"Do I want to prevent hit test calculation on children.

pickable: false was largely used correctly, on items that were never going to get input, but .pickable =  is more dynamic. AreaBuilderGameView.challengeLayer sets pickable dynamically (between false and null) where it could likely get away with setting inputEnabled instead.

canStartPress:  was another spot that demonstrated that you COULD potentially use Node.setInputEnabled (so long as all listeners on that Node would apply, since canStartPress is just for a single input listener. I.E. ChargedParticleNode.js

[ ]  Likely the only work to be done here (retroactively change usages) is on PhET-iO sims using instrumented Pickable.

2/25/21 dev meeting:
@jonathanolson summarized how pickable works.  He mentioned the possibility that pickable could be converted to a boolean.   But we'd need to do some work to set pickable: false for things that are currently pickable: null.
@jbphet preferred leaving things the way they are, based on the work that would be required. Wondered if that's naive.
Consensus:

leave pickable as is
no query parameter to add input listeners to root or ScreenViews
could do snapshot comparison on sun and scenery-phet demos, compare with and without a query parameter that adds input listeners
@jonathanolson will manually do snapshot comparison once to identify problems with common-code components. He'll add a query parameter called rootInputListener.


Design QA - View Market details

To keep consistency and allow user to directly enter to each market detail page, we have incorporated the "View market details" link on each box except for the megatemplates one.
To see reference, please check:
https://www.figma.com/file/42QoTLQcbObu7esoTPjWRv/Augur-Bet-Design-System?node-id=1140%3A0

looks added


Email fields not recognized as inputs

For some reason, the extension won't fill input elements whose type is email – the context menu is empty. Any idea why this might be?

I have exactly the same problem, but not for all email fields.
It didn't work when trying to set up a new Amazon account. When right clicking in the email field the list that came up only contained the word "Preferences" and none of the items I had entered.
This also happens on other sites I have tried.
But when I registered for GitHub to be able to enter this comment the email field worked perfectly.
I have always used "Autofill Forms" but only for manual entry of fields and that works on all the email fields I have mentioned. The only problem is that version of Autofill Forms is not Firefox 57 compatible and the new version is nowhere near as good.
Simple Form Fill (if the email field worked) would be even better than Autofill Forms as it is easy to enter the data in the list in any order you like.
The email field is the most important of the lot, firstly because it is probably used more than any other and secondly because manually entering the email risks making errors.
I hope this can be fixed soon.

But when I registered for GitHub to be able to enter this comment the email field worked perfectly.

That's because that particular input field is of the type text even though it's expecting an email address. As long as type="email" is specified in the field's attributes, the issue seems to occur every time.
Actually I think I've solved this right now. It's a Firefox bug. I was looking through the extension code and started wondering if maybe Firefox doesn't recognize email fields as editable. And then I found this: https://bugzilla.mozilla.org/show_bug.cgi?id=1345081.
A workaround might be to display the items all the time and just not do anything if an item is selected outside of a form field.

Thanks very much for your prompt response.
I admit I don’t understand all that was included in the link you sent.
What I don’t understand is why the current (non-webpage based extension) version of Autofill Forms works perfectly on these fields. Or is it some limitation of using webpage extensions that stops this, as the later webpage extension version of Autofill Forms does not work properly on email fields. (I can’t get it to work properly at all but on email fields the Autofill option does not even appear on the context menu when you right click on the field).
Being able to right click and enter an email is one of the most important things as far as I am concerned.
All I want to do is be able to right click whenever any text entry is required and select from a list – whether it is email, name, address etc.
I appreciate it is not your fault but if it can’t be made to work then I may be forced to look for a different browser where it will work when 57 comes in.
Keep up the good work. Apart from this issue I think your approach is fantastic. Exactly what I want.
Regards.
E. Allsop
From: Kalle Tuure<EMAIL_ADDRESS>Sent: 19 August 2017 10:23
To: sblask/webextension-simple-form-fill<EMAIL_ADDRESS>Cc: eallsop<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [sblask/webextension-simple-form-fill] Email fields not recognized as inputs (#12)
But when I registered for GitHub to be able to enter this comment the email field worked perfectly.
That's because that particular input field is of the type text even though it's expecting an email address. As long as type="email" is specified in the field's attributes, the issue seems to occur every time.
Actually I think I've solved this right now. It's a Firefox bug. I was looking through the extension code and started wondering if maybe Firefox doesn't recognize email fields as editable. And then I found this: https://bugzilla.mozilla.org/show_bug.cgi?id=1345081.
A workaround might be to display the items all the time and just not do anything if an item is selected outside of a form field.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/sblask/webextension-simple-form-fill/issues/12#issuecomment-323512050 , or mute the thread https://github.com/notifications/unsubscribe-auth/AdtkwE89kjNdafjxEru5VIdWQcLRhZISks5sZqlXgaJpZM4O1dec .  https://github.com/notifications/beacon/AdtkwP5hhNC815HmKAWuknXEtCI56yuFks5sZqlXgaJpZM4O1dec.gif

So I guess this can be closed? SDK extensions and webextensions are completely different, which is why some things might work differently. In case you do change browsers, I have this extension published in the Chrome webstore too.

@sblask What do you think about getting rid of the editable condition, i.e., simply showing the list of items no matter where the context menu was invoked?

I think that sounds a good idea.
At the moment it is difficult to use as it is not only the email field that doesn't work but others such as telephone number depending upon the website.
I'd like to try your idea.
Regards
E. Allsop
Sent from my iPhone

On 30 Aug 2017, at 05:53, Kalle Tuure<EMAIL_ADDRESS>wrote:
@sblask What do you think about getting rid of the editable condition, i.e., simply showing the list of items no matter where the context menu was invoked?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Given that this is a bug in Firefox that will hopefully be fixed at some point and that doesn't exist in Chrome, I won't do any hacks. You should try the autocomplete if you need to fill email fields, I use only that...


strongswan: 5.6.1 -> 5.6.2

Semi-automatic update. These checks were performed:

built on NixOS
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/pki -h got 0 exit code
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/pki --help got 0 exit code
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/pki -h and found version 5.6.2
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/pki --help and found version 5.6.2
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/charon-cmd --help got 0 exit code
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/charon-cmd --version and found version 5.6.2
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/charon-cmd --help and found version 5.6.2
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/ipsec --help got 0 exit code
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/ipsec --version and found version 5.6.2
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/ipsec version and found version 5.6.2
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/swanctl -h got 0 exit code
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/swanctl --help got 0 exit code
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/swanctl -h and found version 5.6.2
ran /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin/swanctl --help and found version 5.6.2
found 5.6.2 with grep in /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2
found 5.6.2 in filename of file in /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘iptables-1.6.2’ in /Users/graham/nix-borg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/os-specific/linux/iptables/default.nix:29 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Partial log (click to expand)
make[1]: Leaving directory '/tmp/nix-build-strongswan-5.6.2.drv-0/strongswan-5.6.2'
post-installation fixup
gzipping man pages under /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/lib  /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/libexec  /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin  /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/sbin
patching script interpreter paths in /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2
/nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/sbin/ipsec: interpreter directive changed from " /bin/sh" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/sh"
/nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/libexec/ipsec/_updown: interpreter directive changed from "/bin/sh" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/sh"
checking for references to /tmp/nix-build-strongswan-5.6.2.drv-0 in /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2...
moving /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/sbin/* to /nix/store/jd04xpik9zwmy39nh0axfss0m4hmw8yv-strongswan-5.6.2/bin

Success on aarch64-linux (full log)
Partial log (click to expand)
  /nix/store/8fwpmy8hvhbr9bk95ihx6bap6czbq5d2-ldns-1.7.0
  /nix/store/g68af9pmacxk1f0id7zwk66lalg1icby-openssl-1.1.0g
  /nix/store/qy9gz08c4hq9jj5nnnrxzjpfx7h16jbg-pcsclite-1.8.23
  /nix/store/vhxgh81lmmqjm1r2yr66x2b5h6gwhspx-openresolv-3.9.0
copying path '/nix/store/vhxgh81lmmqjm1r2yr66x2b5h6gwhspx-openresolv-3.9.0' from 'https://cache.nixos.org'...
copying path '/nix/store/qy9gz08c4hq9jj5nnnrxzjpfx7h16jbg-pcsclite-1.8.23' from 'https://cache.nixos.org'...
copying path '/nix/store/g68af9pmacxk1f0id7zwk66lalg1icby-openssl-1.1.0g' from 'https://cache.nixos.org'...
copying path '/nix/store/8fwpmy8hvhbr9bk95ihx6bap6czbq5d2-ldns-1.7.0' from 'https://cache.nixos.org'...
copying path '/nix/store/1pjzrvwm6yl0gdpr4p7c52jpqz74axfh-strongswan-5.6.2' from 'https://cache.nixos.org'...
/nix/store/1pjzrvwm6yl0gdpr4p7c52jpqz74axfh-strongswan-5.6.2

Since 5.6.2 provides security fixes it would be good if this was cherry-picked on 17.09.


A different way to do scheduling which is more robust, more clear for…

… me at the time, and which fixes a bug: intermittently or sometimes permanently, the services were marked as expired

Closing due to lack of requested feedback. If you'd like us to reopen the issue, please comment with the required information.


Some service error was occurred on plex.tv

Expected Behavior

Scrobbles the music
Current Behavior

Extension shows orange icon and says
Some service error was occurred

Looks like something went wrong while scrobbling the music. Please open options page and try to reauthenticate with services. If reauthentication doesn't help, and you still see this message, please create a new issue at the GitHub project page.

Possible Solution

Steps to Reproduce (for bugs)

https://bpaste.net/show/8f82aa72c26b
Context

No music gets scrobbled
Steps for resolving the issue

The unpacked extension seems to be working alright for some reason

[x] Reauthenticate on Last.fm

[ ] Try to use unpacked extension from latest master

[x] Check other issues for duplicates

Environment

Version used:1.63.0
Browser Name and version: vivaldi 1.9.811.13

playing with uninstalling and various refreshes seems to have fixed it... dont think its reproducible


How to measure the execution time for an entire frame in the perception module

Hi,
I am analyzing the execution of Apollo with the recent release (2.5). What is the best approach to measure the timing of processing one frame of input video? Do you also consider the overheads of ROS?

Please use apollo/scripts/diagnostics.sh to check the processing time of each module.

Thank you very much

You can also set a timer at the beginning and end of the code section to measure time.


Scrolling is not working on this widget

When I add this widget on the top/middle/bottom of a list view, the scroll function is not working when I am trying to view the elements above or below this editor in the list view.

You can use my package if you are still looking for a fix, - currently on master but will likely be released soon as 1.6.1 or 1.7.0.


ONLINE CONNECTION MANDATORY: Editor not opening

After installing the extension via *.vsix file the editor does not start.
(The editor stays just dark)
This happens on a computer that has no internet connection.
Is an internet connection mandatory? If so, why?

@digitalAssetStore Yes, internet is necessary,  because some resource is loaded on CDN.

How is the markdown file handled?

Markdown file send to server?

Markdown file only edited locally?

They are edit locally, but vditor's some js/css are loaded dynamically on CDN, once you loaded, the static files are cached and no need internet next time.


fastp:UMI

I use fastp to process UMI per_read, as follows:
@A00153:435:HNGTVDSXX:1:1101:3712:1000:GCTGTCA_GTCCTCT 1:N:0:GAATTCGT+TTATGAGT
But I use Illumina bcl2fastq to process UMI ,as follows:
@A00153:435:HNGTVDSXX:1:1101:3712:1000:GCTGTCA+GTCCTCT 1:N:0:GAATTCGT+TTATGAGT
fastp could offer a parameter to chose the “+” 、“_” or others.

Hi, did you mean
@A00153:435:HNGTVDSXX:1:1101:3712:1000:GCTGTCA+GTCCTCT 1:N:0:GAATTCGT+TTATGAGT

was created by bcl2fastq?


Pass invitees when creating a group

We need to pass a list of all invitees to GraphQL when we create a group. Each invitee should contain at least an email.

Done!


[Feature] 支持DocOwl1.5

Motivation
这个月是否支持DocOwl1.5 多模态模型
Related resources
https://github.com/X-PLUG/mPLUG-DocOwl/tree/main/DocOwl1.5
Additional context
No response

@AllentDan please investigate this model and check if lmdeploy can support it

Seems it hacked llama implementation like this. Turbomind has to change the implementation as well to adapt it.

Seems it hacked llama implementation like this. Turbomind has to change the implementation as well to adapt it.

Is it convenient to adapt?

Unfortunately, it is not easy to support a non-llama model in turbomind engine now.
I think we can come back to this feature after we refactor the enigne


Documentation for edc.transfer.proxy.token... config is wrong

The documentation at the following lines is wrong. There is no mechanism in place which will create random keys.
https://github.com/eclipse-edc/Connector/blob/8193f3d99e60c22a30ab39385c7769ec1af492d7/extensions/control-plane/transfer/transfer-data-plane/README.md?plain=1#L51-L52
Proof:
https://github.com/eclipse-edc/Connector/blob/8193f3d99e60c22a30ab39385c7769ec1af492d7/extensions/control-plane/transfer/transfer-data-plane/src/main/java/org/eclipse/edc/connector/transfer/dataplane/TransferDataPlaneCoreExtension.java#L113-L122

documenting the settings in a readme is highly discouraged because they get outdated easily, better to properly annotate the setting with the @Setting annotation so the documentation can be generated with the autodoc plugin

the documentation is being posted on gh pages, this is the current one:
https://eclipse-edc.github.io/Connector/autodoc/0.5.2-SNAPSHOT/

documenting the settings in a readme is highly discouraged because they get outdated easily, better to properly annotate the setting with the @Setting annotation so the documentation can be generated with the autodoc plugin

already outdated, apart from the inconsistency mentioned in the issue, there is also no such parameter used at all: edc.transfer.client.selector.strategy (it's in the readme file only).
can i take this issue?


Update deprecation note for deleteByQuery

Hi,
The deprecation note for deleteByQuery on https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#indexdeletebyquery is misleading as it mentions a "query" parameter for deleteBy that is not accepted (https://www.algolia.com/doc/api-reference/api-methods/delete-by/) and returns the following message:
DeleteByQuery endpoint only supports tagFilters, facetFilters, numericFilters and geoQuery condition
It seems like https://github.com/algolia/algoliasearch-client-javascript/issues/612 ran into the same issue.

Updating this, thanks a lot!


Remove MyAccount access link from console application's header dropdown

Describe the issue:
The MyAccount link needs to be removed from the console application's header dropdown.

Only the logged-in user information and logout button should be visible in the Console header.

Closing this issue as a decision was taken to keep the My Account label as it is in the header.

https://github.com/wso2/product-is/issues/17900


Pass Options to HttpBuilder in parse_url_opts

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Summary
I am trying to use parse_url_opts to create an ObjectPath and StorePath completely from strings (and lists of string pairs). This will make it much easier for my users to access genomic data from the cloud. I can't, however, set the needed timeout option.
Details
I love parse_url_opts. It lets me set options such as "aws_access_key_id".
    let options = [
        ("aws_region", "us-west-2"),
        ("aws_access_key_id", credentials.aws_access_key_id()),
        ("aws_secret_access_key", credentials.aws_secret_access_key()),
    ];

It (apparently) does not, however, let me set client options such as "timeout". This is especially important for
Http.
Describe the solution you'd like
Perhaps the client options could be allowed and prefixed with "client_", for example,
let options = [
    ("client_time_out", "1000"),
];

Aside: I don't know how to set the default units for a duration.

Describe alternatives you've considered
Additional context

This could definitely be documented better but it should work to specify timeout
https://docs.rs/object_store/latest/src/object_store/aws/builder.rs.html#381

Thanks for looking at this. I'm wondering if it works with Http?
Here is the code--I think all options are ignored in the Http case
https://docs.rs/object_store/latest/src/object_store/parse.rs.html#136-180
        #[cfg(feature = "http")]
        ObjectStoreScheme::Http => {
            let url = &url[..url::Position::BeforePath];
            Box::new(crate::http::HttpBuilder::new().with_url(url).build()?) as _
        }

(I also tried it with Http and it didn't seem to work.)

Aah yes, it would appear #4516 did not update parse_url. Will get a fix up for you

[Also added to the PR]
You need to add line 167 back in of this fix doesn't work:
        let url = &url[..url::Position::BeforePath];

label_issue.py automatically added labels {'object-store'} from #5316


blueowncloud Actor README documentation needs update

README:
https://github.com/Jumpscale/ays_jumpscale8/tree/master/templates/app/blueowncloud
Schema:
https://github.com/Jumpscale/ays_jumpscale8/blob/master/templates/app/blueowncloud/schema.hrd

https://github.com/Jumpscale/ays_jumpscale8/tree/8.2.0/templates/app/blueowncloud


implementing ratio<num,den,exp> which replaces ratio<num,den>

https://github.com/mpusz/units/issues/14
This "works", as in it passes all static and runtime tests.
However quite a few of the tests have been "modified" to make them pass. Whether
this is legitimate is debatable and should be the source of some thought /
discussion.

many of the static tests and some of the runtime tests have had the input
ratios of the tests modified in the following way. eg ratio<3,1000> =>
ratio<3,1,-3>. ie they have been "canonicalised".

There are obviously an infinite number of ratios which represent the same
rational number. The way ratio is implemented it always moves as "many powers
of 10" from the num and den into the exp and that makes the canonical
ratio.
Because these are all "types" and the lib uses is_same all over the place, only
exact matches will be is_same. ie ratio<300,4,0> !is_same ratio<3,4,2> (the
latter is the canonical ratio). This is perhaps fine for tests in the devlopment
phase, but there may be a need for "more forgiving" comparison / concept of
value equality. One such comparison which compares den,num,exp after
canonicalisation is the constexpr function same as defined at top of
ratio_test.cpp. We may need to expose this and perhaps add even more soft
comparisions.

In the runtime tests it is "subjective" how some resukts should be
printed. There is the question of "how exactly to format certain ratios". eg
omit denominators of "1" and exponents of "0". However before even addressing
these in detail a decision needs to be made about the general form of
"non-floating-point-converted" ratios which do not map exactly to a "Symbol
prefix".

Arguably these are "relatively ugly" whatever we do, so we could just
go for an easily canonicalised form. An example is:

   CHECK(stream.str() == "10 [1/60]W");

   CHECK(stream.str() == "10 [1/6 x 10⁻¹]W");

Which of thses is "better"? Is there a "third", better form?  It's not obvious.
My opnion is: Both of 1&2 are fine for now, unless we think they go down the
wrong avenue, and can be "perfected later"? ie we can expose a softer version of
ratio based equality, and decide on canonical way of printing ratios (as far as
that is actually a very useful output form, compared with decimal, scientific or
engineering notation).

but there may be a need for "more forgiving" comparison / concept of value equality

We will switch to op== when we implement class NTTP ratio. But for this we probably need gcc-9.2 on Travis CI (conan-io/conan-docker-tools#158).


WIP: Blog post for new static policy

This is just a place holder PR for now.
It's a blog post for https://github.com/kubernetes/enhancements/issues/4176
/cc @rashansmith

@Jeffwan thanks for your interest in writing a blog for 1.31. Please update this to target the main branch instead of dev-1.31.
/hold
Pending assignment of publication date (by release comms)
We'll also keep this held until the v1.31 release has happened

@a-mccarthy I will work on the blog once the enhancement PR is merged.

Hello, I'm Rashan from the 1.31 Release comms team. I'm reaching out with a reminder that the blog ready for review deadline is July 26, 2024. Please let me know how we can help!

@rashansmith thanks for the feedback. The code PR has been merged and I am starting to draft the blog post today.

Hi @Jeffwan today is the ready for review deadline for blog content for 1.31. Are you still interested in writing a blog for this feature?
If so please let us know. This blog publication is scheduled for August 22.
cc: @rashansmith

After a discussion with @Jeffwan, we will aim to have blog content available by the end of the week.

I made some draft and update the PR here. It still needs some diagrams, contents and I will try to make it soon

Hey @Jeffwan, following up on your blog. Is it possible to get an estimated deadline for completion? We would like to have some time to review your content before publishing. Thanks!

After following up with @Jeffwan, we are aiming to have this blog post done by the end of the week.

@rashansmith sorry for the delay. I add the diagrams and polish some paragraphs and this should be in a good shape for reviewing now. Please take a look

/approve

Before approving this one @tengqm, let's check that release comms are happy to make an exception for it.
/approve cancel
pending confirmation of the exception

@a-mccarthy Please take another look. All comments are addressed

After I use figure, caption shows there. is that expected? should I remove caption?

After I use figure, caption shows there. is that expected? should I remove caption?

@Jeffwan yes, i was mistaken in my comment, it should be "alt" instead of "caption". Sorry about that!

@a-mccarthy I made the change and now it looks good. Please take another look

@sftim Please take another look. can we /hold cancel?


taxonomy ranks are too restictive

Hi,
in case one's taxonomy ranks fall outside of what is hard-coded in mia::TAXONOMY_RANKS, it breaks functions like taxonomyRanks.
For example:
> agglomerateByRank(my_tse, "Strain")
 Error: 'rank' must be a value from 'taxonomyRanks()'

One solution would be to be able to customize TAXONOMY_RANKS. Or include all possible ranks in TAXONOMY_RANKS.
Thanks!
Bela

One aspect in using TAXONOMY_RANKS is to enforce certain standards.
However, there are situations where some other categories are needed for a similar purpose. We are now working on that in a splitBy issue, which is in preparation #216

One aspect in using TAXONOMY_RANKS is to enforce certain standards.

The current set of values in TAXONOMY_RANKS is very 16S centric. Some 18S reference databases use different/more ranks. And with the ongoing development of full rRNA seq methods, amplicon data may very well be at Strain level in the near future.
I get that standardization is important, but hard coding is almost never a good idea. There are always situations where one needs to work with modified setups.

This is good point. It would be great to see a comment from @FelixErnst on this. Should we allow users to define the rank names as they wish? We already had some discussion on this.

PS: I personally would leave the default TAXONOMY_RANKS as is, but move it to options(), so I can be (globally) modified by the user as needed. And if it is in options() in can also be used by other packages.

in case one's taxonomy ranks fall outside of what is hard-coded in mia::TAXONOMY_RANKS, it breaks functions like taxonomyRanks.

I would phrase it the other way around like this: taxonomyRanks breaks one's taxonomy ranks. This is the intention. It is the equivalent of "Mind the gap".
From my point of view standardization is a very good idea. Sometimes shortcuts and not following standards leads to a lot of work afterwards. However, shortcuts are sometimes good, but only if they are used like this and not as the new standards.
Since you mentioned 18S rRNA references: Can you specify which ranks are available in those reference databases, which are not part of TAXONOMY_RANKS? Can you provide a reproducable example including the data visualising the issue? What reference other than "it is in that reference database" can you cite?
As far as I know ICN, ICZN, ICNP, ICNCP, ICPN and ICVCN all use this type of taxonomic ranks or a subset of those. Sometimes ranks contain two words, but from a technical point of view this is not a problem.
On personal experience: I cannot remember a dataset, for which I didn't have to adjust some aspects of the taxonomic data due to errors in reference databases. Is this case different?

PS: I personally would leave the default TAXONOMY_RANKS as is, but move it to options(), so I can be (globally) modified by the user as needed. And if it is in options() in can also be used by other packages.

How would that solve the problem, when you have two datasets with different assumptions in the same session?

Since you mentioned 18S rRNA references: Can you specify which ranks are available in those reference databases, which are not part of TAXONOMY_RANKS?

Here is a real world example: https://benjjneb.github.io/dada2/training.html: Note: PR2 has different taxLevels than the dada2 default. When assigning taxonomy against PR2, use the following: assignTaxonomy(..., taxLevels = c("Kingdom","Supergroup","Division","Class","Order","Family","Genus","Species"))

Currently, I still don't see that this is a problem to be addressed in the mia package.

Your example includes a function named agglomerate_by_rank, which is not available from mia. (In mia there is a function called agglomerateByRank. Do you mean that function? Did you use it while encountering the problem?)
The link to the dada2 website doesn't contain a reproducable example. It mentions that a reference dataset does not include Phylum information, but includes supergroup and division. Is this just a naming issue? Can those columns by renamed to work with agglomerateByRank?
Without the reproducable example it is hard to judge, what the actual problem is. I can make guesses, but before changes to the code can be thought of, we have get to point of knowing. Can you provide a minimal script and minimal dataset demonstrating the problem?

Thanks

Your example includes a function named agglomerate_by_rank, which is not available from mia. (In mia there is a function called agglomerateByRank. Do you mean that function? Did you use it while encountering the problem?)

Ups, yeah, that is my custom wrapper function. But it just calls agglomerateByRank which is the cause of the error. I fixed it in the first example.

The link to the dada2 website doesn't contain a reproducable example. It mentions that a reference dataset does not include Phylum information, but includes supergroup and division. Is this just a naming issue? Can those columns by renamed to work with agglomerateByRank? (One would need to know, what values supergroup and division contain)

Sure, I could rename everything. However, the consensus for the DADA2 PR2 reference database is to use "Supergroup" and "Division", so when I deliver results to our collaborators, I would have to rename everything back.

Without the reproducable example it is hard to judge, what the actual problem is. I can make guesses, but before changes to the code can be thought of, we have get to point of knowing. Can you provide a minimal script and minimal dataset demonstrating the problem?

Here is an example based on my first comment using Strain information:
library(mia)
data("GlobalPatterns")
# let's simulate that we have Strain information included in this data
rowData(GlobalPatterns)$Strain <- stringr::str_c(rowData(GlobalPatterns)$Genus, " ", rowData(GlobalPatterns)$Species, " ", stringi::stri_rand_strings(nrow(rowData(GlobalPatterns)), 1))
agglomerateByRank(GlobalPatterns, "Species") # works
agglomerateByRank(GlobalPatterns, "Strain") # does not work

Again, I think it makes more sense to enforce standardization by good default values, but also allow people to customize. Like dada2 does for example:
https://github.com/benjjneb/dada2/blob/2e8360d08912b429533d1495198a4ac02e00ba32/R/taxonomy.R#L66
There are always unforeseen situations where customization is needed.

What would be an example of a case where customization option leads to problems, when we assume that users in general know what they are doing in such cases? I tend to think that it is positive to allow users the freedom to do this also for other than some default groupings that are not fundamentally universal in the end. The splitBy(in the making) could solve this but then the added value of splitByRanks may become questionable.

when we assume that users in general know what they are doing in such cases?

Well you spelled it out there. By experience, I have to assume that nobody reads the man pages and therefore they don't know what the are doing.

The splitBy(in the making) could solve this but then the added value of splitByRanks may become questionable.

I think they are very different functions and that they are named so closely sets my teeth on edge. splitByRanks is a fire-and-forget function, which works like it is named. splitBy is a crutch of some sort, because sometimes you want to split by something else. This would actually not be needed, if relevant functions would be able to use a grouping factor, the f in splitBy, on-the-fly.
We are talking about a functionality called splitBySomeOtherRanks, which disable sanity checks required for correct taxonomic labeling and such.
I will prepare a PR, but @antagomir or @TuomasBorman has to follow-up. I probably don't have the time to complete it.

If the other split function splitBySomeOtherRanks (with some other name) will be made, then splitBy could be potentially reserved exclusively for the case using the grouping factor f. It is now also providing functionality which is similar to splitBySomeOtherRanks.

It is not. Have a look at the code.

@and3k: just to make it clear the solution to your problem is:
mergeRows(x = x, f = rowData(tse)[,"Strain"])

and if you want to agglomerate on more than one rank, it is the example given above:
lapply(as.list(rowData(x)[,c("Kingdom","Phylum")]), mergeRows, x = x)

Works with any data in the rowData, any additional taxonomic information you may encounter in any reference dataset

I would be fine with just having this as an extra example in splitByRanks (logical place to find), and/or in the relevant section OMA so that it can be found. Should we do that instead, to avoid creating many functions and go with that until there is more evidence that a new function is needed?

Encountering this issue again. Some rowData has superkingdom,  and since it is not included in TAXONOMY_RANKS "superkingdom" taxonomy rank is not parsed. Not sure what is the most optimal solution, but we could have "expanded" taxonomy ranks with unofficial ranks and aliases --> we could test if that works
If we need expanded ranks, we can just overwrite TAXONOMY_RANKS with TAXONOMY_RANKS_EXP

It is possible although I have concerns that those who bump into situations where it is needed may have hard time coming up with the fact that such solution exists.
The problem is, I guess, that the TAXONOMY_RANKS are treated differently from other rowData fields in aggregation and related tasks, therefore we cannot simply provide an alternative where any fields could be freely defined to be in the ranks.
How about just expanding TAXONOMY_RANKS but then additionally having a list of "official" ranks either in the function internally, or in the function argument (so that users can modify although it gets complicated too..), and whenever the data contains some of the unofficial TAXONOMY_RANKS, then a warning could be thrown, with a suggestion on how the user could redefine TAXONOMY_RANKS or the list of official ranks?

@ake123 Can you have a look? Use the data from Slack --> add those taxonomy ranks that are provided in one of rowData's columns --> modify TAXONOMY_RANKS to support these ranks --> check what breaks

I made TAXONOMY_RANKS as follows
TAXONOMY_RANKS <- c("rank_lineage","taxonomy1","taxonomy2","taxonomy3",
                    "taxonomy4","taxonomy5","taxonomy6","taxonomy7",
                    "taxonomy8","taxonomy9","taxonomy10","taxonomy11",
                    "taxonomy12","taxonomy13")

I tested almost all the functions and they all seem to be working
Here are the errors I came across
addTaxonomyTree(tse)
Error: rownames of 'x' mismatch with node labels of the tree
 Try 'changeTree' with 'rowNodeLab' provided.
In addition: Warning messages:
1: In toTree(td) : 10 duplicated rows are removed
2: In toTree(td) : The root is added with label 'ALL'

For mergeFeaturesByRank when agglomerateTree=FALSE  no error appears. But the following error appears when agglomerateTree=TRUE
 x21 <- mergeFeaturesByRank(tse, rank = "taxonomy11",agglomerateTree = TRUE)
Error: rownames of 'x' mismatch with node labels of the tree
 Try 'changeTree' with 'rowNodeLab' provided.
In addition: Warning message:
In toTree(td) : The root is added with label 'ALL'

How about if you drop "rank_lineage" column (it does not belong to these ranks)
Check what is causing this issue. Seems that it's a problem that can be easily fixed. any( !rownames(x) %in% c( tree$node.labels, tree$tip.labels) ) might give a hint --> why some rownames are missing from the tree or why these nodes are named differently than the rownames? --> the reason might be that rowData includes only taxonomy table and not the last rank which is rownames... --> how about if you add rownames as taxonomy14?

I checked the following
> taxonomyTree(tse)

Phylogenetic tree with 26 tips and 218 internal nodes.

Tip labels:
  taxonomy17:_32_1_1_1_1_1, taxonomy17:Saccharomyces cerevisiae, taxonomy17:_36, taxonomy17:_34_3, taxonomy17:_32_1_1_3, taxonomy17:_34_1_1_1_1_3, ...
Node labels:
  root:ALL, taxonomy1:, taxonomy2:_1, taxonomy3:_1, taxonomy4:_6_1, taxonomy5:_5_1, ...

Rooted; includes branch lengths.
Warning messages:
1: In toTree(td) : 17 duplicated rows are removed
2: In toTree(td) : The root is added with label 'ALL'

>any( !rownames(tse) %in% c( tree$node.labels, tree$tip.labels) )
[1] TRUE

Hi @ake123
Sorry for late reply. Your solution as such did not work, but this seems to work
library("mia")
data("GlobalPatterns")

tse <- GlobalPatterns

colnames(rowData(tse)) <- c("Kingdom", "Phylum", "Class", "Taxa1", "Family", "Genus", "Species")

rowData(tse)[["extra_column"]] <- rep(c("asd", "qwe"))

ranks <- c("kingdom", "phylum", "class", "taxa1", "family", "genus", "species", "extra_column")

assignInNamespace("TAXONOMY_RANKS", ranks, ns = asNamespace("mia"))

splitByRanks(tse)

addTaxonomyTree(tse)

rowData(agglomerateByRank(tse, "Genus"))

rowData(agglomerateByRank(tse, "Taxa1"))

Proposial

Add super kingdom to TAXONOMY_RANKS because it seems to be a common. Also check importing functions like loadFromBiom because it detects ranks based on prefix (such as "k__" --> Kingdom) --> add sk__ --> superkingdom.
Add setTaxonomyRanks and getTaxonomyRanks functions to modify TAXONOMY_RANKS  --> user can define taxonomy ranks themselves.
Add examples on this.

Things to consider (my free thoughts): We can have also ranks for columns. Currently, our methods do not support too much this column ranks / colTree, but we have decided to support this more. --> Should we have colRanks variable? --> is this one-rank-system enough (only TAXONOMY_RANKS) --> I think it is
@antagomir

Hmm.. what might be the status of this one, can we close?

this is already done it can be closed

Can you close all issues that are ready?


Form Validation not working

Form Validation not working ex: if layer not selected the save button should be disabled

FIXED


Dehydrated/Canned foods wont give can back if you already have can

Forge Version
<IP_ADDRESS>60
Galacticraft Version
<IP_ADDRESS>4
Log or Crash Report
No response
Reproduction steps

Obtain Dehydrated/Canned food
Eat Dehydrated/Canned food with an empty can in inventory
Receive nothing and be sad that you lost 7 tin ingots.

Performing the exact steps in a new instance with just GC installed, and a tin can is added to my inventory slot one was in every time I ate a canned food, If you can provide any further information I will reopen this.

it's pretty annoying that canned food drops tin can when consumed, especially when in critical situation or danger, i lost so many tin ingots due to this
i hope making it so if consuming canned food just add tin can to the inventory directly, it just drop like normal if the inventory is full without containing a tin can


CoordsChar broken after scrolling in page

I'm encountering and issue with coordsChar();
Context
I use  codeMirrorInstance.getWrapperElement().onmousedown(callback()) to register clicks in the editor. After this I use coordsChar with the information from the onmousedown event to check if I'm clicking a bit of marked text.
If I'm clicking a bit of marked text I proceed with some actions.
This works fine only when I have not scrolled down. If I scroll down I get different a lineNumber than before. If I scroll back up until I can no longer scroll I get the correct lineNumber again (the one from the line I'm clicking).
Steps
Step 1: Create a CodeMirror editor somewhere on a webpage.
Step 2: Ensure the height of the page is larger than the window height (this will cause a scrollbar to appear). Ensure the editor is fully visible.
Step 3: Click on a line, coordsChar() will show you the correct lineNumber when printed.
Step 4: Scroll down.
Step 5: Click on the same line. It will no longer show the corect lineNumber.
Result
coordsChar() does not give the correct lineNumber after scrolling.
Expected result
I would expect that after scrolling the line I click still has the same lineNumber.
I've searched for a similar issue but I can't find one. Could you tell me if coordsChar accounts for scrolling in the webpage? Or if I need to use a specific mode.

Did you notice the second argument to coordsChar? If you're passing the event's clientX and clientY here, you'll want to pass "window".

@marijnh Sorry for the late reply. It appears I missed your comment. I've tested this for all modes, ("page"/"window", "div", "local"/undefined) and the coords are consistently off.
I did some debugging and it appears that the browsers I've tested already correct the coords from the event by subtracting the scrollOffset. The code for coordsChar also does this so the offSet is subtracted twice. This causes codeMirror to conclude that I'm a few lines above where I'm clicking.
Browsers I've tested: Chrome (51.0.2704.103 m), Edge (25.10586.0.0, EdgeHTML 13.10586), FireFox (47.0.1), IE11 (11.212.10586.0).
The hotfix I implemented was adding the same offset Codemirror uses to the "top:" property of the object passed to coordsChar. Like so:
       this.codeMirror.getWrapperElement().onmousedown = function ( e ) {             var coords = {                 left: e.clientX,                 top:  e.clientY +  window.pageYOffset || (document.documentElement || document.body).scrollLeft             };             var lineCh = self.codeMirror.coordsChar(coords); };
If I need to make a jsfiddle or anything please tell me. But I haven't found a website where I can provide an example bit of code which allow me to use  the whole page and make sure I have enough height to get a scrollbar.

Your code example still isn't passing a second argument of "window" to coordsChar.

@marijnh I see what you mean now :). I though "window" was explicitly handled but it's just a fall through. Hence the mistake.


[11.x] Allow multiple events to be dispatched at once

A common use case I have for events is dispatching several at once. For example, I might have models store events to be published at a later time (e.g outside a transaction).
DB::transaction(function () {
    $cart->doSomeAction(); // adds an event
    $cart->finalize(); // adds another event
});

Event::dispatchMany($cart->flushEvents());

It also supports an array syntax to keep it similar to dispatch:
Event::dispatchMany([
    'foo' => [1, 'payload'],
    'bar' => [2', 'more payload']
]);

This PR provides simple syntatic sugar for that use case.

I don't like this, and in any case, we can't change the contract on 10.x.

my bad — I updated the target to master

I don't like this. Probably you need afterCommit feature.
https://laravel.com/docs/10.x/queues#specifying-commit-dispatch-behavior-inline

I don't like this. Probably you need $afterCommit feature.

You're not wrong — afterCommit is a possible way to solve this. There are 2 caveats IMO:

Some people do not like to publish events from within models, etc
When using afterCommit, the event is still published to the bus — so if you have a non-queued listener, or if the listener is not set to be processed after a transaction is committed, it will be a problem. Also, the event still gets published to the bus (so Event::assertNotDispatched(EventThatWouldNotHaveBeenDispatched::Class) would fail.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


When upgrading/updating modules it doesn't let me due --> \node_modules\material-ui-phone-number: Appears to be a git repo or submodule.

Hello,
when i was tryin gto upgrade packages in my project it seems yours package blocked the upgrade. When i checked the files in node_modules/material-ui-phone-number it seems it containes .git folder (so the npm thinks its a git submodule and refuses it to remove it or upgrade it ). Could you add it to .gitignore ? or publish it without it ?
error
npm ERR! path C:\web_projects\<project>\node_modules\material-ui-phone-number
npm ERR! code EISGIT
npm ERR! git C:\web_projects\<project>\node_modules\material-ui-phone-number: Appears to be a git repo or submodule.
npm ERR! git     C:\web_projects\<project>\node_modules\material-ui-phone-number
npm ERR! git Refusing to remove it. Update manually,
npm ERR! git or move it out of the way first.

Thanks

Thanks for the heads-up. Fixed in 1.6.0


why it can work in extract_config.py: import configparser

In fact, in Python 2.7,  there is not import configparser, but import ConfigParser. And if you fix it to ConfigParser, it turns out to another trouble. So I wonder to know why it can run in configparser. :)

We implement it with anaconda, and it indeed has package configparser even for python 2.7, that's why it works.

thank you so much, your work is so inspired and thanks for your reply


Services should stop in the reverse order

Generally when starting servers you put them in the other you want them to spin up. But generally when you want them to spin down it is preferable to go the opposite way. Thoughts on reversing spindown?

i'd like to know which situations this matters in ?
i can see it being an issue when the mysql container goes away, but where else?
I think one of the weird edge cases around this could be because of our relationship to docker-compose, and afaik it does a dependency graph based on links between containers.


Running locally

How can I run it locally with redis? I tried using the json example but it does not start correctly.

Ohh I found it.
Runtime you can use their suggested command:
poetry run start
or
uvicorn server.main:app --host <IP_ADDRESS> --port 8000 --reload
If you want to debug, create a python file and
from server.main import start
if name == "main":
start()


Multiple Monitor Video Capturing

Currently I am facing issue when multiple monitors are present, it is not capturing the primary monitor's video, instead it is capturing secondary monitor's video. It should ideally capture the active windows monitor's video.

Hello,
The mechanism for configuring screen grabbing will be modified soon as described in #26 . This should  also fix the problems regarding what screen should be captured.
Best regards,
Cristi.

Hi @msavino2,
Thank you for your contribution. For more info about contributing please see https://github.com/robotframework/robotframework/blob/master/CONTRIBUTING.rst.
What is done until now is good but more additions are necessary:

First of all the changes that are required for the mss are also required for gtk.
Second it would be nice if windowNumber could accept a list as an argument in case one needs to capture more screens.

Best regards,
Cristi

Thank you , I will try this.

Will be resolved with https://github.com/mihaiparvu/ScreenCapLibrary/issues/26.


Can you offer me a copy of the trained model on all the 3 splits of UCF101 and HMDB ,Thank you!

Have you trained the model on all 3 splits of the UCF101 and HMDB ? If you trained,can you offer me a copy of it,the paper dealine is approaching and I have no time to train all the 3 splits, Thank you!

You can use the kinetics pre-train model in checkpionts, they are better
than ucf or hmdb,
and finetuning ucf101 or hmdb on kinetics-pretrain just use less than half
day(one gpu)
lzylzy2223<EMAIL_ADDRESS>于2018年10月10日周三 下午6:48写道：

Have you trained the model on all 3 splits of the UCF101 and HMDB ? If you
trained,can you offer me a copy of it,the paper dealine is approaching and
I have no time to train all the 3 splits, Thank you!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/LossNAN/I3D-Tensorflow/issues/2, or mute the thread
https://github.com/notifications/unsubscribe-auth/ARnvXxdD1MwVCYmChH0o54d91YrmJ10aks5ujdBvgaJpZM4XVEjo
.

You can use the kinetics pre-train model in checkpionts, they are better than ucf or hmdb, and finetuning ucf101 or hmdb on kinetics-pretrain just use less than half day(one gpu) lzylzy2223<EMAIL_ADDRESS>于2018年10月10日周三 下午6:48写道：
…
Have you trained the model on all 3 splits of the UCF101 and HMDB ? If you trained,can you offer me a copy of it,the paper dealine is approaching and I have no time to train all the 3 splits, Thank you! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#2>, or mute the thread https://github.com/notifications/unsubscribe-auth/ARnvXxdD1MwVCYmChH0o54d91YrmJ10aks5ujdBvgaJpZM4XVEjo .

Thank you for answering,I trained this model for 20000 step at first but I found the result is not very good so I trained them 40 epoch every dataset. But just now, I found the 40 epoch result is just like the 20000 step result.Maybe It is not the reason. So now I have time to train this model,HAHA~!


Feature request: Rerun test from the last failed assertion in Live mode

What is your Test Scenario?

Create a long-running test.
Test fails in the middle of the flow.
Fix the issue and rerun the test again.

What are you suggesting?

Currently
Test starts from the beginning.
Expected
Test starts from the last failed assertion.
What alternatives have you considered?

N/A
Additional context

This feature should be built for Live mode.
This feature could enhance testing workflow and speed up dramatically development.

@hinok
Hello,
Thank you for your request. There is no guarantee that the current page state is correct due to a failed action/assertion. So we have to restart the whole test.

@Farfurix Hey, what did you mean by saying

There is no guarantee that the current page state is correct

?

This means that the current page state that you are currently testing may not correspond to the expected page state you would like to test. That is why it is better to start the test from scratch to avoid any unexpected testing behavior. Anyway, we appreciate your idea.

@AlexSkorkin Got it. I'd say that in live mode I can easily assess whether the state of the page is valid or not because I see that page in the browser.
I didn't propose this feature for "regular mode". I found it a bit frustrating where writing longer tests force you to run them from the beginning if they fail somewhere in the middle (e.g. timeout from external API etc).

Thank you for your clarification.