enhancement(button): easy to use v2 and v3 props

The type of this PR is: Enhancement

This PR resolves []
Description

Small PR to simplify the way Button works.

Removed the from part from the animation, since it's not needed. to is enough, and it's reversed on untap.
unexport some things that we don't use, like default variants etc.
remove textColor from variants since it's not used. same for size for the getSize func.
make the main Button wrapper accept v2 or v3 props, and try to guess the right ones and use that button.

To explain this a bit better:

If the palette v3 flag is off, Button will point to v2, nothing to worry about.
If flag is on, Button will point to v3. If it gets v3 props, it will use them. If it gets v2 props, it will convert them to v3 based on the mappings we have.
If flag is on and we want to use a v2 button, we need to do it by specifically importing and using ButtonV2. We should rework any code that needs to do that, since v2 is going away soon.
In the weird case that flag is off, and we specifically use v3 props on a button, which should not happen, then we get an error thrown.

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Button v2 and v3 simplify - pavlos

This PR contains the following changes:

Dev changes (Button v2 and v3 simplify - pavlos)

  Generated by :no_entry_sign: dangerJS against 03d0287631cb98cd399e8271b8ccbcd7806e8b6e


[BEAM-11377] Fix retry & cleanup issues.

Attempt to reduce 'Connection Reset' errors with mvn wagon flags.
Fix shutdown process that fails when the job is not in state Running.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.


Update to Unreal Engine 4.24 (or latest)

Describe the new feature you'd like
We are on 4.22, it would be good to update to 4.24 if possible, so we don't get too far behind upstream. There are some enhancements to weather that might be good
https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_23/index.html
https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_24/index.html

It doesn't look like there's any breaking change that will affect us. We can bump it up to 4.25.


restructure: Better naming for nodes in matching patterns

	{
		"prim": "if",
		"node": "if0",
		"nodes": {
			"A": "F",
			"B": "G",
			"C": "I"
		}
	},

doesn't say a human much, sorry. It would rather be:
	{
		"prim": "if",
		"node": "if0",
		"nodes": {
			"condition": "F",
			"true_branch": "G",
			"landing_site": "I"
		}
	},

(or abbreviated if that's too long).

The restructure tool is completely unaware (or at least should be, otherwise it is a BUG) of what the subgraphs represent. It only knows how to locate and merge isomorphisms of subgraphs in graphs. The node names are pulled directly from the SUB.dot.
Detailed subgraph example (if_detailed.dot):
digraph if {
	condition [label="entry"]
	true_branch
	landing_site [label="exit"]
	condition->true_branch [label="true"]
	condition->landing_site [label="false"]
	true_branch->landing_site
}

Iso example using if_detailed.dot:
$ iso if_detailed.dot c4_graphs/stmt.dot
Isomorphism of "if" found at node "17":
   "condition"="17"
   "landing_site"="32"
   "true_branch"="24"
Isomorphism of "if" found at node "71":
   "condition"="71"
   "landing_site"="75"
   "true_branch"="74"

The restructure tool is completely unaware of (or at least should be, otherwise it is a BUG) what the subgraphs represent. It only knows how to locate and merge isomorphisms of subgraphs in graphs. The node names are pulled directly from SUB.dot.

... and by propagating logical constraints, we come to conclusion that the way to satisfy the suggestion of this ticket is to put descriptive node names into SUB.dot instead of current A/B/C stuff there ;-).

... and by propagating logical constraints, we come to conclusion that the way to satisfy the suggestion of this ticket is to put descriptive node names into SUB.dot instead of current A/B/C stuff there ;-).

The logical constraints have now been propagated :)


Question regarding self destruction of files on IPFS

Hello
Once again thanks for all efforts involved in the temporal services.
I have a new query.
I was wondering HOW is working the "auto destruction" of file uploaded on IPFS.
Here is what i did

on 14th october (gmt+1) i uploaded a text file (thru javascript), using a 1 month HOLD TIME value and with the following content
"uploaded on saturday 14 sept 2019 to ipfs node temporal cloud
and "HOPEFULLY" not request by any other public nodes..."

during this month I NEVER queried the hash of this file (QmQiWhwamHMZM3wwLvrepyvMhqYAg7GKQW9zV111N5jVpE) from within any other public nodes like infura or cloudflare

today at around 9h30 gmt+1 16th of october (> 1 month later) i tried to fetch the same hash using a javascript download code:

const r = await fetch('https://api.temporal.cloud:6767/v2/ipfs/utils/download/QmQiWhwamHMZM3wwLvrepyvMhqYAg7GKQW9zV111N5jVpE', options);
console.warn(await r.text())

i am still able to retrieve the content of the text file over 1 month hold time expiration!
even tough the file and hash is not listed on the uploads page here https://play.temporal.cloud/uploads

What is the conclusion?

is it a "normal" behavior
shall i conclude that when an object is uploaded to temporal ipfs, somehow  a mechanism notifies other public nodes so that the object is spread?

Thanks in advance for the explanations

No problem, thanks for your interest! So a few different things. We guarantee that the data will be pinned on our nodes for the hold time you specify. So in the case of the hash you uploaded, we guarantee that it will be pinned on our nodes for the month.
After the hold time is expired (some times immediately, sometimes a short period after) the item is removed from your uploads, at this point in time the data is no longer guaranteed to be pinned but it is still available on our iPFS nodes, and may be available for an indeterminate amount of time.  How long exactly? This depends on a wide variety of factors such as:

Who else is pinning this data

Although you may have not disclosed the hash to someone else, it is still entirely plausible that someone else uploaded or pinned the content with the same hash. In this case we can't remove it from the node because removing it will also removes someone elses data.
When you uploaded something to an IPFS node, there is an automatic process by which the node updates the DHT with a provider record informing the rest of the network that the node is providing the content. This means that is theoretically plausible for someone to be running a DHT scraper that watches the DHT and pins new data

How much storage our nodes are taking up

If the storage our nodes use isn't full, and there is still space availalable, then we wont remove any data that isn't being stored by people on Temporal until that storage space is needed. For example say we have 10GB of storage space available, and the object you uploaded was 1KB, until that 1KB of storage is desperately needed we wont remove it.

We haven't done a garbage collection on our nodes

Actually getting the data removed from the IPFS nodes isn't a process that is exactly "quick".  As such, the only "safe" way to garbage collect is with a node that is not being used at all. Because our production environment is under regular use, it means we have to either run the garbage collection process during a maintenance period, or in a very strict series of steps.

So what is the conclusion:

This is normal behavior
You are guaranteed to have the data pinned by our nodes for the duration you specify
You have an indeterminate amount of time whereby you are granted free but unreliable storage of your data until that storage space is reclaimed. You can't rely on this for storage, if you want to rely on storage you would need to re-add the data.
shall i conclude that when an object is uploaded to temporal ipfs, somehow a mechanism notifies other public nodes so that the object is spread? this is true for ANY IPFS nodes, not just Temporal. The mechanism is called the "provider".

Well i thanks you for such concise and complete explanation.
Probably i will copy paste it to some of my friends using ipfs.

Not a problem happy to help :rocket:


While scaling Docker services we are getting 502 from traefik

Issue::
We are using docker swarm as backed.  When we are scaling up services during that we are hitting services (load test) we are getting 502 bad gateway during scaling up of the services. Whereas swarm says while scaling up it should be zero downtime and even if there is any it should show meaningful messages like 404 service not available.
What did you expect to see?
I shouldn't get any error or some meaning full message instead of 502.
What did you see instead?
I see 502 bad gateway error.
Output of traefik version: (What version of Traefik are you using?)
v1.3.3

Version:      v1.3.3
Codename:     raclette
Go version:   go1.8.3
Built:        2017-07-06_05:32:56PM
OS/Arch:      linux/amd64
What is your environment & configuration (arguments, toml, provider, platform, ...)?
# (paste your configuration here)

#graceTimeOut = "40s"
#MaxIdleConnsPerHost = 200
defaultEntryPoints = ["http", "https"]
logLevel = "DEBUG"
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]
  clientCAFiles = ["/etc/traefik/tls/file.crt"]
    [[entryPoints.https.tls.certificates]]
    certFile = "/etc/traefik/tls/file.cert"
    keyFile = "/etc/traefik/tls/file.key"

[web]
address = ":8080"

# IdleTimeout: maximum amount of time an idle (keep-alive) connection will remain idle before closing itself.
# This is set to enforce closing of stale client connections.
# Can be provided in a format supported by [time.ParseDuration](https://golang.org/pkg/time/#ParseDuration) or as raw
# values (digits). If no units are provided, the value is parsed assuming seconds.
#
# Optional
# Default: "180s"
#

IdleTimeout = "300s"

################################################################
# Docker Swarmmode configuration backend
################################################################

# Enable Docker configuration backend
#
# Optional
#
[docker]

# Default domain used.
# Can be overridden by setting the "traefik.domain" label on a services.
#
# Required
#
domain = "eib-dev.nt.lab.com"

watch = true

# Use Docker Swarm Mode as data provider
#
# Optional
#
swarmmode = true

<!--
Add more configuration information here.
-->

I'm inclined to say this is a duplicate of #1480. See also https://github.com/containous/traefik/issues/1480#issuecomment-296501197 which references the open upstream issue moby/moby#30321 setting out to bring zero-downtime support.

@timoreimann Thanks a lot for your response. From the comments it seems there are two work around options.

increase the retry count which will add latency.
traefik.backend.loadbalancer.swarm=true label for more availability.

Could you please guide me which one to use or is there anything else I need to follow to achieve zero downtime.

For the next please discuss this in the Traefik community Slack channel


