WIP: new global api install + composition provide + update deps

Hello,
This PR is meant for migrating the library to be used in Vue 3.x  (is in Work in Progress), the PR  set to base master but it should be aiming to a /next branch on the base @shakee93 so both 2.x and 3.x solutions coexist in the same repo.  If  this branch is created I  will change the destination  of the PR
Should close #179
Basic changes:
vue-toasted/index.js :
import { Toasted as T } from './js/toast';
import ToastComponent from './toast.vue';
import { VueToastedSymbol } from './useApi';
export * from './useApi';

const VueToastedPlugin = {
  install(app, options) {
    if (!options) {
      options = {};
    }
    const Toast = new T(options);
    app.component('toasted', ToastComponent);
    app.config.globalProperties.$toasted = Toast;
    app.provide(VueToastedSymbol, Toast);
  },
};

export default VueToastedPlugin;

Now instead of  Vue, the app instance is passed  so it will work  with the new  createApp, and  the  global property will be available on this  by using  app.config.globalProperties.$toasted  reference
const app = createApp(App);

app.use(VueToasted, { ...options });

In Vue 3.x plugins will leverage provide and inject internally and expose a composition function.
To do that I  add a  useApi.js for the  use of  the  library along  with the Composition API reference:
// useApi.js

export const VueToastedSymbol = Symbol();

export function useToasted() {
  const VueToasted = inject(VueToastedSymbol);
  if (!VueToasted) throw new Error('No VueToasted provided!!!');

  return VueToasted;
}

So now, in any setup method or composition function we can do:

import { useToasted }  from 'vue-toasted`;

const Component = {
  setup() {
    const toasted = useToasted();

    toasted.success('Composition API BABYYY!', {
      position: 'bottom-right',
      duration: 5000,
    });
  },
};

To support the last release candidate vue  3.0.0-rc.9  I needed to update several packages from the package.json, this is causing  errors in the webpack build process, especially with the uglify plugin:
cross-env NODE_ENV=production webpack --config ./build/webpack.release.js --progress --hide-modules

/Users/alvarosaburido/as/github/as-vue-toasted/node_modules/webpack-cli/bin/cli.js:93
                                throw err;
                                ^

Error: webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead.
    at Object.get [as UglifyJsPlugin] (/Users/alvarosaburido/as/github/as-vue-toasted/node_modules/webpack/lib/webpack.js:189:10)

If someone from the core team is available to help me out with this I  think is ready to be used (already tested as a submodule in a personal project).
Feel free to contact me directly if needed.
Happy Coding

next branch is ready. can you please create the pull ?

@shakee93 done, changed destination branch to next

@shakee93 be aware that the build is broken:


[Question] Ability of partition pruning

Hi,
Thank you for the good library.
What about the partition pruning ability in the function type_2_scd_generic_upsert?
For big data sets, it can be very actual. What do you think about it?

So I typically think of partition pruning when filtering... can you help me understand this feature request?  Can you perhaps send a code snippet?  Thank you!

Hi Matthew,
Yes, you are absolutely right. It's one of the query optimization techniques.
I meant, for example, if we know additional business information about our dataset we can read not all data [for years] but read only those partitions which actually for specific use cases.
More specifically, for example, we know that payments can change during one quartal. so we can allow users to provide that information to reduce the number of partitions when we read DeltaTable.
In terms of code, we can add a parameter for the filter and use it when we read DeltaTable.
PS: I can create PR for this proposal if you think it will be useful.

@DashaBulanova Hi Dasha,
thank you very much explaining!
Yes, it would be great if you could create a PR including tests that show the expected behaviour :)


Reodrder on click

Is it possible to enable reordering after clicking and holding for a Duration we passed? I need a function for pinning the items, when I click and secure order to the beginning of the list, my items have the necessary structure, but I still don't understand how I can do that, if that's possible with this list.

if your updating you rlist manually, just make sure that item is always at index 0.
if your list updates automatically in a StatefulWidget, in the didUpdateWidget, make sure that item is at the top of the list


Training Time

Thanks for creating this repo. Great work!
May I ask how many GPUs you use on the training with COCO dataset and what is the training time？how long it will take for the model to converge？
Look forward to your reply！

Thanks!
I did just a simple small test on 4 A100s. A full epoch should take around 1 hour. Do not recall exactly tho.


Compilation error

can not find these func
I'm using macOS, version: 11.0.1
go version: go version go1.15.5 darwin/amd64

Thanks for reporting the issue!
I pushed a new commit that should probably fix it (It builds for darwin/amd64 successfully now, and I also updated the releases with the darwin binary). But, I have no machines to test on, there may still be some bugs I'm unaware of. Please reply if something doesn't work.

Thanks for reporting the issue!
I pushed a new commit that should probably fix it (It builds for darwin/amd64 successfully now, and I also updated the releases with the darwin binary). But, I have no machines to test on, there may still be some bugs I'm unaware of. Please reply if something doesn't work.

Thanks for your reply. Can now run normally.


tidb_query: fix CAST as duration inconsistency between TiKV and TiDB

Signed-off-by: H-ZeX<EMAIL_ADDRESS>What have you changed?
compare tidb and tikv's impl of cast and fix what they are inconsistent.
What is the type of the changes?

Improvement (a change which is an improvement to an existing feature)
Bugfix (a change which fixes an issue)
Engineering (engineering change which doesn't change any feature or fix any issue)

How is the PR tested?
uint test
Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No.
Does this PR affect tidb-ansible?
No.

/test


Searching enum fields with @searchable - type not generated but it works

Describe the bug
when using the @searchable directive on a model, the cli generates inputs for the searchX queries, but it does not generate types for enum fields, so for example the id field is ok to filter with, but a field which is enum cannot be filtered because the types for filtering are not generated.
After adding manually my enum field to the SearchXFilterInput and giving it the same type as a regular string input, I tried to do my query and it worked, it filtered the results with the given enum.
Amplify CLI Version
4.13.3
To Reproduce
Create a model, with at least one field that is an enum.
Add the @searchable directive to that model.
Create some data.
Manually go to the schema page in the AppSync console, and add to your SearchXFilterInput your enum field and give it the type of a string filter.
Try to query your data and filter it with the enum field.
You will receive filtered data with your enum field taken into consideration in the filtering process.
Expected behavior
All fields that exist in ElasticSearch will exist on the search input in AppSync.
AppSync should generate a filter type for each enum, or make it a string filter like I did.

Closing as this is a duplicate of #3248

@SwaySway that issue hasn’t had any comments since it has been created, more than one month ago

Getting the same issue,
type Note
  @model
  @searchable
{
  id: ID!
  userID: ID!
  textContent: String
  htmlContent: String
  imageFilename: String
  noteType: NoteTypeEnum!
  createdAt: AWSDateTime
  updatedAt: AWSDateTime
}
enum NoteTypeEnum {
  text
  annotation
}

@idanlo Thank you for your quick solution, But Adding manual searchField into the schema from the Amplify console is a temporary solution. It should be generated automatically.
@amplify Team Please look at the issue.
@SwaySway


using the image that no longer exists, but that has the same name as an image that exists and is different

I'm taking an image and overlaying two images and exporting it with the toFile() function. I get and export the images always with the same name inside the same folder. When I do that again I delete the folder and put the 3 images again with the same name but with different contents and when running the code it returns the image that was generated last time with the old contents. Can you help me to return the image with the right contents?
My code:
await sharp(__dirname + '/public/background.jpg')
.resize({ width: 1000, height: 430 })
.composite([{
input: ${__dirname}/public/product.png, top: 15, left: 30
}, { input: ${__dirname}/public/text.png }])
.toFile(${__dirname}/public/banner.jpg)
.then(info => {
console.log(info)
}).catch(error => {
console.log(error)
})
fs.rm("./public", { recursive: true }, (err) => {
if (err) {
console.error(err);
}
else {
console.log("Directory Deleted!");
fs.mkdir(path.join(__dirname, 'public'), (err) => {
if (err) {
return console.error(err);
}
console.log('Directory created successfully!');
})
}
});
res.send("http://localhost:8080/files/banner.jpg")

If you're reusing filenames within the same process, please disable caching within libvips via sharp.cache(false)
https://sharp.pixelplumbing.com/api-utility#cache


Consider implementing Base64url transformation

Base64url is widely used by web applications.
Current implementations are based on base64 encoding then replacing characters and trimming padding.
It can be optimized by directly implementing the base64url specifics within the main transformation loop.

Ideally we'd support base64, base64url, and hex transformations as the first batch when the transformation API design is finalized.

The following sample shows how it can be done today: https://github.com/dotnet/corefxlab/blob/master/src/System.Azure.Experimental/System/Azure/CosmosDbAuthorizationHeader.cs#L45
How much more efficient can the specialized encoder be?

Not sure to understand the sample. It is Base64 encoding, not Base64Url encoding.
If we have to encode in Base64Url in this sample, it is required to replace '+' and '/' characters by '-' and '_', and to trim the trailing '=' .

I was just showing how IBufferOperation can be used to combine transformations, wondering if ToBase64Url transformation that swaps the chars a(e.g. + => -) and returns before the trailing == would not be fast enough. I think specialized transformation will be more convenient though.

Ok I see your point.
Another argument in addition to the performance is the API surface. Just last day I spotted a bug on our API gateway, written in Java. The developers were decoding in Base64 the content, then URL decoding, as there is not explicit Base64Url API.
And sometimes "data corruption" strangely occurred...


added zoomloader

Issue reference:
Proposed changes:
added Zoom in/out loader
Type of change:
added index.js & index.css
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

Additional info (if any):

Thanks for the contribution @tony02stark.


Couldn't find any documentation on querying data

Hi! I'm working on a cypress & typescript project. I have installed cypress-mongodb and it's great.
However, I struggled to find references on how to do things properly (examples of good practices).
For instance, I ended up doing something like this:
cy.findMany(
      { email<EMAIL_ADDRESS>},
      { collection: "users" }
    ).should((result: any) => {
      expect(result?.length).to.equal(1);
      const firstElement = result[0];
      expect(firstElement.email).to.equal("myTestingEmail@mail.io");
      expect(firstElement.firstName).to.equal("Norberto");
      expect(firstElement.lastName).to.equal("Herz");
      expect(firstElement.provider).to.equal("password");
      expect(firstElement).not.to.have.property("password");
    });

Do you think this approach is correct?
Is there any better option than typing result as any?
Do you know if I am supposed to use then/should and that list of expects inside?
I got that working after hours of searching, not founding documentation, and trial and error.
P.S.: I'd love to start writing some docs once I have a clear idea of what I'm doing.

Hi, thanks for the interest in this plugin and sorry for taking that long to answer :)
Regarding the plugin documentation, currently the only thing to refer to is the README file here and potentially the source code itself.
An addition to this can be a mongodb node driver documentation: https://www.mongodb.com/docs/drivers/node/current/usage-examples/
This is what's used under the hood of this plugin.
Regarding then/should and expects, this is relative to cypress and how you want to assert the results, expect is one way to do it. This plugin aims to give you the result of your query as an object or array (depending on the invoked function), and what you want to do with the results afterwards is entirely up to you (further queries, assertions, etc...).
Feels more than free to improve the README any time, would be appreciated :)


