Error line 1786

I am getting this error line 1786: package_names["${package_name}"]: bad array subscript
root@MYNAS:~# /volume1/scripts/syno_app_mover.sh
Synology_app_mover v4.0.63
DS1812+ DSM 6.2.4-25556-7
Running from: /volume1/scripts/syno_app_mover.sh
Move
Backup
Restore
Select the mode: 2
You selected Backup
Backup path is: /volume1/backups
/volume1/scripts/syno_app_mover.sh: line 1786: package_names["${package_name}"]: bad array subscript
Do you want to backup All packages? [y/n]

I've seen this issue before, 3 weeks ago, and it turned out that /var/packages still listed a package that was on a volume on a drive that had been removed. I didn't update the script to prevent this error because I didn't it would happen to other people.
If you go to "Package Center > Installed" are any packages showing as broken or need repair?
Check if any other packages are missing the INFO file:
for p in /var/packages/*; do if [[ ! -f $p/INFO ]]; then echo "Missing INFO: $p"; fi; done

Check if any packages have broken symolinks:
for p in /var/packages/*; do if [[ ! -a "$p/target" ]] ; then echo "Broken symlink:: $p"; fi; done

Try v4.0.64-RC

Changed --list option to also show if there are any broken packages (broken 'target' symlink or missing volume).
Bug fix for bad array subscript when a broken package exists. Issue https://github.com/007revad/Synology_app_mover/issues/117
Bug fix for packages with spaces in their name (DSM 6 Plex Media Server).

If you still get the "bad subscript" error run syno_app_mover.sh --list to see which package is causing the problem.

@hdswiss
v4.0.65-RC

Bug fix for backing up Container Manager failing free space check.
Changed to only start Container Manager if it's stopped, before exporting container settings.
Changed --list option to also show if there are any broken packages (broken 'target' symlink or missing volume).
Bug fix for bad array subscript when a broken package exists. Issue https://github.com/007revad/Synology_app_mover/issues/117
Bug fix for packages with spaces in their name (DSM 6 Plex Media Server).

Line 577: ERROR Backing up /volume1/@docker failed!

@hdswiss
Are you using ext4 on your DS1812+? I changed to btrfs on my DS1812+ many, many, years ago.
Many years ago docker on ext4 switched from aufs to overlay2. I'm amazed that Synology's Docker package in DSM 6.2.4 still uses aufs when the volume is using ext4.
I'll update the script to exclude @docker/aufs/diff/<container-id>/run because it only contains temporary files that are recreated by docker when it starts.

@hdswiss
Can you try this version. https://github.com/007revad/Synology_app_mover/releases/tag/v4.067

Yes I use ext4 in DS1812+ I just tried Synology_app_mover 4.067 again same error

Are sure it wasn't a different error message?
I just tried backing up Docker in DSM 6.2.4 and got the following error:
rsync: --exclude subvolumes/*/tmp/: unknown option
rsync error: syntax or usage error (code 1) at main.c(1792) [client=3.0.9]
Line 580: ERROR Backing up /volume1/@docker failed!
progstatus called from copy_dir line 1186

I've fixed this in https://github.com/007revad/Synology_app_mover/releases/tag/v4.0.68

Closing as solved due to "version v4.0.68-RC works fine" comment here


Update dependencies and fix for JSON poisoning

This PR contains couple of commits covering

Updating dependencies and adjusting code after the update. Mainly koa@2 is used for testing and syntax has been adjusted automatically.
Added a fix for JSON poisoning

Codecov Report

Merging #71 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #71   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines          91     93    +2
=====================================
+ Hits           91     93    +2

Impacted Files
Coverage Δ

lib/json.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update db6041c...b7bbcb9. Read the comment docs.

Per the npm page -

This module has moved and is now available at @hapi/bourne. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

@dead-horse @popomore What are your thoughts on this PR? Is is something you guys think should be included in co-body or something that should be handled downstream, e.g. in JSON validation libraries?

any updates on this?
fixing the JSON poisoning possibility sounds kind of important… however, I am also not sure if it should be handled here or somewhere downstream

Codecov Report

Merging #71 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #71   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines           91        93    +2
=========================================
+ Hits            91        93    +2

Impacted Files
Coverage Δ

lib/json.js
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update db6041c...211bd33. Read the comment docs.


chore(main): release 2.1.0

:robot: I have created a release beep boop
2.1.0 (2024-05-13)
Features

ModuleDetail: add report issue button (#87) (9c2a0f4)

Bug Fixes

style: Snackbar colors #84 (9d79362)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ai4os/ai4-dashboard/releases/tag/v2.1.0 :sunflower:


Update auditing-overview.md

Make clearer the applicability to Synapse and that audit drops can be influenced by network traffic as well

@yoavfr : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Update legalzoom-ip.md

👷 Deploy Preview for famous-marshmallow-cfbd61 processing.

Name
Link

🔨 Latest commit
5f6bec1476d19f3edc44ae642bbb9cb9372531fa

🔍 Latest deploy log
https://app.netlify.com/sites/famous-marshmallow-cfbd61/deploys/64a7485a8635d90008c4d511


[CSSimplify] Don't rely on ParameterListInfo  to indicate that parameter is variadic generic

Check type of the parameter instead because reference type could
be specialized and that creates a mismatch between actual type of
the parameter and the expected one.
Resolves: rdar://107151854

@swift-ci please test

Okay, I think we need to be slightly more clever know since the check are more relaxed now and if there is a single argument there of a pack expansion type it's not handled correctly...

I will implement it in a slightly different way which would preserve the original invariants.


Remove nightly features that are no longer required

These are no longer required now that 1.61 made it to the nightly version.

Updated the description - thanks!


feat: accept destination type as mapping method parameter

[x] Support runtime type mapping methods
[ ] Support reference handling
[ ] Add unit tests
[ ] Add integration tests
[ ] Update documentation

Closes https://github.com/riok/mapperly/issues/349

Codecov Report

Merging #398 (f60ef8e) into main (e5e2d1c) will increase coverage by 0.02%.
The diff coverage is 86.11%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #398      +/-   ##
==========================================
+ Coverage   91.73%   91.75%   +0.02%
==========================================
  Files         126      134       +8
  Lines        3931     4257     +326
  Branches      548      585      +37
==========================================
+ Hits         3606     3906     +300
- Misses        214      233      +19
- Partials      111      118       +7

Impacted Files
Coverage Δ

src/Polyfills/Nullable.cs
0.00% <0.00%> (ø)

...k.Mapperly.Abstractions/MapDerivedTypeAttribute.cs
0.00% <0.00%> (ø)

.../Riok.Mapperly/Descriptors/Mappings/TypeMapping.cs
100.00% <ø> (ø)

...ok.Mapperly/Configuration/AttributeDataAccessor.cs
73.33% <66.66%> (-1.67%)
:arrow_down:

src/Riok.Mapperly/Descriptors/TypeMappingKey.cs
82.35% <82.35%> (ø)

...rs/Mappings/UserDefinedRuntimeTargetTypeMapping.cs
83.63% <83.63%> (ø)

...Mapperly/Descriptors/UserMethodMappingExtractor.cs
89.02% <86.95%> (-3.42%)
:arrow_down:

src/Riok.Mapperly/Emit/SyntaxFactoryHelper.cs
95.37% <94.11%> (-0.22%)
:arrow_down:

...iok.Mapperly/Descriptors/Mappings/MethodMapping.cs
95.00% <94.44%> (+0.76%)
:arrow_up:

src/Riok.Mapperly/Configuration/MapDerivedType.cs
100.00% <100.00%> (ø)

... and 17 more

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


Add a --style="path/to/style.css" option for when compiling to .html?

Which would just add  into the generated html head?
Something along these lines might be useful as there currently doesn't seem to be a way to programmatically link a stylesheet (please correct me if I'm wrong!).

I agree this could be useful. I do not want to track feature requests on this repo though. This is a known possibility.


Socket.io-redis with ioredis/sentinel

Hello there,
I see that you have sample code for ioredis client.
Is there support for ioredis client with redis sentinel?
Currently, I have 1 sentinel (on port 26379), 1 master, and 1 slave - all running on the same localhost and I have the following code to start with
var io = require('socket.io')(server);
var Redis = require('ioredis');
var adapter = require('socket.io-redis');

var redisSeninel = new Redis({
    sentinels: [{ host: 'localhost', port: 26379}],
    name: 'master01',
    showFriendlyErrorStack: true,
    retrtStrategy: function (times) {
        if (times < 5) {
             return 5000;
        } else {
             process.exit(1);
       }
    }
});