Ability to log real client ip address instead of load balancer

Hi,
When using RR app in AWS behind ELB (application load balancer) the RR log records looks like this:

time="2019-02-20T06:30:48Z" level=info msg="<IP_ADDRESS> {327ms} 200 POST http://******.ap-northeast-1.elb.amazonaws.com/working-url"

In the IP address field we can see the ELB IP address. It would be great if it will be possible to insert the real client IP address here instead of ELB.

@wolfy-j Just need to use X-Forwarded-For header (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html)
Both client and proxy IPs should be recorded though.

Available in 1.4.0, see sample config to configure trusted proxies https://github.com/spiral/roadrunner/blob/master/.rr.yaml


Team Managers should be able to add new team members to Horreum

A user with team Manager role gets an Unauthorized error message when trying to create a new user. They should be able to create a new user to add to their team if the user is not already defined in Horreum.

This issue is now being tracked in #970 970


Update release and Krew instructions

Some release instructions were out-of-date for v0.6. The Krew template
file was also out-of-sync with what's currently in the Krew index; this
change lines them up (more or less).

/assign @yiqigao217

/lgtm

/hold cancel


Request: Tutorial for scanning the memory pointer addresses

Hello,
since you are pretty much only changing the memory pointer addresses to the specific categories on every patch, can you make a tutorial on how to do that? If so you could link the tutorial and everyone could change it up by themselves if you dont have time to do it.
Love your efforts

You can start by looking in League of Legends category on UnknownCheats.


Add progress information when initially syncing daemon.

Included in: https://github.com/bitpay/bitcore-node/commit/223aebf98cb720d01f507d3e5128d524f77757f7


fix: relay no matching record ocassional error when submitting transactions

Description:
Due to occasional error (No matching record found for transaction id) when submitting transactions using the relay, is necessary to increase the amount of retries to the mirror node to ensure that the mirror node has enough time to consume, process and expose the block before the relay gives up fetching it.
Related issue(s):
https://github.com/hashgraph/hedera-json-rpc-relay/issues/2131
Fixes #
Notes for reviewer:

Checklist

[x] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c8ae09b) 51.02% compared to head (30bb92b) 51.02%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #551   +/-   ##
=======================================
  Coverage   51.02%   51.02%
=======================================
  Files          24       24
  Lines        1172     1172
  Branches      131      131
=======================================
  Hits          598      598
  Misses        550      550
  Partials       24       24

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

LG, can you also add it here in this object, similar to the others https://github.com/hashgraph/hedera-local-node/blob/main/src/configuration/local.json#L25

Thank you for taking a look @georgi-l95, and for the feedback. I have added the requested change.


rvmrc-like auto-switching venv

Will there be support for venv auto-switching (just like what RVM does) ?
In RVM it works like this: if there is .rvmrc inside current directory, RVM will switch Ruby environment based on the content of the .rvmrc.

I'd love the same thing.  Heck, if I wasn't under the pump right now at work I'd offer to code it up.
ps.  Loving pythonbrew so far!

just ran into pythonbrew, I'd love to have the rvmrc like feature as well.
because one has to explicitly create the file for auto venv switching,
it shouldn't be a problem to the ones who chose not to use it.

+1

This can work too: https://github.com/cxreg/smartcd


Rename notification endpoint and add option to send email

Initial commit for ingest-api issue #328.  Rename the notification endpoint to /notify, and add an option to email a message once it posts to Slack.

BTW @yuanzhou Flask Mail 0.9.1 from 2014 continues to be the most current I find in the changelog!  It looks to be an extension, barely mentioned at palletsprojects.com.
https://pythonhosted.org/Flask-Mail/changelog.html
https://pypi.org/project/Flask-Mail/
https://github.com/mattupstate/flask-mail

Per Bill's guidance at 6/23/2023 Standup, we'll configure Dev with data-testing-notifications as the channel and probably<EMAIL_ADDRESS>as the "admin email" for verification of the /notify endpoint.  I suggest we leave this configuration on Dev until Jes finishes integration with ingest-ui.
When this code gets to Test, we can configure with the channel and email address used by data curation/ingest staff, and coordinate a test with them.

Thanks @kburke for the notes. Can you please also branch off the main in https://github.com/hubmapconsortium/gateway and send a PR to dev-integrate after renaming the endpoint from notify-slack to /notify? Will just need to rename in those api_endpoints.<dev|test|stage|prod>.json files. This will complete the endpoint renaming and I'll redeploy both.

Requested PR to dev-integrate in the gateway repo:
https://github.com/hubmapconsortium/gateway/pull/262


getTitle for polyline and polygon

Add method getTitle for polyline and polygon.

Please send a pull request for both Android and iOS.

I can't test iOS


TypeScript Milestone - WIP

@DanBotero Looks like you are taking over TypeScript stuff. Please resolve the conflicts on this branch & merge or discard these changes.

Is this relevant?

@kirjs Dan took over what I was working on, but I don't know if he used any of this. I assigned to @DanBotero.

Looks like it's all merged in, closing


[FEATURE] Support to destroy/recover volumes

See https://github.com/apache/cloudstack/pull/3688

@utchoang can you pick this next? Thanks.


DNN-10783: inject analytics content in after page init complete which set to inject at top.

The reason i have add on https://dnntracker.atlassian.net/browse/DNN-10783 within description:
"This is related to analytics http module, if you set the config as prepend script into body element, it will cause the control index changed then viewstate becomes invalid after postback, so that all viewstate will lost."


#202 WIP implement Notebookjs to render *.ipynb files

Install notebookjs and set markdown rendere of the existing renderer
I've tried another another method with usage of the react-jupyter,
but it yields error that I can not properly debug
(working with electron for the first time)
attempt to resolve #202

@flyudvik Thanks taking the initiative!

I'm not familiar with *.ipynb, so it would be nice if @flyudvik can provide some screenshots and sample gists to illustrate the changes:)

Hey @flyudvik, I'm closing this PR since the feature is implemented in


Product of Array Except Self

Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i].
The product of any prefix or suffix of nums is guaranteed to fit in a 32-bit integer.
You must write an algorithm that runs in O(n) time and without using the division operation.
Sample Input:
Input: nums = [1,2,3,4]
Output: [24,12,8,6]
Input: nums = [-1,1,0,-3,3]
Output: [0,0,9,0,0]

Hey @rohith1125 ,This repo is marked as excluded and any contribution made into it will not be considered valid, so please share your solution into this repository repo link.


add preseq to nf-core/seqinspector

I would like to start with this issue but preseq modules such as ccurve or lcextrap use BAM files as input; what should the strategy be to include this? Should the pipeline accept a sample sheet of BAM files instead of FASTQ files? And depending on the type of samplesheet follow a differential flow: FASTQ as input: fastqc, multiqc, etc || BAM as input: preseq, multiqc, etc?


Inconsistent behavior upon inserting soft newlines with RichUtils

This issue is a result from following the advice of @hellendag in #92 regarding handleReturn(). It appears to be unrelated to #92 so I am creating a new issue.
I am trying to use Draft to reproduce the behavior of a Twitter input box, where it will highlight characters beyond 140 in red. The following minimal example is based on the advice from #92 and the original tweet sample code:
overflowStrategy = (contentBlock, callback) ->
    text = contentBlock.getText()
    if text.length > 140
        callback(140, text.length)

OverflowSpan = React.createClass {
    displayName: 'OverflowSpan'
    render: -> <span {...@props} <EMAIL_ADDRESS>}

PostEditor = React.createClass {
    displayName: 'PostComponent.Editor'

    getInitialState: -> {}
    logState: -> console.log @state.editorState.toJS()

    componentWillMount: ->
        decorator = new CompositeDecorator [
            { strategy: overflowStrategy, component: OverflowSpan }
            # { strategy: hashtagStrategy, component: HashtagSpan }
        ]
        @setState { editorState: EditorState.createEmpty(decorator) }

    handleChange: (editorState) ->
        console.log { editorState: editorState.toJS() }
        @setState { editorState }

    handleReturn: (ev) ->
        console.log "handleReturn"
        @setState { editorState<EMAIL_ADDRESS>}
        true

    render: ->

 @refs?.editor?.focus()}>
                <Editor ref="editor"<EMAIL_ADDRESS>onChange={@handleChange}
                    handleReturn={@handleReturn}
                    placeholder="Enter content..." spellCheck stripPastedStyles
                />

            <input onClick={@logState} type="button" value="Log State" />

}

This test case exhibits two issues:

Push Return once in the Editor, and a new line is inserted. Push it a second time, and it's not. A third time inserts two newlines. Fourth time, nothing. Et cetera. Push return n times in an empty box and at the nth press, when n%2=1, you get two newlines and when n%2=0 you get none.
The point of the handleReturn() was to prevent the creation of additional blocks, and it works, but when the user pastes content into the editor from outside, the default paste behavior creates additional blocks anyway. I can't find an extension point to override this behavior.

Ahh, I forgot about that double newline bug. I would like to solve that.
For pasting, I think I have a solution for that. I'm on mobile now but will look around for it when I'm back at my laptop.
I think you could also probably allow the multiple blocks and define a decorator that is aware of character counts. Can try to gist something later.

https://github.com/facebook/draft-js/pull/255 attempts solve the double newline bug

@wcjohnson Is still still an issue with the latest version?

Closing; let me know if it's not fixed and we'll reopen.

Hi @hellendag, I would love to hear from your idea on how to prevent draft from creating additional blocks when pasting text (containing newlines)? ;) Like the OP, I'm trying to highlight overlength text.
Is there a simple solution on preventing draft from creating multiple blocks at all? I feel like having the text split up over several blocks only adds overhead and makes text manipulation less flexible in a scenario like the present.
Thanks a lot!