Changing X-Frame-Options from DENY to SAMEORIGIN

This change will remove an unnecessary security restriction - pages should be allowed to be loaded into iFrames within the same origin. DENY is very restrictive.

Merging this, thank you!


Django 2.0 warning importing from urlresolvers

With robots 3.0 and Django 1.11 with deprecation warnings enabled, I see
robots/views.py:3: RemovedInDjango20Warning: Importing from django.core.urlresolvers is deprecated in favor of django.urls.

:+1:

With 2.0rc1 this is:
ModuleNotFoundError: No module named 'django.core.urlresolvers'
So on the release in December robots 3.0 will be broken.

@hingston Which is the new replacer for this feature?

django.core.urlresolvers is replaced with django.urls
https://docs.djangoproject.com/en/2.0/ref/urlresolvers/

It was replaced long time ago.

Try run with Django==2.0rc1.


Remove birdsongrec exceptions

This removes NotADirectory and FileNotFound errors raised by birdsongrec2annot when wavpath doesn't exist or it can't find the wav files in the specified wavpath, respectively.
My intent was to make sure the files were there, if something else depended on them.
But this prevents someone from accessing the annotations if they don't have the wav files. Which is the opposite of the point of this package.
It also requires extra logic from a downstream library -- e.g. I'm hitting these errors in vak right now because I'm trying to open the annotation file inside a directory where I don't have (and don't want to have) the wav files -- I'm using the annotations with spectrograms generated from the audio.
So this removes the errors -- they're more trouble than they're worth. Will do the same in the current version, but vak still depends on 3.4.x

(wrong branch)


Sql 0.9.1

Codecov Report

Merging #2621 into master will decrease coverage by 0.41%.
The diff coverage is 35.16%.

@@            Coverage Diff             @@
##           master    #2621      +/-   ##
==========================================
- Coverage   56.26%   55.85%   -0.42%
==========================================
  Files        6463     6554      +91
  Lines      140358   143025    +2667
==========================================
+ Hits        78978    79887     +909
- Misses      61380    63138    +1758

Impacted Files
Coverage Δ

.../azure/mgmt/sql/models/encryption_protector_py3.py
38.46% <100%> (ø)
:arrow_up:

...mgmt/sql/models/restorable_dropped_database_py3.py
33.33% <100%> (ø)
:arrow_up:

...mt/sql/models/server_azure_ad_administrator_py3.py
60% <100%> (ø)
:arrow_up:

...gmt-sql/azure/mgmt/sql/models/restore_point_py3.py
45.45% <100%> (ø)
:arrow_up:

azure-mgmt-sql/azure/mgmt/sql/version.py
100% <100%> (ø)
:arrow_up:

...ure/mgmt/sql/models/sql_management_client_enums.py
100% <100%> (ø)
:arrow_up:

...ql/azure/mgmt/sql/models/database_operation_py3.py
25% <100%> (ø)
:arrow_up:

...mgmt-sql/azure/mgmt/sql/models/elastic_pool_py3.py
35.71% <100%> (ø)
:arrow_up:

...mt/sql/models/database_blob_auditing_policy_py3.py
35.71% <100%> (ø)
:arrow_up:

...-sql/azure/mgmt/sql/models/server_dns_alias_py3.py
71.42% <100%> (ø)
:arrow_up:

... and 224 more

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 5e370b1...1a2cbff. Read the comment docs.


Helm support to take account of Capabilities.APIVersions

Description of the feature or enhancement:
As I am sure you must be aware by now, Kubernetes has many, many, many versions. Each version supports different APIs and each new version deprecates APIs that were considered "beta" in the past.
For instance extensions/v1beta1 for Ingress was deprecated in  v1.14+ and unavailable since v1.22+.
When you deploy a helm chart, helm can take into account the specific clusters API capabilities and adapts the manifests accordingly (if implemented in code).
However, helm support in CDK8s is currently a "one size fits all" with no option of selecting what APIs to use meaning that the cdk8s output might not work on the cluster you are deploying to.
Use Case:
I am trying to render a helm chart for kong and the manifest cannot be deployed to a version 1.22 Kubernetes cluster
Proposed Solution:
I can see 3 possible ways of addressing this

Adding a parameter to the Helm method allowing for selection of major Kubernetes version
Adding helm support to the version-specific implementations such as cdk8s-plus-22
Adding a parameter to manually override API versions such as --api-versions=networking.k8s.io/v1

[ ] :wave: I may be able to implement this feature request
[ ] :warning: This feature might incur a breaking change

This is a :rocket: Feature Request

Been doing some more research on this and it appears to be a major limitation of the helm template command.
Helm template will only honour --api-versions=networking.k8s.io/v1 if --validate is also passed. However, this needs a connection to a cluster and will fail if there are conflicting resources on the cluster breaking your build process.
There really needs to be a way to tell Helm template some information about your cluster's capabilities without having to resort to connecting and validating using a real cluster as build servers typically don't have access to Kubernetes clusters.
As cdk8s relies on the helm template command, there doesn't appear to be a workaround unless I am missing something.

Can we reopen this issue? This is a priority/p1 issue and I think it's still relevant.

@dcharbonnier It works for me with the flag. Does it not work for you?
helmFlags: ["--api-versions", "monitoring.coreos.com/v1"]

For me, ArgoCD helm chart requires it for generating ServiceMonitors.
{{- if and (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1") .Values.repoServer.metrics.enabled .Values.repoServer.metrics.serviceMonitor.enabled }}


Update offline microflow call limitations

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


[it] tutorials-keras-overfit_and_underfit.ipynb Reviewed translation

@lamberta
I checked Python3
I ran nbfmt without issues
% ./nbfmt.py ../../docs-l10n/site/it/tutorials/keras/overfit_and_underfit.ipynb
Notebook: ../../docs-l10n/site/it/tutorials/keras/overfit_and_underfit.ipynb
%
The notebook automatic checking still fails
Some suggestions?
Thank you.

I ran nbfmt without issues

Did you commit and push your nbfmt change?
Briefly looking at the diff: the "metadata" field appears before "cells" ---that shouldn't happen since nbfmt orders these alphabetically.

I ran nbfmt without issues

Did you commit and push your nbfmt change?

I tried...
There was nothing to commit!
The files before and after the nbfmt running were identical...

Briefly looking at the diff: the "metadata" field appears before "cells" ---that shouldn't happen since nbfmt orders these alphabetically.

Despite your It looks like nbfmt doesn't change the file...
I tried to compare the files before and after, and this is the result:

Pulled your pr and ran nbfmt. It fixed the notebook and now passes the CI.
You can see the commit it added here: https://github.com/tensorflow/docs-l10n/pull/205/commits/9b5d022ac95593056111c1ae4bda5a4f26676d5d
Seems to work from the command-line. It it possible your editor is autoformatting?

Pulled your pr and ran nbfmt. It fixed the notebook and now passes the CI.
You can see the commit I added here: 9b5d022
Seems to work from the command-line. It it possible your editor is autoformatting?

Solved.
I ran an old version of nbfmt...
I pulled the up-to-date version, I tried on a different pull request: "save_and_load", and it works well.
I'm going to format other blocked pull requests...
Thank you.

lgtm


Update support-rulesengine to point at edinburgh branch tip (edinburgh)

Signed-off-by: Lisa Rashidi-Ranjbar<EMAIL_ADDRESS>

This updates the edinburgh tests to point at the edinburgh branch tip for support-rulesengine. This is currently the dot release (1.0.1)

@lranjbar We won't be supporting Edinburgh anymore after Fuji goes out. I don't think this PR is necessary.


Feat/icon chevron right

renamed srollLeft to chevronLeft
added chevronRight

Codecov Report

Merging #105 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #105   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          21     21
  Lines         191    191
=====================================
  Hits          191    191

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 f4cca7a...6b098da. Read the comment docs.

I think the original one is called chevronLight because it's a light stroke weight. There's also chevronThick. So if we're calling the left and right versions chevron too, it seems like we should include Light or Thick in the name to be consistent.

@747823 I see. I think it's a bit more verbose to say chevronRightLight and chevronLeftLight
I actually think if we change them like this it would a little better:
{
 `chevronLight`: `chevronDown`
 `chevronThick`: `chevronDownThick`,
 `chevronRight`: `chevronRight`,  // keep it the same
 `chevronLeft`: `chevronLeft`, // keep it the same
 // and so on if any icon is thick add the thick keyword. Otherwise keep it simple?
}

That's just a thought. Because I actually think that chevronLight and chevronThick has a confusing name (it doesn't imply anything about the direction)
Then again if we go with this change, anyone that was using those renamed icons have to change the name.
Thoughts @jxnblk, @byrekt?

That sounds good to me @msafari

I think it'd be great if we didn't have two thicknesses for icons that mean the same thing :) I'd say keep the name simple for the default, which I'm guessing is the non-thick version

@747823 @jxnblk, I renamed the chevrons like I described. I also added temporary aliases for the old names so it won't break anyone's functionality.


WIP: users in supergroup are superusers

Codecov Report

Merging #1202 (6516a34) into main (6d46906) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1202      +/-   ##
==========================================
- Coverage   57.47%   57.45%   -0.02%
==========================================
  Files         127      127
  Lines       21356    21356
==========================================
- Hits        12274    12270       -4
- Misses       7583     7585       +2
- Partials     1499     1501       +2

Impacted Files
Coverage Δ

pkg/meta/sql.go
68.14% <0.00%> (-0.21%)
:arrow_down:

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 6d46906...6516a34. Read the comment docs.


Fixes configured default shell not used when connecting to remote

Fixes #175107

ping @Tyriar

FYI @jkeech, this was a elusive Codespaces bug that had some partial fixes previously.


⚠ Bofrost.de has degraded performance

In 8550fba, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1371 ms

Resolved: Bofrost.de performance has improved in bbc7ba5 after 7 minutes.


Feat: Proposing issue and PR template

It will be better if we have issues and PR templates for every repo in polarsource

Hey @sourabpramanik. I don't think that issue/PR-templates would currently solve a problem that we're currently facing.
Most of our issues and PRs are of high quality already, and I don't think that they would benefit of having an additional process.
I'll close this for now, but we might have to re-visit it at some point if low-quality issues becomes an issue.


How to use this without npm or require?

This project looks useful but overly burdensome to install.
On the risk of loosing my front-end hipster creds: I don't want to use npm or yarn or require for my simple website project. All I want is to include a js file with a script tag and use this functionality. Is that possible?

Well I can add this in. Won't be immediately though due to other commitments. Feel free also to submit your own PR with this

Also I'll have to host the script somewhere after that's done. That's not ideal.
I would say if you use yarn your hipster creds are enhanced 😀

I didn't mean to ask for a hosted version, I just mean a dist folder in the project with a .min.js file that can just be included with a script tag and doesn't depend on require or exports.
The npm / yarn is not the problem, although you could provide a release on GitHub to download a zip file as an alternative. What makes it hard for me to use is that your Vanilla JS example uses require which is not vanilla JS. I'm still not certain how to do include this library. It seems to be something out of the node.js world. Do I need require.js maybe?

Hi @arechsteiner - yes requires is not pure vanilla JS (sorry about that)
I can definitely work on getting that min file created as part of the repo.

(willpox is my separate github account)
as mentioned, will work on it =)

