resolveConflict: push toggle, indexVsdestTime cmp

Fix mistyped 'push' toggle that was alway set to true
irrespective of type of op: push vs pull.
Check if indexed.ModTime == dest.ModTime on push.

This PR is meant to address #114 for which a bug manifested because the last indexTime was not being checked against the destination modTime as well as a mistyped 'push' toggle.

Looks good!

@l3iggs were you able to test it out?

Unfortunately it does not solve the problem.
Here's the simple test, 4 commands:
$ echo somecontent > file.txt
$ drive push file.txt
Resolving...
+ /file.txt
Addition count 1 src: 12.00B
Proceed with the changes? [Y/n]: y
1 / 1 [==============] 100.00 % 1s
$ echo morecontent >> file.txt
$ drive push file.txt
Resolving...
These 1 file(s) would be overwritten. Use -ignore-conflict to override this behaviour
/file.txt
conflicts have prevented a push operation

I don't think you applied this patch.

Take a look at my output from your test

To apply the patch, just in case you haven't
$ cd $GOPATH/src/github.com/odeke-em/drive
$ git fetch --all
$ git checkout resolve-conflict-toggles
$ go get github.com/odeke-em/drive/cmd/drive

Hmmm...

It is probably because you cloned the repo but your installation was using odeke-em/drive instead of your clone hence it used the old code.

Something seems to be wrong. Resolving... is taking forever.

Can you perform a drive touch? Is your internet connection working, did you attempt a drive push or drive push .. Could you repeat your test?

Working on it... I'm going to get the patched code the way you've suggested...

Even better, I included in the README how to apply patches https://github.com/odeke-em/drive#applying-patches

The simple test case works without the need for the -resolve-conflict switch. Thank you. That solves #114 I think.
The "Clashing modification" warning in the simple test case is alarming considering there is no clashing or anything worth warning the user about going on there.
I'm pretty sure I understand when you want the user to be forced to use the -resolve-conflict switch to get their files up, I don't think that part is working reliably. Here's what I see right now:
Case A

user pushes a new file
user edits file locally
user pushes file (gets clashing warning, completes push)
file is changed in the cloud
user edits file locally
user pushes file (gets error message saying to use -ignore-conflict)

Case B

user pushes a new file
user edits file locally
user pushes file (gets clashing warning, completes push)
file is changed in the cloud
user pushes file (gets clashing warning) <-- I think you want this to be an error

Sorry for the late reply @l3iggs, a very long lunch caught me up.
Yes in deed the warning still uses the logic of an agnostic edit, it doesn't assume that Google Drive is safe. I just have to propagate the logic to it. Thank you for testing it out.

No prob, thanks for your effort on such a useful tool!

@l3iggs please retry the patch and you'll see the change.

Yep, updating a file doesn't look alarming anymore.
I'm still not getting the "conflicts have prevented a push operation" error when my upload would "clobber" a file modified in the cloud in a certain scenario (see case B in my test above).
I have a few ideas of what logic is needed to solve this, but I'm not really sure what information drive has available to it, so I'm not sure offering it would really be that helpful.

Hub that is odd, I am getting the warnings.

Steps to reproduce:

drive push a file
go into the Drive web interface
right click on the file you just pushed
choose "Manage Revisions..."
click "Upload New Version" button and upload a file with same name but new contnet
wait a bit for that change to register
now from the same terminal from step 1 issue the same exact drive push command you issued in step 1

I'll get you a screenshot of what happens on mine in about an hour or so.

I am on a computer from which I cannot make the screenshot. However, I'd say try this with two command line clients because the online version can be deceptive at times, it might keep the modTime of the latest version the same as the old.

Works for me as requested

I must just have been deceived by the web interface then. I think this is ready to be merged.


WIP -- DDL/DBA fixes while working through liquibase migrations

I'm running all of HubSpot's migrations through a test keyspace in vitess to prove out the liquibase integration. As I do that I'm running into some compatibility fixes, which this PR aims to fix.
I'll let you know when to take a look, for now feel free to ignore.

This change is

This is ready for review.
@ashudeep-sharma can you review the java parts? It shouldn't be too complex. The background is that Liquibase requires access to these supportsMixedCaseIdentifiers functions. We are already doing SHOW VARIABLES in initializeDBProperties, so I see no reason not to add another variable there. I added test coverage for the new functions.
@sougou can you review the DDL parser changes? They also should be pretty straightforward. All new parser constructs tested in parse_test.

@bbeaudreault : I just looked at the Java files affected by this change there is just a minor comment, Also went through the details of  lower_case_table_names variable for mysql ref: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_lower_case_table_names and mariadb ref : https://mariadb.com/kb/en/mariadb/server-system-variables/ .It looks like behavior is the same for both. In your change you just modified the files for VitessMySQLDatabaseMetadata.java. Can you please make this change in VitessMariaDBDatabaseMetadata.java as well.

Reviewed 1 of 9 files at r1.
Review status: 1 of 9 files reviewed at latest revision, 1 unresolved discussion.

java/jdbc/src/main/java/com/flipkart/vitess/jdbc/DBProperties.java, line 11 at r1 (raw file):

    private final String minorVersion;
    private final int isolationLevel;
    private final boolean lowerCaseTableNames;

Please change this variableName to casesensitiveComparison or something else and accordingly do the function Name change.

Comments from Reviewable

Thanks @ashudeep-sharma. I added it to mariadb and updated tests. Also renamed per your request.

Review status: 0 of 10 files reviewed at latest revision, 1 unresolved discussion.

java/jdbc/src/main/java/com/flipkart/vitess/jdbc/DBProperties.java, line 11 at r1 (raw file):
Previously, ashudeep-sharma (Ashu) wrote…
Please change this variableName to casesensitiveComparison or something else and accordingly do the function Name change.

Done.

Comments from Reviewable

Thanks @bbeaudreault , JDBC changes looks good.

Reviewed 2 of 9 files at r1, 4 of 4 files at r2.
Review status: 6 of 10 files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable

 fo JDBC Changes

Review status: 6 of 10 files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable

@bbeaudreault : You might have to retrigger the build as the Travis Build is failing.

@sougou when you get a chance, this PR is finished up. I added START TRANSACTION, not sure what you think about how I did it. I treated it the same as begin, as a special case in vtgate.go


Power Strip won't appear in Home app

Hi,
as briefly said in #2 the power strip doesn't appear in the Home app.
The logs says the following for both of them:
Adding: Presa bagno (pc /<PHONE_NUMBER>a160171693)
and for the same productKey, in the "TuyaOpenMQ" section, it says "Could not find accessory in dictionary" multiple times.
Maybe they were added as a wrong type?
Thanks.

Hi @bosco90 , https://github.com/tuya/tuya-homebridge/issues/2#issuecomment-857638089
As  says here, we currently support "cz", but not yet supported "pc", so "pc" will not be created at creation of accessory. "Could not find accessory in dictionary" is because the callback message of MQTT on "pc" device did not find the corresponding accessory, which in fact does not affect the use of your other devices. Sorry for the misunderstanding caused by this log. We will be managing this log and will soon support the "pc" category.

Good! So it will be supported on a future update :D I look forward to it.
Thanks ;)

Hi @bosco90 , We support "pc" in the latest version, please update and try again.

It wooorks!!! You made me so happy 😁 thank you!!!


SA1645: IncludedDocumentationFileDoesNotExist

http://www.stylecop.com/docs/SA1645.html

I was looking into this and I saw that this diagnostic is a dublicate. A missing documentation file for an include is already reported by the compiler itself as CS1589.

:question: Would it make sense to include unit tests proving it solves the intended problem? It might be possible to locate some reference tests in the Roslyn repository.

I agree with disabling this. It helps keep this project out of the business of probing the file system. :+1:


(OraklNode) Data Availability Layer Beta

Description
Data Availability Layer Beta
default port 8090
Rest API

get /api/v1/dal/latest-data-feeds/all: get data for onchain submission for all possible pairs
get /api/v1/dal/latest-data-feeds/btc-usdt: get data for onchain submission for certain pair

Websockert API
/api/v1/dal/ws

subscribe

{"method":"SUBSCRIBE", "params":["submission@ETH-USDT", "submission@BTC-USDT", "submission@ADA-USDT"]}

Response Example
{
    "symbol": "ETH-USDT",
    "value": "343723184555",
    "aggregateTime": "1719907644",
    "proof": "KPYuhGTwoeaUm3ZHGj/q3gXRl//+y17jHxzf4IrAr4pV9RZXHVOVP9W96ICCQcj5LZAUDxyqYeH7Twn7ZYmDnxs=",
    "feedHash": "cCC1KEG7Joy8eBN6VNS/H1MF7tEDn7XQA7qVuO3txGw=",
    "decimals": "8"
}

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Deployment

[ ] Should publish npm package
[ ] Should publish Docker image

@coderabbitai review


Benchmark graph improvements

Shared legend across all subplots; removes y-axis label when redundant.

The legend seems like it's out of the chart a bit. But you can iterate on it.


ntlmrecon: init at 0.4

Motivation for this change
Information enumerator for NTLM authentication enabled web endpoints
https://github.com/pwnfoo/NTLMRecon
Related to #81418
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 120221 run on x86_64-linux 1

1 package built:

ntlmrecon


Toolip with dynamic content won't hide when getContent() returns null