Feature request: setCustomValidity method on input

Overview of the problem
Buefy version: 0.4.4
Vuejs version: 2.3.3
OS/Browser: Fx54 on Linux
Description
setCustomValidity API introduced in HTML5 allows user to display a customized message for inputs with validation. Unfortunately, many browsers, including Edge, are lacking the support.
It seems that Buefy implements validation message with its own element. Is it possible to allow user to customize its message dynamically (i.e. changing newMessage of its parent field) by providing setCustomValidity() method?

Actually you can add a message to field prop directly:
<b-field message="Custom message" type="is-danger">[...]</b-field>

Is that what you need?


Orthographic camera: fix missing near and far parameters

This fixes visual artifacts issues when rendering big/small objects with the orthographic camera

Should one revert some of https://github.com/jupytercad/JupyterCAD/pull/492

What do you mean?

What do you mean?

Ah, I thought it was related to zoom level.

Not at all, these are the camera depth check limits


Improved Docs

can you elaborate on the reasoning for this change, please

Hi, project does not build on Android Studio


Add support for mobile advertising

Godot version:
3.1
OS/device including version:
Android
Please add ad support (admob, unityAds) for Android.
Godot is a good engine, but he does not have some important functions.

@DDru Godot is an open source engine, it can't embed functionality into its core that has a license model that is incompatible with MIT.
If I understand correctly admob (don't know about unityads) has a license model that makes including it into the core impossible.
Google "Godot admob" and you'll find various plugins, I have no advise on which one is good nor what the impact is on the licensing of your game.

did you check on android device?

@volzhs on the device it works. In the docs, nothing about it. After other engines, I expected some changes in the editor.
But earlier it did not work on the device. A small test showed that the original GodotAds has some problems.
Thanks.

@DDru Godot is an open source engine, it can't embed functionality into its core that has a license model that is incompatible with MIT.
If I understand correctly admob (don't know about unityads) has a license model that makes including it into the core impossible.
Google "Godot admob" and you'll find various plugins, I have no advise on which one is good nor what the impact is on the licensing of your game.

Still godot could be designed as to allow an easy way to implement third party solutions, maybe just clicking some button to integrate as a simple third party plugin.

Does the license apply only to libraries? What if an API is created to interact with popular advertisements, and the user downloads and adds the library to the project in the libs folder?

[@ca3games] Still godot could be designed as to allow an easy way to implement third party solutions, maybe just clicking some button to integrate as a simple third party plugin.

There are already several ways to do this: Engine modules (functionality added into the engine's source -- for example, GDscript is technically a module), GDnative (shared libraries), and asset library stuff -- assuming you can't just add that functionality using GDScript.

[@DDru] What if an API is created to interact with popular advertisements, and the user downloads and adds the library to the project in the libs folder?

Personally, I am against any sort of "ads API" being added to vanilla Godot. I would prefer this sort of thing be kept to plugins/addons.

There are plans to rework Android exporting to make using third-party modules easier, see #18865.

It's not only not beginner friendly but also not pro friendly.
As a developer the first thing I look for is a platforms eco system.
For mobile, Godot is simply bad. It doesn't support any mobile functionality, no third party is supporting godot at all (no mediation platform, tracking service and so on).
To get such support, we'd #1 need support from main Godot devs and #2 statistics about Godot usage. With that people could go to third parties and get them to create plugins for it.
I have contact to several big mediation platforms which I could cooperate with and get e.g. IronSource to create a plugin. But with things like "Nope, not interested. But you could build a plugin" there is no way ever to get any third party to support Godot. Such support is always in some kind sponsored, be it financially or through cooperation.
You simply can't expect all the little indie devs to compile engines, white c++ plugins for it and bend it even more, without having proper documentation to it in the first place. That goes beyond the scope of any small dev, and paying for Unity is faster, easier and way more cost efficient. It's sad to see (not only here) the very desinterested stand to Godot's eco system.

For some people asking for easier ads support is almost like asking Godot to support cancer. :)

The problem is that the modules are quite difficult to connect.

I think they're right about not supporting anything like ads directly inside the engine, as it would change the license specifications and philosophy around the project. Instead they're trying to add simpler ways to add modules/plugins whatever in order to have everything functional. And this is great.
Things like ads should be something that you add to the project. I don't know about the current set of features available in Godot in order to use and communicate with the mobile platform specific features (3D Touch, sensors, AR etc). I think they should be added since they're part of the platforms they target to, not something one could add to a platform (like ads). But, if doing so breaks some license rules then these features could be developed as "Godot official third party" plugins, they would just not ship with the engine directly and warns you if you add them as an official plugin.

It's not only not beginner friendly but also not pro friendly.
As a developer the first thing I look for is a platforms eco system.
For mobile, Godot is simply bad. It doesn't support any mobile functionality, no third party is supporting godot at all (no mediation platform, tracking service and so on).
To get such support, we'd need support from main Godot devs and statistics about Godot usage. With that people could go to third parties and get them to create plugins for it.
I have contact to several big mediation platforms which I could cooperate with and get e.g. IronSource to create a plugin. But with things like "Nope, not interested. But you could build a plugin" there is no way ever to get any third party to support Godot. Such support is always in some kind sponsored, be it financially or through cooperation.
You simply can't expect all the little indie devs to compile engines, white c++ plugins for it and bend it even more, without having proper documentation to it in the first place. That goes beyond the scope of any small dev, and paying for Unity is faster, easier and way more cost efficient. It's sad to see (not only here) the very desinterested stand to Godot's eco system.

There is an Android plugin for Godot now: https://github.com/ksvslk/godot-ironsource-android

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


feature request: extra cost/discount on Magento invoice

Extra costs and discounts for payment methods are calculated by Adyen.
But the extra costs do not appear at the invoice. Not a problem for consumers, but for b2b transactions our invoice is off when payment method is paypal or AMEX, two paymenttypes we charge a % extra for.
Would like to have some options to make the extra costs appear at the (pdf)invoice/ aka the exact amount Adyen charges, is shown.

Hi newsjunk,
Do you mean the Extra costs/discounts feature defined in the skin ?
I think it is better to set the extra costs/discount in magento. There are modules available that let you define extra costs/discount on payment methods.
Regards,
Rik
Adyen

"Do you mean the Extra costs/discounts feature defined in the skin ?:
Yes, exactly. I've looked into modules which can perform surcharges, but the problem is they all seem to work with payment methods 'in magento' as opposed to hosted solutions.

Hi Newsjunk,
In the latest version of our extension the Payment methods from our hosted solution are rendered as a separate payment method in Magento. So I think it is now possible to use these extensions.
Regards,
Rik
Adyen

Hello Rik,
We succeded partially.

We updated to 2.3.1 and also used 'Fooman Surcharge' as the surcharge module, seems most compatible and most used.

We can only set surcharges for the payments which have their own 'tab' in the Adyen Module. And do have a name rendered, everything starting with adyen_
So:
ideal - yes, possible to add surcharge but we keep this free of charge.
creditcards yes, but not possible to add different amounts per cc-brand. Would like to charge Amex more then others because higher costs.
paypal - no succes. Bunch of 'paypal' entries are visible when configuring surcharge. But all 'baked' in magento payment methods.
other payment methods within magento module no succes.
added names of payment methods for clarity

Hi newsjunk,
The payment methods are rendered in the config as adyen_hpp_.... for example paypal is adyen_hpp_paypal. It has a title it is only not rendered in the backend maybe that is a requirement of the Foorman extension ?
Regards,
Rik

Hi Newsjunk,
In latest version we have added fee option for adyen hpp payment methods.
Regards,
Rik
Adyen


generate links without trailing : if port not set

This is a minor thing, but at the moment our staging app and review apps generate links like this:
https://shields-staging.herokuapp.com:/appveyor/build/gruntjs/grunt
https://shields-staging-pr-7633.herokuapp.com:/galaxy-toolshed/v/sra_tools/iuc/fastq_dump
(with a trailing : character after the .com). They work, but I find it a minor irritation

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS against 48ae3be68a61273edeeb1cff5e3df912d6b5dbf8


Push package not allowed via http, only https

Hi,
I couldn't find a matching issue for this so I'll give it a shot.
When you are logged in on your account page and under the API Key tab you have an example how to push your package to the NuGet feed.
The example includes an address with http and not https which gives me an error when I'm trying to push:
Failed to process request. 'The requested resource can only be accessed via SSL.'.
The remote server returned an error: (403) Forbidden..

After adjusting the protocol I'm allowed to push. Maybe the example code should be updated?
Best Regards
Niklas

We'll get this fixed in our next deployment. Good find!


Users list is not in left side after changing display settings

In display settings I have turned on "Show user list on left sidebar in narrow windows", but still the users list in right side only. No change is observed.

Did you reload after changing it, and is your window actually narrow?  This setting only controls what we do with the USERS tab for narrow windows, not the general case.

(I'm pretty sure there's an existing issue open for supporting a feature to hide the USERS area for folks who want the message feed to be wider).

Yeah It is working in narrow windows. Sorry for misunderstanding


[1.15] Vertical View Distance

This new PR was created because I did some git nonos on the other branch so I recreated the changes on this branch.
Issue: #519

This is not working correctly, it seems to continuously load cubes around the player. Even at render distance 2h2v the same thing happens

I think I got it properly working now. There were even more oversights. Guess I needed a week not looking at code lol.

Merged manually, finished and fixed in https://github.com/OpenCubicChunks/CubicChunks/tree/MC_1.17


Small readme correction

Hey there, I just read the readme, hoodie sounds very fun.
Only this little word looked a bit out of place.
happy hacking

Great name @hoodie ☺ LGTM

LGTM Thanks Hendrik :)


Unable to set alarm state with latest beta version

Hi,
I'm currently installing the alarm panel at home and wanted to use the new features in the beta version. In the stable version, communication is going flawlessly from the control panel to the mqtt and I see the changes reflected in home assistant.
However, on the beta (0.8.2) it does not seem to work. I see states changes when triggered in HA, but no communication seems to come from the app through the home/alarm/set channel.
I tried to download the code and debug it directly on my phone but my Android development skills are rather limited. If you need data (bug reports, dumps, etc), I will happily provide them.
I can translate to French if you need it, I can take some time to do it :)