Resolved in https://github.com/willmcpo/body-scroll-lock/pull/31


Border Styles

.border-dotted is outputting border-width: 0 due to the borderStylesReset (afaict). This means that border-dotted and border-dashed output border-width: 0 nullifying the border style (as it removes the border).
Is this a bug or am I not understanding something? I can get class=".border-dotted" to work but I just can't get @apply border-dotted; to work...
https://github.com/tailwindcss/tailwindcss/blob/52f6fb23ebd54613ac90da0ab6b859ec213bc7e2/src/lib/generateUtilities.js#L61 is messing with https://github.com/tailwindcss/tailwindcss/blob/52f6fb23ebd54613ac90da0ab6b859ec213bc7e2/src/lib/generateUtilities.js#L64

I never thought to test this but it totally makes sense. Conveniently, I was already working on a fix for another issue that happens to fix this too :)
#116

Closing this as it's resolved in develop and will be included in an 0.2.0 release this week 👍


fix(rust): replace atty dependency with is-terminal

Fixes https://github.com/build-trust/ockam-artifacts/issues/98
Also, atty is pretty much unmaintained, while is-terminal has recent activity.

@mrinalwadhwa should we move this forward? I would do it even if it's just to remove the (unmaintained) atty dependency.

Yes, let's do it


remove: exercise tracker's node modules to free space 🧹🗑

Close #3486
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand `README.md

Please review this PR @TusharKesarwani, @pranjay-poddar, @Saurabh-kumar09 & @MohitGupta121.

@0xabdulkhalid great work. please continue cleaning.


How to transfer android phone text messages to computer?

Text messaging is a fundamental way that people communicate and many important notice or business information may be sent or received by text messages.
There are two main reasons why we need to transfer text messages to computer. You have memorable text messages received from your lover, your friends or your families and you wish to keep them forever.
The other reason for transferring SMS to computer is for future records before they clear their inbox or outbox. Coolmuster Android Assistant could help.
Step 1:Connect Android Phone to pc
The first thing you need to do is to download and install the Android contacts manager on your pc and launch it. The next is connect your Android phone to pc via usb cable. Your device will appear on the screen. The manager would recognise your android device automatically.
Notice: If this is the first time you connect android phone to the problem on computer, you should enable USB debugging first, and install a USB driver on your computer, then the app would detect your android phone automatically.
Step 2:Select sms and Start Export
That's all!
http://www.coolmuster.com/android/transfer-text-messages-from-phone-to-computer.html

To backup android phone data, Coolmuster Android Assistant also works great, it could transfer sms, contacts, photos, etc. to computer in few simple steps, more:
http://www.android-file-manager.com/resources/transfer-text-messages-from-android-to-computer.html

Messages
On May 23, 2016 1:14 AM, "lucylla"<EMAIL_ADDRESS>wrote:

To backup android phone data, Coolmuster Android Assistant also works
great, it could transfer sms, contacts, photos, etc. to computer in few
simple steps, more:
http://www.android-file-manager.com/resources/transfer-text-messages-from-android-to-computer.html
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/jberkel/sms-backup-plus/issues/643#issuecomment-220895232

Here’s an easy guide to save text messages to Computer. You can choose Coolmuster Samsung Backup to save phone mesages on computer.
http://www.samsung-messages-backup.com/resources/transfer-text-messages-from-android-phone-to-computer.html

Nowadays, Android Smartphone become more and more popular all over the world. Android users would like to sent/received many important notice or business information by text messages, and they have a lot of important short messages that you wouldn't want to lose. Therefore, transfer SMS from Android phone to a computer for backup or for later usage is very important. But how to export these important SMS to computer?
Fortunately, with the help of Android data recovery, you can import your messages in .xml format from computer to your device or export Android sms to computer as .xml or .txt files easily and also retrieve deleted messages from Galaxy s6/s7.

You can do it this way: download and install Android Manager or Android Transfer tool; connect your phone with computer via USB or wifi; enable USB debugging and install USB driver; then you can preview and download all the text messages to computer.
how to transfer text messages from android to computer

To transfer data between your phone and computer, you can try professional data backup software, like Titanium Backup and airdroid, and I think  it can be easier with an android assistant tool, you can save a lot of time to  transfer or backup text messages, contacts, photos, and other  media files like videos, music files.
Also,  which allows you to view them all on PC, so you can choose selectively and freely.

To transfer data between your phone and computer, you can try professional data backup software, like Titanium Backup and airdroid, and I think  it can be easier with an android assistant tool, you can save a lot of time to  transfer or backup text messages, contacts, photos, and other  media files like videos, music files.
Also,  which allows you to view them all on PC, so you can choose selectively and freely.

Android Data Management can Manage and Control Everything on Android via Computer
Transfer everything from Android devices back to computer.
Directly export phone contacts and text messages to PC.
Directly edit contacts via PC and sync to phone automatically
Install or uninstall Android app through computer.
Convert music or videos to Android compatible formats .
Send text messages to anybody using a computer keyboard.
Read more:
Backup data from Samsung S7 edge to computer
How to backup and restore Android data
How to root an Android Phone in a click

Android Data Recovery can not only recover lost data from your Android phone and tablet directly, but also can helps to backup data from Android to computer, and restore data from backup to any supported Android devices in a click.
Read more:
Back up all data from Samsung S7 edge to PC
Restore data from backup to Samsung S7 edge

Backing up your SMS messages to your Gmail account is so simple .Or you can use Samsung Assistant to backup phone messages to computer . You need to download and install Samsung Assistant on computer .
How to save text messages on computer

Apowersoft Phone Manager is also a great program to transfer text messages from Android to the computer. Here is how it works: https://www.apowersoft.com/transfer-sms-from-android-to-pc.html


Bot Offline

so i made a bot, Aku Bot to be exact, and its only showing that its offline, cant figure out how to fix it, can someone help me

You must run runbot.bat for this bot to work. DO NOT close command prompt.

and how do i run runbot.bat?

@Nebulan find the .bat  file & double click it then it might work

where is the .bat file, sorry im asking all these questions, im very bad at bots

Please follow the guides on the wiki page.


nixos/lomiri: Better support stand-alone greeter usage

#260859

Follow-up issues/notes
[…]

services.xserver.displayManager.lightdm.greeters.lomiri.enable likely doesn't work without services.desktopManager.lomiri.enable, might need some duplicated settings

Moves the minimal options required to have just Lomiri-as-a-greeter working into an internal services.desktopManager.lomiri.basics option (name open to be changed)
Hooks up both services.desktopManager.lomiri.enable and services.xserver.displayManager.lightdm.greeters.lomiri.enable to enable the new option
Changes nixosTests.lomiri.greeter to only enable Lomiri-as-a-greeter, to check the new option on its own

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] 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/)
24.11 Release Notes (or backporting 23.11 and 24.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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg test lomiri


Program can't find league of legends in custom directory

For those that may find this in the future, what the problem was?


Subject of Sendgrid mail will start with capital letter

This will resolve the Bug: https://bugzilla.redhat.com/show_bug.cgi?id=2009822
Changed the subject, now the subject will start with capital letter
Signed-off-by: bindrad<EMAIL_ADDRESS>

@kesavanvt @renan-campos Can you review this PR


Difference between dilation8 and dilation10

Hi Fisher
I riddle about the various input shape in the prototxt file. In dilation 10 it says:
input_shape {
  dim: 1
  dim: 3
  dim: 1396
  dim: 1396
}

What exactly does that lines say? Should that lines match to the size of the input image? Thats the size of a sliding window, doesnt it?
My second question relates to the margin_label value of 186. Thats the value of reflection padding, right? Where does this value come from and why do we need it?
It would be cool, if you could bring light in the darkness. :)
Best,
Timo

Hello Timo-hab ,
I actually have the same question as yours. The input size sounds like a sliding window, but i find no obvious clue proves that. Have you understanded it now?


Cannot execute fluentd in container version 1.1.4

What happened:
/usr/bin/container-entrypoint: line 2: /fluentd/etc/fluent.conf: Permission denied
/usr/bin/container-entrypoint: line 2: exec: /fluentd/etc/fluent.conf: cannot execute: Permission denied
Can be fixed with a rw + x for anonymous on the configmap.
Following errors appear afterwards.
/fluentd/etc/fluent.conf: line 2: syntax error near unexpected token newline' /fluentd/etc/fluent.conf: line 2: '
What you expected to happen:
Running version 1.1.2 is working fine, but the new image fails to start.
All config and setup on the k8s cluster is as described in the manifest.
Using previous fluentd.conf file, as no changes from 1.1.2 -> 1.1.4 has been committed.
How to reproduce it (as minimally and precisely as possible):
Run the container 1.1.2 with the specified configmap and secret on k8s.
Upgrade to image 1.1.4.
Environment:

Image
docker.io/splunk/kube-objects:1.1.4
Kubernetes version (use kubectl version):
1.17.9
Ruby version (use ruby --version):
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]
OS (e.g: cat /etc/os-release):
NAME="Red Hat Enterprise Linux"
VERSION="8.2 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.2"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.2 (Ootpa)"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.2:GA"
Splunk version:
8.0

HI @CamillaBLarsen
Can you tell us more about how you have deployed and post some of your configs to help provide some guidance?

Sure, I tried to upgrade from 1.1.2 -> 1.1.4 manually - not using helm to deploy but our own pipeline.
The deployment is a copy from the git repo.
ClusterRole.yml:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: splunk-kubernetes-objects
  labels:
    app: splunk-kubernetes-objects
rules:
- apiGroups:
  - ''
  resources:
  - pods
  - namespaces
  - nodes
  verbs:
  - get
  - list
- apiGroups:
  - ''
  resources:
  - events
  verbs:
  - watch

ClusterRoleBinding.yml:
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: splunk-kubernetes-objects
  labels:
    app: splunk-kubernetes-objects
roleRef:
  kind: ClusterRole
  name: splunk-kubernetes-objects
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
  name: splunk-kubernetes-objects
  namespace: splunk

ServiceAccount:
apiVersion: v1
kind: ServiceAccount
metadata:
  name: splunk-kubernetes-objects
  namespace: splunk
  labels:
    app: splunk-kubernetes-objects

ConfigMap fluentd:
`# Do not log self
<match fluent.**>
@type null