The tooltip target is a React component that holds a html canvas element.  As the mouse moves over different objects drawn on the canvas, the tooltip text reflects the currently-hovered object.
When the page is first shown, the mouse is over an empty portion of the canvas,  getContent() retuns null, and the Tooltip is not shown.
If the mouse moves over a shape drawn on the canvas, the tooltip appears, with the appropriate text, and follows the mouse.
As soon as the mouse moves back to an empty portion of the canvas, getContent() retuns null, but the tooltip remains visible (with its last text) at the point that the mouse left the drawn shape.  I would expect it to hide itself as soon as getContent() returned null -- what am I missing?
(BTW, I'm using Firefox v85.0.2)

One more point:  If the mouse leaves the browser entirely (mousing to another portion of my screen), the tooltip remains visible (at its last-valid point), but it hides when the mouse re-enters the canvas.

To your last point, where the tooptip remains visible even after leaving the browser:
I just ran into this issue, and had to use this workaround. It listens for when the mouse leaves the document window and calls ReactTooltip.hide();
import ReactTooltip from 'react-tooltip';

function addEvent(obj : any, evt : string, fn : Function) {
    if (obj.addEventListener) {
        obj.addEventListener(evt, fn, false);
    }
    else if (obj.attachEvent) {
        obj.attachEvent("on" + evt, fn);
    }
}

// I placed this inside the component that renders <ReactTooltip/>
addEvent(document, "mouseout", function(e : any) {
    e = e ? e : window.event;
    var from = e.relatedTarget || e.toElement;
    if (!from || from.nodeName == "HTML") {
        ReactTooltip.hide();
    }
});

Source
I only tested this on Chrome 97, so YMMV on other browsers.


Clean example of routing depending on method (GET, POST)

I understand that this is outside of what this module is supposed to do but I'm not sure where else to ask this and this module should at least be involved.
How would you use this together with something else to run different functions depending on the HTTP method? For example if I want different handlers for GET /contacts and POST /contacts where one delivers all the contacts and the other adds a new contact?

https://github.com/Matt-Esch/http-hash-router

Are you telling me that URL has an example because then I'm not seeing it?

Well, it does not have an example, but it tells you that

.set() takes a route pattern and a route handler. A route handler is either a function or an object. If you use an object then we will create a route handler function using the http-methods module.
So, if you take a look to https://github.com/Matt-Esch/http-hash-router/blob/master/test/index.js on line 125, you can see a working axample.

I see :smiley: I honestly didn't make it to that sentence because it didn't seem to be what I was after at all. Thanks @elMauNunez for taking time to explain it!


apt_packages fails with error "Held packages were changed and -y was used without --allow-change-held-packages"

Description
I try to configure a vagrant image with chef. The image I try to provision is an Ubuntu 18.04 and I provision it with chef_solo. Any pointers to what could be the issue would be helpful!
Chef Version
14.3.37
Platform Version
Ubuntu 18.04 amd64 destkop
Replication Case
I have the following code recepies:
node.fetch("packages", []).each do |pkg|
  apt_package pkg["name"] do
    version pkg["version"] if pkg["version"]
    action :install
  end

  apt_package pkg["name"] do
    action :lock if pkg["version"]
  end
end

and my packages look like this:
"packages": [
    {
        "name": "curl"
    },
    {
        "name": "code",
        "version": "1.25.0-1530796411"
    },
    {
        "name": "build-essential"
    }
]

Client Output
==> workstation: ================================================================================
==> workstation:     Error executing action `install` on resource 'apt_package[code]'
==> workstation:     ================================================================================
==> workstation:
==> workstation:     Mixlib::ShellOut::ShellCommandFailed
==> workstation:
==> workstation: ------------------------------------
==> workstation:
==> workstation: Expected process to exit with [0], but received '100'
==> workstation:     ---- Begin output of ["apt-get", "-q", "-y", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "code=1.25.0-1530796411"] ----
==> workstation:     STDOUT: Reading package lists...
==> workstation:     Building dependency tree...
==> workstation:     Reading state information...
==> workstation:     The following additional packages will be installed:
==> workstation:       gconf-service gconf-service-backend gconf2-common libgconf-2-4
==> workstation:
==> workstation: The following NEW packages will be installed:
==> workstation:       code gconf-service gconf-service-backend gconf2-common libgconf-2-4
==> workstation:     The following held packages will be changed:
==> workstation:       code
==> workstation:     0 upgraded, 5 newly installed, 0 to remove and 32 not upgraded.
==> workstation:     STDERR: E: Held packages were changed and -y was used without --allow-change-held-packages.
==> workstation:     ---- End output of ["apt-get", "-q", "-y", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "code=1.25.0-1530796411"] ----
==> workstation:     Ran ["apt-get", "-q", "-y", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "code=1.25.0-1530796411"] returned 100

Stacktrace
>>>> Caused by Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '100'
---- Begin output of ["apt-get", "-q", "-y", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "code=1.25.0-1530796411"] ----
STDOUT: Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  gconf-service gconf-service-backend gconf2-common libgconf-2-4
The following NEW packages will be installed:
  code gconf-service gconf-service-backend gconf2-common libgconf-2-4
The following held packages will be changed:
  code
0 upgraded, 5 newly installed, 0 to remove and 32 not upgraded.
STDERR: E: Held packages were changed and -y was used without --allow-change-held-packages.
---- End output of ["apt-get", "-q", "-y", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "code=1.25.0-1530796411"] ----
Ran ["apt-get", "-q", "-y", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "code=1.25.0-1530796411"] returned 100
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/mixlib-shellout-2.3.2/lib/mixlib/shellout.rb:293:in `invalid!'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/mixlib-shellout-2.3.2/lib/mixlib/shellout.rb:280:in `error!'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/mixin/shell_out.rb:197:in `shell_out_compacted!'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/mixin/shell_out.rb:124:in `shell_out!'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider/package/apt.rb:156:in `run_noninteractive'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider/package/apt.rb:95:in `install_package'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider/package.rb:102:in `block (3 levels) in <class:Package>'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider/package.rb:269:in `multipackage_api_adapter'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider/package.rb:101:in `block (2 levels) in <class:Package>'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/mixin/why_run.rb:51:in `add_action'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider.rb:227:in `converge_by'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider/package.rb:100:in `block in <class:Package>'
(eval):2:in `block in action_install'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider.rb:236:in `instance_eval'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider.rb:236:in `compile_and_converge_action'
(eval):2:in `action_install'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/provider.rb:182:in `run_action'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/resource.rb:577:in `run_action'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/runner.rb:70:in `run_action'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/runner.rb:98:in `block (2 levels) in converge'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/runner.rb:98:in `each'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/runner.rb:98:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/resource_collection/resource_list.rb:94:in `block in execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/resource_collection/stepable_iterator.rb:114:in `call_iterator_block'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/resource_collection/stepable_iterator.rb:103:in `iterate'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/resource_collection/resource_list.rb:92:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/runner.rb:97:in `converge'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/client.rb:720:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/client.rb:715:in `catch'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/client.rb:715:in `converge'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/client.rb:754:in `converge_and_save'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/client.rb:286:in `run'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/application.rb:303:in `run_with_graceful_exit_option'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/application.rb:279:in `block in run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/local_mode.rb:44:in `with_server_connectivity'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/application.rb:261:in `run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/application/client.rb:440:in `run_application'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/application.rb:66:in `run'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/lib/chef/application/solo.rb:224:in `run'
/opt/chef/embedded/lib/ruby/gems/2.5.0/gems/chef-14.3.37/bin/chef-solo:24:in `<top (required)>'
/usr/bin/chef-solo:75:in `load'

EDIT: formatting

It looks like chef is behaving properly here and the lock from the prior run has put a hold on that package.
It needs to be unlocked in order to be un-held.
There's also the options property which could be used to shove --force-yes into the command line or shove --allow-change-held-packages into the command line.  But chef cannot do either of those by default for obvious reasons.
This boils down to a how-do-i-chef/how-do-i-apt question and not a bug.


Slim ReadableBufferReader

Now: 8 + 4 + 4 + 4 + 4 = 24 bytes + sizeof(Span<byte>)
Previously: 4 + 4 + 4 + (8 + 8 + 4 + 4 + (8 + 4 + 4)) = 52 bytes + sizeof(Span<byte>)
1 object ref rather than 3
Smaller Skip - faster in same span
Smaller get Cursor
Added zero cost RemainingBytes property
/cc @davidfowl @pakrym

Benchmarks?

Bugged

Make First calculated; calculate Length upfront, drop unused .ctor
Still bugged (end cursor)

@benaadams, what is the state of this PR?

Going to close this for now since it's not critical


Add Module Types

Howdy,
Is it possible to add module types?

I submitted a PR and was merged but never released. You can check the PR at https://github.com/k01ek/netbox-devicetype-importer/pull/12 and the latest changes that I have been maintaining at https://github.com/Onemind-Services-LLC/netbox-devicetype-importer/tree/feat/module-types until this is official

Bump @k01ek , can we have this please.
I think also the support for 3.4 could be added? As mentioned in #21
init.py
    max_version = '3.4.99'

I have recently made changes to a forked version of this which is compatible with v3.4.x. You can find at https://github.com/Onemind-Services-LLC/netbox-metatype-importer


(PUP-10590) Remove win32-process gem dependency

This commit updates project_data.yaml to align with the win32-process
gem removal.
Depends on #8204

CLA signed by all contributors.


Support 'email_verified' for local connector

When using the local connector, it could be beneficial to also store a boolean value for 'email_verified'. The fact Dex does not store this now is a problem when you are using the local connector and your registration flow contains the email verification.
Proposed changes

Add email_verified boolean field to password table
Update the gRPC API to reflect this
Show an error on login when trying to log in as a non-verified user

Maybe this could be controlled via a configuration parameter? If so, should it work globally or per connector?

Does this change makes sense?

Hi @DusanKasan ,
Thank you for your suggestion. Are you proposing that the actual email verification would be handled on your client's end and Dex would only store the Boolean info of if the email is actually verified?

Yes, @rithujohn191. I think keeping just a boolean flag on dex and handling it from a separate client via the gRPC API is in the spirit of Dex 2.0 (just like registration is done). What do you think?

That sounds very reasonable @DusanKasan, and I am sure it would benefit others too. I think we just need to make sure that this feature is not turned on by default. I would be more than happy to review a PR for this change.

The relevant PR is https://github.com/coreos/dex/pull/960. Could you take a look?
Also a bit off-topic, what do you think about adding phone login via "phone_number" and "phone_number_verified" (standard OIDC claims) in a followup PR? Basically introduce a new "phone" connector that would be pretty much the same as "password" connector and would have the same gRPC API as for "passwords" and such.

Thank you @DusanKasan. Sorry I have been swamped, I'll take a look at your PR soon.
Login via "Phone Number" is not really a popular request and adding another connector would also mean more work maintaining it, so unfortunately at this time we don't plan on adding that feature.

Said this on the PR, but I'd really not like to add more user management features to dex.


Add admin email in the cofiguration

@ralf-berger we need to add the email of admin account in the configuration file<EMAIL_ADDRESS>and we keep the existing password.
Should I keep it in the env file of the webserver service and then you can get it from there or you can add this email manually.

@ralf-berger  yes, we need to change this email to have the new one<EMAIL_ADDRESS>

@ralf-berger  is it possible to delete admin account from MongoDB and restart webserver-webserver, in both live and edge. Even though the email of admin has been updated to the given one but we are not able to receive a confirmation email like other accounts. I think this is because MongoDB contains the old details of admin account.

admin account is verified and accessible


Re-visit From impl for native data types found in NBT data format.

Now no longer returns None but Result<> with the old value if the type did not match the desired type.
Related: https://github.com/valence-rs/valence/pull/145#discussion_r1012527318

Have a look at the latest change. I have ditched all generics and hard-coded the value conversions as seen in serde. It created the following methods:
is_*(&self) -> bool
as_*(&self) -> Option<&*>
as_*_mut(&mut self) -> Option<&mut *>
take_*(&self) -> Option<*>
IntelliJ IntelliSense works for all of the methods defined in the macro.

Woops, I wanted to rename the branch. Guess not!


Error: failed to create DNS record: DNS Validation Error (1004)

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
OpenTofu v1.6.2
on darwin_arm64

provider registry.opentofu.org/cloudflare/cloudflare v4.27.0
provider registry.opentofu.org/databricks/databricks v1.38.0
provider registry.opentofu.org/hashicorp/azuread v2.47.0
provider registry.opentofu.org/hashicorp/azurerm v3.96.0
provider registry.opentofu.org/hashicorp/random v3.6.0
provider registry.opentofu.org/hashicorp/tls v4.0.5

Affected resource(s)
cloudflare_record
Terraform configuration files
resource "cloudflare_record" "hello_world" {
  zone_id  = "<redacted>"
  name     = "hello-world"
  value    = "<redacted>"
  comment  = "comment"
  type     = "A"
  ttl      = 1
  tags     = [terraform.workspace]
}

Link to debug output
https://gist.github.com/AurimasNav/e02abe76cf22f3ddbc6d73e980e7a1e8
Panic output
No response
Expected output
Error includes error_chain which actually explains why this is failing:
"errors":[{"code":1004,"message":"DNS Validation Error","error_chain":[{"code":9300,"message":"DNS record has 1 tags, exceeding the quota of 0."}]}]
Actual output
│ Error: failed to create DNS record: DNS Validation Error (1004)
│
│   with cloudflare_record.dns_a_records["ingress-poc"],
│   on cloudflare_records.tf line 745, in resource "cloudflare_record" "dns_a_records":
│  745: resource "cloudflare_record" "dns_a_records" {
Steps to reproduce
Execute example tf code in dns zone under free plan.
Additional factoids
Took a while to figure out why I can't create the record in new dns zone via tf, the error was completely useless and also provided no relevant search results online, while trying the same exercise via API with curl payload revealed the actual reason for this error.
References
No response

tags for cloudflare_record available starting from pro plan for cloudflare_zone
on free plan you will see this error


Consensus init/start/stop/destroy

This PR adds a way to init, start, stop and destroy all consensus components as a whole.
Test Plan:
Not applicable

:thinking: instead of that testnet flag we should much rather hand a network_config_t  struct around that is setup with the various parameters we care about (req hash length, mwm, ...) but that's a separate issue. lgtm otherwise

Agreed, I opened https://github.com/iotaledger/entangled/issues/381 earlier for that

@tsvisabo I can, but I wouldn't be able to set mt.latest_snapshot->index =<PHONE_NUMBER>9;, or set it for every test.


Kusto Data Support

I see sdks for Kusto Data across many languages but not for Go. https://docs.microsoft.com/en-us/azure/kusto/api/netfx/about-kusto-data
Right now, the lack of support is hindering Terraform's ability to support data connections in Terraform as a Kusto Table needs to be setup/managed prior to creating a data connection.

Hi @mbfrahry thanks for this issue.
The features you are requesting should be some data-plane functionalities. Generally this go SDK repo only contains those are from management plane and a some amount of data-plane whose swagger is published in azure-rest-api-specs.

CC @mayurid
Kusto is on our radar but we don't have a firm release date at present.

Kusto Go is available:

https://github.com/Azure/azure-kusto-go
https://docs.microsoft.com/en-us/azure/data-explorer/kusto/api/golang/kusto-golang-client-library

Kusto data plane SDK for Go is published here: https://github.com/Azure/azure-kusto-go


Disable unnecessary things on live view.

Hello @lurume84 !
I found a unnecessary thing in live view. I don't know that is possible to disable it, or not.
Camera number
next to camera name the camera number is seeable. It possible that is need some user, so it would be great that is possible o disable it with .ini file.

Ok I have released a new version with more info for each camera and also a dashboard. Issues related with UI should be bentered in bling-viewer project so I can relate them when releasing. Bling is composed by two projects, the container and the content. Hope this release helps you!

The new option is great!!
That's what I was thinking


Fix german translation: Scheck -> Okay

"Scheck" is not used in German for something like that

Coverage remained the same at 99.709% when pulling 1514cfb5629e586368f4e714c54a4b0952ceef35 on JumpLink:patch-1 into 69223b9f8be9e00860fb7d938dd32d31cf844964 on KennethanCeyer:master.


Ship minified version

This implements #110, including the minified input in bower releases, along with a source map.

:+1: looks good pending tests.


Use generic function project-roots to retrieve the roots instead of calling cdr directly

Use generic function project-roots to retrieve the roots instead of calling cdr directly
Some setups add a custom function to project-find-functions, so the generic function project-roots should be used instead of directly calling cdr on the result of project-current.

Yeah, that should work too, feel free to edit. I'm on vanilla Emacs 27.1 and don't have the function project-root defined... It must have been added in a new version of project.el.

I did not realize this. Apparently this was changed as recently as last year.
This should work, but I haven't tested it (can do later).
(root (if (>= 28 emacs-major-version)
                      (project-root pr)
                    (car (project-roots pr))))

Interestingly, the definition of project-root is the same as you did it:
(cl-defgeneric project-root (project)
  "Return root directory of the current project.

It usually contains the main build file, dependencies
configuration file, etc. Though neither is mandatory.

The directory name must be absolute."
  (car (project-roots project)))

But it might still be worthwhile to switch to using project-root for the sake of not relying on obsolete functionality.

Okay, so it wasn't as straightforward as I had hoped. I think this is good for now, so I'm merging. Thank you!

Thank you @samhedin !


Update index.html

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

There's no obvious reason for this change. Please explain.


Any plans to add support for FullCalendar's Scheduler?

Hey, awesome project - thanks for all of the work.
In your readme you mentioned that this was inspired by FullCalendar. Out of curiosity, do you have any plans to extend this library to include something similar to FullCalendar's scheduler feature?

Probably not, I don't have much of a need for it. But i'll accept PR's adding in something like Resource views, see: #13


Add "assertions" functionality to avoid popups during Zoom/teams/powerpoint

we can use pmset -g to review assertions, need to parse the text output.

Pico provided some links:
https://www.brunerd.com/blog/2022/03/07/respecting-focus-and-meeting-status-in-your-mac-scripts-aka-dont-be-a-jerk/
Detect if the screen is awake:
if [[ "$(osascript -l 'JavaScript' -e 'ObjC.import("CoreGraphics"); $.CGDisplayIsActive($.CGMainDisplayID())')" == '1' ]]; then


Removing Dockerfile.build

Move content of Dockerfile.build into the two other images.
A separate build image makes development very complicated. Maybe it is better to have redundant code instead of a third image. Due to the caching mechanism of docker it makes no difference for the build process.
Related to: #1089
Activating tests for postgresql and redis.

@ppiotr3k thanks for the feedback, I have added it.

Thanks @alles-klar! I made some additional changes, for which I created a PR in your repo: https://github.com/alles-klar/django-DefectDojo/pull/1, will be easier to merge :smiley:

@alles-klar, regarding the ugly fix to install postgresql-client without errors you propose, I see no better way at the moment.
To document and explain this a bit more: without the ugly fix, the error is due to the way update-alternatives behaves in the stretch:slim image - which prunes manpages by default in /etc/dpkg/dpkg.cfg.d/docker, and on which python:2-slim is built; cf. https://github.com/debuerreotype/debuerreotype/issues/10/
However, the good news is that apparently this is fixed in unstable, meaning it can be removed in the future! :tada: I'll create an issue to track this down.

@aaronweaver, thanks for the reminder! I've just tested the procedure in DOCKER.md, no changes. All lights look green so I'm merging the PR. Thanks @alles-klar!
For the record, to track and remove the ugly fix in the future, which actually is more the currently recommended workaround, I created #1110.


There is a css issue in Select component

Description
There is a style issue in Select Component
Reproduce Steps

import Select Component and render then simple component, you will find the last elemtn  in the option list has very limited gap.

Solution
I guess the "li" elment's paddingBottom attr is effected by his parent element
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

Thanks for your feedback, but the screenshot that you referred is broken.

This issue should be fixed by https://github.com/eleme/element-react/pull/373


Forget this PR...

This pull request makes the following changes

Fixes code-collabo/put-repo-name-where-the-issue-is-located-here#putTheIssueNumberHere

General checklist

[ ] File or folder now contains changes as specified in the issue i worked on
[ ] I have linked the issue I worked on to this pull request submitted by me

Testing checklist
Replace this text with the testing checklist from the issue this pull request fixes.
Ping @code-collabo/node-mongo-api-boilerplate-templates

Ignore PR - wondering why Daniel is having conflict for a small PR/task.

@all-contributors add @Dkingofcode for code

@all-contributors add @Akpjunior94 for code


Google Nexus 6 shows blank screen for apk created by phonegap site and ionic 1.2.4 html framework.

Hello
Here is our live google play store url
https://play.google.com/store/apps/details?id=com.instantautosite.oneshop
This build is created by phonegap build site (https://build.phonegap.com/)
We have used ionic html framework for this app.
We use phonegap 6.3.0 cli version
<preference name="phonegap-version" value="cli-6.3.0" />
<plugin name="cordova-plugin-splashscreen" source="npm" version="4.0.0"/>
<plugin name="cordova-plugin-network-information" source="npm" version="1.3.0" />
<plugin name="cordova-plugin-statusbar" source="npm" version="2.2.0" />
<plugin name="cordova-plugin-device" source="npm" version="1.1.3" />
<plugin name="cordova-plugin-dialogs" source="npm" version="1.3.0" />
<plugin name="cordova-plugin-inappbrowser" source="npm" version="1.5.0" />
also we have added some basic config preference for splashscreen related also and all is fine in other devices.
We checked almost all device and it working fine.
but last few days it shows blank screen on google nexus 6 device. (not open any page)
it has android 6 version.
it not shows any error log in console log
so can you please help me for this issue related. ?

Hello, thanks for using Ionic! I just downloaded and tested your app on both a Nexus 6 running Android 7.0 and a Nexus 7 running Android 6.1.1. On both devices the app worked perfectly. When you run ionic run android to push it to your nexus device does it work?

Hello! As it seems it has been a while since there was any activity on this issue i will be closing it for now. Feel free to comment if you are still running into this issue. Thanks for using Ionic!


Support Firefox

Most likely to be solved by a custom/external plugin.

Can you share more about on what is currently missing to support Firefox? I may be able to lend a hand or at least provide some relevant information.

You have firefox already ticked, does that mean it's working?

@CMCDragonkai Looks like it was added 2 days ago 6c7c00257038e2698fc06a1dc06a229953f26281.
Thanks for mentioning, I was watching this issue expecting it'd get updated or closed.

I wonder if this will solve the chrome and Firefox having different requirements for background scripts like service worker vs background script.

@dotproto - sure! so each browser is represented as a webpack plugin. for example, you can see the implementation for Chrome here. I've committed a fork of Chrome for Firefox here with some defaults, but there's still work to be done.
@CMCDragonkai, @strawberrymelonpanda - thanks for pointing that out! Extension.js does support Firefox, but unlike Chrome/Edge, it does not automatically run the browser for you. feel free to open a pull request updating the README.md, and I'll approve it. I added the information by mistake when I was adding the boilerplate code for the plugin.
@CMCDragonkai - regarding the manifest differences, we may eventually need to handle running multiple browsers with different manifest fields at once, so having both MV2 and MV3 background fields will likely break something. Firefox support will handle extensions as if you had added them manually as a temporary extension. I hope that clarifies things :)

What about: https://stackoverflow.com/a/78088358
But a comment said it wasn't accepted. Maybe maintaining dual manifests is required?

@CMCDragonkai more likely a custom browser prefix for browser-specific fields in case you are running multiple browsers at once, like:
{
  "background": {
    "service_worker": "sw.js", // runs for all browsers
    "edge:service_worker": "sw.js", // runs for Edge only
    "firefox:scripts": [] , // runs for Firefox only
  }
}

But this is not implemented yet.

Firefox support is live in v1.5.0! Here's a sample run using firefox-code-search sample from MDN:
npx extension@latest dev https://github.com/mdn/webextensions-examples/tree/main/firefox-code-search --browser=firefox

https://github.com/cezaraugusto/extension.js/assets/4672033/e94ca464-663f-4724-8670-a18c1003f976

That's great. Is there an example of an extension that is both firefox and chromium.
{
  "background": {
    "service_worker": "sw.js", // runs for all browsers
    "edge:service_worker": "sw.js", // runs for Edge only
    "firefox:scripts": [] , // runs for Firefox only
  }
}

Do I use this...?


Undefined symbols for architecture arm64 on M1

Hi there,
I've set up a minimal reproduction of SwiftRS here:
https://github.com/Runeii/rust-music-stats/tree/swift-rs
When I attempt to run main.rs I get the following error:
 *  Executing task: cargo run --package rust-music-stats --bin rust-music-stats

   Compiling swift-rs v0.3.0 (https://github.com/Brendonovich/swift-rs?branch=master#09dae1fb)
   Compiling rust-music-stats v0.1.0 (/Users/andrew/repos/personal/rust-music-stats)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-arch" "arm64" "/var/folders/mn/j85983tj78n01_jgd5j8pxvh0000gn/T/rustc7F3NqS/symbols.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.1ms7ohmqftfn6q4w.rcgu.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.21hw1uwcq11n6ih0.rcgu.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.27gciweei5abzqm1.rcgu.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.2erbe4l2hmj5dh6r.rcgu.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.2hfu118oifftsf5h.rcgu.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.359raxiynlvfjxm8.rcgu.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.3y28qvj39b07q36f.rcgu.o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec.2uf1pkjg9hn4c8hp.rcgu.o" "-L" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps" "-L" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd-16f2b65e77054c42.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind-fd1704e37560507f.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libobject-94f4da5460b31483.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libmemchr-dd7958cec764aa42.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line-17c11a45ade40adb.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libgimli-161277c6ccddcf93.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle-9f3e69e85a9935a9.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect-6f6f52105e0f6e24.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown-56005cba759bfcab.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libminiz_oxide-8c2b5041146b4db9.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libadler-649829904d7d66f8.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_alloc-c7b5f570b5a640c9.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libunwind-283e8c970a6afa53.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if-2bdb7200e04f5706.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liblibc-071dd441119cfdb1.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liballoc-c73a2abddc2b801e.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_core-8174475fb0bfe96a.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcore-33fcb3a02520939a.rlib" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-50dfeec641ff2e68.rlib" "-lSystem" "-lc" "-lm" "-L" "/Users/andrew/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/Users/andrew/repos/personal/rust-music-stats/target/debug/deps/rust_music_stats-f4d823cb689579ec" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: Undefined symbols for architecture arm64:
            "_square_number", referenced from:
                rust_music_stats::main::ha48bad41e6a71413 in rust_music_stats-f4d823cb689579ec.27gciweei5abzqm1.rcgu.o
          ld: symbol(s) not found for architecture arm64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `rust-music-stats` due to previous error

 *  The terminal process "cargo 'run', '--package', 'rust-music-stats', '--bin', 'rust-music-stats'" terminated with exit code: 101.
 *  Terminal will be reused by tasks, press any key to close it.

For reference, Xcode builds without error.
I'm sure this is something simple that I'm doing wrong, but have tried to follow the setup instructions fairly closely. Does this typically run fine on M1/Ventura 13.0.1 machines?
Thanks

I think I've spotted what I'm doing wrong, will follow up once I've confirmed it.

There were a few issues here, listing them for anyone who might have similar issues. I'll leave my (fixed) minimal example on the link above for anyone who needs it.

The example on this repo uses a newer API to that in the package available from Cargo, or in the documentation. To build from Git source, use: swift-rs = { git = "https://github.com/Brendonovich/swift-rs/", branch = "next" }
Make sure to add build = "src/build.rs" to your Cargofile
The build file should expose a function named main, not build
MacOS Minimum Version seems to now be v11.0
When defining the path to the Swift package in your linker, the path is a) to the folder containing the Package.swift file; b) relative to your cargofile, not the build file

Hope that helps

I think I'm having this same issue but it looks like your repo is gone or private, could you share the relevant snippets here? @Runeii

@billyjacoby I hit that error because I forgot to put the src/build.rs file into the project (which invokes swift_rs::SwiftLinker).  I didn't need to add it to my cargo.toml file however.
Here's an example repo that has the same setup I'm using: https://github.com/LeviticusNelson/apple-vision-rs


fix bug for NumbersToggle after NumbersOnOff

When use 'NumbersToggle()' after 'NumbersOnOff()', 'NumbersToggle()' will not toggle between relative and absolute numbering, but toggle between set and unset number.
I think this may not an expected behavior. so, I do 'set number' after 'NumbersRelativeOff()'
and I think s:mode=0 has strong relationship between NumbersRelativeOff() so I put it in.
Besides, I didn't totally understand your codes, so I may miss some point of your design.

fix bug for NumbersToggle after NumbersOnOff


MediaSessionCompat not working properly

Hello , In this code we only able to pause the media state in lock screen widget , what i want is i want to remove this widget on destroy of service , any suggestion , have attached a screenshot for better understand . have tried a lot by releasing the media session but can't be succeed .

That widget is generated from the notification, so to remove it, you'd want to cancel the notification.


Ability to hide the return type?

Hi,
I'm ending up with demangled names such as these ones:

void draw_quad_spans<unsigned int>(int, glsl::vec2_scalar*, unsigned short, float __vector(16)*, Texture&, int, Texture&, ClipRect const&) (from mangled name: _ZL15draw_quad_spansIjEviPN4glsl11vec2_scalarEtPDv16_fR7TextureiS6_RK8ClipRect)
void draw_elements<unsigned short>(int, int, Buffer&, unsigned long, VertexArray&, Texture&, int, Texture&) (from mangled name: _ZL13draw_elementsItEviiR6BuffermR11VertexArrayR7TextureiS5_)
int check_depth8<515, false>(unsigned short, unsigned short*, short __vector(8)&) (from mangled name: _ZL12check_depth8ILi515ELb0EEitPtRDv8_s)
decltype ((applyImpl)({parm#1}, {parm#2}, (*this).mArguments, std::__1::integer_sequence<unsigned long, (unsigned long)0, (unsigned long)1>{})) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool)) (from mangled name: _ZN7mozilla6detail23RunnableMethodArgumentsIJNS_2wr10WrWindowIdEbEE5applyINS2_12RenderThreadEMS6_FvS3_bEEEDTcl9applyImplfp_fp0_dtdefpT10mArgumentstlNSt3__116integer_sequenceImJLm0ELm1EEEEEEEPT_T0_)

I would prefer to hide the return type. Especially in the last case it produces a lot of visual noise. Also, most symbols do not have a return type, so skipping return types for all symbols would make things more consistent and uniform.
What are your opinions on adding a flag to skip the return type?

Adding a flag to DemangleOptions and picking it up in BareFunctionTypes Demangle impl seems fine.

I have a patch.


QR Code Notification.

In this PR, i have added notification to the export to png buttons and i have localized it.

Still some issue:

You don't initialize ln10
You don't display the notification message
Add a [*] with [en] content in your .ini file for unknown language
Why you open a new PR?, could you close the PR https://github.com/llaske/sugarizer/pull/153

I did initialise ln10 with the prefetch link in html or what else ?

You need to initialize with the current language in Sugarizer settings.
See here for more.


PolymerPass: properties: {'declaredInQuotes'} aren't found

contents of x-blah.js:
Polymer({
  is: 'x-blah',
  properties: {'counter': Number},
  count: function() { this.counter++; },
});

command used to invoke compiler.jar
$ java -jar compiler.jar --checks_only --polymer_pass --externs polymer-1.0.js --jscomp_error=checkTypes x-blah.js

output
x-blah.js:4: ERROR - Property counter never defined on XBlahElement
  count: function() { this.counter++; },
                           ^^^^^^^

1 error(s), 0 warning(s), 90.9% typed

Removing the quotes around 'counter' fixes the issue.
The fix probably involves which Node name is passed to MemberDefinition when extracting from the properties Object - PolymerPassStaticUtils.java:120
/cc @rictic @jklein24 @MatrixFrog

/cc @freshp86

Quoted properties are generally not typechecked, so this isn't really special to PolymerPass. After a recent @ChadKillingsworth change we had to unquote some properties in Google projects to get rid of type errors.

We probably should have put that in the release notes.

This was very much by design. Quoted properties in declared properties should have similar behavior to quoted properties everywhere else in the compiler: typechecking is better and renaming occurs without quotes.
And yes, I still need to rewrite the documentation on that pass.

Not typechecking properties is not the same as having them not be defined at all though. Mentioning this because the errors I am getting in Chromium codebase indicate the latter. Pasting below:
(ERROR) Error in: files_tooltip.js
## /b/build/slave/linux/build/src/ui/file_manager/file_manager/foreground/elements/files_tooltip.js:122: ERROR - Property showTimeout never defined on FilesTooltip
##         this.visibleTooltipTarget_ ? 0 : this.showTimeout);
##                                               ^^^^^^^^^^^
##
## /b/build/slave/linux/build/src/ui/file_manager/file_manager/foreground/elements/files_tooltip.js:142: ERROR - Property hideTimeout never defined on FilesTooltip
##         this.hideTooltip_.bind(this), this.hideTimeout);
##                                            ^^^^^^^^^^^

The file in question is here.

This violates one of the core tenets of the compiler: a quoted property != it's unquoted version. That's why it was changed.
@MatrixFrog Should this behavior be corrected for --polymer_version=1? It was only intended to be this way for v2.

No, I think I'd prefer to leave it as it is, so that people don't write any more quoted properties between now and when they switch to v2

note: the issue Chrome hit involved having already quoted properties that were broken by changed in behavior of Closure Compiler.  here's hoping folks that hit this issue find this thread / figure it out.


VOC and COCO results reproduction problem

Hello, first of all, thanks for your code releasing.
Since I want to see whether the reported accuracy is reproducible or not, I trained exactly the same code on the git.  However, even I tried several times, your reported accuracy of voc2007(80.5%) and COCO(29.9%) is not attainable. I got 79.9% and 28.8% respectively.
For the fair comparison, I trained SSD using same training scheme as RFBNet and I obtained 78.8%.
Any comments will be appreciated.
Thanks.

@shwoo93 Would you please offer the lr and batchsize? In my experiments, larger batchsize would get higher accuracy. The VOC2007(80.5%) is obtained by lr=0.004, batch_size = 32, and I also tried several times, the performance is around 80.4%. For COCO, 29.9% is attained  by lr=0.002, batch_size=32. And a new result is 30.3% with batch_size = 64.  Here is the weight
For original SSD, I have not reproduce the result with my RFB training scheme.

I trained both using  lr=0.004, batch_size = 32.

@shwoo93 What is your max epoches? The above results are obtained around epoch 220.

@shwoo93 Which version of ssd's code did you use to achieve 78.8%? Thanks

@shwoo93  I also reproduced the result of original SSD with the RFB training scheme and got 79.04％, so I think it is fair to compare this result with the RFB result.

There was an error in the original RFB_Net_vgg, as #23 mentioned. And now I fixed that issue and got a new higher performance in VOC (80.7%mAP) with just one trial. The COCO results are still under training.

@ruinmessi, I update code and get VOC about 80.2% mAP at epoch 260.

@pikerbright do you test the released weight above? I got that result (80.72%) at epoch 250 and test it on pytorch 0.3.1, but when I switch to another machine with pytorch 0.4.0, the results is 80.56%. And I can't figure out what happened......

@pikerbright  can you provide the setting that you used for training, e.g. lr and epoch etc

@isalirezag I used the default settings in training code lr=0.004, batch_size = 32.

@ruinmessi I only achieve 79.8% for voc07 test 300x300 training with the latest version and pytorch 0.4.0. When testing the released weight, I can achieve 80.5 mAP. So there is something wrong in the training code? I observe you used warm-up in your paper, but no warm-up in the released code. Is this the reason?

@zhch-sun Here is the released warm-up code. The default settings could achieve about 80.5% at around 220-250 epoch.

Sorry I didn't observe the adjust_learning_rate function~ @ruinmessi

@ruinmessi
Question 1: https://github.com/ruinmessi/RFBNet/blob/1b4d33a050e4dc11d38b959333a43fb2919b49f7/layers/functions/prior_box.py#L8
I notice that there are multiple versions of priorbox layer. Is the layer in the repo the layer you use to train all the models?
Question 3: Are the models trained with pytorch 0.3.1 instead of 0.4.0?
Question 2: have you used coco pretrained weights for voc07 detection?
Thank you very much for this wonderful repo.

@zhch-sun  Hi, for Q1, the multiple versions of priorbox layer comes from the original SSD, and this code is mainly based on the ssd.pytorch repository. I just use the default version of priorbox.
Q2: the released weight is trained with 0.3.1. But I have retrained with 0.4.0 once and get 80.3%, so I think the training code has no problem to reproduce the results.
Q3: no coco-pretrained weight was used.

@ruinmessi thank you for the reply. I'm rerunning it on pytorch 0.3.1 and 0.4.0. Hope I can reproduce the result.

@ruinmessi I get 80.2% with 0.3.1 at 240 epoch (with correct RFB_Net_vgg), I train with 0.4.0 for three times and got 79.9% and 79.8% 80.1% at roughly 250 epoch. I guess you use anaconda to manage python packages. Can you export your conda environment to an .yml file for reproduction?

@zhch-sun Hi, Have you found the gap between two version ?

@ruinmessi @ruinmessi  Hi I final got 79.9% at epoch 260. So how to reproduce your performance about 80.5%,

@lxtGH Did you use the latest code in this repository with  correct RFB_Net_vgg?  And I suggest you can save the model every 5 epoch after 200 epoch to test the result.

@ruinmessi Yes, I use the latest code and train the model use pytorch-0.4.1, gpu 2, batch_size 64, other  are default settings. I test about 10 different model after 220 epoch the best score is 79.9%

@lxtGH I guess the reason is that the default setting is set for batch_size=32, so you may double the lr to 0.008 or 0.007 for batch_size=64.

@lxtGH @ruinmessi  I still cannot reproduce the 80.5 mAP. Several reproduction experiments lead to approximately 80.1 mAP with default settings.

@ruinmessi @zhch-sun Me too, I also got the 80.1 mAP

@lxtGH  @zhch-sun  Well, I will check this gap if I have enough GPU resources.

@ruinmessi I only get 79.7 mAP on VOC 07 using pytorch 0.4.0, batch size 32, lr 4e-3

@ruinmessi I only get 79.7 mAP on VOC 07 using pytorch 0.4.0, batch size 32, lr 4e-3

请问最后的回归损失和分类损失是多少？

@ruinmessi I only get 79.7 mAP on VOC 07 using pytorch 0.4.0, batch size 32, lr 4e-3

请问最后的回归损失和分类损失是多少？

No

batch_size:16  the best result is about 0.7995 map

@ruinmessi Didn't you say that the 30.3% AP at COCO is from using batch 32 in your ECCV paper?

There was an error in the original RFB_Net_vgg, as #23 mentioned. And now I fixed that issue and got a new higher performance in VOC (80.7%mAP) with just one trial. The COCO results are still under training.

hello,the new modle(80.7% on voc 2007)can't be download,what's wrong?


Some Control + Meta key combinations are ignored

I just started using keyd and I've run into a problem.
I've overloaded Tab and Caps Lock to be Meta and Control like so:
# /etc/keyd/default.conf

[ids]
*

[main]
esc = capslock
tab = overload(meta, tab)
capslock = overload(control, esc)

Now, Caps Lock + Tab + L does not work. Other letters work fine, but L and the number keys do not. Plain Tab + L and Caps Lock + L work.

Does this also happen without keyd running? It's likely due to rollover, a fairly common keyboard quirk (cf #490, #381, #357, #156, #142)

I stopped the keyd service and keyd monitor still didn't pick up Caps Lock + Tab + L so I guess it is a hardware problem.
Thanks for the quick response.


backbone

Will the parameters of backbone be updated during training.（Note that the Swin transformer backbones are pretrained on ImageNet22k with resolution 224 × 224）

Yes, the backbone will be trained.


BufferStream.from not running AsyncGenerator

Basics
Bluebird.resolve()
	.then(v => BufferStream.from(async function* ()
	{
		console.log(222)
		for await (const chunk of ipfs.cat(cid, { timeout }))
			{
				console.log(chunk.length)
				yield chunk
			}
		}, createWriteStream('./test/temp/temp3.png')))
		.tapCatch(e => console.error(e))
		.finally(() =>
		{
			console.log(777)
				return stop()
		})

Describe the bug
function at BufferStream.from didn't run
To Reproduce
Steps to reproduce the behavior:

Checkout repo: '...'
Install '....'
Execute command '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Test case
If possible, please provide an automated test case to include, better yet in a forked scramjet repo in test/cases.
Screenshots
If applicable, add screenshots to help explain your problem.
System:

OS: [e.g. Ubuntu Server 18.04]
Node version: [e.g. v10.6.0]
Scramjet Version: [e.g. 4.19]

Additional context
Add any other context about the problem here.

Hi. Thanks for the report.
I have looked into the code quickly and the implementation seems to be there. I'll take a look at that in detail, but the above code doesn't look exactly right. I'm not sure if that's not somehow mispasted, but it appears as if you pass createWriteStream result as the second argument - which looks more like what you'd expect from pipeline method, not from?

full test code
in console it didn't print 222, mean  async function* () is didn't call by BufferStream.from
import useIPFS from 'use-ipfs';
import { BufferStream } from "scramjet";
import Bluebird from 'bluebird';
import { createWriteStream } from 'fs';

useIPFS()
	.then(({
		ipfs,
		stop,
	}) =>
	{

		let cid = `Qmdbkxdh8tUA7zcnmcU6Nu7B7bNtubYTBjUHes799tgu83`;
		let timeout = 60 * 1000;

		return Bluebird.resolve()
			.then(v => BufferStream.from(async function* ()
			{
				console.log(222) // should print 222, but nothing
				for await (const chunk of ipfs.cat(cid, { timeout }))
				{
					console.log(chunk.length); // should print, but nothing
					yield chunk
				}
			}, createWriteStream('./temp/temp3.png')))
			.tapCatch(e => console.error(e))
			.finally(() =>
			{
				console.log(777) // only see 777
				return stop()
			})
	})
;

Hey,
Please check this:
/**
 * Created by user on 2020/2/21.
 */

import useIPFS from 'use-ipfs';
import { BufferStream } from "scramjet";
import Bluebird from 'bluebird';
import { createWriteStream } from 'fs';
import { pipeline } from 'stream';
// import catIPFS from 'fetch-ipfs/ipfs';
// import { outputFile } from 'fs-extra';

useIPFS()
	.then(async ({ipfs,stop,}) => {

		let cid = `Qmdbkxdh8tUA7zcnmcU6Nu7B7bNtubYTBjUHes799tgu83`;
		let timeout = 60 * 1000;

		Bluebird.resolve(pipeline(
				BufferStream.from(async function* () {
					console.log(222) // should print 222, but nothing
					for await (const chunk of ipfs.cat(cid, { timeout }))
					{
						console.log(chunk.length); // should print, but nothing
						yield chunk
					}
				})
				createWriteStream('./temp/temp3.png')
			))
			.tapCatch(e => console.error(e))
			.finally(() => {
				console.log(777) // only see 777
				return stop()
			})
	})
;

Actually the generator there is not needed and you can simply pass the result of ipfs.cat:
/**
 * Created by user on 2020/2/21.
 */

import useIPFS from 'use-ipfs';
import { BufferStream } from "scramjet";
import Bluebird from 'bluebird';
import { createWriteStream } from 'fs';
import { pipeline } from 'stream';
// import catIPFS from 'fetch-ipfs/ipfs';
// import { outputFile } from 'fs-extra';

useIPFS()
	.then(async ({ipfs,stop,}) => {

		let cid = `Qmdbkxdh8tUA7zcnmcU6Nu7B7bNtubYTBjUHes799tgu83`;
		let timeout = 60 * 1000;

		Bluebird.resolve(pipeline(
				BufferStream.from(ipfs.cat(cid, { timeout })),
				createWriteStream('./temp/temp3.png')
			))
			.tapCatch(e => console.error(e))
			.finally(() => {
				console.log(777) // only see 777
				return stop()
			})
	})
;

Let me know if this works for you. :)

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function. Received WriteStream {

 		Bluebird.resolve(pipeline(
 			// @ts-ignore
 			BufferStream.from(ipfs.cat(cid, { timeout })),
-			createWriteStream('./temp/temp3.png')
+			createWriteStream('./temp/temp3.png'),
+			(err => {console.error(err)})
 			))
 			.tapCatch(e => e && console.error(e))
 			.finally(() => {

thx, it work now

Great. :)
Actually I forgot this is a callback style function, the best way to use it (as the finally would get executed too soon) would be:
- 		Bluebird.resolve(pipeline(
+ 		Bluebird.promisify(pipeline)(
 			// @ts-ignore
 			BufferStream.from(ipfs.cat(cid, { timeout })),
+			createWriteStream('./temp/temp3.png')
-			createWriteStream('./temp/temp3.png'),
-			(err => {console.error(err)}) 			))
 			.tapCatch(e => e && console.error(e))
 			.finally(() => {


Update contributing.md

FYI, this is the command that I use for act:
echo '\033[0;31mremove -r when testing a new branch\033[0m' && time act test --artifact-server-path ~/temp/act --env CODECOV_TOKEN=secret_token_you_need_to_generate --container-architecture linux/amd64 -r -j test

It may work even without the codecov token, please ask me if you encounter problem and I'll help with that.

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

Project coverage is 83.54%. Comparing base (49434a3) to head (04673df).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #397   +/-   ##
=======================================
  Coverage   83.54%   83.54%
=======================================
  Files           8        8
  Lines        1689     1689
=======================================
  Hits         1411     1411
  Misses        278      278

This is my PyCharm configuration for working with the Dockerfile in this repo.

CC @timtreis @Sonja-Stockhaus I made a Dockerfile to ensure reproducibility of the test plots in any local machine. I did this because I was not able to have the tests passing in my MacBook.
I also updated the contribution guide to explain how to update new artifacts.

@timtreis I made a mistake and pushed the Dockerfile here https://github.com/scverse/spatialdata-plot/commit/54c035528ee02ad381c0b53ba4fcf5d4f119d7ec. I didn't update the CHANGELOG since it's not a new feature/bugfix for users. But I could do it you want.


Nick gesture

@GeorgeLuDev you should implement some of these changes in your own way and put them on another branch


Redundant file clean-up process as part of Frontend Migration

Since the frontend is being migrated to /frontend directory, there exist redundant files with respect to flask backend server in /application directory.
Files including:

package-lock.json
package.json
tailwind.config.js

All the above mentioned files were relevant when flask was used to serve web pages but since frontend migration has been done to Vite+React... They're now irrelevant.
I'll open  a PR removing these files, merge it if everything said above was right. Or please let me know if these files are being used by /application and flask app for proper functioning, I couldn't figure out where actually are these used if they are being used - do let me know where.

@dartpain Opened PR #377

Completed in #377


bug: Exception thrown due to missing environment variable for database_uri could be much clearer

Meltano Version
2.20.0
Python Version
3.11
Bug scope
CLI (options, error messages, logging, etc.)
Operating System
MacOS
Description
I'm getting this output:
$ meltano install
Need help fixing this problem? Visit http://melta.no/ for troubleshooting steps, or to
join our friendly Slack community.

'NoneType' object has no attribute '_instantiate_plugins'

I've narrowed the root cause of this to be setting the database_uri value to $MELTANO_DATABASE_URI in a situation where that environment variable isn't actually set, then running meltano install.
While erroring out here is correct behavior, I feel this error could be much more descriptive. Googling it brings you here: https://stackoverflow.com/questions/61238025/attributeerror-nonetype-object-has-no-attribute-instantiate-plugins-canno
While this helped me get in the right ballpark of me figuring out what's going on, I feel the exception thrown here could be more descriptive.
Code
No response

Thanks @anden-akkio! We could certainly improve that error message.
In the meantime you could use ff.strict_env_var_mode:
$ export MELTANO_FF_STRICT_ENV_VAR_MODE=1
$ meltano config meltano list
2023-08-11T23:33:04.815294Z [info     ] The default environment 'dev' will be ignored for `meltano config`. To configure a specific environment, please use the option `--environment=<environment name>`.
Environment variable 'MELTANO_DATABASE_URI' referenced but not set. Make sure the environment variable is set.


Wave dumping with LogicArrays and LogicStructures

Motivation
#375 introduced LogicArrays and LogicStructures, but did not test or consider the WaveDumper.  There are likely some modifications necessary, and definitely some tests required.
Desired solution
Write tests for the WaveDumper considering different scenarios of LogicArray and LogicStructure and implement necessary upgrades to make everything work right.
Alternatives considered
No response
Additional details
No response

Will work on this!

The example below shows the VCD file generated for a test with LogicArray

VCD currently does not support LogicArray representation (https://github.com/verilator/verilator/issues/3167) and therefore, we can close this issue for now. An alternate solution would be to split the bus by arrays, however, that would create numerous waves and it would be hard to view them unless there is a search option in the Wave Viewer.

Thanks for looking into all this @mjayasim9!  Yes, we can close this for now since VCD doesn't seem to have any nice support for arrays anyways.


Piglins like talking a little too much

https://github.com/Thelnfamous1/Sapience/assets/71224403/722bdf1c-745f-4cc2-bfbe-2770f7bc9696
Uh... not sure. Seems to happen when the reputation increases. Something with... gossiping? Maybe? No idea. Could totally be a mod conflict, but figured I'd share in case it's not.

Vanilla bug: https://bugs.mojang.com/browse/MC-252486


Extract() failure returns opentracing::expected with has_value=t and null ptr

Calling jaegertracing::Tracer's Extract(std::istream& reader) ) with an empty stream produces what I'd consider an unexpected result.
Instead of returning a false opentracing::expected i.e. no value, or returning a unique_ptr to a default-initialized context, it returns a unique_ptr<opentracing::Context>(nullptr). This is surprising to me; why use opentracing::expected at all in this case?
https://github.com/jaegertracing/cpp-client/blob/c36adcf7eaf09b548ada784cbb97d40f6b9d6519/src/jaegertracing/Tracer.h#L155
The following test addition illustrates the current behaviour if inserted in src/jaegertracing/TracerTest.cpp:280 after the declaration of the stringstream, i.e.:
        std::stringstream ss;
        opentracing::expected<std::unique_ptr<opentracing::SpanContext>> empty_result = tracer->Extract(ss);
        ASSERT_FALSE(!empty_result);
        ASSERT_EQ(*empty_result, nullptr);

AFAICS Extract should return no-value with info on why, such that a passing test would be
        std::stringstream ss;
        opentracing::expected<std::unique_ptr<opentracing::SpanContext>> empty_result = tracer->Extract(ss);
        ASSERT_TRUE(!empty_result);

or return a default context e.g.:
         if (spanContext == SpanContext()) {
            return std::unique_ptr<opentracing::SpanContext>(new SpanContext());
         }

such that a passing test would be
        std::stringstream ss;
        opentracing::expected<std::unique_ptr<opentracing::SpanContext>> empty_result = tracer->Extract(ss);
        ASSERT_FALSE(!empty_result);
        ASSERT_NE(*empty_result, nullptr);
        ASSERT_EQ(static_cast<const jaegertracing::SpanContext&>(*(*empty_result)), jaegertracing::SpanContext());

Or just doc/comment the current behaviour :)

This mainly means that if you're testing for an extracted context you must
        auto ctx = pgtracer->tracer->Extract(ss);
        if (ctx && (*ctx != nullptr))
        {
        }

Closing, I don't intend to do anything about this and think it's probably intentional, just an API quirk. Doc'ing for the next person.

It is documented here: https://github.com/opentracing/opentracing-cpp/blob/master/include/opentracing/tracer.h#L131
expected is meant to contain either the result or an error (std::error_code). It uses nullptr since lacking span doesn't really represent an error; i.e. you wouldn't want to do something like
auto ctx = pgtracer->tracer->Extract(ss);
if (!ctx) {
  LOG_ERROR(ctx.error().message());
}


easier way of using HTML entities

Using innerHTML to insert the odd HTML entity such as   as described in the wiki is OK. But when HTML entities are used all over the place, this quickly becomes unwieldy. I wish there was some way to keep using the entities inline.
Is there another reason to escape all text other than prevention of XSS from user entered text? If there isn't, I think the default of escaping everything is wrong and should be changed (if possible).
When writing plain old HTML, people are used their <tags> being interpreted accordingly, just like their &entities;, and the rest used as is (i.e. unescaped). I wish bel could mirror that experience.

Could you describe some specific examples you're running into? There might be some things possible to make it easier.

Is there another reason to escape all text other than prevention of XSS from user entered text? If there isn't, I think the default of escaping everything is wrong and should be changed (if possible).

I don't agree. You should rarely ever need to use innerHTML. If you find your app is using innerHTML quite a bit it means your HTML is being largely generated somewhere else. In which case, you should just use that other thing to generate your HTML instead of additionally feeding through bel.
Plus I'm not going to sacrifice security for developer convenience. Inserting unsafe HTML into your app is an awkward task on purpose.

I'm not actually using bel directly. I'm using choo. And I'm honestly not sure if the escaping happens at this level of the stack or at hyperx'.
I have 5 lines of content that can be blank. In those cases, to keep the layout steady, every line needs a nonbreaking space.
  while (numberOfTimes-- > 0) {
    const blankLine = html`<div></div>`
    blankLine.innerHTML = ' '
    times.push(blankLine)
  }
  return html`

      ${times}

  `

Another case I ran into is for formatting two dates:
2016-10-01 13:00 > 2016-10-01 10:00

Is there a more elegant way to render these?

Plus I'm not going to sacrifice security for developer convenience. Inserting unsafe HTML into your app is an awkward task on purpose.

I understand your position. But unless you're working on something like a wiki, isn't rendering user input the exception? Using the textContent attribute to render user input is common. Using innerHTML to render HTML entities is unusual.

But unless you're working on something like a wiki, isn't rendering user input the exception?

Think about any application that retrieves data from a database (for example via a JSON API). A user entered that data.
Enter Your Name: []
One could argue what if scenarios all day but in the end, if you're not escaping your HTML your app is vulnerable to a XSS attack.

That being said, I'm all for making embedding entities easier within the template strings but only if it can be done in a safe way. Here is the line of code responsible.

Hm, there doesn't seem to be a document.createEntity. And Entity isn't implemented in Firefox. I can't figure out a way to programmatically create entities unless I wrap them each in some other element which isn't desirable.
I think this workaround is nicer than using innerHTML:
  const NBSP = '\u00A0'
  bel`<div>12${NBSP}pm</div>`

Something like this may work:
function createBelCreateElement (tag, props, children, safe) {
  return function belCreateElement (tag, props, children) {
    // ...
    function appendChild (childs) {
      // ...
      if (safe) {
        node = document.createTextNode(node)
      }

      if (node && node.nodeType) {
        if (safe) {
          el.appendChild(node)
        } else {
          el.innerHTML = el.innerHTML + node
        }
      }
    }
    appendChild(children)

    return el
  }
}

module.exports = hyperx(createBelCreateElement(true))
module.exports.unsafe = hyperx(createBelCreateElement(false))
module.exports.createElement = belCreateElement

Sorry, I don't want to provide an unsafe element creator in this library. Happy to consider a safe way to support entities embedded into the template string though.

OK, something like this would be a more generic approach that detects HTML entities in the children and renders them with innerHTML while the rest keeps being rendered with createTextNode:
function appendChild (childs) {
  if (!Array.isArray(childs)) return
  for (var i = 0; i < childs.length; i++) {
    var node = childs[i]
    // ...
    if (typeof node === 'string') {
      // parts is array of entities and regular text
      const parts = node.replace(/(&[a-z]+;)/gi, '\u0000$1\u0000').split('\u0000')
      if (parts.length > 1) {
        appendChild(parts)
        continue
      }
      if (/^&[a-z]+;$/gi.test(node)) {
        el.innerHTML = el.innerHTML + node
        continue
      }
      if (el.lastChild && el.lastChild.nodeName === '#text') {
        el.lastChild.nodeValue += node
        continue
      }
      node = document.createTextNode(node)
    }

    if (node && node.nodeType) {
      el.appendChild(node)
    }
  }
}

The regex would have to be a bit more complex to also deal with numerical entities like   and  .
Anyways, I'm not sure downstream libraries that use bel would appreciate the impact on performance this has. There's a reason why Handlebars, Mustache, ERB, Underscore, Haml, etc. all have an explicit way for rendering without escaping.

Just wanted to chime in on this now that the module has evolved some. I hear the safety concerns, but with the added SSR capabilities with Pelo, this seems would be really handy. An example use case:
I’m formatting text, which I’ve properly sanitized, as markdown formatter. Currently to do this requires:
var input = 'Some **sanitized** text!'
var text = markdown(input)
var element = bel`<div></div>`
element.setInnerHTML = text

Up till the addition of Pelo this was an acceptable solution. However, when using this with .toString(), there is no DOM available, and the element ends up being blank. I’ve run into this a few times recently—would be a great add!
(cc: @yoshuawuyts)

Yeah, good question. I'm not entirely sure; perhaps running an HTML escape
function and interpolating a template string?
e.g
html`
${escape('
hi
')}

On Wed, Jul 12, 2017 at 9:00 AM Jon-Kyle<EMAIL_ADDRESS>wrote:

Just wanted to chime in on this now that the module has evolved some. I
hear the safety concerns, but with the added SSR capabilities with Pelo,
this seems would be really handy. An example use case:
I’m formatting text, which I’ve properly sanitized, as markdown formatter.
Currently to do this requires:
var input = 'Some sanitized text!'var text = markdown(input)var element = bel

element.setInnerHTML = text
Up till the addition of Pelo this was an acceptable solution. However,
when using this with .toString(), there is no DOM available, and the
element ends up being blank. I’ve run into this a few times recently—would
be a great add!
(cc: @yoshuawuyts https://github.com/yoshuawuyts)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/shama/bel/issues/42#issuecomment-314673059, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACWlehbSyUP2LG4dg2_Vf8Tb40aGsFY4ks5sNG8OgaJpZM4JwJFO
.

added in #86


method parameter example

The text on this page says "The following example shows how to apply attributes to methods, method parameters, and method return values in C#." but the example does not show how to apply attributes to method parameters, only methods and return values.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 23c570f1-2f76-be1b-410a-ed4bd67e33cc
Version Independent ID: dd329ad3-ca29-61e5-8753-d57792a88516
Content: Attributes (C#)
Content Source: docs/csharp/programming-guide/concepts/attributes/index.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for reporting this @arm000 I've added it to our backlog to address when this article is next updated.


Circular relationship when persisting objects of a self referencing class

For a project I'm working on we have a self-referencing class we want to persist to the database. I'm running into some issues with persisted objects from this class.
The class has two fields for this relationship, one for its "parent" relationship, the other for its "child" relationships. The mapping looks like this:
    @Relationship(type = "REL", direction = "OUTGOING")
    private Entity rel;

    @Relationship(type = "REL", direction = "INCOMING"
    private Set<Entity> childRels = new HashSet<>();

In my code I create three objects, one parent and two children. On both children I call a method to set the children's rel field to the parent, and add the child the method is called on to the parent's childRels.
    public Entity setRel(Entity entity) {
        entity.childRels.add(this);
        rel = entity;

        return this;
    }

When persisting the parent to the database the resulting graph doesn't look like what I expect.

What exactly is happening here? If I understand correctly, the resulting graph is wrong and shouldn't even be possible.
For instance, if you look at the graph you'll see two OUTGOING relationships coming from parent, even though the OUTGOING relationship is mapped onto a single Entity type.
In the debugger I don't see anything wrong with the objects I'm persisting.

As you can see in the image above, the parent object's rel field is null, which should result in no OUTGOING relationships for parent in the graph and both child objects have empty childRels, which should result in no INCOMING relationships for both children in the graph.
I've created a repository which reproduces this issue. That code was tested on three machines, two Linux (arch) and one Windows 10, each running Neo4j Community 2.2.3, each resulting in the same graph. Note that the code purges the database every run.

Looks like a bug. Opened https://jira.spring.io/browse/DATAGRAPH-731

The fix is available in the latest snapshot of neo4j-ogm (1.1.1-SNAPSHOT)

Great! Thanks for the quick resolution.


Adsk Contrib - Enhanced methods to find an equivalent color space between configs

Adds several new methods to be used to identify a common color space between a pair of configs that may be used as an interchange space. If the official interchange roles are not present, heuristics are used to search for a suitable color space.
IdentifyBuiltinColorSpace -- Searches a user config to find the name of an equivalent color space to a color space in one of the Built-in configs. For example, "What is the name in this config for the sRGB - Texture color space from the default Built-in config?"
IdentifyInterchangeSpace -- Identifies the pair of color space names to be used as the interchange space to allow conversion between color spaces in a user config and one of the built-in configs. This is the fundamental function that contains the heuristics for trying to identify known color spaces and is used by IdentifyBuiltinColorSpace and in the GetProcessorFrom/ToBuiltinColorSpace methods added in PR #1710.
This improves upon and extends upon PR #1710. One piece of feedback on that PR is that it would be helpful to be able to use the heuristics to extract the names of the interchange color spaces rather than a Processor. This gives the application more flexibility in how that information is persisted and may reduce the number of times that any heuristics (that search through a config's color spaces) need to be run.
In addition, following up on the TODO mentioned in PR #1710, we refactored most of the heuristics code to move it out of the already crowded Config.cpp and into the new ConfigUtils.cpp module. The heuristics themselves were not significantly changed.
A lot of additional unit tests were added to test more scenarios involving the heuristics.
Finally, an issue was fixed in GetProcessorFromConfigs so that the returned Processor is a no-op if either of the color spaces in the two configs is a data space.

Looks good to me, do we need Python bindings for the new methods?

The failed workflow is expected as there was an issue with that workflow on the main branch. We merged the fix into the main branch yesterday.

Taking note here that I verified that this PR fixes a bug in GetProcessorFromBuiltinColorSpace reported by a user of OCIO 2.2.1.  As a result, we will plan to include this branch in the upcoming 2.2.2 release rather than waiting for 2.3.

I'm going to go ahead and merge this since we need it for the config merge feature we're working on.  The CI problem on macOS with docs=ON is unrelated to the code in this PR.


Should Paintable support Property(null)?

From https://github.com/phetsims/joist/issues/503#issuecomment-408996493 and following comments, passing Property(null) to Paintable results in an assertion error.  The check is currently:
          assert && assert( fill === null ||
                            typeof fill === 'string' ||
                            fill instanceof Color ||
                            fill.isPaint ||
                            ( ( fill instanceof Property ) && (
                              typeof fill.value === 'string' ||
                              fill.value instanceof Color
                            ) ),
            'Invalid fill type' );

Does this mean when using a Property for a fill, the property cannot take a null value.  Is that as desired?
I tried adding || fill.value === null to Paintable and did not see any obvious problems when running http://localhost/beers-law-lab/beers-law-lab_en.html?brand=phet&ea&tambo&accessibility with Property(null) in NavigationBar.

It sounds like potentially a nice change to support. Now that a lot of the code is factored out that handle paint properties, it probably wouldn't be too hard to add support to null in this case.

Looks like the code was fully compatible with this already like suspected.
Implemented in https://github.com/phetsims/scenery/commit/cb7019fac5f40558322d49d5e12c65f6cf38780a (copy-pasted without having the issue link copied...)
@samreid can you confirm?

Looks great, thanks!  Closing.


Url processing

I want to convert all my urls to downcase and replace special charachters with equivalents (for example . -> dot). For example, I want to replace the .NET category name to dotnet in url. Also it would be great do remove index.html from url. For example, /blog/.NET/postname/index.html -> /blog/dotnet/postname/.
How I can do it?

Any ideas?

The slugify and prettify filters can help you do that.

I forgot to add the syntax:
Liquid:
{{ 'http://mysite.com/index.html' | prettify_url}}
{{ '.NET C#' | slugify}}

Razor:
@Filter.PrettifyUrl(\"http://mysite.com/index.html\")
@Filter.Slugify(\".ASP.NET MVC\")


ISSUE-1026: Group test mode events in the bottom nav bar

Return set of related source events in the root events API
closes #1026

@shahsank3t , we need to display related group of events in the bottom nav bar. Can you try it out?

@arunmahadevan
Sure will try it out today.

@arunmahadevan I tried this PR and the response looks pretty good to me.

(So if event 1~3 is grouped, which event to be based on might show different events placement.)

@HeartSaVioR , We will remove the "Source" highlighting feature. Lets say
S1 and S2 are sources and e1 - e3 is one of the groups, the display would be like
S1 [e1]
S2 [e2, e3]
With the grouped approach, the user cannot not then select some event at the sources (say e2) and expect the first source to automatically change the events displayed (say e1, e4). To see this user would have to click at the next group in the bottom panel (which would be [e1, e4, e2, e3] assuming e2 combined with e1 and e4 from source 1). Here I see some redundancy, but I am not sure how  this can avoided.

@arunmahadevan
Please note that UI still needs to pick one of them in group and query to backend. (the patch only modifies API endpoint for listing root events)
So assuming below topology (that's so far uncommon but...):
Source1 -> Aggregate1 -> Join1 -> Sink1
Source2 -> Branch1    -/
                      -\ Aggregate2 -> Sink2

S1 [:A1,A2,A3]
Aggregate1 [A1,A2,A3:A4]
Join1 [A4,B4:AB1], [A4,B6:AB2] (or so)
Sink1 [AB1,AB2:]
S2 [:B1,B2,B3]
Branch1 [B1:B4 (join), B5(aggr)], [B2:B6 (join), B7 (aggr)], [B3:B8 (join), B9 (aggr)]
Aggregate2 [B5,B7,B9:B10]
Sink2 [B10:]

Related root events of A1 : A1, A2, A3, B1 (root event of B4)
Related root events of B1 : A1, A2, A3, B1, B2 (root event of B7), B3 (root event of B9)

We are displaying above groups to different groups - say [A1, A2, A3, B1] and [A1, A2, A3, B1, B2] - but showing events is still depending on which root event is base event.
In other words, in group [A1, A2, A3, B1], if we select A1 as base event in group, there will be no event in Aggregate2 and Sink2, but if we select B1 as base event in group, there will be events in Aggregate2 and Sink2. The API endpoint fills all the parent events (so covered backward) but doesn't fill forward events (doesn't cover forward) for other correlated root events.

@HeartSaVioR , made some changes to include same set multiple times if they produce different resultant events on varying the root event. The returned list of eventsets would have the relevant root event id as the first event.
Can you review the latest commit?

cc. @sameer79 Please refer the last comment.


How to change the model for SED

Hey, I was analyzing data of quasar 3C279, using easyFermi, it shows that the best fitted model is "PLSuperExpCutoff4" however I wanted to change the model with Powerlaw (PL) & Log-Parabola (LP) models. How I can get SED fitted with LP & PL.
Thanks

Hi @suvas0101 , please take a look at the tutorials. For instance, this one: https://www.youtube.com/watch?v=Ny7aA9EBRUs&t=4s&ab_channel=easyFermi


Makes several CLI tests more reliable

Changes proposed in this PR

in test_create_if_match and test_delete_if_match, preventing the update loop from throwing by setting assert_response=False
introducing util.wait_until_no_services_for_token, which allows tests to wait for all routers to recognize the killing of services

Why are we making these changes?
The update loop change is needed because we occasionally see Internal error: Could not acquire lock when posting a token.
The new util function prevents races between routers when the tests run in a multi-cluster environment.

@shamsimam Any feedback on this?


Suggestion: auto-escape implicitly, make not-escaping explicit

15:11 < kandinski> why do you make escape explicit?
15:11 < FunkyBob> am still considering changing it to using ast mangling
15:11 < FunkyBob> eh?
15:11 < FunkyBob> you mean why don't I auto-escape like Django does?
15:11 < kandinski> wouldn't it be easier to always escape shit, and have dontescape
for the rare ones that you want to not escape?
15:11 < kandinski> yes
15:11 < kandinski> huffman encoding for template writing
15:11 < FunkyBob> possibly
15:11 < kandinski> make the more common case take up less characters
15:12 < kandinski> just sayin'
15:12 < FunkyBob> not disputing the validity
15:12 < kandinski> well, it's backseat driving, you know, I'm not even a user
15:12 < kandinski> but it did jump at me
15:12 < FunkyBob> feel free to open a ticket to help me remember :)

If I sub-class str, it would allow me to add an attribute to mark it as safe/unsafe. I could then override the str method to account for that.
Ideally there would be a way to indicate which escaping mode is preferred - html, email, url, etc...

As of 4.2.0, escaping is now the default for {{ var }} tags, and can be controlled by a new attribute on the Context class.


White spaces of search text

Expected Behavior
If we are searching for something in the table and write white spaces before or after the search text it is not finding any data. It would be better if white spaces existing in the beginning and end of the search text are ignored during the search
Current Behavior
Now searching data writing search text with whitespaces before and after the main search text brings the wrong search and no data is found.
Your Environment

Tech
Version

Material-UI
4.4.0

MUI-datatables
2.12.4

React
16.9.0

browser
Chrome

Hm, I'm not sure it's wrong to include the space in the search filter. Searching for data is a bit different than searching in a search engine. I would not expect a datatable to be context aware and understand what I'm looking for. Tables can hold all sorts of data, and for many different kinds of data, spaces, even trailing or leading spaces, might be important. For that reason, and because this would be a breaking change, I think I'd prefer to let devs handle this behavior for themselves. You can specify custom search behavior with the customSearch option.

You could make an option? like customSearchOptions: {trimWhiteSpace:true}


Make two changes in the second paragraph of the README

Please review this PR, it contains minor changes. Doable for end of day tomorrow 11/20?

The changes look good to me! PR approved.

Thanks for your comment @gitgrowing13


Less verbose creation of ScalastyleConfiguration

Decreasing the verboseness of ScalastyleConfiguration creation can be useful, for example, to the substitution of the process of parsing the XML configuration file by the manual creation of the object itself in Scala (which is "type-safer") in the SBT plugin.
This adds default parameters to ScalastyleConfiguration and a new apply to ConfigurationChecker that uses a ClassTag to get the class name.

Current coverage is 87.10% (diff: 0.00%)

No coverage report found for master at 129957e.

Powered by Codecov. Last update 129957e...e46758c

Current coverage is 87.10% (diff: 0.00%)

No coverage report found for master at 129957e.

Powered by Codecov. Last update 129957e...e46758c

Hi, @matthewfarwell, is this PR reasonable?


Allow for selection of parameters to be pulled back for the tooltip

The change from content type from text/plain to application/json will cause the full geometries to be pulled back. This is desired for any plugins that might want to utilize the geom features. But from a speed perspective we don't want to pull back anything we don't need.
Make a change to allow users to select which propertyNames to pull back from the WMS https://docs.geoserver.org/stable/en/user/services/wms/vendor.html#propertyname
This will require the WFS DescribeFeatureType columns to be passed down to the source layer and saved as tin the layer descriptor.
Then the tooltip plugin interface will need to be modified to allow the plugins to specify which columns they require from the service.   Set the default to pull back all columns for backward compatability.

added tooltip selection in bd1df3a


In SAAS mode modify how the customer will fetch his list of hosts from the API

In non-SAAS mode, we allow the user to fetch the hosts simply by targeting GET /api/hosts, this call return all hosts present on the database.
I guess you can see our little issue here. The idea is to have the same call GET /api/hosts but this time, thanks to the Cookie middleware we'll get the user_id and be able to:

Fetch the host_uuid of the hosts belonging to this user_id from the SAAS-SSOT database (ApiKey table)
Fetch the hosts information using a query like:
SELECT * FROM hosts WHERE uuid=any(list_uuids);

#4


Swift Package Manager not resolving library

I'm attempting to add this package to my project via the Add Package Dependency feature in Xcode 11 and I get the following error:
The package dependency graph can not be resolved; unable find any available tag for the following requirements:
https://github.com/yannickl/Splitflap.git — 4.1.0..<5.0.0

I believe this is because you've missed out the products and targets section in the Package.swift file. A simple example can be found in JGProgressHUD's Packages.swift

I submitted a pull request that fixes this issue. You can point to my fork for the time being.
https://github.com/yannickl/Splitflap/pull/16

@theoriginalbit thank you for reporting it and sorry for the late, I have been really busy for few months now. Thanks to @phongleq it should be ok now. :)

awesome, thanks guys 🙂