I will take a look and see if their is a problem.  Thanks so much for the offer to translate into French, that would be great.  I will get back to you soon with the mqtt issue.

I downloaded the latest beta version and set the alarm from HASS first and then set the alarm from the application.  Both are in sync with each other.  Here is what I have for my configuration yaml:
alarm_control_panel:
  - platform: manual_mqtt
    state_topic: home/alarm
    command_topic: home/alarm/set
    pending_time: 60
    trigger_time: 1800
    disarm_after_trigger: false
    delay_time: 30
    disarmed:
      trigger_time: 0
    armed_home:
      pending_time: 0
      delay_time: 0
    armed_away:
      pending_time: 60
      delay_time: 30

All I did to setup the beta was enter the ip address of my HASS install, I didn't change the port or any other settings.  Can you double check that you have the correct ip address in the beta (though I am sure you probably upgraded so it should be the same).  Perhaps there is a glitch migrating from the previous version to the beta.   The ip address should be without the prefix (http://) and the port.

Also check that your Alarm Command and Alarm Topic are "home/alarm/set" and "home/alarm" in the MQTT settings of the application.   The port should be 1883 unless your setup is different.

No, the problem is in the application.   The beta version isn't sending the mqtt command correctly to the mqtt hass broker.  Sorry for misleading you, I had accidentally installed the production version and it worked, but the beta version isn't working as expected.   I will issue a fix today hopefully, thanks for your patience.

Ok thanks a lot, I'm not crazy then :) Thanks for you quick response. I'm working on the translation, it should be done relatively quickly.

I don't know if you are crazy :) but I know you are correct.

Ok, look for a new updated with a fix for this issue.  I will close this now unless you have further issues.   Thanks!

It's working perfectly, thank you very much !


please implement

When dividing the atom window in to multiple sections have a way to resize proportions.
ps: I'm new to Github

https://github.com/atom/atom/issues/274

Thanks @m1ga -- closing in favor of https://github.com/atom/atom/issues/274.

thanks exactly what i was looking for.


Milestone:  Version 1 of Crypto Price Rank Project

Use React documentation.
Use React components.
Use React props.
Use React Router.
Connect React and Redux.
Handle events in a React app.
Write integration tests with a React testing library.
Use styles in a React app.
Use React life cycle methods.
Apply React best practices and language style guides in code.
Use store, actions and reducers in React.

Hello @Owusu-Desmond
Thank you for the review
I'd appreciate it if you could do me a favour by star-gazing this repository
Thanks in advance 😊


Revert "Always write cloudAccount for GCP LBs"

This reverts commit fe7876516c97365c22d975fb25b6f2cd4a54e0f8.
I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Thanks :)


In progress test result

Video after changes
http://screencast/cast/NDY3OTM1OTAwMzYyMzQyNHxhMjQ3MTc4NS1mNw
Tests

In the screenshot that you provided I don't see the progress bar in the card. Should it be there?

Yes it is, thank you!
Updated + video after changes


how to stop cache.play(filepath)?

I tried cache.clear();
but nothing happened . Actually I have played a tone in loop like background music .
Now with the same button I want it to stop . But nothing happening;
if (isMusic) {
player.play('sounds/drum_loop.mp3');
} else {
player.clear('sounds/drum_loop.mp3');
}

https://stackoverflow.com/questions/56360083/stop-audio-loop-audioplayers-package


Books category delete UI inconsistency

#1724

Description
Solved Books category delete UI inconsistency
Checklist:

[x] I have performed a self-review of my own code.

@P4NK4J please assign me a new task.


What is the READTHEDOCS environment variable for?

At https://github.com/dimartinot/gee_sar_fetcher/blob/dev/geesarfetcher/init.py#L23-L24,
what is this variable meant for?

I build the official documentation of the app using READTHEDOCS (you can access it at this address: https://gee-sar-fetcher.readthedocs.io/en/latest/?badge=latest ).
This documentation process calls the different Python files of the app and then executes any code within these files, including this ee.Initialize() line, that is only expected to be called when the library is imported. To prevent this from being called when reathedocs builds documentation, I just check wether an env variable is set or not. The presence of the READTHEDOCS variable  is used to make the check.
Hope I was understandable enough :) !


Prepare for release v0.4.0

The bartholomew.wasm and bart CLI have been version aligned. The release process has also been updated to reflect the aligning of versions.

Closes https://github.com/fermyon/bartholomew/issues/102


🐛 [FIREBASE_MESSAGING] 9.1.4 with Flutter 2.2 doesn't compile

Bug report
Describe the bug
With the new stable version Flutter 2.2, Firebase messaging 9.1.4 doesn´t compile due to Java error.
Steps to reproduce
Steps to reproduce the behavior:

Flutter upgrade to 2.2
Flutter run

Console log:
/Users/alfredo/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-9.1.4/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java:20: error: cannot find symbol
import com.google.firebase.iid.FirebaseInstanceId;
                              ^
  symbol:   class FirebaseInstanceId
  location: package com.google.firebase.iid
/Users/alfredo/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-9.1.4/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java:21: error: cannot find symbol
import com.google.firebase.iid.Metadata;
                              ^
  symbol:   class Metadata
  location: package com.google.firebase.iid
/Users/alfredo/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-9.1.4/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java:152: error: cannot find symbol
                  : Metadata.getDefaultSenderId(FirebaseApp.getInstance());
                    ^
  symbol:   variable Metadata
  location: class FlutterFirebaseMessagingPlugin
/Users/alfredo/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-9.1.4/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java:153: error: cannot find symbol
          FirebaseInstanceId.getInstance().deleteToken(senderId, "*");
          ^
  symbol:   variable FirebaseInstanceId
  location: class FlutterFirebaseMessagingPlugin
/Users/alfredo/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-9.1.4/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java:165: error: cannot find symbol
                  : Metadata.getDefaultSenderId(FirebaseApp.getInstance());
                    ^
  symbol:   variable Metadata
  location: class FlutterFirebaseMessagingPlugin
/Users/alfredo/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-9.1.4/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java:166: error: cannot find symbol
          String token = FirebaseInstanceId.getInstance().getToken(senderId, "*");
                         ^
  symbol:   variable FirebaseInstanceId
  location: class FlutterFirebaseMessagingPlugin
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
6 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':firebase_messaging:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 42s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done                        43.6s
Exception: Gradle task assembleDebug failed with exit code 1

Expected behavior
A clear and concise description of what you expected to happen.
Sample project
Providing a minimal example project which demonstrates the bug in isolation from your main App greatly enhances the chance of a timely fix.
Please link to the public repository URL.

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.0, on macOS 11.2.3 20D91 darwin-x64, locale en-ES)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.0)
[✓] VS Code (version 1.56.2)
[✓] Connected device (3 available)

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
- firebase 9.0.1 [http http_parser js]
- firebase_analytics_platform_interface 2.0.1 [flutter meta]
- firebase_analytics_web 0.3.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.0.4 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 2.1.4 [firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 1.0.7 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]

+1 reproducing the issue. Workaround found is to upgrade to ^10.0.0

@alfredo-handcash
The plugin has been upgraded to latest version (10.0.0) and per above comment it works with it. Can you upgrade to latest and see if it resolves your issues too.
Also, when you upgrade to latest, please note the breaking changes mentioned in the changelog:  https://pub.dev/packages/firebase_messaging/changelog#1000

Hi @darshankawar ! Thanks for your response and I can confirm that FCM in 10.0.0 version works fine with Flutter 2.2


No circle output in e2e test

https://app.circleci.com/pipelines/github/statechannels/monorepo/6028/workflows/b9552df5-e38e-478d-99af-336b24f2564e/jobs/24372/steps
#!/bin/bash -eo pipefail
(cd packages/e2e-tests && yarn test web3torrent)
yarn run v1.17.3

$ jest --bail --runInBand web3torrent

Waiting for servers

Servers started

Too long with no output (exceeded 10m0s): context deadline exceeded

related? https://github.com/statechannels/monorepo/pull/1713

Servers started

This indicates that the waitOn promise resolved, so it shouldn't be the culprit.

I think the issue was this.

HEADLESS was set to true in some integration test environment variables, something that I had not anticipated when setting the 100_000 timeout.
Therefore, jest would wait to timeout for longer than circle, sometimes with no output at all


Multiple terrains do not work

First of all, a very very cool and super project.
Unfortunately, it is not possible to create a second terrain, because if I do that and change the position, I can no longer edit the terrain.
We would like to create different terrains and put them together later.
It would be very cool if you build in that you can enlarge the terrain without everything being reset, so for example enlarge to the left or bottom.Another idea would be that you allow to have multiple terrains and allow them to be painted at the same time, so that you can make transitions between terrains.
Thanks for your work so far.

It has been over 2 years since I updated this lol :P I remember it being quite slow so it would defiantly need some compute shaders. The code is open source so you can continue working on it if you want