Set log level to warn

  log_level warn

Objects source log - ONLY events

  @type kubernetes_objects
  tag kube.objects.*
  api_version "v1"
  insecure_ssl false

  resource_name events

Add clustername
<filter kube.**>
@type record_transformer

cluster_name "#{ENV['CLUSTER_NAME']}"

<filter kube.**>
@type jq_transformer
in ruby '\' will escape and become just '', since we need two '' in the gsub jq filter, it becomes '\\'.
jq '.record.source = "namespace:(env.MY_NAMESPACE)/pod:(env.MY_POD_NAME)" | .record.sourcetype = (.tag | gsub("\\."; ":")) | .record'

Send data to splunk
<match kube.**>
@type splunk_hec
protocol http
hec_host "#{ENV['SPLUNK_HEC_HOST']}"
hec_port 8088
hec_token "#{ENV['SPLUNK_HEC_TOKEN']}"
host "#{ENV['NODE_NAME']}"
source_key source
sourcetype_key sourcetype
index "#{ENV['SPLUNK_HEC_INDEX']}"
insecure_ssl true

@type memory
chunk_limit_records 10000
chunk_limit_size 200m
flush_interval 3s
flush_thread_count 1
overflow_action block
retry_max_times 3
total_limit_size 600m

`

check your deployment? looks like perhaps user/perms issues with fluentd and the config.
I would recommend using helm template to generate manifests from the latest values.yaml to help test.

The manifest in the repo, our config files are modified from that source.
The permissions issues can be resolved with a 777 mask.
But then it still fails to parse the fluentd.conf ...
/fluentd/etc/fluent.conf: line 2: syntax error near unexpected token newline' /fluentd/etc/fluent.conf: line 2: '
And I assume that should parse correctly as long as the file is visible??

Have you edited the configmap?
Mine looks likes this, fwiw:
kubectl -n splunk-dev get cm sck-splunk-kubernetes-objects -o yaml
apiVersion: v1
data:
  fluent.conf: |
    <system>
      log_level warn
    </system>
    <source>
      @type kubernetes_objects
      tag kube.objects.*
      api_version "apps/v1"
      insecure_ssl true
      <pull>
        resource_name daemon_sets
        interval 60s
      </pull>
      <pull>
        resource_name deployments
        interval 60s
      </pull>
      <pull>
        resource_name replica_sets
        interval 60s
      </pull>
      <pull>
        resource_name stateful_sets
        interval 60s
      </pull>
    </source>
    <source>
      @type kubernetes_objects
      tag kube.objects.*
      api_version "v1"
      insecure_ssl true
      <pull>
        resource_name pods
        interval 60s
      </pull>
      <pull>
        resource_name nodes
        interval 60s
      </pull>
      <pull>
        resource_name component_statuses
        interval 60s
      </pull>
      <pull>
        resource_name config_maps
        interval 60s
      </pull>
      <pull>
        resource_name namespaces
        interval 60s
      </pull>
      <pull>
        resource_name persistent_volumes
        interval 60s
      </pull>
      <pull>
        resource_name persistent_volume_claims
        interval 60s
      </pull>
      <pull>
        resource_name resource_quotas
        interval 60s
      </pull>
      <pull>
        resource_name services
        interval 60s
      </pull>
      <pull>
        resource_name service_accounts
        interval 60s
      </pull>
      <watch>
        resource_name events
      </watch>
    </source>

    <filter kube.**>
      @type jq_transformer
      # in ruby '\\' will escape and become just '\', since we need two '\' in the `gsub` jq filter, it becomes '\\\\'.
      jq '.record.source = "namespace:\(env.MY_NAMESPACE)/pod:\(env.MY_POD_NAME)" | .record.sourcetype = (.tag | gsub("\\\\."; ":")) | .record'
    </filter>

    <filter kube.**>
      @type jq_transformer
      jq '.record.cluster_name = "MicroK8s" | .record'
    </filter>

    # = custom filters specified by users =

    <match kube.**>
      @type splunk_hec
      protocol https
      hec_host "splunk-mattymo"
      hec_port 8088
      hec_token "#{ENV['SPLUNK_HEC_TOKEN']}"
      host "#{ENV['NODE_NAME']}"
      source_key source
      sourcetype_key sourcetype
      index em_meta
      insecure_ssl true
      <fields>
        cluster_name
      </fields>
      <buffer>
        @type memory
        chunk_limit_records 10000
        chunk_limit_size 20m
        flush_interval 5s
        flush_thread_count 1
        overflow_action block
        retry_max_times 5
        retry_type periodic
        total_limit_size 600m
      </buffer>
    </match>
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: sck
    meta.helm.sh/release-namespace: splunk-dev
  creationTimestamp: "2020-08-25T22:49:58Z"
  labels:
    app: splunk-kubernetes-objects
    app.kubernetes.io/managed-by: Helm
    chart: splunk-kubernetes-objects-1.4.3
    heritage: Helm
    release: sck
  name: sck-splunk-kubernetes-objects
  namespace: splunk-dev
  resourceVersion: "46082912"
  selfLink: /api/v1/namespaces/splunk-dev/configmaps/sck-splunk-kubernetes-objects
  uid: 6c128e47-da11-493e-b44e-8479031d0d9f

I tried to modify it - but haven't run an entire new config file.
I can try to test with your version, see if that parses correctly :)
Thanks for the assistance.

cool let us know if its still brokey after render with the latest charts.

A replacement of the fluentd config didn't work.
/fluentd/etc/fluent.conf: line 1: syntax error near unexpected token newline' /fluentd/etc/fluent.conf: line 1: '
I will try to create new charts with helm.

Here's my latest run (you can update your chart name and namespace accordingly):
mkdir sck-render
mmodestino-mbp-2bc70:sck mmodestino$ helm template -n splunk-dev sck -f sck-values-143.yaml https://github.com/splunk/splunk-connect-for-kubernetes/releases/download/1.4.3/splunk-connect-for-kubernetes-1.4.3.tgz --output-dir sck-render
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-logging/templates/serviceAccount.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/serviceAccount.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-objects/templates/serviceAccount.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-logging/templates/secret.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/secret.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-objects/templates/secret.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-logging/templates/configMap.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/configMap.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/configMapMetricsAggregator.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-objects/templates/configMap.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-logging/templates/clusterRole.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/clusterRole.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/clusterRoleAggregator.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-objects/templates/clusterRole.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-logging/templates/clusterRoleBinding.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/clusterRoleBinding.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/clusterRoleBindingAggregator.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-objects/templates/clusterRoleBinding.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-logging/templates/daemonset.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/daemonset.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-metrics/templates/deploymentMetricsAggregator.yaml
wrote sck-render/splunk-connect-for-kubernetes/charts/splunk-kubernetes-objects/templates/deployment.yaml

I use this values.yaml in my MicroK8s lab, so mileage may vary, you likely don't need all the things, but this serves as a good skeleton to play with
see values.yaml for the various charts for all settings
#global settings
global:
  logLevel: warn
  splunk:
    hec:
      protocol: https
      insecureSSL: true
      host: splunk-mattymo
      token: "3A63B407-705F-CCD3-52DB-908EBA7F5CDB"
      port: 8088

#local config for logging chart
splunk-kubernetes-logging:
  containers:
    logFormatType: cri
    logFormat: "%Y-%m-%dT%H:%M:%S.%N%:z"
  kubernetes:
    clusterName: MicroK8s
    securityContext: true
  journalLogPath: /var/log/journal
  buffer:
    "@type": memory
    total_limit_size: 600m
    chunk_limit_size: 10m
    chunk_limit_records: 100000
    flush_interval: 2s
    flush_thread_count: 1
    overflow_action: block
    retry_max_times: 10
    retry_type: periodic
  k8sMetadata:
  # Pod labels to collect
    podLabels:
      - app
      - k8s-app
      - release
  splunk:
    hec:
      indexName: em_events
  logs:
    #nginx-ingress:
    #  from:
    #    pod: nginx-ingress
    #    container: nginx-ingress-controller
    #  #keep default sourcetype for sake of avoiding complexity
    #  #if you really want to customize sourcetype you can
    #  sourcetype: nginx:ingress:controller
    #  multiline:
    #    firstline: /^\w[0-1]\d[0-3]\d\s\d{2}:\d{2}:\d{2}.\d{6}\s|^\d+\.\d+\.\d+\.\d+[^\[]+|\d{4}\/\d{2}\/\d{2}\s\d{2}:\d{2}:\d{2}[^\[]+|^NGINX\sIngress\scontroller|^----------/
    sck:
      from:
        pod: sck-splunk-kubernetes-
        container: splunk-fluentd-k8s-
      multiline:
        firstline: /^\d{4}-\d{2}-\d{2}\s\d{2}\:\d{2}\:\d{2}\s\+\d{4}\s\[\w+\]\:/
        separator: "\n"
        flushInterval: 2
    ghost:
      from:
        pod: ghost
        container: ghost
      multiline:
        firstline: /^\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\]/
        separator: "\n"
        flushInterval: 2
    mario:
      from:
        pod: mattymo-mario
        container: docker-supermario
      multiline:
        firstline: /NOTE\:\sPicked\sup\sJDK_JAVA_OPTIONS\:|\d{2}\-\w+\-\d{4}\s\d{2}:\d{2}:\d{2}\.\d{3}\s\w+\s\[/
        separator: "\n"
        flushInterval: 2

#local config for objects chart
splunk-kubernetes-objects:
  rbac:
    create: true
  serviceAccount:
    create: true
    name: splunk-kubernetes-objects
  kubernetes:
    insecureSSL: true
    clusterName: MicroK8s
  objects:
    core:
      v1: [{"name":"pods", "interval":"60s"},{"name":"nodes", "interval":"60s"},{"name":"component_statuses", "interval":"60s"},{"name":"config_maps", "interval":"60s"},{"name":"namespaces", "interval":"60s"},{"name":"persistent_volumes", "interval":"60s"},{"name":"persistent_volume_claims", "interval":"60s"},{"name":"resource_quotas", "interval":"60s"},{"name":"services", "interval":"60s"},{"name":"service_accounts", "interval":"60s"},{"name":"events", "mode":"watch"},]
    apps:
      v1:
        [{"name":"daemon_sets", "interval":"60s"},{"name":"deployments", "interval":"60s"},{"name":"replica_sets", "interval":"60s"},{"name":"stateful_sets", "interval":"60s"},]
  splunk:
    hec:
      indexName: em_meta

#local config for metrics chart
splunk-kubernetes-metrics:
  metricsInterval: 60s
  kubernetes:
    kubeletPort: 10255
    kubeletPortAggregator: 10250
    useRestClientSSL: false
    insecureSSL: true
    clusterName: MicroK8s
  rbac:
    create: true
  serviceAccount:
    create: true
    name: splunk-kubernetes-metrics
  splunk:
    hec:
      indexName: em_metrics

#App for Infra Dimensions for K8s
  customFilters:
    node:
      tag: "kube.node.**"
      type: record_modifier
      body: |-
        <record>
          entity_type k8s_node
        </record>
    pod:
      tag: "kube.pod.**"
      type: record_modifier
      body: |-
        <record>
          entity_type k8s_pod
        </record>


S3 upload of videos (mp4) from an uploader to 'store' storage expects content_md5 to be set in options hash with md5 at Shrine::Storage::S3#put

Hi, I am using shrine to upload videos to S3 from a Rails app.
My mongoid model for storing video looks like this:
class Video
  include Mongoid::Document
  include Mongoid::Timestamps
  include VideoUploader[:file]

  field :file_data, type: String
end

And VideoUploader for the same looks like this:
class VideoUploader < Shrine
  plugin :determine_mime_type
  plugin :remove_attachment
  plugin :store_dimensions
  plugin :validation_helpers
  plugin :versions, names: [:default]
  plugin :moving, storages: [:cache]

  def process(io, context)
    case context[:phase]
    when :store
      original  = io.download

      { default: original }
    end
  end
end

From a Rails form I directly upload video to S3 cache storage using jquery-fileupload
And I am using a standard Sidekiq worker with Shrine::Attacher.promote(data) for moving video from cache to store storage.
When this background job runs, I get this stacktrace:
2016-04-22T11:31:46.853Z 22691 TID-12o5n0 WARN: Aws::S3::Errors::BadDigest: The Content-MD5 you specified did not match what we received.
2016-04-22T11:31:46.854Z 22691 TID-12o5n0 WARN: /home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-core-2.1.18/lib/seahorse/client/plugins/raise_response_errors.rb:15:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-core-2.1.18/lib/aws-sdk-core/plugins/s3_sse_cpk.rb:18:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-core-2.1.18/lib/aws-sdk-core/plugins/param_converter.rb:21:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-core-2.1.18/lib/seahorse/client/plugins/response_target.rb:21:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-core-2.1.18/lib/seahorse/client/request.rb:70:in `send_request'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-core-2.1.18/lib/seahorse/client/base.rb:207:in `block (2 levels) in define_operation_methods'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-resources-2.1.18/lib/aws-sdk-resources/request.rb:24:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-resources-2.1.18/lib/aws-sdk-resources/operations.rb:41:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/aws-sdk-resources-2.1.18/lib/aws-sdk-resources/operation_methods.rb:19:in `block in add_operation'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/storage/s3.rb:241:in `put'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/storage/s3.rb:128:in `upload'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine.rb:337:in `copy'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/moving.rb:45:in `copy'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine.rb:332:in `put'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine.rb:316:in `_store'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/versions.rb:148:in `_store'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/versions.rb:145:in `block in _store'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/versions.rb:144:in `each'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/versions.rb:144:in `inject'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/versions.rb:144:in `_store'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine.rb:243:in `store'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/logging.rb:82:in `block in store'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/logging.rb:97:in `block in log'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/logging.rb:155:in `block in benchmark'
/home/dev/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/benchmark.rb:303:in `realtime'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/logging.rb:155:in `benchmark'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/logging.rb:97:in `log'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/logging.rb:82:in `store'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine.rb:214:in `upload'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine.rb:606:in `store!'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine.rb:529:in `promote'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/bundler/gems/shrine-8a0623979c6e/lib/shrine/plugins/backgrounding.rb:70:in `promote'
/home/dev/apps/staging/releases/20160422111751/app/workers/shrine/upload_job.rb:9:in `perform'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/processor.rb:75:in `execute_job'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/processor.rb:52:in `block (2 levels) in process'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/chain.rb:127:in `block in invoke'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/server/retry_jobs.rb:74:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/chain.rb:129:in `block in invoke'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/server/logging.rb:15:in `block in call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/logging.rb:30:in `with_context'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/server/logging.rb:11:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/chain.rb:129:in `block in invoke'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/chain.rb:132:in `call'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/middleware/chain.rb:132:in `invoke'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/processor.rb:51:in `block in process'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/processor.rb:98:in `stats'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/sidekiq-3.4.1/lib/sidekiq/processor.rb:50:in `process'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `public_send'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `dispatch'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:122:in `dispatch'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb:60:in `block in invoke'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb:71:in `block in task'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:357:in `block in task'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:57:in `block in initialize'
/home/dev/apps/staging/shared/bundle/ruby/2.2.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:15:in `block in create'

