Include instructions on creating a Resource Group in the ACS quick start guide

[Enter feedback here]
Include instructions on creating a Resource Group in this quick start. Don't assume people reading automatically know how to do that, or what naming conventions etc. should be.

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

ID: e2d3d6a4-64b0-4a37-f387-696f88865a54
Version Independent ID: e02b6c38-47ab-59f7-358f-c0f225837e54
Content: Quickstart - Create and manage resources in Azure Communication Services - An Azure Communication Services quickstart
Content Source: articles/communication-services/quickstarts/create-communication-resource.md
Service: azure-communication-services
Sub-service: arm
GitHub Login: @ProbablePrime
Microsoft Alias: rifox

Thanks for the feedback! We are currently investigating and will update you shortly.

An example might be a script that does everything like this:
AZ_RESOURCE_GROUP=
AZ_LOCATION=<a Us location, e.g. westus3>
AZ_ACS_NAME=
az group create --name $AZ_RESOURCE_GROUP --location $AZ_LOCATION
az config set extension.use_dynamic_install=yes_without_prompt
az communication create --name $AZ_ACS_NAME --location "Global" --data-location "United States" --resource-group $AZ_RESOURCE_GROUP

Thanks for your feedback, after chatting with Ryan. I'll be editing the documentation to link over to Azure's documentation on resource groups. Its quite detailed and includes Azure CLI and portal instructions.
https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal

These edits are now in place, they're mostly in the form of cross links and in place links. The existing microsoft docs for these areas are a lot more detailed then I think our team will be able to do which is why I don't want to repeat the content etc.
Thanks!

Thank you @ProbablePrime, appreciate the quick response.


fix(types.go): remove space in tag

Fix go vet by removing space in tag.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: alacuku
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [alacuku]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Search 273 (Electron bindings for attachment search)

Electron bindings for attachment search.

Included new library
Implementation for attachment search

@VikasShashidhar @jay-k & @serkanmulayim Please review. Thanks

@serkanmulayim If this is good to go, I'll merge. Please let me know.

LGTM


⚠ Samsung has degraded performance

In bc7c561, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2374 ms

Resolved: Samsung performance has improved in 6f3f14e.


Added projects and authors

Added [projects] and jaraneda's personal page.
Also fixed small details in author's markdown pages

All changes are good. I'll merge now.
Do you think we should edit the project's template to display their corresponding dates? If you agree I'll open an issue