Refactor pkg/common, Fixes #11599

Fixes: #11599
Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

Seems like you have a bunch of calls to stringutils.GeneratestringutilsID which should be stringutils.GenerateRandomID

@cpuguy83 fixed all of them (vim and my fault)

Actually name for package is not giving any idea about functions in it. Only generaterandomstring is somehow related to stringutils.
Also I don't know why we don't use GenerateRandomID everywhere instead of RandomString.
@runcom Would you mind to rename your package to something like stringid and then we'll create issue about removing RandomString.

@LK4D4 It's ok, I'll do it.
I was just moving the other makeRandomString (from https://github.com/docker/docker/blob/master/integration-cli/utils.go#L304)  and RandomString (from https://github.com/docker/docker/blob/master/engine/env_test.go#L16) to this new stringutils so it will contain this other 2 new methods (GenerateRandomAsciiString(n int) and GenerateRandomAlphaOnlyString(n int))

@runcom looks okay for me.

@LK4D4 What do you think about pkg/id with GenerateRandomID and TruncateID and pkg/stringutils with GenerateRandomString(), GenerateRandomAsciiString(n int) and GenerateRandomAlphaOnlyString(n int)?

@runcom I thought about id too :) But it is too common variable name, so it will be not very convenient to import. Overall idea is cool.

@LK4D4 let's call it containerid then, if I'm not totally wrong the id we are referring to is always about container id (or am I really wrong?)

@runcom Nope, it is image id as well. But if we will suppose such things, then pkg is not place for this. pkg should be packages not dependent on docker at all.

Alright, stringid is perfect then

@LK4D4 now there are two dinstinct pkgs, stringutils and stringid.
Theare are only two places where stringutils is needed to call RandomString (now GenerateRandomString) from the previous common pkg:

https://github.com/docker/docker/blob/master/engine/engine.go#L81
https://github.com/docker/docker/blob/master/utils/utils.go#L315

I'll open another issue and replace the calls to GenerateRandomString with stringid.GenerateRandomID as you suggested before to get rid of this function in stringutils.
The other functions in stringutils (GenerateRandomAsciiString(n int) and GenerateRandomAlphaOnlyString(n int)) are used around tests.

@runcom Cool

LGTM
ping @jfrazelle

LGTM
thanks!


Added iOS screenshot notification

As on iOS it's not possible to prevent a screenshot, I added an implementation explaining how to notify when a user takes a screenshot.
This makes it possible to log this information in the future or take some action.

Awesome, thank you!!


Uncaught exception occured

Hello,
Could please correct this error :
ERROR:Uncaught exception occured. Cannot cast NoneType to any kind of InputPeer.
0 messages were successfully written in the resulting file. Done!
This is a private channel, I tried 3 differents and it throw the same error. Created a test channel with dummy messages and also got the same error.
Best regards

"telegram-messages-dump -c @firendlyname -p +xxxxxxxxxx"
Als setting different limit did not solve the issue.
Processing messages with ids 17-1 ...
ERROR:Uncaught exception occured. Cannot cast NoneType to any kind of InputPeer.
0 messages were successfully written in the resulting file. Done!
I tried a public channel with the same issue "@football" for instance.

Fixed.


Training with GPU reports error tensorflow and cudnn version mismatch

error：
2024-06-12 16:19:09.672260: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:417] Loaded runtime CuDNN library: 8.3.2 but source was compiled with: 8.6.0.  CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgrade your CuDNN library.  If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.
2024-06-12 16:19:09.704946: E tensorflow/compiler/xla/status_macros.cc:57] INTERNAL: RET_CHECK failure (tensorflow/compiler/xla/service/gpu/gpu_compiler.cc:618) dnn != nullptr
*** Begin stack trace ***
tsl::CurrentStackTraceabi:cxx11
Tried updating cudnn and still getting errors.
(py38) sudo dpkg -l | grep libcudnn
ii  libcudnn8                       <IP_ADDRESS>-1+cuda11.8               amd64        cuDNN runtime libraries
ii  libcudnn8-dev                   <IP_ADDRESS>-1+cuda11.8               amd64        cuDNN development libraries and headers
ii  libcudnn8-samples               <IP_ADDRESS>-1+cuda11.8               amd64        cuDNN samples

Hi,
Thank you for raising this issue. The error indicates a version mismatch between your current cuDNN library and TensorFlow. For TensorFlow, the version compiled must match the cuDNN runtime library version. You can check the compatibility for the correct versions here.
Romain


feat: ssl/tls support

default install should support generating certs and serving chatwoot over SSL

I would like to work on your issue

@YarikRevich Sure. Assigning this issue to you.


Send id_token_hint when session is changed in JS token mgr sample

https://openid.net/specs/openid-connect-session-1_0.html#RPiframe

Done with new oidc-client-js implementation


OCM-2258 | fix: Adjust error message for HCP account roles

Mention the --hosted-cp flag.
Related: OCM-2258
upgrade account roles

oadler@fedora:rosa (OCM-2258)$ ./rosa upgrade account-roles --prefix oadler
E: Failed to get classic account roles ARN: Role with the prefix 'oadler' not found. To upgrade hosted CP account roles use the '--hosted-cp' flag