Looking through the stacktrace and reaching Shrine::Storage::S3#put, I noticed that shrine does not send content_md5 with md5 hash of the file in options hash. And S3 does not seem to be expecting it too, but only in the case of video upload, it seems to be throwing an exception when S3 doesn't find it.
I could fix this by calculating md5 hash for the video being uploaded and add to options hash at Shrine::Storage::S3#put, by referencing aws-sdk docs for AWS::S3::Object#put as such:
def put(io, id, **options)
  options.merge!(content_md5: Digest::MD5.base64digest(File.read(io))) if
    options[:content_type] == 'video/mp4'
  object(id).put(body: io, **options)
end

Thank you for tracking down the issue. That indeed is strange, that it only happens with one type of files. Maybe it depends on the filesize. The problem is that this reads the whole file in memory (on top of aws-sdk already doing it), so it wouldn't be ideal to add this workaround by default.
Is the error produced if you replace Digest::MD5.base64digest(File.read(io)) with Digest::MD5.base64digest(io.read); io.rewind? I'm just trying to figure out how does aws-sdk get the bad MD5 hash. Does this happen with any video? Just so that I can easily obtain a file with which it errors, so that I can debug.
By the way, are you post-processing videos with a service like Zencoder, so that's why you're making a single version which contains the original file? If this is how you #process method looks like, you don't need to download & reupload, you can simply pass the IO object, and S3 storage will do a simple S3 COPY from cache to store.
  def process(io, context)
    case context[:phase]
    when :store
      { default: io }
    end
  end

That could be a workaround, although I would like to solve the issue with MD5 anyway.