Fixed reporting locked mock failure to jtreg logs (Issue #3)

@NikolSkvarilova  TYVM for splitting it up


Feature: Added Reveal elements on scroll

#213
Preview of Feature
https://github.com/user-attachments/assets/3ca2bd25-6994-4993-a1fd-9c936c4e4c01

hey @Anjaliavv51 can you update your sync fork  and fix these conflicts

@sanjay-kv sir after try many times still it's showing like this

hey @Anjaliavv51 can you update your sync fork and fix these conflicts

@nishant0708 how can i do it?
i am using github desktop
do u have any idea how to do?

okay see @Anjaliavv51 in your github browser

change main to gh-pages
After that there you will find option to Sync-fork do that
then in Vs code go to gh-branch

here in terminal do Git Pull
and now switch to your branch where this code is present and then do
git pull origin gh-pages
then solve conflicts
https://www.youtube.com/watch?v=QmKdodJU-js
refer this for solving Conflicts .
then push your code anyway you want it will be fixed

okay see @Anjaliavv51 in your github browser  change main to gh-pages
After that there you will find option to Sync-fork do that then in Vs code go to gh-branch
here in terminal do Git Pull
and now switch to your branch where this code is present and then do
git pull origin gh-pages
then solve conflicts https://www.youtube.com/watch?v=QmKdodJU-js refer this for solving Conflicts .
then push your code anyway you want it will be fixed

@nishant0708  Thank You


Fix: Straighten out resource mapping discrepancy for is_secure_register field

Straightens out the sdk resource mapping discrepancy for the is_secure_register field

This PR is closed and replaced by this one


stairsplus: Pollution of global namespace.

Stairsplus mod leaks its register functions to global namespace. Shouldn't they be in moreblocks namespace instead?
register_micro
register_panel
register_slab
register_slope
register_stair
register_stair_slab_panel_micro

This should have been fixed by https://github.com/minetest-mods/moreblocks/commit/e622c692e14ab06d4c3744da5d4100fa8a789274, which is included in 1.3.0.


Create developer account2

@Shoshta73 there is no login logic, i dont know what we are using for the cloud storage, could you let me know what we are using so i could add the signup logic.


[SPARK-13030][ML] Follow-up cleanups for OneHotEncoderEstimator

What changes were proposed in this pull request?
Follow-up cleanups for the OneHotEncoderEstimator PR.  See some discussion in the original PR: https://github.com/apache/spark/pull/19527 or read below for what this PR includes:

configedCategorySize: I reverted this to return an Array.  I realized the original setup (which I had recommended in the original PR) caused the whole model to be serialized in the UDF.
encoder: I reorganized the logic to show what I meant in the comment in the previous PR.  I think it's simpler but am open to suggestions.

I also made some small style cleanups based on IntelliJ warnings.
How was this patch tested?
Existing unit tests

@viirya This basically has 2 changes:

configedCategorySize: my mistake!
encoder: clarify what I meant before

Test build #85569 has started for PR 20132 at commit 9bf045d.

Test build #85569 has finished for PR 20132 at commit 9bf045d.

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/85569/
Test PASSed.

@jkbradley Thanks for this follow-up!
I've noticed that first issue in original PR. But don't have enough time to discuss with you further.
I'll go through this soon.

The simplified logic for encoder looks good to me.

LGTM


Bugs in Animated + useNativeDriver time values

Description
When useNativeDriver is used with a supported value like opacity, several bugs manifest around time values:

delay appears to operate in seconds, not milliseconds. This makes it look like the animation doesn't run at all, when in fact it's just delaying for several minutes.
When delay is set, duration doesn't appear to work – animations just jump to their end frame without tweening.

Reproduction
https://rnplay.org/apps/MQ5xNg
Solution
unknown
Additional Information

React Native version: 0.40.0
Platform: iOS only (don't think useNativeDriver is implemented on Android yet)
Operating System: MacOS

CC @kmagiera @janicduplessis

Thanks for reporting this, I'll have a look, we don't have any tests with delay at the moment so it's very probable that it's broken.

I think my issue is related to this. Let me know if you disagree, then I'll create a separate issue.
The issue is with Animated.Text and opacity:
accountSelectorAnim = new Animated.Value(0)
// ...
Animated.parallel([
  Animated.timing(this.accountSelectorAnim, {
    toValue: 1,
    duration: 515,
    easing: Easing.easeOut,
    useNativeDriver: true,
  }),
  // ...
]);
// ...
const textOpacity = animation.interpolate({
  inputRange: [0, 0.5, 1], outputRange: [0, 0.5, 1]
});

In render:
<Animated.Text style={{opacity: textOpacity, color: 'white', marginBottom: 5}}>
Hello
</Animated.Text>

Only the first value in the interpolation will be applied (in this case 0, which means text will never appear). The rest of the values have no visible effect.
If I change the first value to something larger than 0, I can faintly see some kind of animation back and forth in opacity values before it quickly lands on the first outputRange value, but I'm not sure what it's doing.
If I set useNativeDriver: false then it works exactly as expected.

@scarlac I think you can make a separate issue, I tested this and the issue is related to delay being broken on iOS.
@mosesoak Got a PR to fix this!

@janicduplessis awesome! 🎉

I just stumbled upon this issue facing a similar problem with the native-driver support. Just a hacky workaround for people needing a delay until this is fixed. One can interpolate an animated value with an extra step and thus, faking a delay in the animation.
Animated.interpolate(this.accountSelectorAnim, {
    inputRange: [0, 0.2, 1.0],
    outputRange: [0, 0, 1.0],
  });


Encrypt migration credentials at rest

Storing these credentials is a liability.
Will backport this to 1.14, but feel a bit uneasy to not include the migration there. Could make it a doctor task there
edit: test fail seems unrelated

Codecov Report

Merging #15895 (86a0cf1) into main (58646ca) will increase coverage by 0.01%.
The diff coverage is 54.05%.

@@            Coverage Diff             @@
##             main   #15895      +/-   ##
==========================================
+ Coverage   44.02%   44.03%   +0.01%
==========================================
  Files         681      681
  Lines       82333    82372      +39
==========================================
+ Hits        36244    36275      +31
+ Misses      40186    40185       -1
- Partials     5903     5912       +9

Impacted Files
Coverage Δ

modules/task/task.go
60.29% <53.84%> (-1.53%)
:arrow_down:

models/task.go
39.06% <54.16%> (+3.82%)
:arrow_up:

models/admin.go
59.09% <0.00%> (-2.82%)
:arrow_down:

modules/log/event.go
59.90% <0.00%> (-1.89%)
:arrow_down:

models/gpg_key.go
53.51% <0.00%> (-0.57%)
:arrow_down:

services/pull/pull.go
43.83% <0.00%> (+0.45%)
:arrow_up:

services/pull/patch.go
55.93% <0.00%> (+1.69%)
:arrow_up:

modules/queue/workerpool.go
56.10% <0.00%> (+2.29%)
:arrow_up:

services/pull/check.go
28.76% <0.00%> (+2.73%)
:arrow_up:

services/pull/temp_repo.go
29.78% <0.00%> (+3.19%)
:arrow_up:

Continue to review full report at Codecov.

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

You could add a doctor task and back port the doctor sub command.


v20.2.0-alpha.3 Release Notes

Prep date: 8/10/20
Release date: 8/17/20
SHA: b7cf171ae2d7
Release Manager: @RaduBerinde
Docs To Do:

[ ] Run script to generate release notes
[ ] Update docs site
[ ] Edit release notes - Additions/changes/omissions to the release notes should be left in this issue's comments
[ ] Once PR is merged / release notes are live, notify @meagan-g in the #releases Slack channel
[ ] Email releases@ with link to published release notes

Do not publish this release note: https://github.com/cockroachdb/cockroach/pull/51627


Minor typo fixes

Just observed some minor typos in the README, which I assume the maintainers would like to get fixed.
See commits.

 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.


Add integration test for cached payloads

Goal
Verified that permanent session properties added during the SDK lifetime is persisted in cached payloads

#1275  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @bidetofevil and the rest of your teammates on  Graphite

Merge activity

Aug 19, 11:29 AM EDT: @bidetofevil started a stack merge that includes this pull request via Graphite.


Multilingual CMS (architecture)

The good people at Netlify has confirmed to me that multilingual content is not really supported. But that doesn't necessarily mean that its not possible. For example having a post with a title field * languages supported doesn't really seem like a good idea. Another approach could be to create multiple admin interfaces (/admin/en, /admin/es etc.)for each language (if thats possible, haven't tested it). How would you approach this, any other suggestions?

If you're looking for multiple languages in the admin interface, there's a PR here that's close: https://github.com/netlify/netlify-cms/pull/403

@erquhart  I think @gibujin means multilingual content, that would be a nice feature. Maybe there is a way to define languages in config.yml like ['us', 'fr', 'de'] and than you have a global language select in the admin ui to create content for a specific lang.

In that case I'd expect it to be a bit of both, as selecting a global language setting should cause the UI to be labelled in that language. It sounds like you're looking to have the same content in multiple languages, so I imagine you'd want some way to see what entries exist that have no translation in the current language? Beyond that each language should publish to a separate directory, and we'd need certain string properties in the config to start accepting an object of language-keyed strings.
Thoughts?

@erquhart Is this a duplicate of https://github.com/netlify/netlify-cms/issues/342?

I think @fool was more pointing at handling automation of translation. This is about supporting the manual creation of multilingual content.

Not even "automation" so much as "easy support for".  But yes not in the
admin gui, in the content.  E.g. Being able to take a template from an
English post with graphics and code blocks and turning it Spanish.  One
click "clone" with ability to identify articles that are missing
translations would be most of it.  Configuring your site to serve the
different content would be out of scope for the cms by my reckoning
On Dec 8, 2017 23:56, "Shawn Erquhart"<EMAIL_ADDRESS>wrote:
I think @fool https://github.com/fool was more pointing at handling
automation of translation. This is about supporting the manual creation of
multilingual content.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/netlify/netlify-cms/issues/716#issuecomment-350431178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAN-oBGRQfIQC0kvYnAkfF8_tI9xkU3Dks5s-j05gaJpZM4P_IL-
.

@fool
I agree, the clone functionality would be ideal ! It will allow to match the original filename with the translated version.
In addition, It should allow to add a language suffix to the filename: i.e. "mypost.es.md".
However, I realised that I cannot create this suffix ".es" using slug for naming the file because the code remove dots from slug.
Any ideas?

@gibujin you can already create multiple cms instances as you described, since the CMS is just a single page app.
@blgo @fool can you point to any examples out there of a CMS with the described clone functionality?

@blgo The issue with extension suffixes is here: https://github.com/netlify/netlify-cms/issues/877

haven't used one but this link makes it seem like maybe drupal and joomla
both did it in 2015:
https://www.acclaro.com/blog/how-to-choose-cms-for-multilingual-website/
On Dec 20, 2017 10:15, "Shawn Erquhart"<EMAIL_ADDRESS>wrote:

@gibujin https://github.com/gibujin you can already create multiple cms
instances as you described, since the CMS is just a single page app.
@blgo https://github.com/blgo @fool https://github.com/fool can you
point to any examples out there of a CMS with the described clone
functionality?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/netlify/netlify-cms/issues/716#issuecomment-353141392,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAN-oB2n46-evcyNEO5HSw35Rzkt_YQIks5tCU7AgaJpZM4P_IL-
.

So it sounds like we need product level contributions at this point. So far we have:

clone functionality for existing entries that need to be copied and translated
some way of seeing which articles have/have not been translated into a given language
ability to configure file names based on language

Anything missing? UX considerations? How do we make this unobtrusive?

Great tip @MarcCoet, will do! Feel free to drop specifcs, screenshots, etc if you think anything specific aspect is particularly impactful for the project.

@erquhart do you have plan in terms of timings to develop multilingual?

There's no active development at the moment, still need to determine the right approach. You're welcome to help move things along if you're interested in digging in.

I'm a freelancer in South America 🇨🇱  and almost all my clients need a Spanish site for local clients and an English translation to reach foreign tourists.  So having official support for multiple languages would be really useful!
I agree with @MarcCoet that Contentful has a really convenient UI for translations.  Basically there are some checkboxes in the sidebar that let you select which languages to work on, and then it will show a copy of each field for each language.  Here's a screenshot to show what I mean:

IMO an anti-pattern for localization is to simply offer a language switcher with no ability to view multiple languages at once.  You have to open multiple windows to see the original text and new text and it's annoying, although still much better than nothing.

Awesome, thanks for the specifics @whmountains.
@hcavalieri this ^^ just pointed out an issue with the tabbed i18n approach from #1166 - folks are going to want to look at multiple translations at once, especially while translating.

I would like to link here to my comment in the issue about subfolders content: https://github.com/netlify/netlify-cms/issues/513#issuecomment-384623303 — one of the common patters (used in Hugo, for example) is to have one folder for each post/article/page, and have multiple localised index.LANG.md inside, for example:
├── 2018-04-26-my-awesome-post
    ├── index.en.md
    ├── index.ru.md

How I see this implemented in cms: have multiple tabs for different languages, or even multiple columns, so it would be possible to see same field with different languages next to each other. Similar to how there is a rendered preview for a post, it would be nice to have alternatively compare two languages, with the same sync scroll feature etc.
One issue that also appears related to such handling of content: very often you could want to have some metadata to be duplicated between multiple language versions. This can be true for fields like date (you could want to have it always the same), some attached images (you won't want to attach the same image twice or more), or any other non-textual content (like prices, external links etc.)
How I see this implemented: for each field/widget there can be a boolean param that would tell if that field is by default mirrored across multiple languages. Then, when you edit a page, editting one mirrored field would change others. And there should be a way to “unlink” a field for a page, for example if you'd want to upload a localised image at some point.

Craft CMS has clever way of handling this by having a language toggle and small labels on each input. Seems like a decent way to handle the UX.

Any update on this?

Yeap, I am interesting in this feature too.

Update
Until someone volunteers to own this effort, or until the core team is able to dig in, we could at least ease the pain of multilingual authoring by completing #981 so that an existing entry can be duplicated. To that end, I've added that issue to the 2.0 board targeting the initial release. This doesn't guarantee that it will get in by 2.0, but we'll push.
Comprehensive multilingual support is still a major priority.

I don't know if this could be related, but it could be nice to be able to use a string widget to specify the filename of the page/post being created/edited.
Hugo has a specific behavior where it automatically links two pieces of content when their filename are identical, minus a language parameter. So for instance about.md and about.fr.md are automatically linked on build time.

Just to piggyback on my previous comment: Forestry does provide a way to provide/rename a file from their admin panel. When you create a new content (blog post / page / whatever) you can specify a filename and add your own extension. They then add a small icon with the language prefix of the files in the post list.

Any updates?

Not yet, no. Definitely willing to support any devs that are able to work on this, though.

+1

Hmm, I'm not sure if I understand identifier_field right, but indeed, there would need to be some kind of unique identifier that's not an object (uuid, serial int, string). Initially I thought that would be naturally the slug, but as the slug often follows the localized title, maybe not. (I'll update my example)

@joallard do you know of any static site generators that handle localization this way? The examples I'm aware of expect a separate file for each translation for repeatable content like blog posts.

I just created a workaround for this. If you are interested, please take a look at https://github.com/P233/gatsby-netlify-i18n-workaround, and feel free to improve it.

This might help. From Netlify CMS official site.
https://www.netlifycms.org/docs/collection-types/#filtered-folder-collections

Any update here. This piece of functionality seems crucial to any CMS. I don't think language-based collections are going to cut it. If you have 10 collections and five supported languages, not you have 50 collections to manage! Not too maintainable. This doesn't work.

I've been following this ticket for probably 18 months. This was, and still is, the one thing holding me back from trying netlify-cms out on a new project. I still really want to, but every project which would otherwise be suitable has been multilingual! So I'm still eagerly awaiting this feature.

My question is, why isn't this a bigger priority? I am super excited for the JAMstack but this product really needs some love and attention to become a viable replacement in some of these prominent use cases. Does the team need help? Why has this been on the back burner for so long? In general I feel like development with this project is really slow going. Anyone else get this vibe?

Indeed, I really want to use Netlify CMS but it’s not quite there yet.  Proper translation support is the biggest blocker for me.

On Aug 16, 2019, at 15:55, Austin Condiff<EMAIL_ADDRESS>wrote:
My question is, why isn't this a bigger priority? I am super excited for the JAMstack but this product really needs some love and attention to become a viable replacement in some of these prominent use cases. Does the team need help? Why has this been on the back burner for so long? In general I feel like development with this project is really slow going. Anyone else get this vibe?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Yes we also want to use Netlify but lack of multilingual support is a no go for us 😞

I'm in the same boat.  I think Netlify CMS could be hugely popular but it needs a bit more love.
On September 4, 2019 at 11:54 AM, "Yves M."<EMAIL_ADDRESS>wrote:
Yes we also want to use Netlify but lack of multilingual support is a no go for us 😞
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I wish there was a solution available for this problem. This is one thing holding a significant amount of potential clients from non-english speaking nation from moving to JAMStack.
Almost all clients need a preview feature from their CMS because Wordpress has spoiled them for a good decade, hence NetlifyCMS is the only viable choice of CMS for Gatsby and the likes because let's be honest nobody is willing to pay $600/year for Gatsby Preview feature that they sell. So NetlifyCMS it is and it works great.
Now, it all falls apart when the potential client is from a non-english speaking nation. Then they at the very least absolutely need at least support for two languages. There are currently only two headless CMS which offer reasonably good locale features, Contentful and DatoCMS, but then these two lack the preview feature and as usual clients are not willing to spend $600/year for adding preview support to them.
So essentially, for most of the potential clients from non-English speaking nations willing to move to JamStack, this is one thing significantly holding them back. They need a combination of preview feature + content localization and at the moment nothing offers this essential combination and I feel that it is seriously hurting the adoption of JAMStack in general for a lot of potential clients.
I can understand that it is not easy to build up such a feature on an already very active project, but Netlify has significant resources behind it and hence it shouldn't be impossible to prioritize this feature because as it currently stands, lack of localization is a deal breaker for a lot of clients and at the moment there's no real way around it unless they are willing to sacrifice on preview feature which a majority of clients are not.
Sorry if this went slightly off topic, just expressing my views on the significantly important need of this essential feature for a CMS.

I have started a tiny bit of work on this idea but I will warn you;

code is not very clean
creating, editing, deleting do not work at all
I think this would not work at all outside of this test environment, given I have made edits to netlify-cms-backend-test files — I would love some pointers
I am… quite lost as to what I'm supposed to be doing

If anyone wants to join in on the fun, I have created a branch:
https://github.com/chriskirknielsen/netlify-cms/tree/feature/path-options
If you run this locally you will see both the English and French test posts listed in the Posts collection. A first step!
The config.yml file has new/edited settings:
# ...
    pathOptions:
      languages:
        - en
        - fr
    folder: '_posts/{{ languages }}' # any {{ template }} must match one of the `pathOptions`
    internal_routing: 'posts/{{ languages }}' # Override the route URL, ie.: /admin/collections/:internal_routing/edit
# ...

Right now I've hit a roadblock since I don't know how NetlifyCMS generates its links to the editor nor how routing is handled. I have added an option in the collection named internal_routing which will allow NetlifyCMS to read the extra path options in the right sequence (so that if the post is in /en/non-code/, it'll know to look for {{ language }}, and for {{ tag }}` — you don't want tags in your slug but just an example).
I'd love to get some insight from people who are more involved in this (type of) project and that might be able to provide better insight as to how this all works. Any help at all would be awesome. :)
Thanks!

I’ll at least note that this issue is very much top of mind for the maintainers. It’s the 4th highest issue in our list sorted by reactions (thumbs up really do matter): https://github.com/netlify/netlify-cms/issues?q=is%3Aopen+sort%3Areactions-%2B1-desc
Big thanks to everyone that is working toward intermediate solutions, you’re helping to bridge a critical gap.
Sent with GitHawk

I just created a workaround for this. If you are interested, please take a look at https://github.com/P233/gatsby-netlify-i18n-workaround, and feel free to improve it.

this is great! I'm wondering if this is a direction considered by the maintainers?

A related point about Hugo, currently the only way to translate section names seems to be this workaround: https://github.com/gohugoio/hugo/issues/3354#issuecomment-475975122.
It would be great to have support for this use case, i.e. ability to specify content directory per language, and to add a shared translation key (e.g. slug of default language).

So we have a PR #2988  that attempts to solve this issue. The approach is based on comments https://github.com/netlify/netlify-cms/issues/716#issuecomment-373549215 and https://github.com/netlify/netlify-cms/issues/716#issuecomment-459513051 . Any feedback is highly appreciated, thanks.

To provide a different perspective, my current approach for the issue is to setup separate netlify sites (and cms admin) for different locales.
the repo directory structure looks like this:
.
├── app
│   ├── gatsby-browser.js
│   ├── gatsby-config.js
│   ├── gatsby-node.js
│   ├── gatsby-ssr.js
│   ├── package.json
│   ├── src
│   ├── static
│   └── yarn.lock
├── cn
│   ├── assets
│   ├── cms-config.yml
│   ├── data
│   └── netlify.toml
└── en
    ├── assets
    ├── cms-config.yml
    ├── data
    └── netlify.toml

for different locale, I created netlify site with base directory to each locale, such as en.
netlify.toml file in the locale folder contains instructions for deployment:
[build]
  ignore = "git diff --quiet HEAD^ HEAD ../app/ ./"
  publish = "app/public/"
  command = "cp -r ../app . && cp -r data ./app/ && cp -r assets ./app/static/ && cp cms-config.yml ./app/static/admin/config.yml && cd ./app && npm install -g yarn && yarn install && yarn build"

cms-config.yml will be copied as app/static/admin/config.yml:
backend:
  name: git-gateway
  branch: master

public_folder: assets
media_folder: en/assets            # media folder should point to the assets directory in locale folder

and lastly, the development support is implemented as a script in package.json:
"scripts": {
    "bootstrap": "cp ../en/cms-config.yml static/admin/config.yml && rm -rf static/assets && cp -r ../en/assets static/ && rm -rf data && cp -r ../en/data .",
    "bootstrap-cn": "cp ../cn/cms-config.yml static/admin/config.yml && rm -rf static/assets && cp -r ../cn/assets static/ && rm -rf data && cp -r ../cn/data .",
    ...
  },

hope the above solution offer help to someone facing the similar situation.

@joallard I could have sworn I responded to your comments long ago, sorry about that.
I'm really loving the approach you've laid out. It brings the best of what we've discussed so far, rounds out the editor experience with sensible functionality, and matches really well to our current editor model (two big panes side by side).
This issue is very close to hitting active development, I'm in strong agreement with the order of implementation and prioritization you proposed as well. Thank you!

@erquhart I'm really glad it's appreciated! I've been wanting to see a good I18n interface in a CMS for a long time. I'm open to be reached if there's any question or if I can help.
Since then I've taken a look at what Ghost does for blog articles (turns out their "multi-language" feature is not really one after all) and more precisely that fact that textareas don't scroll, they just expand/fill the page. That could be a simple way to work around the scroll problem: no scroll! The box just resizes according to its content. That would more or less do it for a variety of cases. We just have to ensure the next cells in the columns are at the same height, and off we go.

Update:
@barthc and @jmdrawneek both offered to help with this issue, which is highly appreciated.
Copying my comment from https://github.com/netlify/netlify-cms/pull/2988#issuecomment-591911768:

I can see two main efforts here:

Having the backends support persisting multiple content files (e.g. saving both post.en.md and post.fr.md under the same entry). This should actually be configured - multiple files vs multiple fields in a single file, and defaults to the most common approach of static site generators.
Adding a side by side translation editor UI per #716 (comment).

Unless @barthc or @jmdrawneek have already made significant progress in implementing this feature, we might be able to split up the work.
As @barthc is more familiar with the backends code I'm thinking he can do 1, and as doing the UI part doesn't require that much pre-knowledge of the code base @jmdrawneek can do 2.
I might be completely off here as well, thoughts?

As a side note, it would be great to have flexibility around how translations are handled: by file name (post.en.md / post.fr.md) or by folder (en/post.md / fr/post.md), as Hugo for example allows both.

As you folks are implementing this, feel free to reach out to me on Keybase or by email if you need a sounding board on this! I'm really glad to see the enthusiasm!

Another PR #3366 based on @joallard solution.

Another PR #3366 based on @joallard solution.

@barthc Will the diff_folder allow for a fully customisable path? Like {locale}/posts/post.md? It's how I have my current setup, and while I could certainly rework it, it would be amazing to be able to keep it as is while using this new feature. :)

@barthc Will the diff_folder allow for a fully customizable path? Like {locale}/posts/post.md? It's how I have my current setup, and while I could certainly rework it, it would be amazing to be able to keep it as is while using this new feature. :)

The collection path config will allow you to do that.

hey after showing my example on discourse, I got suggested to come and link my project here.
I just want to share the way I implemented to add multilingual support on my site.
As mentioned in the topic there is still some manual process that can be automated (Github Actions or similar?) and some parts might need polishing but the idea is there.
Project: https://github.com/tbille/multilingual-jekyll-netlify/

Excellent link @tbille, Durand is spot on about the goals.
I can't help but highlight one of them, that was discussed in the PR:

Flexibility
Our website can be translated in as many languages as wanted. Each page may be translated or not in the various languagesregardless of the version, they may be pages which are not translated in each language. All pages and posts can be placed as desired.

The only lowlight? I can never endorse plain wrong date formats such as 01/09/2014, or even 2014/09/01 ;). (Friendly reminder that YYYY-MM-DD is the only acceptable date format – except when the month has letters)


The progress bars do not work in IE 11

Issue description
The progress bars do not work in IE 11
Environment

What's My Browser Support link: < paste link here
https://whatsmybrowser.org/b/WQ4DU2Q

Amplitude.js Version:  3.3.0

Steps to reproduce the issue

used the plugin exactly as shown in the documentation
run the page in ie11

What is expected?

Clicking on the progress bar should jump the song forward
Instead it is returning
SCRIPT5022: IndexSizeError
File: amplitude.js, Line: 5782, Column: 4
Link to where issue can be reproduced

http://machinedev.ca/CIL/front-end/amplitudejs-master/examples/single-song/
This works in all browsers except IE 11.
Additional details / screenshots

SCRIPT5022: IndexSizeError
File: amplitude.js, Line: 5782, Column: 4

I was able to confirm this in the example provided. @danpastori please investigate and let us know your thoughts.

I have tried everything, my project is due tomorrow. Could really use some help. I really don't want to have to start over.

Hi @will-muir, sorry to hear that your project is due tomorrow. Reality is that we are volunteers and have our own lives too.
Thanks for your understanding that we do not get paid for this and we'll fix this once we have some free time.

Hi @will-muir I tested the link with the single song player in IE 11 and it worked. Do you have another link I could test with?
When you get that issue (IndexSizeError) on navigation, it's because the song hasn't been loaded correctly or not set. Essentially, your song is chunked up into parts. The index size error is that you are trying to move to a chunk that isn't, for lack of better terms, registered yet. This could be due to config, slow server, wrong headers from server, a variety of things. If you send a link where I can replicate the issue I can get it resolved.

Hello @danpastori thanks for looking into this! Can you test at this link please:
http://willmuir.ca/single-song/

Hi @will-muir So if you check out https://521dimensions.com/open-source/amplitudejs/examples/single-song in IE 11 and try to skip, you will see it works. Now the thing is, is even yours works AFTER you start playing the song.
When you initially load the page, look at the duration. On yours, it's set to the default 0:00 which means that all of the meta hasn't been pre-loaded for the song. On the example, it gets loaded right away which it should. The only difference I see in your player in IE 11 is I get an error when I load: Unexpected token. single-song (44,3). This could be preventing the rest of the loading. I'd maybe swap out your JS.
AmplitudeJS should definitely work with IE 11 for skipping. Your server is set up correctly too, I checked the byte headers.

@danpastori @jaydrogers Thanks for all your help! I was able to get this working. Great plugin!

Awesome!! Thanks!!


subscribeObject not working with wildcards anymore (2.4.x)

Maybe related to 5d7f0f4fc5207e6018c1fd9f84c6bb9ccaf62a23
ioBroker.javascript uses this.socket.subscribeObject('script.*', this.onScriptsChanged); to subscribe to all scripts. Looks like this is not working with the latest version 2.4.3 (or >=2.4.0)
Reported here https://forum.iobroker.net/topic/73946/javascript-adapter-8-0-0
mkleine@iobroker-dev:~/ioBroker.javascript/src$ npm ls @iobroker/socket-client
<EMAIL_ADDRESS>/home/mkleine/ioBroker.javascript/src
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>

Older version is working
Added an override (and package "@iobroker/adapter-react-v5": "~4.10.4" to src solves the problem:
    "overrides": {
        "@iobroker/adapter-react-v5": {
          "@iobroker/socket-client": "~2.3.16"
        }
    },

mkleine@iobroker-dev:~/ioBroker.javascript/src$ npm ls @iobroker/socket-client
<EMAIL_ADDRESS>/home/mkleine/ioBroker.javascript/src
└─┬<EMAIL_ADDRESS>overridden
  └──<EMAIL_ADDRESS>overridden

toSubscribe has always a length of 0 (never filled)
https://github.com/ioBroker/socket-client/blob/5d7f0f4fc5207e6018c1fd9f84c6bb9ccaf62a23/src/Connection.ts#L802-L818

Looks like @iobroker/adapter-react-v5 src/LegacyConnection.js had the same problem some month ago:
https://github.com/ioBroker/adapter-react-v5/commit/22454112efadc1a8d21427aa34afabb30926b053

@klein0r Thank you for investigation


Is there any way to flush GPU memory in TF 2.0?

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):

`
BATCH_SIZE = 64
for j, (train_indices, val_indices) in enumerate(kf.split(datos_random)):
fold_dir = f'fold_{j}'
if not os.path.exists(fold_dir):
os.mkdir(fold_dir)
train = datos.iloc[train_indices]
val = datos.iloc[val_indices]
metrics = ['accuracy']
model = build_model(DROPOUT, FC_LAYERS, num_classes=NUM_CLASSES, opt=OPT, metrics=metrics)
train_datagen =  keras.preprocessing.image.ImageDataGenerator(
    preprocessing_function=preprocess_input,
    horizontal_flip=True,
    vertical_flip=True,
    fill_mode='constant'

)

val_datagen = keras.preprocessing.image.ImageDataGenerator(
    preprocessing_function=preprocess_input,
)

train_generator = train_datagen.flow_from_dataframe(
                                      train,
                                      None,
                                      x_col='file',
                                      target_size=(WIDTH, HEIGHT),
                                      y_col=f'Class_cat_{NUM_CLASSES}',
                                      batch_size=BATCH_SIZE,
                                      seed=SEED,
                                      has_ext=True,class_mode='categorical')

validation_generator = val_datagen.flow_from_dataframe(val,
                                      None,
                                      x_col='file',
                                      target_size=(WIDTH, HEIGHT),
                                      y_col=f'Class_cat_{NUM_CLASSES}',
                                      batch_size=BATCH_SIZE,
                                      seed=SEED,
                                      has_ext=True,class_mode='categorical')

class_list = list(test_generator.class_indices.keys())

history = model.fit_generator(train_generator,
                    epochs=EPOCHS,
                    workers=16,
                    shuffle=True,
                    verbose=1,
                    steps_per_epoch=len(train_indices) / BATCH_SIZE,
                    validation_data=validation_generator,
                    validation_steps=len(val_indices) / BATCH_SIZE

`

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v1.12.0-9492-g2c319fb415 2.0.0-alpha0
Python version: 3.6
CUDA/cuDNN version: 10.1
GPU model and memory: Titan V, Driver 418.67

Describe the current behavior
Model trains good for the first 3-5 folds but it eventually returns a out of memory error.
I've tried deleting the model the end of each iteration also using  keras.backend.clear_session() and allow_growth with no avail. I'm also using my second GPU not the Titan V used for display, its alos weird that the error occurs in GPU:0 but I'm using GPU 1  os.environ["CUDA_VISIBLE_DEVICES"]="1";
Describe the expected behavior
Need to flush GPU data at each iteration so it won't run out of memory
Other info / logs
`---------------------------------------------------------------------------
ResourceExhaustedError                    Traceback (most recent call last)
 in
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
1513         shuffle=shuffle,
1514         initial_epoch=initial_epoch,
-> 1515         steps_name='steps_per_epoch')
1516
1517   def evaluate_generator(self,
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_generator.py in model_iteration(model, data, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch, mode, batch_size, steps_name, **kwargs)
255
256       is_deferred = not model._is_compiled
--> 257       batch_outs = batch_function(*batch_data)
258       if not isinstance(batch_outs, list):
259         batch_outs = [batch_outs]
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in train_on_batch(self, x, y, sample_weight, class_weight, reset_metrics)
1257       else:
1258         self._make_fit_function()
-> 1259         outputs = self._fit_function(ins)  # pylint: disable=not-callable
1260
1261     if reset_metrics:
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/keras/backend.py in call(self, inputs)
3215         value = math_ops.cast(value, tensor.dtype)
3216       converted_inputs.append(value)
-> 3217     outputs = self._graph_fn(*converted_inputs)
3218     return nest.pack_sequence_as(self._outputs_structure,
3219                                  [x.numpy() for x in outputs])
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/eager/function.py in call(self, *args, **kwargs)
556       raise TypeError("Keyword arguments {} unknown. Expected {}.".format(
557           list(kwargs.keys()), list(self._arg_keywords)))
--> 558     return self._call_flat(args)
559
560   def _filtered_call(self, args, kwargs):
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/eager/function.py in _call_flat(self, args)
625     # Only need to override the gradient in graph mode and when we have outputs.
626     if context.executing_eagerly() or not self.outputs:
--> 627       outputs = self._inference_function.call(ctx, args)
628     else:
629       self._register_gradient()
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/eager/function.py in call(self, ctx, args)
413             attrs=("executor_type", executor_type,
414                    "config_proto", config),
--> 415             ctx=ctx)
416       # Replace empty list with None
417       outputs = outputs or None
~/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
64     else:
65       message = e.message
---> 66     six.raise_from(core._status_to_exception(e.code, message), None)
67   except TypeError as e:
68     if any(ops._is_keras_symbolic_tensor(x) for x in inputs):
~/anaconda3/envs/tf2/lib/python3.6/site-packages/six.py in raise_from(value, from_value)
ResourceExhaustedError: OOM when allocating tensor with shape[64,64,256,256] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
[[{{node block1_conv2_4/Conv2D}}]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
 [[loss_4/dense_2_loss/categorical_crossentropy/weighted_loss/broadcast_weights/assert_broadcastable/is_valid_shape/else/_45/has_valid_nonscalar_shape/then/_141/has_invalid_dims_0/_44]]

Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
[Op:__inference_keras_scratch_graph_2925097]`

@marcojulioarg Will it be possible to provide us the complete minimal code that replicates the issue. Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Editor database drop-down not the proper size

Issue Type: Bug
The drop-down list of databases on an editor window is a third the size of the field itself.

Azure Data Studio version: azuredatastudio 1.14.1 (f9b968c1ae514a0d1210788629e1c69125857279, 2019-12-24T02:42:26.303Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz (8 x 2904)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.88GB (14.67GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

profiler
Mic
0.11.0

query-history
Mic
0.1.0

schema-compare
Mic
1.1.0

sql-prompt
Red
0.0.2

@wsmelton This should be fixed with https://github.com/microsoft/azuredatastudio/pull/8716 to never be smaller than the input box width. That'll be included in the next stable release (this week hopefully) - or you can try it out on the current insiders build and let us know if you still see issues!
I'm going to close this for now given that - we can reopen it if you're still seeing issues.

I'm on the current insiders build.

That isn't the insiders version - that's the stable release from before this fix was made.
You can install the insiders builds from here : https://github.com/microsoft/azuredatastudio#try-out-the-latest-insiders-build-from-master


Guides example code has incorrect import path for django-orm submodule

The guides use 'oauth2client.django_orm' instead of the latest 'oauth2client.contrib.django_orm' see docs

Additionally the link to the sample page on the guide page is invalid

@waprin can you take a look?

@waprin friendly bump.

Looks like @adpowers did me a favor and did this.

I think the path is out of date again (as of oauth2client==3.0.0).
Updated path should be oauth2client.contrib.django_util.models.


how to get MS-Celeb-1M data set

Does anyone have a download link to this dataset, or is there any good way to get this datase. I only need the MS-Celeb-1M Low-Shot part.

Does anyone have a download link to this dataset, or is there any good way to get this datase. I only need the MS-Celeb-1M Low-Shot part.

Hi, you can find the download link of MS-Celeb-1M in Sec. Data Zoo of face.evoLVe.

Hi, thanks, but I have one more question. I found 2 data sets of MS-Celeb-1M  in Data Zoo (Clean / Align_112x112). I want to do a small sample study, and the MS-Celeb-1M lowshot learning data set is what I needed. Is this part of the data set contained here, and which one should I download？

Hi, thanks, but I have one more question. I found 2 data sets of MS-Celeb-1M in Data Zoo (Clean / Align_112x112). I want to do a small sample study, and the MS-Celeb-1M lowshot learning data set is what I needed. Is this part of the data set contained here, and which one should I download？

Hi, for your case, please check this Baidu Drive: https://pan.baidu.com/s/1H8Ai7qJGmKJzGZJIW03A8w, pw: ppkr

Hi, Zhao, thank you very much for the data set you provided me. I have read your paper for detail, and I know that the Low-Shot data set has training sets and validation sets.

Low-Shot training set contains two subsets: Base set and Novel set. Base set contains 20k identities with 50 to 70 images for each.  Novel set contains 1k identities with only 1 image for each.

Low-Shot validation set comprises 5 images for each identity from the Base set and 20 images for each
identity from the Novel set.

The dataset you provided to me is a validation set. I would like to ask if there is a download link for the training set, or the way to get it.

Hey,
Zhao , could you please post the above link again , it has expired and I would like to download the Ms Celeb low shot dataset


Python: rebuilt xml creation and parsing

Motivation and Context

We got a report stating that a empty chat_history between two other params, didn't work, so had to change some things in the way chat_history xml is done, and subsequent improved the parsing, now using xml fully.
Description

Added to_element methods to CMC classes, to_prompt uses that.
Redid the chat_history from_prompt method to fully utilize xml parsing.
Added chat_history tags to detect an empty chatHistory in a prompt.
Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

Python 3.8 Test Coverage Report • FileStmtsMissCoverMissingsemantic_kernel/connectors/ai/open_ai/contents   open_ai_chat_message_content.py37489%41, 57, 75, 77semantic_kernel/contents   chat_history.py116992%112, 236–237, 268–270, 282–284TOTAL5368100481%
Python 3.8 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1199
12 :zzz:
0 :x:
0 :fire:
21.946s :stopwatch:


How to set a profile pic?

Hey guys,
Can anyone pls share code example of how to set profile picture?
I've tried to use ig.account.changeProfilePicture('path_to_picture') but id didnt worked.

So i guess this method doesn't work anymore
Tried to use this
const rStream = createReadStream('./profile_pic')
await ig.account.changeProfilePicture(rStream).catch(err=>console.log(err))

and I'm getting
IgResponseError: POST /api/v1/accounts/change_profile_picture/ - 400 Bad Request;
Maybe instagram changes something?

Maybe instagram changed something?
This is right. Instagram switched to the fb-uploader (with uploadIds), so the method broke.
You can see the new, working method here on my fork.
If you want to use it now, replace this.client with ig and copy it into your project.

Maybe instagram changed something?

This is right. Instagram switched to the fb-uploader (with uploadIds), so the method broke.
You can see the new, working method here on my fork.
If you want to use it now, replace this.client with ig and copy it into your project.

Awesome, thanks a lot, works perfect :)


trouble (still!) with some syndication urls

bridgy successfully found and used the twitter
and instagram syndication urls for my last two posts, but not the facebook ones.
https://snarfed.org/2015-10-02_15601
https://snarfed.org/2015-10-02_15607
they were originally m.facebook.com urls like this, which it didn't seem to find at all.
https://m.facebook.com/story.php?story_fbid=10101911911520783&id=212038
i later changed them to www links like this, which it found but hasn't actually connected to the responses.
https://www.facebook.com/212038/posts/10101911911520783
i hate facebook.

ugh, now this one too. oddly twitter, not FB.
https://snarfed.org/2015-10-03_15620
https://twitter.com/schnarfed/status/650319290500022272

scratch that, it eventually found the twitter one after all.

i investigated a bit more tonight, and i made some progress, but only some. the right SyndicatedPost entities are created, and the Response entities also looked ok. my current hunch is that it's specific to checkins. another more recent checkin didn't get responses backfed either, even though its syndication links were also found fine: https://www.facebook.com/212038/posts/10101921412066613 , https://snarfed.org/2015-10-08_15773

i think i found it. FB posts with photos are actually (at least) two posts with separate ids, one for the post itsel and one for each photo. we've handled this for a while now by canonicalizing on the photo post id, since the normal post's object_id points to it, but there's no pointer from the photo object back to the post.
that's all fine. however, syndication urls are often the post, not the photo, and we don't canonicalize them all the way back to the photo id, so they don't match. we need to do that...specifically, in a new else clause here.
raw notes:
synd url is post: https://www.facebook.com/212038/posts/10101921412126493
(poll log at bottom)
fb api returns photo: https://www.facebook.com/photo.php?fbid=10101921412066613&set=a.725223993143.2289690.212038&type=3
fb api for post has object_id and link pointing to photo:
https://developers.facebook.com/tools/explorer?method=GET&path=212038_10101921412126493&version=v2.2
  "link": "https://www.facebook.com/photo.php?fbid=10101921412066613&set=a.725223993143.2289690.212038&type=3",
  "object_id": "10101921412066613",

we canonicalize activity id to photo fbid:
https://github.com/snarfed/bridgy/blob/master/facebook.py#L171-L173
https://github.com/snarfed/granary/blob/master/granary/facebook.py#L680
poll that found synd url:
https://www.brid.gy/log?start_time=1444404970&key=aglzfmJyaWQtZ3lyGAsSDEZhY2Vib29rUGFnZSIGMjEyMDM4DA
saving discovered relationship https://www.facebook.com/212038/posts/10101921412126493 -> https://snarfed.org/2015-10-08_15773
discovered relationships {u'https://www.facebook.com/212038/posts/10101921412126493': [SyndicatedPost(key=Key('FacebookPage', '212038', 'SyndicatedPost',<PHONE_NUMBER>529280), created=datetime.datetime(2015, 10, 9, 15, 36, 17, 295480), original=u'https://snarfed.org/2015-10-08_15773', syndication=u'https://www.facebook.com/212038/posts/10101921412126493', updated=datetime.datetime(2015, 10, 9, 15, 36, 17, 295490))]}

cc @dissolve since i know he can commiserate recently about facebook's many different kinds of post urls :P

OPD shows this in its log, so i think canonicalizing to photo post id (ie object_id) should work:
starting posse post discovery with syndicated https://www.facebook.com/212038/posts/10101921412066613

i think i was wrong about the root cause. the datastore actually does have SyndicatedPosts mapping the original posts to the photo object ids, e.g.  https://snarfed.org/2015-10-08_15773 	to https://www.facebook.com/212038/posts/10101921412126493 .
grmph.

scratch that,<PHONE_NUMBER>2126493 is the post id, not the photo id.

more importantly, for photo posts, we currently get a response for the post id and a copy of that response on the photo id...which isn't ideal, but it also totally invalidates my theory that we needed to canonicalize syndication urls further.
i fully implemented that, so i'm going to stash it and include the patch here, and then forget about it.
diff --git a/facebook.py b/facebook.py
index b70070a..ba79829 100644
--- a/facebook.py
+++ b/facebook.py
@@ -35,6 +35,7 @@ from granary.source import SELF
 import models
 import util

+from google.appengine.api import memcache
 from google.appengine.ext import ndb
 from google.appengine.ext.webapp import template
 import webapp2
@@ -221,11 +222,26 @@ class FacebookPage(models.Source):

     parsed = urlparse.urlparse(url)
     params = urlparse.parse_qs(parsed.query)
+    url_id = self.gr_source.post_id(url)
+
     ids = params.get('story_fbid') or params.get('fbid')
     if ids:
       url = post_url(ids[0])
-    elif parsed.path.startswith('/notes/'):
-      url = post_url(parsed.path.split('/')[-1])
+    elif url_id:
+      if parsed.path.startswith('/notes/'):
+        url = post_url(url_id)
+      else:
+        # fetch this post from facebook (or memcache) to see if we should
+        # canonicalize to the object_id. corresponds to canonicalization for
+        # photo objects in get_activities() above.
+        cache_key = 'FO %s' % url_id
+        object_id = memcache.get(cache_key)
+        if object_id is None:
+          post = self.get_post(url_id)
+          object_id = post.get('object', {}).get('fb_object_id', '') if post else ''
+          memcache.set(cache_key, object_id)
+        if object_id:
+          url = post_url(object_id)

     username = self.username or self.inferred_username
     if username:
diff --git a/test/test_facebook.py b/test/test_facebook.py
index b6af8ef..6b28ac4 100644
--- a/test/test_facebook.py
+++ b/test/test_facebook.py
@@ -6,6 +6,7 @@ __author__ = ['Ryan Barrett<EMAIL_ADDRESS> import app
 import copy
 import datetime
+import logging
 import json
 import re
 import urllib
@@ -236,17 +237,32 @@ class FacebookPageTest(testutil.ModelsTest):
     self.assertEquals(400, cm.exception.code)
     self.assertEquals('not json', cm.exception.body)

+  def expect_canonicalize_syndurl_lookups(self, id, return_id):
+    for id in '212038_' + id, id:
+      self.expect_urlopen(
+        'https://graph.facebook.com/v2.2/%s?access_token=my_token' % id,
+        json.dumps({'id': '0', 'object_id': return_id} if return_id else {}))
+
   def test_canonicalize_syndication_url(self):
+    # should look up each object once, then cache it
+    self.expect_canonicalize_syndurl_lookups('314159', '222')
+    for id in 'snarfed.org', '444':
+      self.expect_canonicalize_syndurl_lookups(id, None)
+    self.mox.ReplayAll()
+
     for expected, input in (
-      ('https://www.facebook.com/212038/posts/314159',
+      ('https://www.facebook.com/212038/posts/222',
+       'http://facebook.com/snarfed.org/posts/314159'),
+      # second time should use memcache instead of fetching object from API
+      ('https://www.facebook.com/212038/posts/222',
        'http://facebook.com/snarfed.org/posts/314159'),
       ('https://www.facebook.com/212038/posts/314159',
        'https://facebook.com/snarfed.org/photos.php?fbid=314159'),
       # note. https://github.com/snarfed/bridgy/issues/429
       ('https://www.facebook.com/212038/posts/314159',
        'https://www.facebook.com/notes/ryan-b/title/314159'),
-      ('https://www.facebook.com/212038/posts/10101299919362973',
-       'https://www.facebook.com/photo.php?fbid=10101299919362973&set=a.995695740593.2393090.212038&type=1&theater'),
+      ('https://www.facebook.com/212038/posts/314159',
+       'https://www.facebook.com/photo.php?fbid=314159&set=a.456.2393090.212038&type=1&theater'),
       ('https://www.facebook.com/212038/posts/314159',
        'https://facebook.com/permalink.php?story_fbid=314159&id=212038'),
       ('https://www.facebook.com/212038/posts/314159',
@@ -255,18 +271,22 @@ class FacebookPageTest(testutil.ModelsTest):
        'https://m.facebook.com/story.php?id=212038&story_fbid=314159'),
       # make sure we don't touch user.name when it appears elsewhere in the url
       ('https://www.facebook.com/25624/posts/snarfed.org',
-       'http://www.facebook.com/25624/posts/snarfed.org')):
+       'http://www.facebook.com/25624/posts/snarfed.org'),
+      ):
+      logging.debug(input)
       self.assertEqual(expected, self.fb.canonicalize_syndication_url(input))

     # username should override inferred username
     self.fb.inferred_username = 'mr-disguise'
-    url = 'https://www.facebook.com/mr-disguise/posts/314159'
-    self.assertEqual(url, self.fb.canonicalize_syndication_url(url))
+    self.assertEqual('https://www.facebook.com/mr-disguise/posts/444',
+                     self.fb.canonicalize_syndication_url(
+                       'https://www.facebook.com/mr-disguise/posts/444'))

     # if no username, fall through
     self.fb.username = None
-    self.assertEqual('https://www.facebook.com/212038/posts/314159',
-                     self.fb.canonicalize_syndication_url(url))
+    self.assertEqual('https://www.facebook.com/212038/posts/444',
+                     self.fb.canonicalize_syndication_url(
+                       'https://www.facebook.com/mr-disguise/posts/444'))

   def test_photo_syndication_url(self):
     """End to end test with syndication URL with FB object id instead of post id.
@@ -297,6 +317,7 @@ class FacebookPageTest(testutil.ModelsTest):

     self.assertNotIn('222', gr_test_facebook.POST['id'])
     self.assertEquals('222', gr_test_facebook.POST['object_id'])
+    self.expect_canonicalize_syndurl_lookups('222', '222')
     self.expect_requests_get('http://my.orig/post', """

@@ -332,6 +353,8 @@ class FacebookPageTest(testutil.ModelsTest):
     self.assertIsNone(fb.key.get().inferred_username)

     # should infer username
+    self.expect_canonicalize_syndurl_lookups('123', '123')
+    self.mox.ReplayAll()
     syndpost = models.SyndicatedPost.insert(
       self.fb, original='http://fin.al',
       syndication='http://facebook.com/fooey/posts/123')

ok, maybe i have it this time. it's true that we don't canonicalize syndication urls to photo id. the key additiona point is that we canonicalize Response.activity_json.url and .id to photo id, but not Response.key.id. that misled me at first. (it's also why we have duplicate responses.)
ok, so maybe we go with this patch after all, and also canonicalize Response.key.id to de-dupe responses. off to try that now.

goddammit. that worked, but all the old responses came through with people's names as Bridgy Response. i hate facebook.

inexplicable. those responses' markup is the same as responses that worked; only ids and the actual name differed. i'm going to ignore this for now.
diff<PHONE_NUMBER>6940043.html<PHONE_NUMBER>9088923_10101009518683263.html
24c24
<   tag:facebook.com,2013:10101911886940043_liked_by_10152298133881113
---
>   tag:facebook.com,2013:10101913589088923_liked_by_10101009518683263
29,30c29,30
<
Kristina Lillie

<
---
>
Edward Requenez

>
33c33
<
likes this.

---
>
likes this.

42,43c42,43
<
<
---
>
>

note to self : also need to skip non-facebook.com URLs in FacebookPage.canonicalize_syndication_urls.

ok. i think this is all done except de-duping the Response key ids, and i think that will be easier to do during #404, so i'm going to close this. i think. fingers crossed! :beers: :sleeping:

reopening. this introduces a lot of extra serial FB API calls for sites that regularly syndicate to FB.  the memcaching helps, but only until the cache entries expire, which is currently every 6h or so. e.g. this poll spend ~60s on 230 (!) serial FB object fetches. 2 per syndication link, so evidently 115 syndication links. yow.

options:

drop this feature. not ideal, obviously.
store resolved object_ids in the datastore
store both pre- and post-resolve syndication urls in SyndicatedPosts, and only resolve ones we haven't seen before
...?

most of these depend on facebook ids being immutable once they're allocated to posts and associated between them, which i'm going to blindly assume is true.

worth noting: those 230 fetches were all during reprocessing old responses. so if we had kept fb_object_id in the pruned activities, we could have used that to avoid them.

next TODO: handle and ignore 4xxes from the FB object fetch.

woo, finally got the caching working. i think i can finally close this now. yay.

reopening. :/ @aaronpk's most recent photo post id has a colon in it, which we don't handle here yet. detials on colon ids in #305.
example FB post URLs:

https://www.facebook.com/aaronpk/posts/10102229448035176:0  (his syndication URL)
https://www.facebook.com/11500459/posts/10102229448035176:0  (our normalized syndication URL)
https://www.facebook.com/photo.php?fbid=10102229448035176&set=a.508859459516.2102581.11500459&type=3   (photo object)

original post: http://aaronparecki.com/notes/2015/10/23/1/mrpukey

haha sorry!


MIC-98 referral/additional-information screen

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

Project coverage is 71.34%. Comparing base (cd887ab) to head (4676c43).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #52      +/-   ##
==========================================
+ Coverage   70.72%   71.34%   +0.61%
==========================================
  Files          80       83       +3
  Lines        1206     1232      +26
  Branches      197      199       +2
==========================================
+ Hits          853      879      +26
  Misses        342      342
  Partials       11       11

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


Button height constant when "v-button.floating-action" is used.

Hi,
When the theme font size($v-font-size) is enlarged; Despite the growth of the other buttons, the floating buttons remain small. Would not it be better to use 'v-unit-size' for 'v-button.floating-action'?

I agree maybe ~ v-unit-size * 2 will do gotta do some testing here

Thank you again for reporting this issue! Can you (again) confirm that is was fixed in version 1.1.7 😁?

Thank you so much, it's been so beautiful

I'm sorry to notice late. I think the button and the icon should be in different widths. In this case, the SVG icons cover the entire button.


p8: move suspended flag

This moves the suspended flag from AccountInfo to AccountStakingInfo.Baker.
Purpose
Reflect that the the suspended flag is associated to validators, not the account.
Changes
see above.
Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[x] (If necessary) I have updated the CHANGELOG.

CLA acceptance
_Remove if not applicable.
By submitting the contribution I accept the terms and conditions of the
Contributor License Agreement v1.0

link: https://developers.concordium.com/CLAs/Contributor-License-Agreement-v1.0.pdf

[x] I accept the above linked CLA.

This is not a backwards compatible change. But I'm not sure how much this matters as this was never released.


Registration

@JuliaRegistrator register
Release notes:
Initial release.

Registration pull request created: JuliaRegistries/General/110936
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" f6df141056a405d596d0fade87eb986bab9f1280
git push origin v0.1.0


agent0: cleanly exit trade loop

The pattern we've been using is to raise a special error and catch it. This avoids needing the extra return statement & check, and allows you to initiate the error at any point in the pipeline. We haven't ported any errors into agent0 yet, but you can see how we used to define them in elfpy: https://github.com/delvtech/elf-simulations/blob/main/lib/elfpy/elfpy/errors/errors.py
and how we define them in ethpy: https://github.com/delvtech/elf-simulations/blob/main/lib/ethpy/ethpy/base/errors/types.py
Can you follow this pattern, such that whenever you would set exit_flag=True you instead raise an "AgentFinished" exception? You can then catch this in the outer loop.
Another minor thing, it looks like you have this pattern:
try:
  # a thing
except SomeError:
  # special thing for SomeError
except AllErrors:
  # do something else

This might work, I'm not sure, but it seems like a bad practice in general. We're already breaking protocol with the except Exception line. Does it make more sense for you to rework it so that you only have one except clause?
try:
  # a thing
except Exception as exc:
  if exc is SomeError:
    # special thing for SomeError
  else:
    # do something else

I need the code to stop, so I can go on to do other stuff in my scripts. Returning an empty list continues the trade loop forever. I didn't think of using an Exception to signal an end. Perhaps we should have an "I am done trading" flag? Seems better than an exception, as multiple agents may signal they're each done trading, but we may want to wait until they all signal that, before ending the trade loop. It feels like using while True isn't ideal. It also means you can't return variables from run_agents which I was actually just trying to do yesterday, to avoid having to run setup_experiments twice so I can access the generated return outputs, which seems like something we generally shouldn't do, as it includes logging setup and creation of rng objects, among other things.

here's what my flow would look like with a DoneTrading Exception
https://github.com/wakamex/elf-simulations/pull/23
agreed just parsing my indexerror as "ran out of trades" is not good, so should have something clearer

that DoneTrading exception looks good. Would it make sense to pass the agent address in the error message so that you can parse who was done trading? Then you can track it and exit the loop once all agents are finished.
The new API might help you avoid running setup_experiments twice, lets revisit once that lands.


Add support for video recording

Closes #4
I've included a new example which just records 20 frames of MJPEG video which doubles as an integration test. That example could be padded out by adding an option for number of frames capture, etc.

Thank you for the PR!
Everything looks great, except that enum is not really fit for representing flags (i.e. you can't concatenante two different flags). I know that libcamera currently has only two values for ReuseFlag and this works for now, but it would be a breaking API change to add more flags in the future.
Could you implement this using bitflags crate? I'm open to suggestions if you think something else would be better.

I've reimplemented the enum using bitflags - agreed it's the correct way forwards. Couple of review questions:

I pass the rust bitflags to the C api just by casting them to u32 using bitflags::bits(). This compiles fine, but it now seems redundant duplicating the flags in the C api, as the C api type is only being used as a fancy wrapper around an integer. Is there a better way to implement it than the way I've done?

I've gone with SCREAMING_SNAKE_CASE for the flag variants as they are const values. I wonder if PascalCase would read better or if it's best to stick with what we've got.

I've reimplemented the enum using bitflags - agreed it's the correct way forwards. Couple of review questions:

I pass the rust bitflags to the C api just by casting them to u32 using bitflags::bits(). This compiles fine, but it now seems redundant duplicating the flags in the C api, as the C api type is only being used as a fancy wrapper around an integer. Is there a better way to implement it than the way I've done?

I think it's OK. C wrapper already has some redudant enums that are not used. The initial plan was to make C wrapper an official C API for libcamera, but it's too much work in terms of API coverage and documentation. Maybe we can replace it with cxx one day, like it was done in https://github.com/dennisss/libcamera-rs. Unless, libcamera gets an official C API we could use.

I've gone with SCREAMING_SNAKE_CASE for the flag variants as they are const values. I wonder if PascalCase would read better or if it's best to stick with what we've got

PascalCase would require rustfmt exceptions, let's just stick to the standard


fix blackfire repo

The key for the Blackfire repo have changed. This PR update it.
https://blackfire.io/docs/up-and-running/installation

Thanks!


feat: introduce basic functonality

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: #1
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
Build initial version of auro-sidenav
Type of change:
Please delete options that are not relevant.

[x] New capability

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Result table, Evidence column: Record names not showing up.

Looking at a bunch of indicators on QA Jenny and TolaData Demo, and am not seeing the record names displayed as expected. The rule according to ticket #808 (see section 5.3) is that if there is a record name, it should be displayed in the Evidence column.
Here's what i see in the result table -- note the URLS in the evidence column:

Each of those evidence links actually has a corresponding Record name. For instance:

Do we see the record name instead of the URL? (I thought we were just showing the URL)

d192414 should fix this.
My local:

Throwing out a flag: there are some edges where the "Evidence Name" might contain only nonprinting characters so it would look like there's no link. It looks like the form validation checks for fields that contain only spaces and submit them as [empty], I couldn't replicate that edge in my spot checks

Results with names, now show a name and not the URL, regardless


Feat/upgrade nodejs

UPDATES

update Github Actions actions/checkout@v2 to v4
substitute set-output for >> $GITHUB_OUTPUT

reference https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

upgrade NodeJS 16 to 20

Thanks @trombini77 going to give it a test run and I'll make a release tag for it soon.


Math magicians app(Components)

In this milestone I did the following:

Create a Calculator component
Write a markup for the calculator interface
Add basic styling to the calculator interface

Hi @edubew,
While you made a great effort in this project, I cannot proceed to review your code.
Invalid Code Review Request
Kindly use the correct readme template with all the headers and ensure all the headers are properly linked
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

DammyShittu

Hello @DammyShittu, I have checked my Readme and confirmed that it is indeed the latest version. My current ReadMe file lacks just one header- FAQ, which is optional according to the template example.
I will appreciate it if you could point to exactly what I missed in my ReadMe so that I correct it.
Thank you☺


laravel-echo-server init can not start

when i run laravel-echo-server init
i get this error:
bash: laravel-echo-server: command not found
anyone who can help me

Ensure that you have installed with the global npm flag.

not work when i try installed global

Did you fix it? I'm geting this


[DO NOT REVIEW] Perf testing module-ified TypeScript compiler, take two

I can't reopen #50765 due to my rebasing, so I'm opening it again so I can test downleveling of const/let.

@typescript-bot perf test this faster

@typescript-bot perf test this faster

@typescript-bot perf test this faster
Now, with let/const removed via babel.

Closing; I've summarized this on https://github.com/microsoft/TypeScript/issues/49332#issuecomment-1251414473.


jit cache key should include device (really, device type)

from jax import device_put, devices, jit
import jax.numpy as np
import numpy as onp

def f(x):
    return np.sum(x)

f0 = jit(f, device=devices()[0])
f1 = jit(f, device=devices()[1])

data = onp.random.rand(10000)

x0 = device_put(data, device=devices()[0])
x1 = device_put(data, device=devices()[1])

print("f on gpu 0:", f0(x0))
print("f on gpu 1:", f1(x1))

As I run this code on my machine, there are errors like this
f on gpu 0: 4949.328
2020-04-15 13:00:27.288577: E external/org_tensorflow/tensorflow/compiler/xla/python/local_client.cc:758] Execution of replica 0 failed: Invalid argument: executable is built for device CUDA:0 of type "GeForce RTX 2080 Ti"; cannot run it on device CUDA:1 of type "Tesla P100-PCIE-16GB"
Traceback (most recent call last):
  File "test3.py", line 21, in <module>
    print("f on gpu 1:", f1(x1))
  File "/usr/local/lib/python3.6/dist-packages/jax/api.py", line 150, in f_jitted
    out = xla.xla_call(flat_fun, *args_flat, device=device, backend=backend)
  File "/usr/local/lib/python3.6/dist-packages/jax/core.py", line 592, in call_bind
    outs = primitive.impl(f, *args, **params)
  File "/usr/local/lib/python3.6/dist-packages/jax/interpreters/xla.py", line 402, in _xla_call_impl
    return compiled_fun(*args)
  File "/usr/local/lib/python3.6/dist-packages/jax/interpreters/xla.py", line 486, in _execute_compiled
    out_bufs = compiled.Execute(input_bufs).destructure()
RuntimeError: Invalid argument: executable is built for device CUDA:0 of type "GeForce RTX 2080 Ti"; cannot run it on device CUDA:1 of type "Tesla P100-PCIE-16GB"

Could you give me some advice?
Originally posted by @caihao in https://github.com/google/jax/issues/1899#issuecomment-614026930

Hi @mattjj
Looks like this issue has been resolved in later versions of JAX. I tried to reproduce this issue with the latest JAX version 0.4.26 on cloud VM with 4 T4 GPUs. But it works without any error now. Please find the below screenshot for reference.

Thank you.


add a request for new project

Insufficient information here, person that raised it no longer with project.


fix:1958 Add filters to graph request on marketplace

Description
Previously the marketplace subgraph did not provide country or category information so filtering was done after fetching of projects from polygon-digital-carbon which did allow filtering. If no project was present in that subgraph then no result would be matched/returned.
Related Ticket
Closes #1958
Notes For QA

Specific pages, components or journeys that might be affected:

[ ] /projects

Relevant preview URLs:

https://carbonmark-git-emc-fix1958-missing-projects-klimadao.vercel.app/projects?country=Myanmar
https://carbonmark-git-emc-fix1958-missing-projects-klimadao.vercel.app/projects?category=Blue Carbon

@jabby09 or @0xtapi this one could use some eyes


[WIP] Introduce BaseAspectV3Resource

Summary
Work In Progress. Not ready for review.
Testing Done
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

Codecov Report
Attention: Patch coverage is 40.35088% with 68 lines in your changes are missing coverage. Please review.

Project coverage is 67.12%. Comparing base (c79500a) to head (30c91ef).
Report is 1 commits behind head on master.

Files
Patch %
Lines

...linkedin/metadata/restli/BaseAspectV3Resource.java
0.00%
43 Missing :warning:

...n/java/com/linkedin/metadata/dao/BaseLocalDAO.java
0.00%
13 Missing :warning:

...in/java/com/linkedin/metadata/dao/BaseReadDAO.java
0.00%
6 Missing :warning:

.../java/com/linkedin/metadata/dao/EbeanLocalDAO.java
70.00%
3 Missing :warning:

...main/java/com/linkedin/metadata/dao/AspectKey.java
0.00%
1 Missing :warning:

...java/com/linkedin/metadata/dao/UrnAspectEntry.java
0.00%
1 Missing :warning:

...m/linkedin/metadata/restli/BaseEntityResource.java
94.44%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #382      +/-   ##
============================================
- Coverage     67.74%   67.12%   -0.62%
- Complexity     1343     1347       +4
============================================
  Files           132      133       +1
  Lines          5276     5335      +59
  Branches        546      554       +8
============================================
+ Hits           3574     3581       +7
- Misses         1484     1534      +50
- Partials        218      220       +2

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


Add indent for nginx.conf

Currently, the generated nginx.conf looks like:
        location ~* ^/session-demo\/?(?<baseuri>.*) {
        set $proxy_upstream_name "sticky-org1-session-demo-80";

        set $namespace      "org1";
        set $ingress_name   "session-demo-test";
        set $service_name   "";

        port_in_redirect off;

        client_max_body_size                    "1m";

        proxy_set_header Host                   $best_http_host;

        # Pass the extracted client certificate to the backend

        # Allow websocket connections
        proxy_set_header                        Upgrade           $http_upgrade;
        proxy_set_header                        Connection        $connection_upgrade;

        proxy_set_header X-Real-IP              $the_real_ip;
        proxy_set_header X-Forwarded-For        $the_real_ip;
        proxy_set_header X-Forwarded-Host       $best_http_host;
        proxy_set_header X-Forwarded-Port       $pass_port;
        proxy_set_header X-Forwarded-Proto      $pass_access_scheme;
        proxy_set_header X-Original-URI         $request_uri;
        proxy_set_header X-Scheme               $pass_access_scheme;

        # mitigate HTTPoxy Vulnerability
        # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
        proxy_set_header Proxy                  "";

        # Custom headers to proxied server

        proxy_connect_timeout                   5s;
        proxy_send_timeout                      60s;
        proxy_read_timeout                      60s;

        proxy_redirect                          off;
        proxy_buffering                         off;
        proxy_buffer_size                       "4k";
        proxy_buffers                           4 "4k";

        proxy_http_version                      1.1;

        proxy_cookie_domain                     off;
        proxy_cookie_path                       off;

        # In case of errors try the next upstream server before returning an error
        proxy_next_upstream                     error timeout invalid_header http_502 http_503 http_504;

        proxy_set_header                        Accept-Encoding     "";

        rewrite /session-demo/(.*) /$1 break;
        rewrite /session-demo / break;
        proxy_pass http://sticky-org1-session-demo-80;
        subs_filter '<head(.*)>' '<head$1><base href="https://$http_host/session-demo/$baseuri">' r;
        subs_filter '<HEAD(.*)>' '<HEAD$1><base href="https://$http_host/session-demo/$baseuri">' r;

        }

The indent is missing, the following looks good.
        location ~* ^/session-demo\/?(?<baseuri>.*) {
            set $proxy_upstream_name "sticky-org1-session-demo-80";

            set $namespace      "org1";
            set $ingress_name   "session-demo-test";
            set $service_name   "";

            port_in_redirect off;

            client_max_body_size                    "1m";

            proxy_set_header Host                   $best_http_host;

            # Pass the extracted client certificate to the backend

            # Allow websocket connections
            proxy_set_header                        Upgrade           $http_upgrade;
            proxy_set_header                        Connection        $connection_upgrade;

            proxy_set_header X-Real-IP              $the_real_ip;
            proxy_set_header X-Forwarded-For        $the_real_ip;
            proxy_set_header X-Forwarded-Host       $best_http_host;
            proxy_set_header X-Forwarded-Port       $pass_port;
            proxy_set_header X-Forwarded-Proto      $pass_access_scheme;
            proxy_set_header X-Original-URI         $request_uri;
            proxy_set_header X-Scheme               $pass_access_scheme;

            # mitigate HTTPoxy Vulnerability
            # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
            proxy_set_header Proxy                  "";

            # Custom headers to proxied server

            proxy_connect_timeout                   5s;
            proxy_send_timeout                      60s;
            proxy_read_timeout                      60s;

            proxy_redirect                          off;
            proxy_buffering                         off;
            proxy_buffer_size                       "4k";
            proxy_buffers                           4 "4k";

            proxy_http_version                      1.1;

            proxy_cookie_domain                     off;
            proxy_cookie_path                       off;

            # In case of errors try the next upstream server before returning an error
            proxy_next_upstream                     error timeout invalid_header http_502 http_503 http_504;

            proxy_set_header                        Accept-Encoding     "";

            rewrite /session-demo/(.*) /$1 break;
            rewrite /session-demo / break;
            proxy_pass http://sticky-org1-session-demo-80;
            subs_filter '<head(.*)>' '<head$1><base href="https://$http_host/session-demo/$baseuri">' r;
            subs_filter '<HEAD(.*)>' '<HEAD$1><base href="https://$http_host/session-demo/$baseuri">' r;

        }

This change is

Coverage increased (+0.02%) to 43.613% when pulling aa042727671ead911c01323c33f86b8ae3cee166 on danielqsj:add-indent into ae44d8ec05ca965368bd1d3698ae50fc820eebcf on kubernetes:master.

Coverage increased (+0.02%) to 43.613% when pulling e9a14cbe97cf5971ed2d091271990f46854bc543 on danielqsj:add-indent into ae44d8ec05ca965368bd1d3698ae50fc820eebcf on kubernetes:master.

/lgtm

@danielqsj thanks!


[ISSUE #4521] Updated the 'Errors' class name and its occurances

Fixes #4521
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

@pandaapo Please review my PR and suggest changes if there exists any.

Duplicate with https://github.com/apache/eventmesh/issues/4501.
https://github.com/Pil0tXia/eventmesh/blob/pil0txia_feat_4501/eventmesh-admin/src/main/java/org/apache/eventmesh/admin/enums/Status.java

As my old commit PR was being tagged Duplicate by @Pil0tXia. I have changed the class name to 'Test'.
My new commit is all free from any duplication from any previous PRs.
@pandaapo Kindly take a look at it

@pandaapo i used the class name 'Status' in my last commit with was tagged as Duplicate by @Pil0tXia. If you allow me i can rollback to the previous version of the commit.

Am i allowed to do it @pandaapo ?

The usage of this exception enumeration class has already undergone some changes in my development branch. Renaming it based on the existing master branch would make it difficult to merge my branch. If you want this issue to be fixed as soon as possible, I can submit a portion of the code first. If you're not in a hurry, you can see these changes in PR #4501. @pandaapo

这个异常枚举类的用法在我的开发分支中已经发生了一些改变，根据现有的master分支进行重命名，会导致我的分支合入困难。如果您希望这个问题被尽快修复，我可以先提交一部分代码。如果您不着急的话，您会在 #4501 的PR中见到这些更改。

@pandaapo I have done all the changes. Please review my PR

@Asymtode712 Hi, welcome. I'm sorry, but the changes you're making conflict significantly with my development work. You might want to consider working on a different good first issue. Additionally, editing code in this way using GitHub's online editor is not recommended. It's better to use an IDE that supports the Java language for code refactoring.

@Pil0tXia I have discovered all the occurences using VS Code only. I have just replaced them using Github's editor.

@Asymtode712 I'm sorry that this PR doesn't correspond with EventMeshAdmin's development plan and it conflicts a lot. I'm the author of eventmesh-admin and this module is under active development. If you can try another good first issue, I'd be happy to review it for you. Again, my apologies.

Apologies @Pil0tXia, but i would like to hear from @pandaapo once


Small improvements

Added OS League Tools button to export dialog
import/ export dialogs appear over the plugin panel (better compatibility with multiple monitors)
Improved handling of empty input when importing task data
Decoupled filters from specific task types
Changed task list tabs to use JTabbedPane (button images removed)

I went through a sample merge of this and the current varbit-refactor branch. It was all very straightforward so there's no concerns with merging this as soon as your comments are resolved.


Vue-Router

IMO we should use both SPA and MPA styles in this project. But we need still to configurate vue-router. What do you think @KamilSupera ? I think we should use API + vue for main template and just django for some others. (Maybe I will try make mobile version later).

What do you mean about mobile version? For me if we have Django like base so router section leave for Django.  Oh but if u want want use vue-router - ok im flex :D

I'm not sure maybe I will add mobile version (to train kotlin) of this app so I will need API to work with. And I think we should do a little both. For example for task / project section we should do vue router + django routing (no history, we have to add url to server as well) and for things like password change we could do normal django forms with crispy. There is also other thing what with login / logout. If we want to add API and axios to make API calls we need authorization so we have to setup login to return JWT token. Anyway we have to make decision what are we gonna do.


Announcement: Moving project to a Github organization

I would like to announce that I will be moving this and some related repos to @golemhq org.
I'm pleased with the feedback the project has got so far and thankful for all the contributions. I want to see it grow to its full potential. This change will help keep things more organized.
Also, I'll be renaming my username shortly after.

Yes, the license will remain the same.

congratulations to the decision :)
few questions though:
will the pypi project stay the same or change as well ?
could you please fix and release webdriver manager before move (#116)?

will the pypi project stay the same or change as well ?

Yes, pypi project will remain the same. In the future I'd like to see if we can drop the "-framework" as in "pip install golem". But we'll see. I'll create a new announcement if that happens.

could you please review and merge and release webdriver manager fix before move (#116)?

Done, thanks for the PR.

It's done.
Clones should update the remote url:
git remote set-url origin https://github.com/golemhq/golem.git
For forks:
git remote set-url upstream https://github.com/golemhq/golem.git
* or the equivalent for SSH.


Fix #7609. Type should not be mutated.

Fix #7609.

/azp run

Rerunning CI to make sure it does not fail

/AzurePipelines run

@sklam thank you for the patch!


Implement & test handling of NaNs in preprocessing with handle_nans decorator

Decorator used everywhere it's necessary in preprocessing.py with appropriate fill values
test_nan.py added with tests for the preprocessing module

Thank you for the PR Henri!
I believe we are not dealing with nan in the correct "Pandas" way.
The rule should be:
If input Pandas Series has some nan at indexes X, output Pandas Series should have the same nan at indexes X.
Preprocessing:
This can be "easily" reached in all preprocessing functions, probably at the exception of phrases. This PR is not necessary then.
Example: remove_diacritics yield
>>> s = pd.Series(["héllo", pd.Na])
>>> hero.remove_diacritics(s)
0. hello
1. (empty space)

Where the Pandas-user expects:
0. hello
1. pd.Na

Representation:
Here we need to deal with such NA values. The problems arises when we pass NA values to scikit learn functions, right?
The first question is:

Is there a way we can pass NA to scikit learn function? If yes we don't even need handle_nan, rather just test_na

If that's not possible, your initial idea was to use a decorator as it might be useful. It keeps the code simple and does two things:

Check and warns if s has NA
Fill NA

Personally, I'm not a fan of the decorator in this case as the processes are a bit hidden. Instead, we can simply have a function: s=_handle_nan(s). We might want to call it more explicitly warn_and_fill_nans or something similar. We need the same number of lines but we gain in clearness as we know exactly at which line the changes are made, we have a better idea of what handle_nan means and also we get some extra information regarding the input and output types.
My proposal is:

With preprocessing function: if na return na`
With representation function:

Check if we cannot pass nan directly to scikitlearn
If not we fillna(), compute and then either fill([], np.nan) or use your previous solution with the copy (we will need to evaluate the faster one)

Add test_na to verify the previously mentioned "rule" is respected

As you already spent quite a large amount of time, if you wish I can take care of this.
P.s I'm sorry this is taking that long. It's surely my fault for not having explained this task properly as well as not having seen the issues initially.

Update the description of issue #86
Also, this task is not our first priority yet, probably #43 is ...

Hi @jbesomi I think we will leave it till Monday and have a quick talk about it then 🚀

Henri and Max, can you please just confirm you want me to take over this?

Yes that would be great 👌