redis.on('connect', function() {
    io.adapter(adapter(redisSentinel?????));
}

What I am missing is the socket.io adapter code to connect to ioredis redis/sentinel client.
Would you mind sharing the io.adapter code to talk to ioredis sentinel code please?
Thanks in advance.
-Sasi

@bheema01, were you able to figure out the correct process for connection using sentinels?

No luck yet @juancarlosfarah

Any luck ?

Mistake is in your own code I guess:
var io = require('socket.io')(server);
var Redis = require('ioredis');
var adapter = require('socket.io-redis');

// missing this line maybe?
var redis = Redis()

var redisSeninel = new Redis({
    sentinels: [{ host: 'localhost', port: 26379}],
    name: 'master01',
    showFriendlyErrorStack: true,
    retrtStrategy: function (times) {
        if (times < 5) {
             return 5000;
        } else {
             process.exit(1);
       }
    }
});

redis.on('connect', function() {
    io.adapter(adapter(redisSentinel?????));
}


critical section for wa-sqlite isn't properly scoped

I don't think the synchronization in this method is correct:
https://github.com/electric-sql/electric/blob/d385d3cf7eb4c8822afefdd6173fad7feb71712a/clients/typescript/src/drivers/wa-sqlite/database.ts#L37-L87
The mutex should protect all the wa-sqlite calls but it is unconditionally released at line 50.

Indeed, the mutex should not be released on line 50.
Additionally, we should wrap everything from line 42 onward in a single try..finally block to ensure that the mutex is correctly released. I will fix this. Thanks for reporting this and for your awesome work on wa-sqlite :-)

Sounds good! Off-topic, there was a critical bug fixed in IDBBatchAtomicVFS recently. I'm not sure if or how you track wa-sqlite changes, just wanted to be sure you folks were aware.


Mount a sia folder to my filesystem

Hi guys, I'll admit that at first I wrote this project off, and then I looked into the pricing.  Seems you have Google beat by more than a fair stretch, so it'd simply be unfair not to give it a try.
Can I mount a Sia folder to my filesystem?
I'm looking to use it to back up docker containers en masse.

Mounting a Sia folder would require writing FUSE bindings. It's a feature we've wanted to implement for a while, but we want to make the storage backend as solid as possible first. I believe at least one person has written FUSE bindings for Sia, but they are outdated now. In the meantime, if I were you I would wait for the next release (1.0.2) which should improve stability somewhat, and then test out the platform with manual uploads to see if it meets your requirements.

Well, $2.25/tb-mo is a game-changer.  If I can access that 24/7 @1MBPS,
then yeah, I want to write FUSE bindings, even if I'm only using them
personally.
On 10/02/2016 01:30 AM, Luke Champine wrote:

Mounting a Sia folder would require writing FUSE bindings. It's a
feature we've wanted to implement for a while, but we want to make the
storage backend as solid as possible first. I believe at least one
person has written FUSE bindings for Sia, but they are outdated now.
In the meantime, if I were you I would wait for the next release
(1.0.2) which should improve stability somewhat, and then test out the
platform with manual uploads to see if it meets your requirements.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NebulousLabs/Sia/issues/1447#issuecomment-250928731,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGz6iX1u1wJ3M6FrZM424KyIMWCLHJ0Jks5qvqa1gaJpZM4KLuTI.

How is $2.25/tb-mo even possible?  This seems to not reflect the price of storage today....
Let's see, checking newegg:
Hm.  You may be right.  A 4tb disk would pay itself off in about a year.  3% failure rate.. well, hosting files with Sia at least breaks even.  Am I right that you are tapping into the world's abundance of legacy data centers?

????

The estimated cost includes a flat 2KS to cover transaction fees. Each contract requires a separate transaction, and you are forming 24 contracts. If you subtract the fee, you can see that the cost is proportional to the storage (looks like approx. 10 SC/GB).

We should probably remove the 10GB option, maybe have 50, 250, and 1000.
Not that the software can support 1000, but at least it seems to be getting higher than 10.

The UI also seems to massively overestimate the price. When I last chose the 100 GB option I got 350 GB of space (according to the UI). It may be a good idea to let the user manually enter the spendings too, and show an estimate of the amount of space you can get with that money. Since that is also how siad works internally.

My guess is that hosts are still very cheap so that small absolutely
variations between hosts translate into huge relative differences, e.g. 10
vs 15 SC/gb is a 50% difference. Until hosts stabilize on more realistic
prices cost estimates therefore might fluctuate. Or there is a bug :-p

okt. 2016 11:40 a.m. skrev "Fornax"<EMAIL_ADDRESS>

The UI also seems to massively overestimate the price. When I last chose
the 100 GB option I got 350 GB of space (according to the UI). It may be a
good idea to let the user manually enter the spendings too, and show an
estimate of the amount of space you can get with that money. Since that is
also how siad works internally.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NebulousLabs/Sia/issues/1447#issuecomment-252573339,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABfjO-AJhvajiBkwlmdSgeIoZuK9z8Hiks5qygf2gaJpZM4KLuTI
.

Well, let's dig a little deeper then:  Look,
Sia proved to be unusably slow.  1MBPS would have been a dream compared to actual performance.

I am seeing about 1MiB/S on average, with large fluctuations around that up to 4 MiB/S top. What speeds are you seeing? Users also report that uploading large files (GBs) is faster per GB than uploading many small files.

The uploading algorithm is really overdue for some optimization. Our goal is to saturate your upload bandwidth, and I think we can achieve that within a few iterations if we focus our efforts on the renter.

If you do, then your network of nodes shall surely get my business.
Jacob Gadikian
E-mail<EMAIL_ADDRESS>SKYPE: faddat
Phone/SMS: +84<PHONE_NUMBER>
On Thu, Oct 13, 2016 at 3:42 AM, Luke Champine<EMAIL_ADDRESS>wrote:

The uploading algorithm is really overdue for some optimization. Our goal
is to saturate your upload bandwidth, and I think we can achieve that
within a few iterations if we focus our efforts on the renter.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NebulousLabs/Sia/issues/1447#issuecomment-253333187,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGz6if9HYcpx7frVq9S54dB3a_lnFOEvks5qzUZDgaJpZM4KLuTI
.

@faddat: Are you using the release candidate, or are you using version 1.0.1?
The release candidate is a lot more stable, seems to be able to maintain a blazing 1mbps. Not sure where your minimums are, but if you check back in a month or two we should have another 5x-10x speedup on that.

I'm not using any any more, but if you give me a link to the latest version or a link to instructions on how to install the latest version, then I'll be using the latest version.

CLI: https://github.com/NebulousLabs/Sia/releases
UI: https://github.com/NebulousLabs/Sia-UI/releases
The current release (as of writing) is v1.0.3, and it's a substantial upgrade in terms of stability and usability. I strongly recommend you try it out, you will probably find it to be night + day in terms of frustration + bugs, though the feature set is largely the same.

Can anyone share the like for the FUSE mount point. I know its broken, but maybe I can fix that.

Closing due to age. If anyone wants to pick up the task of writing FUSE bindings, drop us a line on Slack.

Some of us are undoubtedly still waiting.

See https://github.com/SiaExtensions/SiaDrive
(Not in Go unfortunately.)

Man, dead threads and links like this are always depressing :cry:
I guess I'll go looking for some more links about fuse support and brb!


Feature/jpeg decoder

Fixes #226.
Provides jpeg decoding for single and multiframe dicoms. Also supports frames distributed onto multiple fragments.
Still to tackle:

[x] Multiframe images only show up with 'data' on the first frame, rest is empty
[x] remove untested jpeg encoder settings in tranfer syntax
[x] change test so it writes pics to dedicated out dir (so there are no clashes between tests)
[x] make snafu context error on jpeg parsing work
[x] implement parsing of frames split into multiple fragments
[x] color offset (lots of green in one test case Might be related to some other issue. not sure that it can be handled in decoder
[x] Slow in non release mode (maybe some bounds checks?) Should not be fault of jpeg decoder

I would like to understand the JPGn(7) marker found where not allowed a bit better (and maybe rule out it origins from some dicom padding or similar.
However I am afraid I would need some pointers.
As a first step this already handles a good chunk of jpeg encoded transfers (also the one I originally needed).

Thank you for working on this, @ingwinlu! I have yet to perform a thorough review, but here are a few comments from what I could gather so far:

It would be nice if we could avoid the extra allocations in encoded_frames, by putting them all in a flat byte vector.
The performance of the pixel data decoding test against case 6 can be improved a bit by compiling some key dependencies with some optimizations.
Try this inside the root Cargo.toml:

# optimize JPEG decoder to run tests faster
[profile.dev.package."jpeg-decoder"]
opt-level = 2

# optimize deflate to run tests faster
[profile.dev.package."deflate"]
opt-level = 2

In any case, this one contains 120 frames to decode, so performance won't be that great. I ought to consider a way to make this a bit "lazier" eventually.

I'm not sure what you mean with the  JPGn(7) marker found where not allowed message, but if this has to do with the JPEG 2000 examples, it is natural that they won't work. JPEG 2000 is a pretty distinct format from other JPEG encodings.

I'm not sure what you mean with the JPGn(7) marker found where not allowed message, but if this has to do with the JPEG 2000 examples, it is natural that they won't work. JPEG 2000 is a pretty distinct format from other JPEG encodings.

The examples are encoded with jpeg - ls, not jpeg2000 as far as i understand:
1.2.840.10<IP_ADDRESS>.80 (JPEG - LS Lossless Image Compression)
Hence I assumed that maybe the decoder could handle them and I just feed the data incorrectly to it.

The performance of the pixel data decoding test against case 6 can be improved a bit by compiling some key dependencies with some optimizations.

I can include this in the pr, locally i just mostly run tests against other cases and afterwards did a test with --release enabled to achive the same effect.

It would be nice if we could avoid the extra allocations in encoded_frames, by putting them all in a flat byte vector.
I will look into it


unused_qualifications lint

Generated code from compile_protos conflicts with the unused_qualifications lint:
error: unnecessary qualification
pub field: std::string::String,
                ^^^^^^^^^^^^^^^

This seems like a bug in prost not tonic. I would open an issue there.

Indeed


fix: add missing raise statement in RS Data API

Feature or Bugfix

Bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 3502b885cec908560e56b1cd6bbbdb6a66de9e7b
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


refactor: Use composition + Object.defineProperties.

done via https://github.com/mikeal/r2/pull/38, cheers!


0.8.0 Release Blockers

I want to get 0.8 out the door sooner rather than later.
This is a list of issues I want closed prior to release:

[x] #218 Easier handling of objectGUID queries
[ ] #214 Update client documentation
[ ] #209 Update documentation for new server API

If there are other issues folks consider critical, please comment below.

I would vote for compatibility with node 0.12/io.js.

@flyswatter That already should be the case in #master.

Oh, ok, as long as that's the basis of 0.8.0 :+1:

It assuredly will be.

Any update on when 0.8 will be released in the wild?

I've been too busy at work to put much time into this recently.
I do not have an ETA.

Yaaay!!!! Thank youuuu!!!!

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


How to set div item height 2 px and vertical_margin 50

I want item height 2px and vertical spacing  between 2 item 50px, i have used "cell_height:2" and "vertical_margin:50" but css get height cell_height+vertical_margin= 50
I want height 2px and vertical spacing 50, here have link for view
https://jsfiddle.net/ashokprajapati/g6gs5dty/1/
please let me know how to i will do

@ashokprajapati Have you used cellHeight and verticalMargin? You may be using functionality that has been updated.

Closing due to inactivity. Please let us know if you're still having problems.


Add svelte-tree-viewer

Svelte component library to render tree views and  make content navigation easy.

There are not many tree view libs for svelte so I think it should not have a separate section (called Tree) but in miscellaneous


response schema provided as a sapmle and actual api output is differnt

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
i was going through https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#list-organization-repositories
i was doing an automation on enabling codeql analysis on repos https://docs.github.com/en/rest/code-scanning/code-scanning?apiVersion=2022-11-28, which are not enabled. for that i was running repositories api first to check for the repo dependabot, secret scanning are enabled or not.
i see the sample api response back like

`
"security_and_analysis": {
"advanced_security": {
"status": "enabled"
},
"secret_scanning": {
"status": "enabled"
},
"secret_scanning_push_protection": {
"status": "disabled"
}
}
`
but the actual response getting back is differnt
    "security_and_analysis": {         "secret_scanning": {             "status": "disabled"         },         "secret_scanning_push_protection": {             "status": "disabled"         },         "dependabot_security_updates": {             "status": "disabled"         },         "secret_scanning_validity_checks": {             "status": "disabled"         }     }
i donot see this "advanced_security": {         "status": "enabled"       }, instead ,         "secret_scanning_validity_checks": {             "status": "disabled"         }, "secret_scanning": {             "status": "disabled"         }, are available. I urge you to adjust these as these can mislead developers.
What part(s) of the article would you like to see updated?
Please make necessary changes on the response section

example response
response schema

Additional information
Hope the above details are good enough.

@githubofkrishnadhas Thank you for submitting this issue, and raising a flag on this! ✨ This portion of the documentation will need to be fixed internally. I've created an internal issue for our team to review, and will close out this issue 💛

Thanks.i would be happy if you can add the issue id on pr 😉


Capture telemetry metrics and send with connection intake

What does this PR do?

Motivation
The networks team would like to ensure the system-probe does not add significant load to a system. These telemetry metrics will allow us to assess the situation.
Additional Notes
Anything else we should know when reviewing?
Describe your test plan
Write there any instructions and details you may have to test your PR.

@leeavital @sunhay PR updated.


NotImplementedError: Could not run 'aten::gelu.out' with arguments from the 'ocl' backend.

Implementing F.gelu().

Yes this is one of gaps I'm going to close in near future implementing transformers
https://github.com/artyom-beilis/pytorch_dlprim/discussions/16

ELU, GELU, SiLU, Swish can be used in pretty much in any context.

Fixed in f2fff47b49dc9068ca90be72bea23d2547fb1c4b


How can I view logs?

Hi, so I am hosting the ModMail bot for 2 different servers on a Raspberry Pi 3, on different terminal instances (yes, yes, I don't know if this is efficient, but it works for now) and when I click a log link it doesn't open for anyone? What do I need to do to get this to work?

Hey, did you get this to work?


Support Key Encryption Key lookups per row / query

Users need some way of using different key encryption keys based on some properties of the row that is to be protected. We need to further research what's the best way to do this.
E.g.

A templating based approach. Allow shotover to substitute record/row/column values into the key lookup string (this could introduce security vulns if we don't sanitise).
User defined function... just let the user write a function in say javascript or something

Example for templating:
INSERT (customer_id, name, private_data) INTO some table WHERE customer_id = foo, name = John, private_data = kjsdhksdjhkjsdfhkjsdfh.
- protect:
    - key_lookup_fields: [customer_id]
    - template: "{customer_id}-prodkey"

foo-prodkey is then the key encryption key we ask AWS KMS (or equiv) for

---
sources:
  - Cassandra:
      name: "cassandra"
      listen_addr: "<IP_ADDRESS>:9042"
      chain:
        - Protect:
            key_manager:
              Local:
                keys:
                  customer_id-kek: Ht8M1nDO/7fay+cft71M2Xy7j30EnLAsA84hSUMCm1k=
                  customer_id2-kek: Ht8M1nDO/7fay+cft71M2Xy7j30EnLAsA84hSUMCm1k=
                  otherkey-kek: Ht8M1nDO/7fay+cft71M2Xy7j30EnLAsA84hSUMCm1k=
                  otherkey2-kek: Ht8M1nDO/7fay+cft71M2Xy7j30EnLAsA84hSUMCm1k=
            keyspace_table_columns:
              test_protect_keyspace:
                test_table:
                  col1: "customer_id"
                  col2: "otherkey"
                test_table2:
                  col1: "customer_id2"
                  col2: "otherkey2"
        - CassandraSinkSingle:
            remote_address: "<IP_ADDRESS>:9043"
            connect_timeout_ms: 3000


Why is the hotend limited to 250C? Is it PTFE-lined?

The title says it all - it seems kind of odd to have a limit like this for any other reason. If the hotend is indeed PTFE-lined, it seems like a very odd choice, since it means you can't print anything other than PLA, really.

petg, pctg, asa, abs, tpu, hips, sbs, pva all print well at 250 C and below.  Where did you hear you can only print PLA below 250C?

@metaxis - ASA needs 260 in practice, and is in fact the recommended temperature by at least one manufacturer. I literally had layer delamination and cracking at 250 with Prusament ASA. PETG can print below that, but you need to go above 250C to get any decent flow - again, speaking from experience. I haven't printed PCTG, ABS, TPU or HIPS, but from a casual glance, many manufacturers of such filaments suggest temps well above 250.
Regardless, my question stands.


⚠ St. Lawrence Global Observatory CKAN has degraded performance

In 2437134, St. Lawrence Global Observatory CKAN (https://catalogue.ogsl.ca/en/) experienced degraded performance:

HTTP code: 200
Response time: 8597 ms

Resolved: St. Lawrence Global Observatory CKAN performance has improved in 9a7d641 after 5 minutes.


chore(posfilter): Research Kalman Filtering as proposed by SquirrelKnight

Test SquirrelKnight's Kalman implementation
Completes Issue #224

Closing... in progress at #238


Fixed check context for dynamic stylesheet

In the latest versions, kirki uses the following method to display dynamic styles in the editor:
add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_styles' ), 100 );
Which adds dynamic styles to
<link rel='stylesheet' id='kirki-styles-css'  href='https://example.com?action=kirki-styles' media='all' />
If you register a field with context settings
Kirki::add_field(
	'csco_theme_mod', array(
		'type'     => 'color',
		'settings' => 'color_primary',
		'label'    => esc_html__( 'Primary Color', 'example' ),
		'section'  => 'design',
		'priority' => 10,
		'default'  => '#FFFFFF',
		'context'  => array( 'front' ),
		'output'   => array(
			array(
				'element'  => '.content a',
				'property' => 'color',
			),
		),
	)
);

they will also be used in WP Editor (which is not true).
This is because the check below does not work on the link - /?action=kirki-styles
https://github.com/aristath/kirki/blob/develop/modules/css/class-kirki-output.php#L246
I propose such a solution:
https://github.com/aristath/kirki/pull/2102

Hi, @aristath! Just wanted to confirm the issue.
It's quite critical as styles from the fields with the context parameter will be applied to the whole WordPress dashboard resulting in overrides of default WordPress buttons, inputs, etc.
Here's a screenshot:

Would highly appreciate if you could take a look at the issue.

Merged the pull-request from #2102, tweaked it a bit in https://github.com/aristath/kirki/commit/911150813353008371e8a4654f106cb100bc9bfc and released v3.0.38.

Thank you so much. You're awesome! Kirki is ❤


Discriminated Union encoding/decoding

Hi!
Simple question here, I'd like to encode/decode a DU with StringEnum attribute like this one:
[<StringEnum>]
type KindOfGood =
   |  FairEnough
   |  Awesome

I can encode using a string but how do I decode? Thanks!
[Edit]: it would be in a record like that:

type SweetObject =
  { Good: KindOfGood option
  }

This should work:
[<StringEnum>]
type KindOfGood =
   | FairEnough
   | Awesome

let decodeKindOfGood : Decode.Decoder<KindOfGood> =
    Decode.string
        |> Decode.andThen
            (function
            | "FairEnough" -> Decode.succeed FairEnough
            | "Awesome" -> Decode.succeed Awesome
            | invalid -> Decode.fail (sprintf "Failed to decode `%s` it's an invalide case for `KindOfGood`" invalid))

let encodeKindOfGood (kind : KindOfGood) =
    match kind with
    | FairEnough -> "FairEnough"
    | Awesome -> "Awesome"
    |> Encode.string

Because you are using StringEnum doing:
let encodeKindOfGood (kind : KindOfGood) =
    Encode.string (string kind)

should also work. By doing that you are cheating with how Fable represents StringEnum and I would avoid using it. It kind of break of the idea of using Thoth to control everything :)

Thanks Maxime for your help!

How about if the DU is not a StringEnum, and one of the choices has a value/payload, such as:
type Term = {
    Description : string
}

type Query =
| Term of Term
| MatchAll

I am attempting to decode a json excerpt from a larger object, of which the query portion can take either this form:
"query": {
     "match_all": {}
}

or this form:
"query" : {
    "term" : { "Description" : "talent" }
}

For the sake of visualization, I can get the code to compile by hard-coding thusly:
let TermDecoder:Decoder<Term> =
    map (fun term -> { Description = term })
        (field "Description" string)

let QueryDecoder:Decoder<Query> =
    Decode.string
        |> Decode.andThen
            (function
            | "match_all" -> Decode.succeed MatchAll
            | "term"      -> Decode.succeed (Term {Description="whatev"})
            | invalid     -> Decode.fail (sprintf "Failed to decode `%s` it's an invalid case for `Query`" invalid))

... but this gives me a run-time error.
What I really need is the ability to replace that "term" branch with a reference to something like the TermDecoder, defined at the top of the snippet.
It might also be super helpful if someone could post a commit sha or branch name of the Thoth repo where I could use the unit tests as usage examples for Thoth.Json.Net version 1.1.0, because that's what I'm currently targeting.  It looks like most of the latest commits to the master branch are using the v2 syntax.

Hello @ardave, thank you for reminding me that I forgot to create a v1.x branch. I just pushed one to the repo :).
About your problem, here is how I wrote the decoders:

type Term =
    { Description : string }

    static member Decoder =
        // Check if the field `Description` exist and then map the value into the correct F# type
        Decode.field "Description" Decode.string
            |> Decode.map (fun x -> { Description = x })

type Query =
    | Term of Term
    | MatchAll

    static member Decoder =
        // I create one decoder per case.
        // If you have several simple cases, I think you can probably write a decoder to handle them all
        // By simple case, I mean case with no arguments
        let decodeMatchAllCase =
            Decode.field "match_all" (Decode.succeed MatchAll)

        let decodeTermCase =
            Decode.field "term" Term.Decoder
                |> Decode.map Term

        // Now that we know how to handle each case, we say that
        // at least of the decoder should succeed to be a valid `Query` representation
        Decode.field "query" (Decode.oneOf
                                [ decodeMatchAllCase
                                  decodeTermCase ])

Here is the code I used to test theses decoders:
let jsonMatchAll =
   """{
        "query": {
            "match_all": {}
        }
    }"""

let jsonTerm =
    """{
        "query": {
            "term": {
                "Description": "talent"
            }
        }
    }"""

let invalidJson =
    """{ "user": "maxime"} """

testCase "MatchAll case works" <| fun _ ->
    let expected = Ok MatchAll
    let actual =
        Decode.decodeString Query.Decoder jsonMatchAll

    equal expected actual

testCase "Term case works" <| fun _ ->
    let expected = Ok(Term { Description = "talent" } )
    let actual =
        Decode.decodeString Query.Decoder jsonTerm

    equal expected actual

testCase "Decoder fails if invalid json" <| fun _ ->
    let expected = Error("Expecting an object with a field named `query` but instead got:\n{\n    \"user\": \"maxime\"\n}")
    let actual =
        Decode.decodeString Query.Decoder invalidJson

    equal expected actual

If you think we should add it to the tests I am ok for adding it.

Thanks so much for this.  I'm sure that having the 1.x branch identified will help if I run into future questions.
I would be happy to submit a PR for the tests as well, though it would be a few days as I incorporate your code sample, learn it, and also spend the weekend doing non-coding things.
Thanks again!


No error for out of disk space

From @oakey22 on November 10, 2017 10:48
Download a video and run out of disk space as it is downloading, there is no error to indicate you ran out of disk space.
this is on the 0.18.0 app.
Copied from original issue: lbryio/lbry-app#727

be nice to warn when close vs out
On Fri, Nov 10, 2017 at 10:48 AM, Jeremy Kauffman<EMAIL_ADDRESS>wrote:

From @oakey22 https://github.com/oakey22 on November 10, 2017 10:48
Download a video and run out of disk space as it is downloading, there is
no error to indicate you ran out of disk space.
this is on the 0.18.0 app.
Copied from original issue: lbryio/lbry-app#727
https://github.com/lbryio/lbry-app/issues/727
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lbryio/lbry/issues/994, or mute the thread
https://github.com/notifications/unsubscribe-auth/APoYDFzM-0BiIzrDp4WSImXX5UKY_hIkks5s1HBmgaJpZM4QZvSG
.

--
Josh Finer
COO/LBRY

closing as a duplicate of #1311


Test removal of Jenkins

If this works I'll merge it. This is a test of the change from #3233

Never mind, that doesn't work because the checks are associated with the commit, not the PR. Whatever :)


TBB path issue

I'm having some issues with the basic usage path if someone can assist.
from tbselenium.tbdriver import TorBrowserDriver
with TorBrowserDriver("/path/to/TorBrowserBundle/") as driver:
driver.get('https://check.torproject.org')

/path/to/TorBrowserBundle/ << what should it be exactly.

My TorBrowser is installed in C:\Test software\Tor Browser, I've tried that directory and in addition I've tried "C:\Test software\Tor Browser\Browser" and "C:\Test software\Tor Browser\Browser\firefox.exe". Please clarify this part.

Unfortunately, Windows is not supported at the moment.


[PE-D][Tester B] Error message should be shown when batch deleting non-existent company

In this case, I have only 2 clients in the list of clients where both of them do not have any policies attached to them. Upon entering the command, batchdelete c/NTUC, the application shows an output "Batch delete people in: NTUC".
However, I think that the output shown to user is not representative of what is actually happening. In the first place, there are no clients who have policies that belong to NTUC and by showing the above output, it gives the user an illusion that there are clients with NTUC policies in the first place. A more correct output I would recommend is "There are no clients with policies from NTUC."

Labels: type.FunctionalityBug severity.Low
original: SelwynAng/ped#13

This is intended because even if the deletion did not do anything, it will not affect the behaviour of the application.


Cannot run inference on Linux - save_iters issue

Describe the bug
I downloaded the "Slim weights" from the README and cloned the repo. I executed the command:
./deepy.py generate.py ../neox/20B_checkpoints/configs/20B.yml

It hangs for a few seconds then outputs the following error:
Traceback (most recent call last):
  File "./deepy.py", line 28, in <module>
    neox_args = NeoXArgs.consume_deepy_args()
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 346, in consume_deepy_args
    neox_args = cls.from_ymls(
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 218, in from_ymls
    return cls(**config)
  File "<string>", line 196, in __init__
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 123, in __post_init__
    self.calculate_derived()
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 758, in calculate_derived
    "save_iters": save_iters,
UnboundLocalError: local variable 'save_iters' referenced before assignment

To Reproduce
I'm using the default slim weights and the unmodified repo code.
Expected behavior
Model should run
Proposed solution
I tried setting save_iters = [] in the relevant part of the code to circumvent this problem, but I got another error:
INFO:root:NeoXArgs.calculate_derived() Total number of GPUs determined to be: 8
ERROR:root:NeoXArgs.validate_values() checkpoint_factor or extra_save_iters must be defined if save is defined
Traceback (most recent call last):
  File "./deepy.py", line 28, in <module>
    neox_args = NeoXArgs.consume_deepy_args()
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 346, in consume_deepy_args
    neox_args = cls.from_ymls(
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 218, in from_ymls
    return cls(**config)
  File "<string>", line 196, in __init__
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 131, in __post_init__
    if not self.validate_values():
  File "/home/ubuntu/gpt-neox/megatron/neox_arguments/arguments.py", line 961, in validate_values
    raise ValueError(error_message)
ValueError: NeoXArgs.validate_values() checkpoint_factor or extra_save_iters must be defined if save is defined

Screenshots
N/A
Environment (please complete the following information):

GPUs: 8x Tesla K80s
Configs:

NVIDIA Driver Version: 470.161.03
CUDA Version: 11.4
Python 3.8
Kernel 5.15.0-1030-aws

Additional context
I have two separate directories, ~/neox which contains the files from the "Slim weights" link in the README, and ~/gpt-neox which a clone of this repo.

I got this to work by moving 20B_checkpoints from the slim weights download into the repo and specifying configs/20B.yml from the repository rather than from the weights download.


Typo at title for "plot_taxa_summary.py": Home » QIIME File Formats » QIIME Scripts

Script: plot_taxa_summary.py
Location/Link: http://qiime.org/scripts/plot_taxa_summary.html
Typo (in bold): plot_taxa_summary.py – Make taxaonomy summary charts based on taxonomy assignment

Thanks for reporting this @lakhujanivijay! This repository and issue tracker are for QIIME 2, which is a complete redesign/rewrite of QIIME 1. Can you please post the issue on the QIIME 1 issue tracker instead?


[📚] Contribution Interests & Questions on Flutter Mediapipe's Development.

Hi,
I am interested in helping with the development of this repo. I think it is also a good idea to bring this up in some open source projects or GSoC.  I bet I and a lot of other maintainers would like to help you develop the plugins from the scratch. Unfortunately, I saw an inactivity of 9 months. I wonder if you are still working on it or is the repo on a stall now? If yes, are there specific guidelines and future plans for the repo? This plugin might help a lot of Flutter developers! Hopefully there might be some answers soon and I am looking forward to the development of Flutter Mediapipe!

There were multiple commits today, it's just happening on other branches as the plugin gets worked on :)
Similar to the TFLite plugin discussion we had off GitHub, I don't think the TensorFlow/ML team is going to participate in GSoC this year. Maybe the Flutter team will participate this year, but I'm not sure what their plans are with a lot of the recent shakeups.


Need to clear Python Interactive Window

Hello,
I need to clear / reset the Python Interactive Window, and figured I should be able to use code similar to the following:
import os
os.system('cls')

However, this simply returns 0, and doesn't clear the screen.
Cheers,
Trevor Sullivan
Microsoft MVP: PowerShell

There is a button on the toolbar of the window that will clear it.
There is no way to do it programmatically, though. cls won't do the trick because it's not really aware of terminals other than the standard Windows one. The more appropriate way to do this would be print('\x1b[2J') (i.e. issue the ANSI term sequence for clearing), but the Interactive Window does not support it currently - perhaps it should; e.g. Canopy does.

I'm familiar with the UI button to clear the window. However, as a heavy keyboard user, especially with Visual Studio's awesome framework, I would prefer to automate this, and have it available in PTVS out of the box. :smile:
Cheers,
Trevor Sullivan

When you say "automate" what do you mean? Is typing $clear good enough (scripts run with Send to Interactive or $load can use this command too, IIRC)? Or does it have to be portable Python code that also works elsewhene (in which case, os.system is no good because that launches a new cmd.exe process - I don't think we want to get into the business of inspecting arguments and override behaviour like that).

Sorry, poor wording. I was up late last night.
A Python script should be able to clear / reset the Python Interactive window, regardless of whether the code is run on-demand in the Python Interactive Window, or as part of a Python script run in the debugger.
I don't know what $clear or $load are. I'm a Python noob. What are those?
Does that help clear it up a bit?
Cheers,
Trevor Sullivan

$clear or $load would be terms available in the interactive window.  They aren't python commands but instead are shortcuts to do operations in the interactive window that we provide to let you do operations using the keyboard.
On your comment:

A Python script should be able to clear / reset the Python Interactive window, regardless of whether the code is run on-demand in the Python Interactive Window, or as part of a Python script run in the debugger.

Why would a python script be aware of your development environment? I would appreciate it if you could elaborate on the usefulness of this. Unfortunately I can only seem to see the things you are going to lose by doing this and I can't see much upside.

I think the point is that Python script should be able to do this without being aware of the specific development environment - i.e. it should be able to simply use the standard way to clear the screen, and it should just work in the REPL.
Basically, we need to implement the ANSI terminal sequences that correspond to clear screen. Right now I think we only do colors?

Correct, Pavel hit it on the head. Python should be able to clear the host, regardless of the development environment. Look at the PowerShell architecture, for example. The PowerShell engine can be hosted inside of a process, which abstracts the details of the development environment from the engine itself.
You might want to talk to the folks who work on the PowerShell Tools for Visual Studio (PoshTools) project. They recently had to deal with this same issue. Incidentally, I was the same person who filed this feedback. :)
https://github.com/adamdriscoll/poshtools/issues/265
Cheers,
Trevor Sullivan
Microsoft MVP: PowerShell

PowerShell also has a standard command for clearing the screen, which Python does not. ANSI terminal sequences are less than ideal and I don't want to get onto the slippery slope of adding more and more. (Do we intercept calls to the console APIs via ctypes? Do we add curses support? These are far more accessible ways of clearing the screen.)
Basically, there is currently no way for a Python script to clear the screen without making assumptions about its environment. Our interactive windows are meant to be user focused, which means the user is the one to issue the $clear command, choose to execute a script in a way that it can execute the $clear command, or click on the toolbar button. I'm -1 on trying to handle other terminals' secret handshakes here.

curses and equivalents should detect the terminal and use ANSI codes for it (just like it does for colors). So that is, effectively, the standard way of clearing it - and not really any more secret than the colors.
The bigger problem is that there isn't really just a single sequence for "clear the screen". It's done as a compound sequence that moves the cursor and then clears stuff below it, and can come in many variations, so supporting it properly would basically require implementing full support for cursor movement. That may have some interesting interactions with things like REPL prompts...

Apologies - everywhere I've mentioned $clear previously, it should be $cls.

Functionality to clear the interactive window with only keyboard input would be valuable (without having to click anything). Either a hot-key or a brief command that can be typed in interactive would be acceptable. I don't see why it has to be python code - something PTVS specific would suit my needs.

$cls will do that.

you could use import os os.system('clear')

use
import os
os.system('clear')


Fixed volume cli output

Proposed changes
Added raw comments around the CLI output, which was getting truncated.

I think #1892 fixed the ones of these that actually needed fixing, and the others are superfluous. You only need the {% raw %} if you have something surrounded by double curly braces like {{ thing }}, because Jekyll / Liquid will try to interpret it as Liquid templating language otherwise.


Replace crypto-js library with Deno crypto APIs

After a bit of research, I find this issue more complicated than I thought.
By default (currently), CryptoJS uses AES CBC mode, which can be done using crypto api. This mode of AES needs a key and an iv (initialization vector) to work.
CryptoJS will treat the string "key" passed in as a "passphrase". Then use "EVP Key Derivation Function" to get the real "key" and "iv" needed to encrypt using AES.
However, web crypto api only takes in "key" and "iv". It won't do this derivation for you. See the api: https://developer.mozilla.org/en-US/docs/Web/API/AesCbcParams
Of course we can write our own derivation function (It's EVP_BytesToKey function in OpenSSL). It's only a few lines of code but it uses md5 hash. But there's no way to compute md5 in crypto api because md5 is considered unsafe and deprecated. 😅Another dependency to do md5 needs to be added to replace CryptoJS.

There's lots of articles about moving from crypto-js to crypto api like this one.
I'm not sure if adding another (probably smaller) dependency and some dangerously looking derivation code to remove crypto-js is worth it.
Or we can use project like this to do the derivation and encrypt/decrypt using web crypto api.

We might not need to rely on web crypto alone, after some digging it turns out Deno has its own crypto interface in the standard library that augments what web crypto has. If a hashing algorithm isn't in standard web crypto, it uses a Rust/Wasm substitute.
https://github.com/denoland/deno_std/tree/main/crypto

We might not need to rely on web crypto alone, after some digging it turns out Deno has its own crypto interface in the standard library that augments what web crypto has. If a hashing algorithm isn't in standard web crypto, it uses a Rust/Wasm substitute.
https://github.com/denoland/deno_std/tree/main/crypto

That looks promising. I'll write some code to try it out. Thanks.

I did a bit of research on this myself, these are some string encrypt/decrypt functions I made. Now the key has to be 16, 24, or 32 characters long (for 128, 192, or 256-bit AES-CBC), and it prepends a random IV based on crypto.getRandomValues(). Thinking this should be secure enough? All encryption is web crypto, just using base64-encoded string (like the current way) to store the encrypted bytes.
const te = (s : string) => new TextEncoder().encode(s)
const td = (d: Uint8Array) => new TextDecoder().decode(d)
import { encode as be, decode as bd } from<EMAIL_ADDRESS>
async function encryptString(key_string : string, data_string : string) {
  const key_encoded = te(key_string)
  const key = await crypto.subtle.importKey('raw', key_encoded.buffer, 'AES-CBC', true, ['encrypt', 'decrypt'])

  const iv = crypto.getRandomValues(new Uint8Array(16))
  const iv_base64_string = be(iv)
  const iv_base64_shortened = iv_base64_string.substring(0, iv_base64_string.length - 2)

  const encrypted = await crypto.subtle.encrypt({ name: 'AES-CBC', iv}, key, te(data_string))
  const encrypted_bytes = new Uint8Array(encrypted)
  const encrypted_data_base64_string = be(encrypted_bytes)

  return iv_base64_shortened + encrypted_data_base64_string
}

async function decryptString(key_string : string, data_string_payload : string) {
  const key_encoded = te(key_string)
  const key = await crypto.subtle.importKey('raw', key_encoded.buffer, 'AES-CBC', true, ['encrypt', 'decrypt'])

  const data_string_encrypted = data_string_payload.substring(22)
  const iv_base64_string = data_string_payload.substring(0, 22)
  const iv = bd(iv_base64_string)

  const decrypted = await crypto.subtle.decrypt({ name: 'AES-CBC', iv}, key, bd(data_string_encrypted))
  const decrypted_bytes = new Uint8Array(decrypted)
  const decrypted_text = td(decrypted_bytes)

  return decrypted_text
}

I did a bit of research on this myself, these are some string encrypt/decrypt functions I made. Now the key has to be 16, 24, or 32 characters long (for 128, 192, or 256-bit AES-CBC), and it prepends a random IV based on crypto.getRandomValues(). Thinking this should be secure enough? All encryption is web crypto, just using base64-encoded string (like the current way) to store the encrypted bytes.
const te = (s : string) => new TextEncoder().encode(s)
const td = (d: Uint8Array) => new TextDecoder().decode(d)
import { encode as be, decode as bd } from<EMAIL_ADDRESS>
async function encryptString(key_string : string, data_string : string) {
  const key_encoded = te(key_string)
  const key = await crypto.subtle.importKey('raw', key_encoded.buffer, 'AES-CBC', true, ['encrypt', 'decrypt'])

  const iv = crypto.getRandomValues(new Uint8Array(16))
  const iv_base64_string = be(iv)
  const iv_base64_shortened = iv_base64_string.substring(0, iv_base64_string.length - 2)

  const encrypted = await crypto.subtle.encrypt({ name: 'AES-CBC', iv}, key, te(data_string))
  const encrypted_bytes = new Uint8Array(encrypted)
  const encrypted_data_base64_string = be(encrypted_bytes)

  return iv_base64_shortened + encrypted_data_base64_string
}

async function decryptString(key_string : string, data_string_payload : string) {
  const key_encoded = te(key_string)
  const key = await crypto.subtle.importKey('raw', key_encoded.buffer, 'AES-CBC', true, ['encrypt', 'decrypt'])

  const data_string_encrypted = data_string_payload.substring(22)
  const iv_base64_string = data_string_payload.substring(0, 22)
  const iv = bd(iv_base64_string)

  const decrypted = await crypto.subtle.decrypt({ name: 'AES-CBC', iv}, key, bd(data_string_encrypted))
  const decrypted_bytes = new Uint8Array(decrypted)
  const decrypted_text = td(decrypted_bytes)

  return decrypted_text
}

I made a PR #31, using the crypto and base64 module in deno std to achive the "CryptoJS style" AES encoding.
The biggest difference between this code and the PR is that the PR one uses the EVP Key Derivation Function (evpkdf) to obtain key and iv from the string passphrase passed in by user just like before.
Another difference is the PR code will put "__Salted", salt, cipherText together and return a base64 string just like the CryptoJS do. And it will also try to parse the incoming string to get the salt in decrypt function. You can checkout the code to be clear about this.

Actually, I saw som people warn that CryptoJS be default uses evpkdf with only 1 iteration. So the key and iv actully comes from md5 one time the passphrase, and that's not safe. (I'm not sure if it's true of how unsafe it is. I'm not an expert.)
Maybe we should switch to another safer encryption, and that will be some kind of breaking. All the existing cookie session will be invalid due to switch in decryption algorithm.

Nice work!
In the name of security, I think we should harden our encryption as much as possible as long as it doesn't significantly hinder performance on the server. Even if that means a breaking change. Since we're storing a string visible to the user, it should be tamper-proof at all costs. From my reading, md5 and SHA-1 aren't quite up to the task. SHA-384 looked good in terms of not having the collidable or length-extendable vulnerabilities, and it's faster than the other ones on 64-bit machines (64-bit is a requirement to run Deno anyway).
On this vein, another breaking change is, I want to make a key mandatory for CookieStore (#26). Not encrypting the cookie is dangerous, not just for the user browsing the site, but all other users on a site using CookieStore.

Put a couple changes in a branch.
https://github.com/c0per/oak_sessions/compare/crypto-api...jcs224:oak_sessions:sha-384

Switched to SHA-384, this will break existing cookies but it works without any other changes!
In case the decryption fails (which it will for existing cookies), create a new session

I just had an idea. If we don't want to destroy existing data, we could migrate it by when they visit the site, decrypting their MD5-based keys, re-encrypting with SHA-384, then saving that result to the cookie.

Put a couple changes in a branch.
c0per/oak_sessions@crypto-api...jcs224:oak_sessions:sha-384

Switched to SHA-384, this will break existing cookies but it works without any other changes!
In case the decryption fails (which it will for existing cookies), create a new session

I just had an idea. If we don't want to destroy existing data, we could migrate it by when they visit the site, decrypting their MD5-based keys, re-encrypting with SHA-384, then saving that result to the cookie.

That seems great. I think of a way to do this "fallback" decryption.
This seems to be a noob question... But how can I commit on top of you latest commit? It looks like it's your pr built on top of mine, which I can't access. May be you should merge first or something? So I can commit the code for md5 fallback on that latest pr.
Thanks.

Maybe you can set me as one of the "maintainers"? Github allow maintainers to edit existing PR if the creator of the PR set that way.

I went ahead and merged everything, feel free to make another PR.

Fixed by #31 ,#32, #33


Add prints of flow outputs to the CLI...

Maybe we can add prints of flow outputs  to the CLI prints (like in task name).
so it will be easy to see flow result...

@meirwah I added flow_outputs_to_cli branch with the update

fixed by #89 ...


python311Packages.aiohomekit: 2.6.7 -> 2.6.9

Diff: https://github.com/Jc2k/aiohomekit/compare/refs/tags/2.6.7...2.6.9
Changelog: https://github.com/Jc2k/aiohomekit/releases/tag/2.6.9
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

5 packages built:

home-assistant-component-tests.homekit_controller
python310Packages.aiohomekit
python310Packages.aiohomekit.dist
python311Packages.aiohomekit
python311Packages.aiohomekit.dist


analyzer: Stop using a SortedSet in ProjectAnalyzerResult

The ProjectAnalyzerResult is only serialized as part of analyzer functional tests when comparing to expected results. So in memory, there is no need for the packages to be a SortedSet. Change the code to only sort packages on serialization via a Jackson converter to have a defined order when comparing to expected results.
Signed-off-by: Sebastian Schuberth<EMAIL_ADDRESS>

FYI @mnonnenmacher, a SortedSet keeps only the first entry that's equal according to compareTo, see https://pl.kotl.in/zzR5V7Npo.
Which means that this change may uncover previously unnoticed cases where packages with the same id but different other properties are being added to the result.


Separate Cell Zone by Register

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
I am unable to separate a cell-zone using a region register (e.g. hex-shape) via pyfluent as no cells are marked.
Executing the same region register with the exact same extent in an interactive session via tui commands or in the gui works perfectly fine.
📝 Steps to reproduce

launch a fluent solver session with show_gui=False
load in any mesh
create a region register:

session.settings.solution.cell_registers["register_1"].type.option.allowed_values()
session.settings.solution.cell_registers["register_1"].type.option = "hexahedron"
session.settings.solution.cell_registers["register_1"].type.hexahedron.min_point = [-1,-1,-1]
session.settings.solution.cell_registers["register_1"].type.hexahedron.max_point = [1,1,1]

use it to separate the cell zone:
session.settings.mesh.modify_zones.sep_cell_zone_mark(cell_zone_name="fluid", register="register_1", move_faces=True)

N.B.: I also tried the TUI method command in python without success.
💻 Which operating system are you using?

Hi @nablaV, This is no longer reproducible in 25R1. In 24R2, the settings were somehow not getting applied. We tried saving it from gui with same settings and it worked. cc. @mkundu1, @seanpearsonuk

Hi @prmukherj, thanks for taking a look!
do I understand correctly that in 25R1 this won't be an issue any longer? As mentioned in 24R2 it works ok in the gui, but that won't be an option if the job is large/running on a cluster.

Hi @nablaV, This is no longer reproducible in 25R1. In 24R2, the settings were somehow not getting applied. We tried saving it from gui with same settings and it worked. cc. @mkundu1, @seanpearsonuk

Hi @prmukherj, thanks for taking a look! do I understand correctly that in 25R1 this won't be an issue any longer? As mentioned in 24R2 it works ok in the gui, but that won't be an option if the job is large/running on a cluster.

Yes @nablaV, this is working as expected in 25R1.

@nablaV, closing this issue as of now.
cc. @mkundu1, @seanpearsonuk


provider/db: normalize StreamingParams (close #131)

this doesn't solve the problem, I'll submit another PR for https://github.com/NYTimes/video-transcoding-api/issues/136

Current coverage is 85.19% (diff: 100%)

Merging #137 into master will not change coverage

@@             master       #137   diff @@
==========================================
  Files            28         28
  Lines          1912       1912
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1629       1629
  Misses          188        188
  Partials         95         95

Powered by Codecov. Last update 599243d...db87bbc


[FEA] support split join condition for broadcast hash join into AST and non-AST

For broadcast hash join, if broadcast hash join contains some conditions non AST-able, we should split it following into some project nodes when we can.

Why just broadcast? Why not make it generic for all of the joins that can use AST?


Subscriptions (The method 'add' was called on null)

Hello @ShivamArora  I have a problem with Subscriptions it give error like this:

Pls, Correct me if I do wrong.

@yuniit You should subscribe to a collection only after the connection has been established.
Here, in your case Dart might be calling Meteor.subscribe when the future for Meteor.connect hasn't been completed yet.
You need to ensure that a call to Meteor.subscribe() is made only after a connection has been established.
To do that, you should either subscribe within the then clause:
Solution 1:
Meteor.connect('ws://$ip/websocket').then((status) {
   print('Status: $stattus);
   var subId = await Meteor.subscribe('app.company');
}).catchError((error) {
   print('Error: $error');
});

Or use async-await with both of them:
Solution 2:
try{
   ConnectionStatus status = await Meteor.connect('ws://$ip/websocket');
   print('Status: $status');
   // Subscribe
   var subId = await Meteor.subscribe('app.company');
   print('Subscription Id: $subId);
} catch(error){
   print('Error: $error');
}

I hope this helps and solves your issue.

It work well @ShivamArora
Great thank.


How Captain WebGenesis Helped Me Retrieve my Stolen Crypto

CAPTAIN WEBGENESIS helped me in reclaiming my Btc and usdt worth $147,000, that I had lost to an authorized cryptocurrency trading scam website plan. After several trials with several hackers with no success, I came across CAPTAIN WEBGENESIS, who worked tirelessly on my case and retrieved all of my funds within days.. I shall be eternally grateful to CAPTAIN WEBGENESIS. I urge anyone who has fallen victim to these online fraudsters to get in touch with the expert through his email (captainwebgenesis@hackermail.com).

With an astonishing experience, I can't help talking about Space Spy Recovery services enough. Sometimes in May, an intruder managed to get in my email and my data got compromised alongside my BTC wallet leading to loss of my savings and operational business funds to the tune of $560,000. It was horribly crazy! Amidst my confusion, a staff member mentioned  Space Spy   Recovery and I immediately contacted them. Happily enough, it took them just a couple of days to be able to get me back into my wallet which I was unable to access and eventually also recovered my lost funds after verification of ownership. I highly advise anyone having such issues to contact them through:
Email<EMAIL_ADDRESS>WhatsApp: https://wa.me/message/CYFT7C6HPEIGA1
Telegram: @spacespy65
Skype: live:.cid.2b75b0cf1ce9bf69
Website: https://soacespy.wixsite.com/my-site-2


Auto refresh the page after 20 mins.

As this page depends on data which is changing continuously we need to update the page after a fixed interval... for some users who keep the website open for extended period of time.
Checklist

[ DONE] Compiles and passes lint tests
[ DONE] Properly formatted
[DONE ] Tested on desktop
[ DONE] Tested on phone

Hey, thanks for the PR!
Please raise PRs against issues you've been assigned to and have them referenced in the PR :)


Put containers in the cgroups that Kubernetes recommends

This doesn't yet set up any limits or tell kubelet about these, so it is just a starting point to have things in the right places.
Based on https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/
Note that at present containerd itself is running in the root cgroup which may or may not matter...

This seems to have broken things, see #23.


Fix a handful of issues in /WHOLEARCHIVE support.

There was a breakage in the ARM unit tests due to a missing dependency pulled in through /WHOLEARCHIVE.

That dependency is now included in the test CRT dependency set.

The library path for our ARM unit tests was being set incorrectly.

In setting it correctly, we found that Starboard had a dependency on the concurrency runtime, which we cannot link. That dependency was found to be in error.

Linking a project with both /INCREMENTAL and /WHOLEARCHIVE can lead to incomplete object merging.
We would occasionally emit /WHOLEARCHIVE and ___pin_objc_init for referenced libraries containing only excluded Objective-C files.

Local tests:

Passed ARM Unit Tests (Debug/Release).
Passed ARM application validation.
Passed x86 Unit Tests (Debug/Release)

Remote tests:

Currently running a full soak (ARM+x86) test.

@bbowman is added to the review. #Closed

@pradipd is added to the review. #Closed

@rajsesh-msft is added to the review. #Closed

@GreatKeeper is added to the review. #Closed

One commit message needs to have its wording fixed during merge.

:shipit:

:shipit:

Revisiting this later.


npm error installing co-with-promise

Using Node v9.3.0
npm is having an issue installing a package 'co-with-promise'. When I run npm install, it throws an ENOVERSIONS error and claims there is no valid available version of co-with-promise.

What is additionally confusing is that I downloaded the tutorial code, worked through up to the authentication section (section 4), had some issues, redownloaded the code and started over. When I tried to run npm install when starting over, I started to get the above error.

@alsfai thanks for raising the issue. Could you try with Node 8 or 10, as Node 9 is not supported anymore. Thanks!

Closing this for now. Please let me know if it should be reopened.


requests has no attribute 'description'

requests == 2.13.0
requests has no attribute __description__
instead only has
  '__author__',
  '__build__',
  '__builtins__',
 '__cached__',
 '__copyright__',
 '__doc__',
 '__file__',
 '__license__',
 '__loader__',
 '__name__',
 '__package__',
 '__path__',
 '__spec__',
 '__title__',
 '__version__',
 '_internal_utils',

so i use the  __doc__
am i right?
Thank you

requests==2.18.4 does have attribute __description__
Use the latest version of requests, install it using the requirements.txt file

@rajdeepbharati I have installed the requests==2.20.1, but the error still exists...

the error:
Traceback (most recent call last):
  File "sherlock.py", line 379, in <module>
    main()
  File "sherlock.py", line 301, in main
    f"{requests.__description__}:  {requests.__version__}\n" + \
AttributeError: module 'requests' has no attribute '__description__'

@Eurus-Holmes Perhaps you used the wrong version of python. Can you install a virtualenv and try again. Although this line isn't really important for sherlock to work.
This is what requests.__description__ is: 'Python HTTP for Humans.'

@rajdeepbharati oh, thanks, It works when I used a virtualenv environment.

@TheYahya I think this issue may be closed

How can i use the virtualen environment?


Responsive

Hi,
Please check the responsive of this page(RTL Examples):
https://getbootstrap.com/docs/5.0/examples/blog-rtl/
Thanks.

Could you please describe what's wrong, in your opinion?

It seems to be working fine till the width in website's aspect ratio remains above 560px @lower width text's are being overlapped & some text are moving out of the screen.You can check this exact width dimensions after which your site is messing up using chrome's developers tool .
Tho for most devices your site will load just fine but u could further optimize it's display for devices with smaller screen width using mediaqueries
Hope this solves your issue

Everything just seems fine using Firefox and Chrome on Ubuntu. Without more details I'll close this issue.

Closing per last comment.


throw() in Readme Usage Section

README.MD >> Usage section
I think throw() should be removed from the following line:
const errors = validationResult(req).throw();
Regards, Carlos

Thanks for the highlight!


Updated validations.py with test cases.

Fixed Issue where program failed to recognize valid username if the
username started with special characters.
Closes: #1
Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Update<EMAIL_ADDRESS>

This avoids a transient dependency on the old 1.x version of date-fns.

Sorry for the delay. PR much appreciated 🍻

@SamVerschueren would it be possible to cut a release with this? ☺
Since this package already requires Node.js 10, I don't think that this is a breaking change.

@SamVerschueren I'm also waiting for this release!😆


[google_maps_flutter] Google Map does not download image tiles if camera is moved every second

I used the standard Google Maps Flutter sample at https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter and it seemed to work fine.
However, I added some code that moves the camera every second:
mapWidget.mapController.animateCamera(CameraUpdate.newLatLng(LatLng(latitude, longitude)));
With the camera constantly moving, it seems like the code which downloads the image tiles is stalled. If I pause my animation, any visible tiles download. If I restart the animation and change the map type, then the new tiles no longer download.
It seems like google_maps_flutter is unable to download anything while the map is moving, which could happen all the time if using GPS for positioning.

I can confirm this is occuring as well. I did find that it affects animateCamera only. Using moveCamera, tiles are downloaded no matter how often the camera moves. moveCamera, however, produces jerky movement of course so it is not preferred.
// controller.animateCamera(CameraUpdate.newCameraPosition(_movingMapBusinessObject.cameraPosition));
controller.moveCamera(CameraUpdate.newCameraPosition(_movingMapBusinessObject.cameraPosition));

These are my two lines of code. .animateCamera does not load tiles, .moveCamera does.

@waynepiekarski or @jcowgar can you post a sample that demonstrates the behavior you're seeing? This sounds like an issue we'll want to dig into.

I am having the same issue. And it happens only in Android.

I got the same issue.
I use a geolocation pluggin (Location) and watch for the location change every seconds. At each change of location, I trigger the method animateCamera of GoogleMaps and the tiles is not loading.
If I change the interval of location at 1500 millisecondes everythings is fine.


[WFCORE-4296] Illegal Reflective Access

Jira: https://issues.redhat.com/browse/WFCORE-4296

Thank you @slominskir for pointing out this issue haven't been addressed yet.
I created a proper fix. Please close this one in favor of https://github.com/wildfly/wildfly-core/pull/4966

Replaced by: https://github.com/wildfly/wildfly-core/pull/4966


<IP_ADDRESS> — Can't download large albums in MQA

Hello there!
It takes forever to decrypt, then ends up with error.
Version <IP_ADDRESS> can't download MQA files, <IP_ADDRESS> is not downloading anything at all.
Thank you.
PS It's not the token, and thank you for the app!

I have Tidal HiFi Premium. You can download with 'Master' set without error. But the quality isnt 24bit it is 16 bit. Try download an album and check it with mediainfo. It will be same bitrate as normal FLAC, around 970 kb/s.

I still can't download it both in master and hifi. Any other album is ok
On 16 Nov 2020, 09:02 +0300, MusicBits<EMAIL_ADDRESS>wrote:

I have Tidal HiFi Premium. You can download with 'Master' set without error. But the quality isnt 24bit it is 16 bit. Try download an album and check it with mediainfo. It will be same bitrate as normal FLAC, around 970 kb/s.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


write an aspect to emit bloop configuration

see:
https://scalacenter.github.io/bloop/docs/configuration-format
If we had an aspect similar to the one for intelliJ, we could use metals with rules_scala, which would be nice for many users.
This doesn't seem very hard to do based on a quick look at the configuration file.

Related draft PR here: https://github.com/bazelbuild/rules_scala/pull/997

What is the status of this?

Summarized accurately in this issue AFAIK.

We recently just landed something like this in bazel-bsp, it can export a set of bloop projects given a set of bazel targets.
Not exactly the same thing but similar?


Can't create new container after canceling

Required information

Distribution: ubuntu
Distribution version: 16.04
The output of "lxc info" or if that fails:

Kernel version: 4.4.0-79-generic
LXC version: 2.0.8
LXD version: 2.14
Storage backend in use: btrfs

Issue description
I was going to create a container, and messed up with the name, then I pressed Ctrl_C and tried to create the container again. but I cant.
I get the following output
root@node8:/var/lib/lxd/images# lxc launch ubuntu:x test3
Creating test3
error: UNIQUE constraint failed: storage_volumes.storage_pool_id, storage_volumes.name, storage_volumes.type
root@node8:/var/lib/lxd/images# lxc launch ubuntu:x test3
Creating test3
error: open /var/lib/lxd/images/1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d: no such file or directory
root@node8:/var/lib/lxd/images#
Steps to reproduce
I don't know if I can reproduce it or not. there are some production servers there and I don't want to pipe out everything anre reinstall.
Information to attach

[ ] any relevant kernel output (dmesg)

[ ] container log (lxc info NAME --show-log)

[ ] main daemon log (/var/log/lxd.log)
ephemeral=false lvl=info msg="Creating container" name=test3 t=2017-06-18T17:02:17+0530
ephemeral=false lvl=info msg="Created container" name=test3 t=2017-06-18T17:02:18+0530
created=2017-06-18T11:32:17+0000 ephemeral=false lvl=info msg="Deleting container" name=test3 t=2017-06-18T17:02:18+0530 used=1970-01-01T00:00:00+0000
created=2017-06-18T11:32:17+0000 ephemeral=false lvl=info msg="Deleted container" name=test3 t=2017-06-18T17:02:18+0530 used=1970-01-01T00:00:00+0000
ephemeral=false lvl=info msg="Creating container" name=test3 t=2017-06-18T17:02:56+0530
ephemeral=false lvl=info msg="Created container" name=test3 t=2017-06-18T17:02:57+0530
created=2017-06-18T11:32:56+0000 ephemeral=false lvl=info msg="Deleting container" name=test3 t=2017-06-18T17:02:57+0530 used=1970-01-01T00:00:00+0000
created=2017-06-18T11:32:56+0000 ephemeral=false lvl=info msg="Deleted container" name=test3 t=2017-06-18T17:02:57+0530 used=1970-01-01T00:00:00+0000

[ ] output of the client with --debug

[ ] output of the daemon with --debug

Yeah, we currently do not support cancelling container creation. What does lxc list show?

The containers are not there.
Fine if it's not supported. But now I can't create any new container.
It's seems that the database got something and didn't roll out back and it's corrupted.
Any workaround to fix the DB and being able to create new containers again?

Basically I created a container with lxc launch, immediately after the message creating xxxx I pressed control C.
After that I can't create any new containers
Start stop of exceeding containers works fine

@laralar, yeah the db seems to be messed up. So what should help you is:
sqlite3 /var/lib/lxd/lxd.db "DELETE FROM containers WHERE name='test3'"
sqlite3 /var/lib/lxd/lxd.db "DELETE FROM storage_volumes WHERE name='test3'"

can you also verify that no storage volume for the container has been created in the storage pool you are using. If so, delete it and you should be good to go.

thanks,  I don't  have access to the server right now.  i'll try tomorrow and update.

Please don't run the commands above, they will leave records behind in the database.
@brauner when giving such SQL commands, don't forget that sqlite3 doesn't cascade by default.

First you should try:

lxc delete test3

With a bit of luck, that will let you clear the DB records.
If not, then you should do: sudo sqlite3 /var/lib/lxd/lxd.db
And then type in:
PRAGMA foreign_keys=ON;
DELETE FROM containers WHERE name='test3';
DELETE FROM storage_volumes WHERE name='test3';

Can you also provide us with your /var/log/lxd/lxd.log?
As @brauner mentioned, we don't support canceling with ctrl+c right now, but that normally means that hitting ctrl+c will still have LXD create the container for you in the background, not lead to a half-created container as we're seeing here.

sqlite3 doesn't cascade?

@brauner only if you tell it to :)
That's what the PRAGMA statement above does.

lxd.log.. The problem started with creating zential container which I misspelled the name.
lxc list only shows the previous containers before this happens, none of these ones is shown
The DB seems to be OK, there is nothing to delete.  Maybe the Filesystem?
sqlite> select * from containers ;
1|abdf-runner1||2|0|0|0|1497704398|2017-06-17 13:08:09.223647172+00:00
2|abdf-runner2||2|0|0|0|1497704633|2017-06-17 13:08:53.772380654+00:00
3|abdf-runner3||2|0|0|0|1497704814|2017-06-17 13:09:36.108389796+00:00
4|abdf-runner4||2|0|0|0|1497704982|2017-06-17 13:12:36.806647307+00:00
5|abdf-runner5||2|0|0|0|1497705154|2017-06-18 11:28:56.740586085+00:00
6|abdf-runner||2|0|0|0|1497705391|0
7|base-gitlab-runner||2|0|0|0|1497705644|0
8|base-gitlab-runner/gitlab-runnerdefault||2|1|0|0|1497705720|0
9|gitlab||2|0|0|0|1497769694|2017-06-18 10:32:40.376124801+00:00
sqlite> select * from storage_volumes;
1|abdf-runner1||2|0
2|abdf-runner2||2|0
3|abdf-runner3||2|0
4|abdf-runner4||2|0
5|abdf-runner5||2|0
6|abdf-runner||2|0
7|base-gitlab-runner||2|0
8|base-gitlab-runner/gitlab-runnerdefault||2|0
9|gitlab||2|0
I pressed Ctrl-C and tried to create the container with the correct name zentyal, but I couldn't
I tried to reproduce on the demo servers, and effectively, the containers are created in the background, and they stay in stopped state, but the DB doesn;t get corrupted
As you can see in the log there is normally one message "Creating..." following immediately by "Created..."  But in this particular case, there is
"Creating zential"  followed by
"Creating zentyal" (Before the previous container was created)
"Created zentyal"
"Deleting zentyal" (I didn't deleted this one, it was deleted automatically probably because of the DB error
"Deleted zentyal"
"Created zential"  (Only Here the first container was created !! )
"Deleting zential"
"Deleted zential"
And from them onwards were just normal tests without the Ctrl C.. zentyalsrv , test, test3, etc.. etc..

ID 261 gen 4340 top level 5 path lxd
ID 262 gen 72 top level 261 path storage-pools/default
ID 263 gen 1314 top level 262 path storage-pools/default/containers
ID 264 gen 116 top level 262 path storage-pools/default/snapshots
ID 265 gen 1955 top level 262 path storage-pools/default/images
ID 266 gen 72 top level 262 path storage-pools/default/custom
ID 267 gen 4349 top level 263 path storage-pools/default/containers/abdf-runner1
ID 269 gen 4349 top level 263 path storage-pools/default/containers/abdf-runner2
ID 272 gen 4349 top level 263 path storage-pools/default/containers/abdf-runner3
ID 273 gen 4348 top level 263 path storage-pools/default/containers/abdf-runner4
ID 275 gen 4345 top level 263 path storage-pools/default/containers/abdf-runner5
ID 277 gen 112 top level 263 path storage-pools/default/containers/abdf-runner
ID 278 gen 117 top level 263 path storage-pools/default/containers/base-gitlab-runner
ID 279 gen 115 top level 264 path storage-pools/default/snapshots/base-gitlab-runner/gitlab-runnerdefault
ID 287 gen 4350 top level 263 path storage-pools/default/containers/gitlab

This command tells there is a violated constraint
root@node8:~# lxc launch ubuntu:x  test
Creating test
error: UNIQUE constraint failed: storage_volumes.storage_pool_id, storage_volumes.name, storage_volumes.type
however there is no such container in the DB
sqlite> select storage_pool_id, name,type from storage_volumes;
2|abdf-runner|0
2|abdf-runner1|0
2|abdf-runner2|0
2|abdf-runner3|0
2|abdf-runner4|0
2|abdf-runner5|0
2|base-gitlab-runner|0
2|base-gitlab-runner/gitlab-runnerdefault|0
2|gitlab|0
sqlite>
And I get the two different error messages alternated
root@node8:~# lxc launch ubuntu:x  test
Creating test
error: open /var/lib/lxd/images/1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d: no such file or directory
root@node8:~# lxc launch ubuntu:x  test
Creating test
error: UNIQUE constraint failed: storage_volumes.storage_pool_id, storage_volumes.name, storage_volumes.type
root@node8:~# lxc launch ubuntu:x  test
Creating test
error: open /var/lib/lxd/images/1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d: no such file or directory
root@node8:~# lxc launch ubuntu:x  test
Creating test
error: UNIQUE constraint failed: storage_volumes.storage_pool_id, storage_volumes.name, storage_volumes.type
ephemeral=false lvl=info msg="Creating container" name=test t=2017-06-19T11:11:26+0530
ephemeral=false lvl=info msg="Created container" name=test t=2017-06-19T11:11:27+0530
created=2017-06-19T05:41:26+0000 ephemeral=false lvl=info msg="Deleting container" name=test t=2017-06-19T11:11:28+0530 used=1970-01-01T00:00:00+0000
created=2017-06-19T05:41:26+0000 ephemeral=false lvl=info msg="Deleted container" name=test t=2017-06-19T11:11:28+0530 used=1970-01-01T00:00:00+0000
ephemeral=false lvl=info msg="Creating container" name=test t=2017-06-19T11:11:33+0530
ephemeral=false lvl=info msg="Created container" name=test t=2017-06-19T11:11:33+0530
created=2017-06-19T05:41:32+0000 ephemeral=false lvl=info msg="Deleting container" name=test t=2017-06-19T11:11:34+0530 used=1970-01-01T00:00:00+0000
created=2017-06-19T05:41:32+0000 ephemeral=false lvl=info msg="Deleted container" name=test t=2017-06-19T11:11:34+0530 used=1970-01-01T00:00:00+0000
ephemeral=false lvl=info msg="Creating container" name=test t=2017-06-19T11:11:36+0530
ephemeral=false lvl=info msg="Created container" name=test t=2017-06-19T11:11:37+0530
created=2017-06-19T05:41:36+0000 ephemeral=false lvl=info msg="Deleting container" name=test t=2017-06-19T11:11:38+0530 used=1970-01-01T00:00:00+0000
created=2017-06-19T05:41:36+0000 ephemeral=false lvl=info msg="Deleted container" name=test t=2017-06-19T11:11:38+0530 used=1970-01-01T00:00:00+0000
ephemeral=false lvl=info msg="Creating container" name=test t=2017-06-19T11:11:40+0530
ephemeral=false lvl=info msg="Created container" name=test t=2017-06-19T11:11:41+0530
created=2017-06-19T05:41:40+0000 ephemeral=false lvl=info msg="Deleting container" name=test t=2017-06-19T11:11:41+0530 used=1970-01-01T00:00:00+0000
created=2017-06-19T05:41:40+0000 ephemeral=false lvl=info msg="Deleted container" name=test t=2017-06-19T11:11:41+0530 used=1970-01-01T00:00:00+0000

And the image is there
root@node8:~# lxc image list
+------------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
|   ALIAS    | FINGERPRINT  | PUBLIC |                 DESCRIPTION                 |  ARCH  |   SIZE   |         UPLOAD DATE          |
+------------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
| x (9 more) | 1e59027d1d58 | no     | ubuntu 16.04 LTS amd64 (release) (20170610) | x86_64 | 153.78MB | Jun 18, 2017 at 7:14am (UTC) |
+------------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+

@laralar, can you also check that there are not left-over entries in the storage_volumes_config table?

It's empty,
sqlite> select * from storage_volumes_config;
sqlite>
Did the storage configuration got corrupted?

@laralar, can you please try to delete the image the container is supposed to be created from. I suspect that the image creation actually failed and not the container creation.

I did before, deletede the image and copied it back from another local server where I have it instead of ubuntu:x
I'm doing it again removing the image (lxc image delete 1e59027d1d58) and (lxc launch ubuntu:x test)..
I'll update in a few minutes (for some reason internet connection from that server is slow.)
There are no traces of the test or half-broken containers in the database
lxd.db.sql.txt

This error:
error: UNIQUE constraint failed: storage_volumes.storage_pool_id, storage_volumes.name, storage_volumes.type
Seems to me that it is trying to insert a new storage volume violating the constraint.  The name is not there  (any name fails)
CREATE TABLE storage_volumes (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
storage_pool_id INTEGER NOT NULL,
type INTEGER NOT NULL,
UNIQUE (storage_pool_id, name, type),
FOREIGN KEY (storage_pool_id) REFERENCES storage_pools (id) ON DELETE CASCADE
);
That will only give if we are trying to insert the same name again?  but it's not there.

Could it be that the problem is related to the way I am importing the image:
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
Image copied successfully!
this works fine and it is really fast.
lxc image copy devaprasad:1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d local: --copy-aliases
or
lxc image copy devaprasad:x local: --copy-aliases
Takes forever and I have to stop it.
it creates a subdirectory named lxd_post_584312426 and another named lxd_build_463813495
The I get the error:
lxc launch ubuntu:x test
Creating test
error: open /var/lib/lxd/images/1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d: no such file or directory
because in that directory there is only
drwx------ 1 root root        62 Jun 19 16:09 .
drwxr-xr-x 1 root root       234 Jun 19 16:09 ..
-rw-r--r-- 1 root root       840 Jun 19 16:09 1e59027d1d58
-rw-r--r-- 1 root root 161251328 Jun 19 16:09 1e59027d1d58.rootfs
However in another server where I am trying to copy from, I have
root@iotsysadmin:/var/lib/lxd/images# ls -la
total 157670
drwx------  2 root root         4 Jun 18 12:18 .
drwxr-xr-x 12 root root        16 Jun 19 15:26 ..
-rw-r--r--  1 root root       840 Jun 18 12:07 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d
-rw-r--r--  1 root root 161251328 Jun 18 12:12 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.rootfs

This worked!
root@node8:/var/lib/lxd/images# mv 1e59027d1d58 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d
root@node8:/var/lib/lxd/images# mv 1e59027d1d58.rootfs 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.rootfs
This is how I am copying the images:
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
Image copied successfully!
For some reason
lxc image copy devaprasad:1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d local: --copy-aliases
or
lxc image copy devaprasad:x local: --copy-aliases
are too slow

so .. the issue was not because of the Ctrl-C.. Ctrl-C and DB integrity were fine
It seems that the issue is with the copy using a short hash name and being inserted in the DB with the full hash, plus being put in the images folder with the short name
Then the container creation assumes that the the checksum that is already in the DB exists, goes and looks for the file, but the file has the short name. It doesnt find it. it fails creating the container

and basically I never created any container in this server before, the internet connection is too slow, that is why I had to use an intermediate server.. or maybe I did but using local:1e59027d1d58   This I don't remember

@albertodonato did you change something here recently and have a clue what's going on?

This worked!

root@node8:/var/lib/lxd/images# mv 1e59027d1d58 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d
root@node8:/var/lib/lxd/images# mv 1e59027d1d58.rootfs 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.rootfs

Basically after I copy the container with
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
The files are created as 1e59027d1d58  and 1e59027d1d58.rootfs under /var/lib/lxd/images
I rename and after that I can create containers again

I tried to reproduce in the lxd demo server. but I can't, the file gets the correct name.  I am using 2.14 and the demo server has 2.09 I dont know if that makes a difference

PS.  I am using a 2.12 server where the image is stored and a 2.14 client where I am importing the image and gets the short file name

Summary:
I updated to 2.14 the server where I'm storing the image and the issue is still there.  also the client is using 2.14
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
ls -la
total 157476
drwx------ 1 root root        62 Jun 19 17:29 .
drwxr-xr-x 1 root root       234 Jun 19 17:29 ..
-rw-r--r-- 1 root root       840 Jun 19 17:28 1e59027d1d58
-rw-r--r-- 1 root root 161251328 Jun 19 17:29 1e59027d1d58.rootfs
lxc launch ubuntu:x test
Creating test
error: open /var/lib/lxd/images/1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d: no such file or directory
mv 1e59027d1d58 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d
mv 1e59027d1d58.rootfs 1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.rootfs
lxc launch ubuntu:x test
Creating test
error: UNIQUE constraint failed: storage_volumes.storage_pool_id, storage_volumes.name, storage_volumes.type
I SUSPECT THIS IS IRRELEVANT, because it cleans the DB, the previous error left some data in the DB and this one fixes it.  Immediately I create a new container and works (the renaming of the iamge files worked
lxc launch ubuntu:x test
Creating test
Starting test
Now.. I deleted the image from the server and got it again (just in case)
lxc image copy ubuntu:x local: --copy-aliases
in the client:
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
ls -la
total 157480
drwx------ 1 root root        62 Jun 19 17:43 .
drwxr-xr-x 1 root root       234 Jun 19 17:43 ..
-rw-r--r-- 1 root root       840 Jun 19 17:42 1e59027d1d58
-rw-r--r-- 1 root root 161251328 Jun 19 17:43 1e59027d1d58.rootfs
I can't reproduce neither create this environment in the demo server I cant create a container and update from either 2.12 (ubuntu 17.04) or 2.09 (ubuntu 16.04) to lxd 2.14  Im using btrfs

sorry for the bold text.. I don't know how It got displayed like that..

OK.. Some new findings. I have an empty host  Ubuntu 16.04 lxd 2.09 rootfs on btrfs
lxd init with dir pool
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d
1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.btrfs
1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.rootfs
works fine.. the file is created with the full name
upgraded the same server to 2.14
lxd init with dir pool
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
1e59027d1d58  1e59027d1d58.rootfs
the file get copied with the short name
rolled back to 2.0.9
lxd init with dir pool
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d
1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.btrfs
1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d.rootfs
installed again 2.14
lxd init with dir pool
lxc image copy devaprasad:1e59027d1d58 local: --copy-aliases
1e59027d1d58  1e59027d1d58.rootfs
It can be reproduced again and again.

Another issue on lxc image copy
root@node7:/var/lib/lxd# rm -Rf images
root@node7:/var/lib/lxd# lxc image copy node8:7a7ff654cbd8f5f09bec03aa19d8d7d92649127d18659036a963b1ea63f90d25 local: --copy-aliases
Image copied successfully!
And nothing was copied because the images directory was removed.

Same issue happens to me when copying/moving a container from another server after a fresh installation.  It seems that in some cases, lxd init doesn't create containers and images directory.  It is not that I deleted them on purpose.  But no information is given.
When copying a container though, an error is given.  when copying an image no error is giving, but instead you get the previous successful message.

I'll take a look at this. I suspect things will be quite different now with the new client library we just landed, but still want to check what happened in 2.14.
As for the earlier comment. The demo server actually does run LXD 2.14, don't believe what "dpkg -l" tells you on it, use "lxd --version" instead as we build our own binaries that are then put over the ones coming from the package :)

I can confirm the issue copying images between two LXD servers using the short hash (the files get created with the short hash as name and never get removed).
Also, if the images/ directory is removed while lxd is running, following image copy don't error.
Both issues are no longer present in current master.

Cool, if it is fixed in master we can close this since 2.15 will be released soon.

I'm re-opening because the new client library doesn't explain why the server side of this issue would have been resolved. Yes, current git master won't trivially reproduce this because our client is now smarter, but it sounds like the backend may still be broken.

Anyway, I'll take a look into this myself.

Confirmed that the new client will report an error on copy if you destroy images/:
root@vm02:/var/lib/lxd# /home/ubuntu/lxc image copy images:alpine/edge local:
error: Failed remote image download:
 - https://images.linuxcontainers.org: mkdir /var/lib/lxd/images/lxd_build_199222217: no such file or directory

Reproduced the short hash issue on current LXD. Working on a fix for it now.

Hello,
Is it still an issue with version 2.21?
I am getting the same symptoms but cannot provide a detailed report as laralar.


chore(release): 3.0.0-beta.0

Looking at this again, I'm wondering if I should drop bower.json in a different PR... Let me know what ya'll think.

Looking at this again, I'm wondering if I should drop bower.json in a different PR... Let me know what ya'll think.

What's the breaking change here?

What's the breaking change here?

What's the breaking change here?
@frederickfogerty okay, good, I think this means we agree then. I'll send you the convo from yesterday.

I'm closing this one for now.

What's the breaking change here?
@frederickfogerty okay, good, I think this means we agree then. I'll send you the convo from yesterday.

I'm closing this one for now.


Create Homepage

On the homepage:

Display user's calendar
Have a button to add to the calendar

Pop-up window to fill in details of the event (use Google Calendar API?)

Display group options on the left-hand side of the screen

What we have currently on the homepage:

A button to create new groups as well as a list of existing groups.

What we still need:

The calendar display
add calendar button (pop up window)