Aha, I see that you probably did it for extracting metadata. The following should work for that:
  def process(io, context)
    case context[:phase]
    when :store
      metadata = extract_metadata(io.to_io)
      io.metadata.update(metadata)
      io.close
      { default: io }
    end
  end

The restore_cached_data plugin does something similar, but already when assigning the cached file, so it's in foreground, and it also calls Shrine::UploadedFile#exists? which does an additional HTTP request (this probably isn't necessary now when I think about it). It would probably be worthwhile to make a plugin for the above behaviour, maybe that's a generalized version of restore_cached_data.

Hi,
Thanks for the detailed information on probable causes.
Meanwhile, I have upgraded to latest release of shrine v 1.4.2 and the issue seems to be not reproducible in v 1.4.2 at the first glance. I will test it out extensively over next few days and update here on the observations.

Which version of Shrine were you using before, when the error was happening? Do you maybe have a video with which it was failing, or at least the approximate filesize? I tried with a simple 5MB .mp4 video and everything was fine, but maybe it should be larger.
But it seems to me that this must be a bug in aws-sdk gem and not Shrine, because of the nondeterministic nature of it.

I will close this as it is probably a bug in aws-sdk, feel free to reopen if the issue happens again and you can provide exact steps for reproducing.


Prevent creating invalid filenames

While running ostree-go tests I got spurious failures as the population
was trying to make files named ".". Prevent this from happening by
retrying if the generated name is one of . or ..
Signed-off-by: Sjoerd Simons<EMAIL_ADDRESS>

Can you make blacklist a constant instead of a function-level variable?  That way it can be accessed by other functions in the future if need be


Add Persistent Event Sections

Add the sections on how to register for the in-proc activation events when using background task registration groups.

@cc-cortes,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


some functions crash when receive strings parameters as NULL

Description

Type: Bug
Priority: Major

Reposrted by vonwaist in the support forum