create cluster
oadler@fedora:rosa (OCM-2258)$ ./rosa create cluster --hosted-cp
I: Enabling interactive mode
? Cluster name: oadler-test
? Deploy cluster with Hosted Control Plane: Yes
I: NOTE: Hosted control planes are currently in Technology Preview (https://access.redhat.com/support/offerings/techpreview). Any Technology Preview clusters will need to be destroyed and recreated prior to general availability.
? OpenShift version: 4.13.1
W: No account roles found. You will need to manually set them in the next steps or run 'rosa create account-roles --hosted-cp' to create them first.

/test commits

/lgtm


feat: switch face simulator recording + handle blendshapes properly.

the old faceRecording data had blendshapes already indexed. so a new recording (video and face data) was created and handled by the simulator. this new recording data has the video within it so we don't have to have a separate folder of images like before.
before this is merged, i'd like to have a mesh with proper blendshape names i can use for testing.

alrighty. will add the up and down + blink.


GitDoc doesn't commit & push on save/close

First of all, thanks for this amazing extension! It's perfect for my purposes, despite some issues which I want to share.
In my experience, GitDoc doesn't push on every commit, it seemingly does it every 30s despite what I set in the settings. This is suboptimal, since I'd like it to push every time I save the file.
It also doesn't always pull on open – most of the time I have to wait for some time until the changes get pulled.
I've tried editing config.json manually, but unfortunately, that doesn't work either

have you found any solution?

GitDoc has a hook that runs when VS Code attempts to close, but I'm not sure if it's getting called realiably :/ I'll try to look into it again this week and see if I can figure out a way to make this week.
In the meantime, I think that enabling auto-push on a delay is the most reliable solution.

I have everything to force push when gitdoc is enabled and auto-commit every 30 seconds, but it seems that I have the same issue. I believe I need to disable and re-enable gitdoc each time I close/open VS Code, and then I need to manually refresh the commit for it to work (still need to confirm that it fixes it).


Notification is not showing when l exit the app

Once l create the notification, everything works great, displaying, dismissing and so on, but when l schedule a notification and exit the app, it does not show until l open the app again

Eureka !!!!, its not an issue with the plugin, if you have turned on power saving mode which limits some apps from running in the background, notifications won't show, SOLUTION, make sure the app is allowed to run in the background on your device.

https://github.com/rafaelsetragni/awesome_notifications/issues/491


Connection lost - no syncing possible

Describe the bug
maestral shows "syncing 1/15" bit in the log there are connection errors.
maestral does not sync
To Reproduce
don't know. It showed up, after I set "inotify max_users ..." like in the window from maestral
Expected behaviour
maestral should sync
System:

Maestral version:
OS: Kubuntu 20.10
Desktop environment: KDE 5.19 (?) - Qt 5.12.8 - KDE Frameworks 5.68.0
PyQt version (for Linux GUI): PyQt5>=5.9 in /usr/lib/python3/dist-packages (from maestral-qt) (5.14.1)
Additional context
Log File:

2021-03-06 11:44:26 maestral.sync DEBUG: Modification of "/Schule/Schule/12/12 Verkauf/Weinkunde - /AB - Willkommen in besten Lagen .docx" detected but file content is the same as on Dropbox
2021-03-06 11:46:07 maestral.sync INFO: Connection lost
2021-03-06 11:46:07 maestral.sync DEBUG: Connection error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 665, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.8/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1049, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.8/http/client.py", line 971, in send
    self.sock.sendall(data)
  File "/usr/lib/python3.8/ssl.py", line 1204, in sendall
    v = self.send(byte_view[count:])
  File "/usr/lib/python3.8/ssl.py", line 1173, in send
    return self._sslobj.write(data)
socket.timeout: The write operation timed out

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 719, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 400, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3/dist-packages/six.py", line 702, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 665, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.8/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1049, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.8/http/client.py", line 971, in send
    self.sock.sendall(data)
  File "/usr/lib/python3.8/ssl.py", line 1204, in sendall
    v = self.send(byte_view[count:])
  File "/usr/lib/python3.8/ssl.py", line 1173, in send
    return self._sslobj.write(data)
urllib3.exceptions.ProtocolError: ('Connection aborted.', timeout('The write operation timed out'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/client.py", line 180, in convert_api_errors
    yield
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/client.py", line 535, in upload
    session_start = self.dbx.files_upload_session_start(data)
  File "/home/ralf/.local/lib/python3.8/site-packages/dropbox/base.py", line 2993, in files_upload_session_start
    r = self.request(
  File "/home/ralf/.local/lib/python3.8/site-packages/dropbox/dropbox.py", line 313, in request
    res = self.request_json_string_with_retry(host,
  File "/home/ralf/.local/lib/python3.8/site-packages/dropbox/dropbox.py", line 463, in request_json_string_with_retry
    return self.request_json_string(host,
  File "/home/ralf/.local/lib/python3.8/site-packages/dropbox/dropbox.py", line 559, in request_json_string
    r = self._session.post(url,
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 581, in post
return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', timeout('The write operation timed out'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/sync.py", line 3509, in handle_sync_thread_errors
    yield
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/sync.py", line 3685, in startup_worker
    sync.upload_local_changes_while_inactive()
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/sync.py", line 1563, in upload_local_changes_while_inactive
    self.apply_local_changes(sync_events)
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/sync.py", line 1784, in apply_local_changes
    for n, r in enumerate(res):
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 611, in result_iterator
    yield fs.pop().result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 439, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/sync.py", line 2135, in _create_remote_entry
    res = self._on_local_created(event)
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/sync.py", line 2326, in _on_local_created
    md_new = self.client.upload(
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/client.py", line 591, in upload
    raise exc
  File "/usr/lib/python3.8/contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/ralf/.local/lib/python3.8/site-packages/maestral/client.py", line 185, in convert_api_errors
    raise ConnectionError("Cannot connect to Dropbox")
ConnectionError: Cannot connect to Dropbox
2021-03-06 11:46:07 maestral.sync INFO: Connecting...
2021-03-06 11:46:09 maestral.sync INFO: Fetching remote changes
2021-03-06 11:46:09 maestral.sync DEBUG: Fetching remote changes since cursor: AAFfuhxN00pjB6ATiHMy-SpxhsEWW8Pz1UWwV92dcGBpHRJqG_1vQHpE8x2wPiy435UcE2HTQAy24s5mWTrAdfHjFezXMmQavd-kvINwJecGwC5LWrZjCz51dBlWO6YtAK4yyRSG1Nkq5zK2Ii6QAYO2HeZr24hGaYX2fNXuYa0dWAQNxiRcqlC27QT89Nw0kws
2021-03-06 11:46:09 maestral.sync DEBUG: Listed remote changes:
...

If you need the whole debug-log, please let me know and where to find it ;)

As you can see above, there was an error with this file:
/Schule/Schule/12/12 Verkauf/Weinkunde - /AB - Willkommen in besten Lagen .docx" detected but file content is the same as on Dropbox
There was another file in the same folder:
/Schule/Schule/12/12 Verkauf/Weinkunde - /AB - Willkommen in besten Lagen .odt
The difference is the fileformat: docx vs odt
Maybe the space before the dot/file-ending is causing the issue?
After deleting the docx-file and removing the space before the dot, maestral does sync again ...
atm it seems to work. I'll report back

@walterheisenberg, I’m not sure I understand the problem. Occasional connection errors are expected if the internet connection is temporarily interrupted, they are nothing to worry about. This is why they show up with the log level “DEBUG” instead of “WARNING” or “ERROR”. When the connection fails, the sync daemon will immediately attempt to reconnect and resume syncing.
Any spaces in the file name should not be problematic unless the space come after the file extension, in which case there will be a sync issue notification in the GUI. Are you consistently seeing errors with a particular file name?

Connection errors: Why are they appearing? My internet connection is stable
Sorry for the noise, but "connection errors" on a stable connection does mean in the  most cases there is something wrong. They appear in the "normal" log also, btw.
I thought something broke the connection ... be it Dropbox or maestral ... and filed a bug-report.
before opening this bug-report, I let maestral run for about 2 hours (for 15 files).
After the 2 hours I the mentioned file was abut 12-15 times "queued", checked with "maestral activity".
Deleting this file, does a sync in a few minutes afterwards.
I had no sync errors with any file before, but I have to admit, the file was freshly added by the dropbox daemon on a windows-machine. maestral was not running while adding the file and dropbox-daemon sync.
If this is no bug, please close the bug-report.
Thx for maestral.


initial commit with hello world (not working yet)

@ceroytres check it out. Not finished in case you want to go ahead

@edgarriba I created a fork based on this branch and I uploaded the ZCA notebook. I was a bit busy today so I didn't do much.

@ceroytres now is compiling and generating the output. Need to add instructions and CI to verify that compiles:
to run:
pip install -t requirements.txt
make clean
make docs

check _build/index.html

open questions: should we include the data here, wouldn;t be too much memory footprint for the repo in the long run ? how do we test that notebooks codes are not deprecated

/cc @ducha-aiki @ducha-aiki any opinions on this ?

Unles the data is very toy  == couple of kilobytes, I think we should not include data directly.
Instead we should put smth like into top notebook cell:
!wget http://where-is-our-cool-data.zip
!unzip our-cool-data.zip

Codes - just run them? We can add the running into CLI:
https://nbconvert.readthedocs.io/en/latest/execute_api.html
jupyter nbconvert --to notebook --execute mynotebook.ipynb

for example a separated repo with our data ?

@lferraz suggests to use Github LFS: https://git-lfs.github.com to store data or even for testing


Still not working on Huge domains list

It gets killed after a while automatically. Even when I set threads to 50.
| Collecting results ( Total progress: 10.78%)Killed
and
| Collecting results ( Total progress: 46.10%)Traceback (most recent call last):
File "/root/BIGIP/exploit/BigIP_scanner.py", line 174, in
main(args)
File "/root/BIGIP/exploit/BigIP_scanner.py", line 127, in main
for site in concurrent.futures.as_completed(futures, timeout=(60*10)):
File "/usr/lib/python3.8/concurrent/futures/_base.py", line 240, in as_completed
raise TimeoutError(
concurrent.futures._base.TimeoutError: 34224 (of 63501) futures unfinished

Just pushed a fix, thanks


This is likely after a 1.12 release.


EV_SYSFLAGS changed value on upcoming OpenBSD 7.1

Mark EV_SYSFLAGS deprecated and ignore it on tests.
The value changed on upcoming OpenBSD 7.1.
Note I don't find any real usage of the value in code (outside libc copying/redefinition in Rust, Go or Python code).

Some changes occurred in OpenBSD module
cc @semarie

r? @Amanieu
(rust-highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit ef1787aa4b4ccf0a2fceeb290d12d2377bab4069 has been approved by Amanieu

:hourglass: Testing commit ef1787aa4b4ccf0a2fceeb290d12d2377bab4069 with merge c8751d2b9530cd53a8dd1bf6ee7f7b0d7a878fa9...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: Amanieu
Pushing c8751d2b9530cd53a8dd1bf6ee7f7b0d7a878fa9 to master...


Test with GitHub Actions

It's a copy from embulk-core:0.10.6's org.embulk.spi.json.JsonParser, to be externalized for plugins' side. It's a part of efforts described in: https://www.embulk.org/articles/2020/07/01/meetup-20200709.html
This first step is to test the original one with GitHub Actions.

Thanks!


add "commit" to endpoint reconfiguration

Preview link - https://noursaidi.github.io/udmi/docs/specs/sequences/endpoint_reconfiguration.html
Essentially normal redirect with a box that says reboot .. One question is, given the first sequence diagram checks all "phases" does the second diagram need to do it too?

So I would say no -- it ultimately adds a lot of extra stuff with no value.
I'd just start with the state (phase == final), and then enough afterwards
to indicate that it's sticky (e.g. connects to the new endpoint not the old
one).  I would expand the "REBOOT DEVICE" box to indicate that it's a
sequence from the new config (not sure if we want to add in an arrow for
that), and then a corresponding box like before that says the state last
update should match the last config (from reboot).  Not 100% sure, but at
least that's what I'd try as the next iteration.
On Wed, Sep 21, 2022 at 1:13 PM Noureddine @.***> wrote:

Preview link -
https://noursaidi.github.io/udmi/docs/specs/sequences/endpoint_reconfiguration.html
Essentially normal redirect with a box that says reboot .. One question
is, given the first sequence diagram checks all "phases" does the second
diagram need to do it too?
You can view, comment on, or merge this pull request online at:
https://github.com/faucetsdn/udmi/pull/463
Commit Summary

8a616b5
https://github.com/faucetsdn/udmi/pull/463/commits/8a616b5ae15e96dd11a13f22b7746efdc43dcb1e
initial commit diagram

File Changes
(1 file https://github.com/faucetsdn/udmi/pull/463/files)

M docs/specs/sequences/endpoint_reconfiguration.md
https://github.com/faucetsdn/udmi/pull/463/files#diff-f590158765b1060135edfe5a5f32922f4db99fe907f15f7e105021f8aed25741
(23)

Patch Links:

https://github.com/faucetsdn/udmi/pull/463.patch
https://github.com/faucetsdn/udmi/pull/463.diff

—
Reply to this email directly, view it on GitHub
https://github.com/faucetsdn/udmi/pull/463, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIEPD4VVSPDCQ7HVXHR7ATV7NT7VANCNFSM6AAAAAAQSNDRXU
.
You are receiving this because your review was requested.Message ID:
@.***>


Create models

[ ] ContainerTemplate
[x] Container

when HTTP connections to http://container:$container_port/$path/ return a 2xx or 3xx code then the container app is marked as "available". optionally, a heartbeat URL can be given that is checked instead
a "timeout" interval defines how long a container can be started but not ready yet. container is marked as "timeout exceeded" and "should" state is stopped and stop is applied
Fields:

state: stopped, running, etc (which docker states exist?) + deleted!
date_created: models.DateTimeField(auto_now_add=True, help_text="DateTime of creation")
date_modified: models.DateTimeField(auto_now=True, help_text="DateTime of last modification")
date_last_logs: models.DateTimeField(auto_now_add=True, help_text="DateTime of last log pull")
sodar_uuid:  = models.UUIDField(default=uuid_object.uuid4, unique=True, help_text="Process SODAR UUID")
project: models.ForeignKey(Project, help_text="Project in which this objects belongs")
container_id: models.CharField(max_length=128, help_text="Container ID", blank=True, null=True)
internal_port: models.IntegerField(default=80, help_text="Server port within the container", blank=False, null=False)
internal_path: models.CharField()
host_port: models.IntegerField(help_text="The port of the container on the host", blank=False, null=False, unique=True)
do_run:  models.BooleanField(default=False)
state: models.CharField(max_length=64)
environment: JSONField(help_text="The environment variables to use.") must be markable as "secret" and can only be set but not read (e.g., for tokens/keys)
environment_secret: bool
command: models.CharField(max_length=64000, help_text="The command to execute", blank=True, null=True)

[x] LogEntryContainer

date_created: models.DateTimeField(auto_now_add=True, help_text="DateTime of creation")
level: models.CharField(max_length=32)
text: models.TextField()
container: models.ForeignKey(Container, related_name="log_entries", blank=False, null=False)

[x] BackgroundJobContainer

I postpone the ContainerTemplate model to the time when templates will be implemented. I will have a better idea of the required fields.


Support for Column.displayName + defaulting

New config Column.displayName as general-purpose entry-point for the user-facing name of a Column.
Sourced via GridModel pre-processing from the displayName property of a linked store Field or config, if available, allowing further DRYing up of field metadata.
Also default columns bound to numeric field types to right alignment if not otherwise specified.
Add utility genDisplayName() function and use consistently in place of multiple independent calls to startCase.
Doc tweaks and auto-formatting.

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[ ] Caught up with develop branch as of last change.
[ ] Added CHANGELOG entry, or determined not required.
[ ] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[ ] Updated doc comments / prop-types, or determined not required.
[ ] Reviewed and tested on Mobile, or determined not required.
[ ] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

only nits here -- looks good!


Simplify actions serialization

Just a simplification for how actions are passed into the Worker code.

Hi @developit,
Thank you so much for this PR! 😄
It seems that there are some problems with CI, I think we need to add a semicolon before the getImportObject=.
I'll be happy to merge after the fix!


v17.4.4 improve scrutinizer CI

[Current coverage][cc-pull] is 100%

Merging [#448][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #448   diff @@
====================================
  Files          24     24
  Lines         358    358
  Methods        81     81
  Messages        0      0
  Branches        0      0
====================================
  Hits          358    358
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last updated by [ac382d8...4bc0154][cc-compare]
[cc-base-branch]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/compare/ac382d85b7e5a466e62f6f630d50d5e7e26b5104...4bc01541a37731a5edcb4d9072393879be4e1a85
[cc-pull]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/pull/448?src=pr


Legend options unclear in documentation

I'm coming to Observable Plot for the first time, without experience of Observable.
It's quite confusing trying to understand how to configure a legend.

plot.legend(name, options)

This would be clearer if the parameter was called "scale" not "name"

mylegend = myplot.legend("color")

This would be clearer if options were being passed in, because the whole rest of the section is about the options, but they're missing from the one actual example.

For an inline legend, use the scale.legend option:

It's very unclear how one "uses the scale.legend option". An example line of code would help a lot.
In the documentation under "Legends" we see:

mylegend = myplot.legend("color")

But this value "color" is not explained anywhere.
There is a list of options (options.tickFormat, options.swatchSize...) but it is incomplete. Other options (eg, options.legend) are referred to only in the paragraph text, which makes this section very difficult to skim.
At the bottom of the section, this example is given:

Plot.legend({color: {type: "linear"}})

But "color" is not documented anywhere.
I think maaaybe in the reference to scale.legend above, "scale" is actually a meta-variable for which color might be the actual value? This is really unclear and takes a lot of effort to work out.
Also, in this notebook, there is reference to a style property that doesn't seem to be documented here.

It's quite confusing trying to understand how to configure a legend.

Your main confusion seems to be around the different ways in which legends can be created. There are three.
First, and most commonly, is to include a legend as part of another plot. This is done by setting the legend option to true on the scale for which you wish to show a legend; typically the color scale, but it can also be the opacity or symbol scale. To take the first example from the notebook you linked:
Plot.plot({
  color: {
    legend: true
  },
  marks: [
    Plot.dot(athletes, {x: "weight", y: "height", stroke: "sex"})
  ]
})

I can add this example to the README.
The second way that you can create a legend is as a “standalone” legend; that is, a legend by itself rather than a legend included in another plot. This is done by calling Plot.legend. To pull another example from the legends notebook you linked:
Plot.legend({
  color: {
    interpolate: (t) => wavelengthToColor(400 + t * 350),
    domain: [400, 750]
  },
  width: 350,
  ticks: 10,
  label: "Wavelength (nm) →"
})

The third way is that you can create a detached legend derived from an existing plot. This is similar to calling Plot.legend but you don’t have to repeat the specification of the (e.g. color) scale because you pull the scale definition from the existing plot. In this case, you would first declare your plot (typically without a legend):
myplot = Plot.plot({
  marks: [
    Plot.dot(athletes, {x: "weight", y: "height", stroke: "sex"})
  ]
})

And then you would create the detached legend by calling myplot.legend:
myplot.legend("color")

(There are again examples of this in the notebook you linked.)

This would be clearer if options were being passed in, because the whole rest of the section is about the options, but they're missing from the one actual example.

The scale options aren’t passed in because this example is showing you how to create a detached legend (the third case above) where the color scale is defined by an existing plot (myplot). You would only specify the scale definition in the first two cases: when defining the color scale for a plot with an included legend, or when defining the color scale for a standalone legend.

There is a list of options (options.tickFormat, options.swatchSize...) but it is incomplete. Other options (eg, options.legend) are referred to only in the paragraph text, which makes this section very difficult to skim.

The tickFormat and swatchSize options are legend options, where as the legend option is a scale option. I’m not aware of any undocumented options.

But "color" is not documented anywhere.

The scales that Plot knows about are listed here:
https://github.com/observablehq/plot/blob/main/README.md#scale-options
The way that you declare a scale for Plot.legend is that same way you declare a scale for Plot.plot.
The fact that legends are supported for only color, opacity, and symbol scales is documented here:
https://github.com/observablehq/plot/blob/main/README.md#legends

there is reference to a style property that doesn't seem to be documented here.

Yes, that seems to be an oversight. The style option for standalone legends is functionally identical to the style option for plots which is documented here:
https://github.com/observablehq/plot/blob/main/README.md#layout-options

First, and most commonly, is to include a legend as part of another plot. This is done by setting the legend option to true on the scale for which you wish to show a legend; typically the color scale

Yes, I was aware of this, but I couldn't see any way to then configure the legend if doing it that way, so I went with the separate method.
I did find it quite unclear trying to understand these three ways of creating a Plot at the top of the documentation. For instance, this single sentence was pretty incomprehensible to me at the start, and requires an awful lot of inference on the part of the reader:

When drawing a single mark, you can call mark.plot(options) as shorthand.

To break down the issues:

"When drawing..." - why am I doing this? This immediately assumes the reader has some alternative purpose other than the main one, and we're only a paragraph in.
"A single mark" - for a reader not steeped in Observable language, this was extremely confusing. A single mark to me meant a single dot on a chart, not a series of dots... Why would I be trying to draw a single dot?
"call mark.plot", so it turns out "mark" is a meta-variable that could actually be "bar"?
"call mark.plot(options)" is almost impossible to reconcile against the actual code given, Plot.barY(alphabet, {x: "letter", y: "frequency"}).plot(). Where is "options"? It seems to be a parameter not actually passed here.

To be slightly clearer about the purpose of raising this issue, I'm not really looking for help understanding the documentation, I'm trying to suggest ways in which to improve it to make it more digestible for a first time user. Pretty soon I'm sure this stuff will make sense to me and then it's very hard to see the issues in the doco in order to raise issues about them.

Okay, thanks for the feedback. Unfortunately I don’t know how to make any of the documentation clearer, but I appreciate you taking the time to share what you found confusing. Did you have a chance to read any of the documentation on Observable (e.g., Plot: Marks)? You may find that a better introduction to Plot than the README.

Re. mark.plot(options), I made a bunch of tweaks to the README, which I hope clarifies some of the points you raised:
https://github.com/observablehq/plot/blob/main/README.md#markplotoptions
I also moved the documentation of mark.plot down to the Marks section, rather than as part of the Plot.plot documentation. I’m not sure if that helps but the shorthand feels like a more advanced topic and therefore it’s better to cover the longhand of Plot.plot first.
I also added links to the notebooks that introduce Plot’s core concepts to the top of the README, in hopes that people will start there rather than immediately diving into the API reference.

Okay, here are the changes I’ve made inspired by your feedback:
https://github.com/observablehq/plot/compare/9990f46cbae93f89d5afbb72c3fc998ad09d23a6...95ebd4cc342dddf0b0f21697b388f9b170526bc8#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
Thank you again for your time. I apologize if my frustration was apparent earlier. It’s extraordinarily difficult to document all this stuff, let alone in a way that is readily understandable. When someone points out all the things that are confusing, it can feel like an insurmountable problem. But I appreciate that you were specific in what you found confusing, pointing out the ambiguities or implicit assumptions, and shining a light on ways we can improve. I’m sure there’s still much more to improve but I hope it’s getting better.

I totally feel your pain. Documentation is really hard, and (I find) it's very hard to fix something that seems to make sense, because you already know the subject matter so well.
Ideally, you'd have some auto-generated reference material that allows seeing all the options for every method, etc (rather than just a hand-edited README) but obviously it's a lot of work to set up.
And thanks for understanding my goals in providing feedback. Normally, with code, I'd wait until I was more familiar with it before offering suggestions, but with documentation like this, it kind of has to be at the start.
While I'm here, three more bits of feedback:

I found it surprising and slightly confusing that the initial example of adding a plot uses document.body.appendChild(). Given that I was expecting to be changing options and data and re-rendering the plot, I was expecting to be able to pass a document element to the function (like Mapbox GL JS does), and have Plot render into that element. It's hard to imagine anyone really ever wanting to use document.body.appendChild() so it sort of sets you off down a dead-end street. A better example might use something like document.getElementById('chart-container').replaceChildren(), which is not really more complicated, and is a useful snippet longer term (I think).
I found it very confusing and difficult working out how to actually supply data to the Plot. I skimmed back and forth many times looking for a property called data or similar, before eventually noticing the reference to a variable called alphabet sort of buried at the end of the paragraph under Marks. Without seeing the actual definition of alphabet it required quite a lot of reading between the lines to figure out what data structure it should be. Suggestion: add an extra line that declares alphabet with some data.
It would be valuable if the README summarised what features Plot does and doesn't support. I was surprised to discover later on that it doesn't support animated transitions or user interaction with charts, for instance.

Ideally, you'd have some auto-generated reference material that allows seeing all the options for every method, etc (rather than just a hand-edited README) but obviously it's a lot of work to set up.

I think eventually we will switch to TypeScript, or at least maintain type declarations #401, which will help.

I found it surprising and slightly confusing that the initial example of adding a plot uses document.body.appendChild.

There are so many ways that people use the DOM, it’s impossible to satisfy everyone, and so I tried to show the most basic (vanilla) usage. Most people use a framework these days, like React:
https://github.com/observablehq/plot-create-react-app-example/blob/main/src/App.js
I guess I don’t really want to take on the responsibility of teaching the DOM in this README; I’m just going to focus on Plot’s API, and leave it to the reader to figure out how to insert stuff into the DOM. (Also, on Observable, which is our primary audience, you don’t have to manage the DOM yourself since a cell can simply return an element.)

I found it very confusing and difficult working out how to actually supply data to the Plot.

Plot is intentionally very flexible on how you can specify data. The only requirement is that data is compatible with Array.from, which means an array, a typed array, an iterable, or even a {length} object will work. That’s mentioned in the Marks section, but it could be called out more explicitly:

Plot also supports columnar data for greater efficiency with bigger datasets; for example, data can be specified as any array of the appropriate length (or any iterable or value compatible with Array.from), and then separate arrays of values can be passed as options.

There’s an example of a “sales” dataset in the README that’s similar to what the “alphabet” dataset is.  All these are included in the test data, but I don’t want to have to repeat the explanation for every snippet. I dunno. Maybe I can find another place to put it.

It would be valuable if the README summarised what features Plot does and doesn't support. I was surprised to discover later on that it doesn't support animated transitions or user interaction with charts, for instance.

For now, most interaction comes in the form of external controls and re-rendering (e.g., using Observable inputs). But we are also working on interactive selection of data such as brushing; we mention this in the introduction. See #721. We also have some (admittedly terse) issues for animation #166 and incremental rendering #328. Folks have also written plugins for doing some of this already, such as Mike Freeman’s tooltips.

@mbostock
I realize this issue is closed. I'm just adding a thought in case it's useful.

Ideally, you'd have some auto-generated reference material that allows seeing all the options for every method, etc (rather than just a hand-edited README) but obviously it's a lot of work to set up.

I think eventually we will switch to TypeScript, or at least maintain type declarations #401, which will help.

I agree that TypeScript will help. I don't think that it replaces auto-generated documentation, though.
I find JSDoc-style comments helpful in the IDE and useful for auto-generated docs.
There are GitHub actions for auto-generation with JSDoc. I haven't used them, but they might eliminate the need to set up tooling & workflow within the project itself.
There's also an auto-generation tool that parses JSDoc-style doc blocks in TypeScript projects.
Obviously, I don't know the project's priorities, resources, and traditions; but i'm wondering if it might be worthwhile to begin auto-documentation with JSDoc even before using TypeScript.


Body Physics broken on Sloped Terrains

Environment
Source of VRTK: Asset Store and GitHub
Version of VRTK: 3.1.0
Version of Unity3D: Unity 5.5.0f3
Hardware used: Vive
SDK used: SteamVR
I know we know about the Body Physics sliding down hills, but this introduces a new issue on sloped terrains. Since the RigidBody turns to isKinematic when falling, it also allows us to slide through all the walls, buildings, obstacles ect on the way down the hill.
Steps to reproduce
You can repo this by opening  example scene 17 and adding a terrain hill with a wall on the side. See pic below. Wiggle around and try to fall down the slope into the wall. A lot of the times it will stop you, but it is easy to get through with a little bit of wiggling (activating the fall mechanism to turn the rigid body to isKenematic)
http://tinypic.com/r/2iv1hcz/9
I think position rewind would solve this, but also sometimes position rewind puts you on the other side of the wall. So it will sometimes have the same results.
Expected behavior
Briefly describe what you expect should happen : Character should stop at wall
Current behavior
Briefly describe what is actually happening: Character goes through wall
Video: https://youtu.be/PEQnWgSfeuQ

Did you try the updateed version of the body physics to see if this still happens?

I'm quite new here around git hub, but I tried pull request that you created for body physics last week, but it did not resolve the issue. If there is a more recently modified version I will give that a try

Just give the latest version of github master a go, see if it works. If not then lets keep looking at it

Hello @thestonefox . Gave the master a go, but the problem still exists.
Thank you

Closing this as it's related to an older version of VRTK (v3.3) the master branch is now on VRTK v4. Feel free to request to reopen if the issue is still present.


Use an empty struct channel instead of Mutex to protect Observer.disposed

This changes o.disposed in Observer and SingleObserver from a Mutex
protected bool to a channel of struct{}. Once the channel is closed,
that's considered "disposed", and avoids reglar mutex synchronisation.
Included is a benchmark (go test -race -bench=. ./...) to test what I
assume is a regular use of IsDisposed on Observer and SingleObserver.
The original code:
BenchmarkIsDisposed-8             300000              4776 ns/op

After this change:
BenchmarkIsDisposed-8            1000000              1138 ns/op

It's roughly 4x faster using a channel instead of a Mutex.

Hi @dparrish . I'm really intrigued by these figures.
I checked at the go runtime code and it seems acquiring the internal channel mutex could result under certain circumstances in a kind of sequence of limited spin locks (https://github.com/golang/go/blob/master/src/runtime/lock_sema.go#L65).
While being more performant, I assume under contention (like multiple goroutines calling IsDisposedin the meantime) it would result in a higher CPU usage than with standard mutexes. Do you share this point of view?
Yet, as the difference is pretty significative, your solution may be the best anyway.

https://github.com/ReactiveX/RxGo/pull/204


Which tool  is used to draw the Architectural Diagram

Which tool  is used to draw the Architectural Diagram， could you upload the diagram source file to github?

I am sorry use the issues tracking to ask this question , but i really did not know where is the right place to do this

I use http://app.diagrams.net. Check out the following. It is a copy of the diagram for this project: https://drive.google.com/file/d/1IKX3fDDKn1TDtGpvp5nFhhYqwKH0cruA/view?usp=sharing
Maybe the discussions channel would be a better place for questions. :)

I didn't know that. Check if you can open this link. app.diagrams.net allows me to export the diagram as image, HTML, XML and PDF, so I can't get its source.

OK, thanks :-)


Per-pixel transparency missing in Godot 4.0/master

Godot version
4.0.dev ( 6173271)
System information
None
Issue description
It seems per-pixel transparency was temporarily removed with the renderer rework/move to Vulkan.
Parts of it remain, like the Viewport setting, and commented out code with reenable later.
Couldn't find a issue for tracking this :)
Steps to reproduce
None
Minimal reproduction project
None

Transparent viewports are also not supported yet in the Vulkan renderer – this needs to be fixed first.


I'm slow and need help

I have no clue what im doing, i'm trying to understand the code and instructions and need help.
Can someone please add a video or dumb it down for me to install this program
Please Help
TheRichRicky

https://youtu.be/DcYLT37ImBY
Here's the video. Watch it until the end with the transcript turned on
Issue solved.

What Transcript? you mean the INSTRUCTIONS? (im not a coder and dont know the lingo)

Hey @TheRichRicky, welcome to the world of Open Source Code.
I highly encourage you to start learning programming if that's something you're interested in, but this topic is really on a high level - too high for someone who's not a coder. I really don't mean to sound elitist, but using this to get into coding is like buying a plane ticket to Tokio because you're interested in Japan. One day, sure, but start slow. If you want to get an easy way into programming, look at the content of Daniel Shiffman on YouTube (TheCodingTrain), he just remade his Introduction to Programming series which is amazing and once helped me find my way into programming. Starting with a topic like this will be frustrating as heck.
If you do choose to continue to try to get this to work, I recommend asking ChatGPT with questions about shasum and what errors in your console mean.
Good luck and happy programming!!


Add location addresses data from France

Hi :)
I'll take this issue!

Hello!
Ok, I assigned this issue to you :)
Dont forget to give a star to the project 🔥
Let me know if you will have any issues.