Bug
OS
linux Ubuntu 14.04
mbed TLS build:
Version: development branch
in line 93 of the x509_create.c:
 int mbedtls_x509_string_to_names( mbedtls_asn1_named_data **head, const char *name )
 {
     int ret = 0;
     const char *s = name, *c = s;
     const char *end = s + strlen( s );
     const char *oid = NULL;
...

The null pointer is not checked. If the argument 'name' is NULL, strlen(s) in line 93 will cause a collapse: "Segmentation fault(Core Dump)"
The same problem is found in line 436 of bignum.c and in line 116 and 117 of x509write_crt.c:
library/bignum.c:
int mbedtls_mpi_read_string( mbedtls_mpi *X, int radix, const char *s )
{
    int ret;
    size_t i, j, slen, n;
    mbedtls_mpi_uint d;
    mbedtls_mpi T;
    if( radix < 2 || radix > 16 )
        return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA );
    mbedtls_mpi_init( &T );
    slen = strlen( s );
...

library/x509write_crt.c:
int mbedtls_x509write_crt_set_validity( mbedtls_x509write_cert *ctx, const char *not_before,
const char *not_after )
 {
     if( strlen( not_before ) != MBEDTLS_X509_RFC5280_UTC_TIME_LEN - 1 ||
        strlen( not_after ) != MBEDTLS_X509_RFC5280_UTC_TIME_LEN - 1 )
        {
            return( MBEDTLS_ERR_X509_BAD_INPUT_DATA );
        }
...

Hi, I think it's necessary to check this pointers. And it's easy to do the  check.

ARM Internal Ref: IOTSSL-1819

Hi @vonwaist , could you clarify why you think these pointers should be checked? These are internal library functions and they are documented as expecting strings as arguments (except one which is documented as internal only). NULL isn't a valid string, so why should these functions check whether the argument is NULL?
As a programmer, I dislike it when a library catches and re-triggers programmer errors in this way. If I'm passing NULL to a function that wants a valid pointer, I prefer to crash inside this function (null pointer dereferences are clean crashes on most platforms) and get a nice backtrace. Getting an error which will trickle up later is a lot harder to debug. So I wonder why you prefer explicit null pointer checks here.

Hi @gilles-peskine-arm
As a normal user, it will input expecting strings as arguments. But the library is public, a malicious attacker may exploit it to do something wrong, e.g., to perform Denial of Service by triggering a NULL argument. I think it's a good style to give a full consideration about the various special input arguments when designing a function. This is also why a lot of products need to go through the Fuzz test before they are put into use.

@RonEld This will be addressed through the parameter validation work, right?

@hanno-arm should be, assuming the parameters validation work will handle these functions as well, however the parameter validation work is mostly on the crypto API.
@k-stachowiak any comments on that matter?

@RonEld This will be addressed. All the pointer arguments, that are not allowed to be NULL, will be validated against this in all the exported (i.e. non-static) functions.

@RonEld @k-stachowiak I guess we can close this issue and its corresponding internal ticket as a duplicate, then.

@hanno-arm Being a duplicate is a valid reason of closing it, if we actually have a specific ticket that this one duplicates. I'm not sure this is currently tracked in GitHub. If it isn't, we may leave this one for that purpose.


[SPARK-18325][SparkR][ML] SparkR ML wrappers example code and user guide

What changes were proposed in this pull request?

Add all R examples for ML wrappers which were added during 2.1 release cycle.
Split the whole ml.R example file into individual example for each algorithm, which will be convenient for users to rerun them.
Add corresponding examples to ML user guide.
Update ML section of SparkR user guide.

Note: MLlib Scala/Java/Python examples will be consistent, however, SparkR examples may different from them, since R users may use the algorithms in a different way, for example, using R formula to specify featuresCol and labelCol.
How was this patch tested?
Run all examples manually.

Test build #69673 has started for PR 16148 at commit 11a280e.

Test build #69673 has finished for PR 16148 at commit 11a280e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69673/
Test PASSed.

this is great, thanks! btw, how are these examples getting run? is there a way to know if the examples are broken because of API changes?

Test build #69717 has started for PR 16148 at commit b8a42f2.

@felixcheung That's a good question. We don't run all MLlib examples for testing until SPARK-12347 was resolved.

hmm, yea, I suspect these example can be easily forgotten while changes are made - they could end up getting out of sync easily

Yeah, I have the same concerns, so we should push forward SPARK-12347 and it should not be very hard to do that.

Test build #69717 has finished for PR 16148 at commit b8a42f2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69717/
Test PASSed.

Test build #69721 has started for PR 16148 at commit 747ca68.

Test build #69721 has finished for PR 16148 at commit 747ca68.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69721/
Test PASSed.

A couple more comments, LGTM otherwise. Thanks

Test build #69799 has started for PR 16148 at commit 02d5ac9.

Test build #69799 has finished for PR 16148 at commit 02d5ac9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69799/
Test PASSed.

Test build #69842 has started for PR 16148 at commit ac89b1c.

Test build #69842 has finished for PR 16148 at commit ac89b1c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69842/
Test PASSed.

LGTM. Looks like we are locked down for 2.1. Good to have with all the new examples but seems like a lot of code (example) changes?

Test build #69862 has started for PR 16148 at commit 65bd462.

Test build #69862 has finished for PR 16148 at commit 65bd462.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69862/
Test PASSed.

Merged build finished. Test PASSed.

Yeah, 2.1 RC2 has been cut, but I think we still need to merge it into branch-2.1, since it's possible we have new RC. Even if RC2 passed voting, we will have 2.1.1, 2.1.2, ... which need this examples and docs. Merged into master and branch-2.1. Thanks for all reviewing.

@felixcheung This is fine to merge since it is for docs/examples only.  But in general, we should be better about adding these right away after adding the R APIs, rather than doing them all at the end of the release cycle.  If a contributor adds a new API, they should follow up immediately with the docs.

Agreed. We will definitely keep that in mind but there is certainly a lot going in working the API already.


filter catalogs

Create a TileCatalog method that filters its entries, returning a new TileCatalog. We'd like to filter out the light sources with flux below some threshold. Also, in any tile with more than one light source, we'd like to filter out all but the light source with the greatest flux.
We'd use this method in several contexts. First, when training with DC2 data (issue #726), we'd use it to construct a target_catalog from a true_catalog. Second, when computing conditional metrics (issue #785), we'd condition on the target_catalog rather than the true_catalog.
Ah, we could also use this method when training with images we generate; to make our images more realistic we should generate images with a Poisson numbers of light sources per tile, some of which are too faint to detect.

We'd want to implement this without using for/while loops, of course. Probably the way to go is to use torch.sort(...) to sort the light sources in each tile by flux and then to keep just the one source with the greatest flux per tile.


[Bug] KeyError: 'Filelist is not in the dataset registry'

Branch
master branch (0.24 or other 0.x version)
Describe the bug
Following https://mmclassification.readthedocs.io/en/latest/tutorials/new_dataset.html
Traceback (most recent call last):
  File "tools/train.py", line 205, in <module>
    main()
  File "tools/train.py", line 178, in main
    datasets = [build_dataset(cfg.data.train)]
  File "/share/home/brcao/Repos/mmclassification/mmcls/datasets/builder.py", line 55, in build_dataset
    dataset = build_from_cfg(cfg, DATASETS, default_args)
  File "/usr/local/lib/python3.6/dist-packages/mmcv/utils/registry.py", line 62, in build_from_cfg
    f'{obj_type} is not in the {registry.name} registry')
KeyError: 'Filelist is not in the dataset registry'

import mmcv
import numpy as np

from .builder import DATASETS
from .base_dataset import BaseDataset

@DATASETS.register_module()
class Filelist(BaseDataset):

    def load_annotations(self):
        assert isinstance(self.ann_file, str)

        data_infos = []
        with open(self.ann_file) as f:
            samples = [x.strip().split(' ') for x in f.readlines()]
            for filename, gt_label in samples:
                info = {'img_prefix': self.data_prefix}
                # info['img_info'] = {'filename': filename}
                info['img_info'] = {'img': filename}
                info['gt_label'] = np.array(gt_label, dtype=np.int64)
                data_infos.append(info)
            return data_infos

        '''
        data_infos = []
        for img, gt_label in zip(self.imgs, self.gt_labels):
            gt_label = np.array(gt_label, dtype=np.int64)
            info = {'img': img, 'gt_label': gt_label}
            data_infos.append(info)
        return data_infos
        '''

Environment
Didn't work.
Other information
No response

Solved by adding dict(type='LoadImageFromFile') into train and test pipelines.
https://github.com/open-mmlab/mmclassification/issues/1460
https://github.com/open-mmlab/mmclassification/issues/1461
https://github.com/open-mmlab/mmclassification/issues/1462


expose text font names as a modifier

Consumers of SwiftUI dsl are now able to customize the font family for the text attribute for SymbolLayer. It provides a solution to this problem. According to the docs, the font family can be set to nil to reset to default value, so the exposed type is [String]?

Looking at the other properties we have so far and their documentation, all expressions are optional, but so far we have been adding the underlying variable as non optional, this appears to be the first one we are adding as optional. Not saying this is wrong, but trying to understand in which case this needs to be optional and in which cases it doesn't. Whats the criteria here?

That's a good question... I didn't notice that; thanks for catching it!
Can anyone think of a (non-contrived) use case for building a symbol style layer (reminder: this is currently always from scratch; not loading from JSON or something) and needing to set a property to null? I can't (which is why they are non-optional elsewhere).

I cannot think of a use case to pass nil. In fact, our internal solution was [String]. I just did it to expose the whole functionality because I thought this is library code. Would you like me to make it [String]?

I'll wait to hear if @hactar or @Archdoog have any arguments otherwise, but yeah I'm leaning toward making it [String].

I can't think of a useful use case either...

Ok; I'll fix this up ;)


Uploading code along with some video resources on different topics

I wanna upload some resources here, for everyone to know the basics. I came across these resources in another repo and I feel it will help everyone more.
I will be uploading the codes for these alongside as well

yeah sure

ok i will be sending a PR regarding this shortly

If you are going to upload videos that you have downloaded from some site, then you can add the links, as adding videos itself, unless there is no other way, will make the size big, for someone cloning it

OK, i will  be posting links then


Optional Attributes + Traits Api

Developer shouldn't work with the customer object directly

@seanrucker can you code-review please?

Closes #58 #57


(#35): Fix typos in documentation

See #17
Resolves #35

Changes Unknown when pulling b25390de770f2332335afd2842b7d66c0e71f49c on fix/typos-in-gitbook into ** on master**.


Support for EVPN host-flap detection

Issue Type

[x] Template enhancement
[x] Role enhancement
[ ] Documentation enhancement (avd.sh)

Is your feature request related to a problem? Please describe.
I would like to change the EVPN host-flap detection default behavior which is currently set to window 180.0 and threshold 5.
Describe the solution you'd like
Make it possible to change EVPN host-flap detection within the eos_designs role.
Describe alternatives you've considered
It is possible to use the eos_cli_config_gen role for BGP configuration with address_family_evpn support. However host-flap detection is also not supported there nor I'm not sure I could stitch both roles (eos_designs + eos_cli_config_gen) together.

@Shinz0n had a discussion with @mpergament and @ClausHolbechArista - we suggest implementing this as a global var, as we would want this to be consistent on all L3 leaves:
evpn_hostflap_detection:
  window: <timeout>
  threshold: <threshold>


Reference MUI v3 instead of v1

Currently you are referencing v1 in your doc for material ui, however it is using the current version. Updating the document's reference.

Coverage remained the same at 71.955% when pulling dc2479bea48a47da1286bbea7d654e5ae3cabc4a on shawndibble:patch-1 into 247b6703015edb404730ef39a9c83a760a3225b8 on gregnb:master.

Thank you for the PR!


Removes defaultColumnsToFetch

:ronseal:
So far this literally just removes the concept completely - regression tests pass - I'm hopeful that this is the extent of it.
I will be testing locally more and looking through the codebase to find if this is going to cause havoc though

@allouis the place would suggest double-checking is URL generator/Resources service in the "frontend". Those rely heavily on the events emitted on resource changes and my suspicion is that's where the problems could come up :thinking:

@gargol - all resource changes should go via edit right? edit calls fetch before any changes, so the events will have entire attributes hash alongside them. (also edit does not permit columns option, so it won't be passed to fetch)
the defaultColumnsToFetch was only used in the fetchPage method - so it's pretty low surface area


Marketing Calls: Secure access from unintended visitors

As we had an unwanted guest on the marketing call today, it seems we will need to find a way to prevent that in the future. While we want the calls open to those who want to participate, seems we won't be able to keep it open for all/anyone who obviously has a different agenda from the rest of us.
Some ideas found in this article: https://blog.zoom.us/keep-uninvited-guests-out-of-your-zoom-event/ - using the waiting room to enter the meeting, control who can screen share (host only), and, should someone still get in and cause problems:
Suspend participant activities: Hosts and co-hosts can pause the meeting to remove and report an offending party and prevent further disruption. Click the Security icon and select “Suspend Participant Activities” to temporarily halt all video, audio, in-meeting chat, annotation, screen sharing, and recording, and end Breakout Rooms. You can resume the meeting by re-enabling the individual features.

Totally agree, Debbie.
I've already emailed to John that we need to get back to the rule that each
attendee should be approved by the host before joining.
Also, this is a good idea to give a host permissions to mute/delete
attendees from the call.
On Mon, 12 Apr 2021 at 19:26, Debbie Hoffman @.***>
wrote:

As we had an unwanted guest on the marketing call today, it seems we will
need to find a way to prevent that in the future. While we want the calls
open to those who want to participate, seems we won't be able to keep it
open for all/anyone who obviously has a different agenda from the rest of
us.
Some ideas found in this article:
https://blog.zoom.us/keep-uninvited-guests-out-of-your-zoom-event/ -
using the waiting room to enter the meeting, control who can screen share
(host only), and, should someone still get in and cause problems:
Suspend participant activities: Hosts and co-hosts can pause the meeting
to remove and report an offending party and prevent further disruption.
Click the Security icon and select “Suspend Participant Activities” to
temporarily halt all video, audio, in-meeting chat, annotation, screen
sharing, and recording, and end Breakout Rooms. You can resume the meeting
by re-enabling the individual features.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/microprofile-marketing/issues/478, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AJHFTS7MCFPHDE77VA675JDTIMULDANCNFSM42ZW5RGQ
.

--

https://jelastic.com/blog/email-banner/*
Tetiana Fydorenchyk
VP of Marketing @ Jelastic https://jelastic.com/?utm_source=footer
https://twitter.com/tetiana_ftvTwitter https://twitter.com/tetiana_ftv
Facebook https://www.facebook.com/tetiana.ftv LinkedIn
https://www.linkedin.com/in/tetiana-fydorenchyk-95603125/

Yeah,  I’ve already changed tomorrow’s steering committee call to waiting room.

On Apr 12, 2021, at 10:36 AM, TetianaFTV @.***> wrote:
Totally agree, Debbie.
I've already emailed to John that we need to get back to the rule that each
attendee should be approved by the host before joining.
Also, this is a good idea to give a host permissions to mute/delete
attendees from the call.
On Mon, 12 Apr 2021 at 19:26, Debbie Hoffman @.***>
wrote:

As we had an unwanted guest on the marketing call today, it seems we will
need to find a way to prevent that in the future. While we want the calls
open to those who want to participate, seems we won't be able to keep it
open for all/anyone who obviously has a different agenda from the rest of
us.
Some ideas found in this article:
https://blog.zoom.us/keep-uninvited-guests-out-of-your-zoom-event/ -
using the waiting room to enter the meeting, control who can screen share
(host only), and, should someone still get in and cause problems:
Suspend participant activities: Hosts and co-hosts can pause the meeting
to remove and report an offending party and prevent further disruption.
Click the Security icon and select “Suspend Participant Activities” to
temporarily halt all video, audio, in-meeting chat, annotation, screen
sharing, and recording, and end Breakout Rooms. You can resume the meeting
by re-enabling the individual features.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/microprofile-marketing/issues/478, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AJHFTS7MCFPHDE77VA675JDTIMULDANCNFSM42ZW5RGQ
.

--

https://jelastic.com/blog/email-banner/*
Tetiana Fydorenchyk
VP of Marketing @ Jelastic https://jelastic.com/?utm_source=footer
https://twitter.com/tetiana_ftvTwitter https://twitter.com/tetiana_ftv
Facebook https://www.facebook.com/tetiana.ftv LinkedIn
https://www.linkedin.com/in/tetiana-fydorenchyk-95603125/
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/eclipse/microprofile-marketing/issues/478#issuecomment-817997193, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAR24ZM5HRTOT3SFQDWQELTIMVTJANCNFSM42ZW5RGQ.

+1.
@jclingan can we re-set all calls to have the restrictive rule to be admitted to the calls?
Thank you, Tetiana and Debbie.

John,
Thanks. Maybe this is all we need.
A couple of more ideas to secure our Zoom settings:

disable "Allow participants to rename themselves"
disable "Allow removed participants to rejoin"
disable the "Whiteboard"
disable screen "Annotation"

The first two can be turned on/off by the host during the meeting ...
either in the Security menu, or by the Participant panel "..." at the
bottom of the participants panel. If the crasher can't change their
name, I suspect the host could find their participant menu entry more
easily (today, the crasher was changing it's name so they were jumping
around on the "participants" list).
All folks who will host meetings should spend some time to become
familiar with the security option button for control during meetings
(see here
https://support.zoom.us/hc/en-us/articles/360041848151-In-meeting-security-options)
-- especially the panic button: Suspend Participant Activities (see this
blog post
https://blog.zoom.us/new-ways-to-combat-zoom-meeting-disruptions/).
the current list of "Security" controls is below [1]. One thing to
practice might be, how to resume features and the meeting if we've had
to kick someone out.
For future reference, once a user joins, it does not appear they can
change their name for screen annotations. User name is briefly shown
when the annotation is first added. The Host (or user) can also view the
user name of the annotation if they click the "annotations" button (only
visible apparently when screen sharing) -- then click the "select" tool
(at least in the desktop app). From there, you can hover over the
"artwork" to view the name of the user that created the annotation.
A "guest" user can set their name to anything they like prior to joining
so I don't know how reliable an indicator that actually is. The meeting
report, that is generated with each zoom meeting, lists all attendees by
their initial name, but as with the annotation, I think a Guest attendee
can enter anything they want as their initial participant name. Perhaps
if an attendee is "reported" the Zoom police can get more accurate
details about that attendee.
-- Ed
Current Security button controls:

General meeting controls (turn these on/off)
o Lock Meeting
o Enable Waiting Room
o Hide Profile Pictures
Allow participants to (these are enable/disable items):
o Share Screen
o Chat
o Rename Themselves
o Unmute Themselves
o Start Video
Host controls
o Remove Participant (gives a list of participants -- if the
participant changed their name, the new name is shown)
o Suspend Participant Activities (the panic button that stops all
remote activities and turns on the waiting room). The host can
then remove any "crasher" and presumably if they were to attempt
to rejoin, they'd either be disallowed or they'd only be able to
enter via the waiting room. Those options are taken from the
"Participant" list/panel.

On 4/12/2021 10:39 AM, John Clingan wrote:

Yeah, I’ve already changed tomorrow’s steering committee call to
waiting room.

On Apr 12, 2021, at 10:36 AM, TetianaFTV @.***> wrote:
Totally agree, Debbie.
I've already emailed to John that we need to get back to the rule
that each
attendee should be approved by the host before joining.
Also, this is a good idea to give a host permissions to mute/delete
attendees from the call.
On Mon, 12 Apr 2021 at 19:26, Debbie Hoffman @.***>
wrote:

As we had an unwanted guest on the marketing call today, it seems
we will
need to find a way to prevent that in the future. While we want
the calls
open to those who want to participate, seems we won't be able to
keep it
open for all/anyone who obviously has a different agenda from the
rest of
us.
Some ideas found in this article:
https://blog.zoom.us/keep-uninvited-guests-out-of-your-zoom-event/
https://urldefense.com/v3/__https://blog.zoom.us/keep-uninvited-guests-out-of-your-zoom-event/__;!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vWj87ZdA$

using the waiting room to enter the meeting, control who can
screen share
(host only), and, should someone still get in and cause problems:
Suspend participant activities: Hosts and co-hosts can pause the
meeting
to remove and report an offending party and prevent further
disruption.
Click the Security icon and select “Suspend Participant Activities” to
temporarily halt all video, audio, in-meeting chat, annotation, screen
sharing, and recording, and end Breakout Rooms. You can resume the
meeting
by re-enabling the individual features.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/microprofile-marketing/issues/478
https://urldefense.com/v3/__https://github.com/eclipse/microprofile-marketing/issues/478*3E__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4v7Df4-8M$,
or
unsubscribe

https://github.com/notifications/unsubscribe-auth/AJHFTS7MCFPHDE77VA675JDTIMULDANCNFSM42ZW5RGQ
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AJHFTS7MCFPHDE77VA675JDTIMULDANCNFSM42ZW5RGQ*3E__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vLvTqnog$

.

--

https://jelastic.com/blog/email-banner/*
https://urldefense.com/v3/__https://jelastic.com/blog/email-banner/*3E*__;JSo!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vzIZ-WP4$
Tetiana Fydorenchyk
VP of Marketing @ Jelastic https://jelastic.com/?utm_source=footer
https://urldefense.com/v3/__https://jelastic.com/?utm_source=footer*3E__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4v167vGGA$
https://twitter.com/tetiana_ftvTwitter
https://urldefense.com/v3/__https://twitter.com/tetiana_ftv*3ETwitter__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4v4ugMqiI$
https://twitter.com/tetiana_ftv
https://urldefense.com/v3/__https://twitter.com/tetiana_ftv*3E__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4v9iK6JxE$
Facebook https://www.facebook.com/tetiana.ftv
https://urldefense.com/v3/__https://www.facebook.com/tetiana.ftv*3E__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vK9YjKfg$
LinkedIn
https://www.linkedin.com/in/tetiana-fydorenchyk-95603125/
https://urldefense.com/v3/__https://www.linkedin.com/in/tetiana-fydorenchyk-95603125/*3E__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vuXlkyEE$
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/microprofile-marketing/issues/478#issuecomment-817997193
https://urldefense.com/v3/__https://github.com/eclipse/microprofile-marketing/issues/478*issuecomment-817997193*3E__;IyU!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vIR0--3k$,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAR24ZM5HRTOT3SFQDWQELTIMVTJANCNFSM42ZW5RGQ
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AAAR24ZM5HRTOT3SFQDWQELTIMVTJANCNFSM42ZW5RGQ*3E__;JQ!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vfL58ajM$.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/eclipse/microprofile-marketing/issues/478*issuecomment-817999025__;Iw!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4v1UnJNzw$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AC5WM3VW4WQD3R4IGQ2XOJDTIMV4ZANCNFSM42ZW5RGQ__;!!GqivPVa7Brio!N26ZpOCoiXo8HW8CeuKVlGXlMf5Jd39UtpxaXJC9sWavxVAkpVHMLS4vh9F9ONc$.

Found a way to address security by claiming host using host code and then host enabling waiting room.


Update to include MSAL either in addition to or instead of ADAL

Per this documentation: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-net-migration
"MSAL.NET is now the recommended auth library to use with the Microsoft identity platform. No new features will be implemented on ADAL.NET. The efforts are focused on improving MSAL."
Therefore, the Power BI documentation on acquiring a token should be updated to include information on using MSAL library, either instead of or in addition to, the existing ADAL library implementation.

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

ID: 27fb3418-db2e-54a1-9faa-7ba09c5259dc
Version Independent ID: 87329ec8-d7d4-f66a-0562-13a9b6032543
Content: Get an authentication access token - Power BI
Content Source: powerbi-docs/developer/automation/walkthrough-push-data-get-token.md
Service: powerbi
Sub-service: powerbi-developer
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Thanks for the feedback, @skeeler - I'm assigning this to the author of the Power BI article to take a look at making that update.

Hi @skeeler,
This issue is in my backlog and I'll refresh the article as soon as I can.
Thanks,
Kesem

Hi @skeeler,
This issue is in my backlog and I'll refresh the article as soon as I can.
Thanks,
Kesem


evillimiter for windows stopped working in newest windows 10 update

evillimiter for windows stopped working in newest windows 10 update

I have the same issue. But there might be a way to do it.


httplib: 0.18.0 -> 0.18.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/yhirose/cpp-httplib/releases.
meta.description for httplib is: C++ header-only HTTP/HTTPS server and client library
meta.homepage for httplib is: https://github.com/yhirose/cpp-httplib
meta.changelog for httplib is: https://github.com/yhirose/cpp-httplib/releases/tag/v0.18.1
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.18.1 with grep in /nix/store/83rc91pmwd9vb73hy2463wpn3qdlxd32-httplib-0.18.1
found 0.18.1 in filename of file in /nix/store/83rc91pmwd9vb73hy2463wpn3qdlxd32-httplib-0.18.1

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

6 total rebuild path(s)

6 package rebuild(s)

First fifty rebuilds by attrpath

httplib
lime3ds
zeal
zeal-qt5
zeal-qt6

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/83rc91pmwd9vb73hy2463wpn3qdlxd32-httplib-0.18.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/961c5fe71aa943dd1029ee6a8996afa9bc82af60#httplib

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/83rc91pmwd9vb73hy2463wpn3qdlxd32-httplib-0.18.1
ls -la /nix/store/83rc91pmwd9vb73hy2463wpn3qdlxd32-httplib-0.18.1/bin

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

x86_64-linux

:x: 1 package failed to build:

lime3ds

:white_check_mark: 3 packages built:

httplib
zeal
zeal-qt6

Maintainer pings
cc @AndersonTorres for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 351140

x86_64-linux

:white_check_mark: 4 packages built:

httplib
lime3ds
zeal (zeal-qt5)
zeal-qt6


Wait for next release of SDK before implementing Android

https://creativesdk.zendesk.com/hc/en-us/articles/211241666-Android-migration-guide-from-0-9-7-to-0-9-1062


Call validate function with correct context

Call validation function with the same context as action function.

Looks good - thanks.


Add documentation

This will help developers understand the functions more with the provided intellisense. Links to the relevant Appwrite documentation would also be great.
useAccount has decent documentation so far.

I would like to start working on it!

@probablyArth Awesome 😄
I have assigned you. Any area you want to document, feel free to open a pull request, but I'm not expecting you to do all of it haha. There's a whole lot of stuff that needs it, so whatever you can do is good bro 👍

should close this one considering every function is documented?

Yes sir you are right.


walletrpc: add LabelTransaction endpoint to retrospectively label txns

This PR is a follow up to #4213 which adds the ability to retrospectively label transactions through walletrpc.

Rebased on merged dependent PR & itest coverage added, PTAL @cfromknecht 🙏


Enhancement: Implement driver.manage().timeouts().PageLoadTimeout()

On my Cucumber & Scala Play! setup I have a scenario that requires a modal dialog in JavaScript to popup and on asserting the content of the dialog the confirm button is clicked. This button then reloads the page and my scenario then verifies the page reload.
I was then calling await().atmost().until().ispresent()  to find the refreshed content but this immediately passed (I guess due to it being the same page). I then tried to use driver.manage().timeouts().PageLoadTimeout() but this wasn't implemented in Selendroid.
I posted this on the IRC channel (which lead to this request) and the following was suggested as an alternative: https://github.com/selendroid/selendroid/blob/master/selendroid-client/src/main/java/io/selendroid/waiter/TestWaiter.java
Thanks,
Colin

has been merged