BuddyPress support

I'm opening this issue for open discussion about the planned BuddyPress support in Add-Meta-Tags.
Please, feel free to post your ideas and feedback.

The current plan for AMT v2.9.7 is to have internal support for the generation of metadata for member pages.
If the Extended Profiles component has not been enabled, metadata based on the WordPress user profile will be generated. In fact, this is possibly the only case AMT will be able to generate metadata automatically for user profile pages.
However, in case the Extended Profiles component has been activated, it will be possible to filter and manually insert metadata for the fields you have added to the member profiles.

"…plans to let the admin choose whether Add-Meta-Tags should consider the BuddyPress member pages as the profile pages of the authors of posts…" – good plans. On my site I'm using this plugin:
https://wordpress.org/plugins/bp-blog-author-link/

Hello Hans, thanks for contributing to this discussion. This plugin will be a great help.

Finally, I think an extra template tag will be required as the settings page of v2.9.7 will have an extra selection box, where the user will be able to select the source of the local author profile. This option basically affects the URL that is used wherever a URL to a local author profile is required. The functionality is affected as described in this help section. The template tag should be following this selection.
BTW, I checked the BuddyPress API documentation, but was disappointed to find out there is no such thing yet.. The source code is the only source of information. So, as a starting point I've implemented the basic mechanism that supports the insertion of BP metadata, but, adding any specific meta tags for the various components (even extended user profiles) will take some more time. In the meantime contributions about this are very welcome.
I've started writing a page on the wiki about generating metadata for custom content. There will be a section which will describe how to insert/extend BuddyPress and bbPress metadata. I hope this helps.

I've just sent an email to Boone (BuddyPress core dev) with a link to this ticket. Hopefully he will find a minute to give you some hints...

Thanks, but I really don't mean to waste anyone's time with this. :) Time permitting, I'll be adding more support for the various components in the following weeks/months (starting with member pages and extended profiles). I'll also keep this issue open for possible user contributions.
From what I see, if no BP component is enabled, then the BP member page contains information from some of the WP user profile's fields. I guess this could be supported by AMT out of the box.
On the other hand, metadata support for BP's Extended Profiles component requires more thought about how it should be implemented. Maybe, AMT should contain the necessary code to generate metadata for fields that are commonly found in profiles, such as location, contact info, fields of expertise etc, and also have a map (associative array) which would map the field names AMT supports with the actual field names that are used in a BP installation. The user would just have to override that map and provide AMT with the right associations of the fields.
These are just thoughts. I'll need to get more familiar with BP before proceeding.
George

Nothing around BuddyPress is "waste of time", at least as long as Facebook doesn't make people happy… ;-) What I wrote earlier: if you would like to have access to my BP site pls send an email to keller [at] fusion.ch and I will open an account for you.

Hi all -
@gnotaras There is some documentation on BP's internal APIs on https://codex.buddypress.org, but you are correct that it's incomplete. Sorry about that - it's a large and ongoing project.
If you have implementation questions, and if I could save you some time by pointing you in the right direction, don't hesitate to ping me on this ticket.

Hi @boonebgorges
Thanks for your reply. I've also started using the support forum at buddypress.org and so far my questions have been replied. I'm still finding my way around.
I have no problem checking the source code. It requires some more time, but this is absolutely fine. My only concern about the BP Codex being incomplete is whether this also means that the BP API should not be considered final yet.
Kind Regards,
George

Only a simple idea: at least for me it would be ok to see "Description" from /members (or whatever permalink that page has) in a search engine index for a dynamically generated member page (/members/username). At the moment it's something strange like "@username. active ... username and username are now friends, 17 hours ago …" etc. – same for /activity etc. Other words: would it be possible to "fall back" to the static parent page for dynamically generated BP pages? /members, /activity and /groups are predefined wp pages (/admin.php?page=bp-page-settings) where it's possible to place metadata…

If I understand correctly, wouldn't that lead to duplicate descriptions on the /member/username/ pages? The plan was to use the user's bio (or at least a part of it) as the description that is used in the metadata.
BTW, currently I've noticed that AMT generates some totally unexpected metadata on some BP pages. At first I thought that it was AMT goofing up, but later I realized it really depends on the queried object on each page. There are still some things I haven't figured out about BP yet. The bottom line is that AMT must support BP before the metadata starts making sense. Otherwise any generated metadfata must be filtered out on BP pages.
BTW, I've gathered much of the needed information which will help me implement the metadata generators on member pages. I'll try to do some work tonight.

These "totally unexpected metadata" are the reason why I thought it would be better to show something more meaningful. Yes, if there is some user's bio (description in user profile), that would be perfect – but  if not, site_description is definitely better than "scrambled eggs".

if there is some user's bio (description in user profile), that would be perfect – but if not, site_description is definitely better than "scrambled eggs".

This sounds like a good final fallback description if all else fails.

That's a non-standard field. On a out-of-the-box BP installation that field will definitely not exist.

If the Extended Profiles component is enabled, then apart from the member's full name and avatar, it is impossible for the plugin to guess the fields that are being used. However, I plan to provide a filterable array which contains field_amt_understands => field_actually_used mappings. By default AMT will be able to generate meta tags for some information that is commonly found in profiles. If the fields that are actually used are different than the fields AMT supports, then this could be solved by providing a proper field mapping.
I'd have done some work yesterday, but I realized that the custom content detection mechanism I've implemented has a small problem and needs to be modified. I'll keep you updated about this and I'll most probably make a beta release available once things seem to be working.

Cool. I should have thought about this. If you can show a selector in AMT settings the moment BP is active to choose the xprofile bio field – or whatever AMT should look for – that would be great.

Adding an extra option for specific BP features will need some more thought.. I'm generally hesitant to add options for so specific features, but we'll see if something like that would be required. On the contrary, making such customisations programmatically by adding some code in the functions.php file of the theme or in a custom plugin, which is theme agnostic, is the preferred way for maximum flexibility.

Hello Hans,
I'm currently working on the opengraph metadata of BP profiles. If extended profiles are enabled, the following fields will be queried for the user's description: description, bio, about
If one is not found, the, then the generic description Profile of USER_FULL_NAME will be used.
The field list that is queried is part of a field map AMT will be using in order to retrieve the user info, the generation of metadata of which it supports. This map can be overridden by the user to support alt field names.
I'll possibly push a pre-release tonight that will support the description meta tag (and possibly the keywords meta tag based on an interests field) and opengraph metadata. Not sure If I'll be able to work on schema.org today.
Your feedback is welcome.

Hi all,
The alpha release 2.9.7a1 is now available at: http://www.codetrax.org/projects/wp-add-meta-tags/files
In this release, basic, Opengraph and Twitter Cards metadata is generated for BP member profiles. If the Extended Profiles component has not been enabled, user information from the WordPress user profile is used.
If the Extended Profiles component is activated, then metadata is generated based on field mappings of the form:
field_amt_understands => array_of_possible_fields__which_are_actually_used

Actual function at the time of writing:
function amt_buddypress_get_xprofile_field_map() {
    $xprofile_field_map = array(
        'description'       => array('description', 'bio', 'about'),
        'keywords'          => array('keywords', 'skills', 'interests'),    // TODO: Future: add group names?
        'first_name'        => array('first name'),
        'last_name'         => array('last name'),
        'gender'            => array('gender', 'sex'),
    );
    return apply_filters( 'amt_buddypress_xprofile_field_map', $xprofile_field_map );
}

The above mappings can be overridden by attaching a filtering function to the amt_buddypress_xprofile_field_map filter hook.
The Basic metadata generator generates a description meta tag and a keyword meta tag (only via a field mapping in extended profiles)
The Opengraph metadata is almost complete. Meta tags that are missing:

fb:profile_id (still needs some thought)
og:see_also (Perhaps add Facebook, Twitter, Google+ profile URLs from AMT fields of the WordPress user profile as 'og:see_also' meta tags)
profile:gender (Will be supported in extended profile only via field mapping)
profile:username (No plans for it)

The Twitter Cards generator generates a basic card for now.
Currently no Dublin Core and no Schema.org metadata.
Instructions how to use:

Enable the BuddyPress support in the plugin settings.
(optional) Set the new option about the source of local author profiles to BuddyPress.
(optional) Use the amt_local_author_profile_url() template tag to generate a URL to the post author's profile based on the selection of the source of local profiles.

Please report any issues.
The generators for the missing metadata will be implemented at a slow pace during the upcoming weeks and new pre-release versions will be announced here.
Big thanks to all for the help so far.
George

Last but not least, please feel free to customize the generated BuddyPress metadata and post your customizations. Thanks.

I've released 2.9.7a2 which fixes several issues. Opengraph support is now complete (with the exception of fb:profile_id, which still needs more thought).

Noticed that there is a problem with the display of a BP user's profile, if the Schema.org microdata generator is enabled. More investigation is required. Please use these alpha releases in testing environments.

I've released 2.9.7a3 which fixes the aforementioned issue with the display of the BP user profile if Schema.org microdata is enabled.
This a3 release also adds basic support for Schema.org microdata & json+ld for BP user profiles.
The schema.org generators will support more fields in future releases and also the visibility of the fields will be taken into consideration.
Your feedback is welcome.

The first beta release 2.9.7b1 is out.

The stable 2.9.7 release is out.
Currently, the plugin does not support the customization of the content of the title HTML element of BP profile pages, so the title generated by BP (in fact this is the blog's name!) is still used as is. Future releases will add title customization support and also extend the Schema.org generators.
Feel free to post your feedback and customizations.
George

Beta version 2.9.8b1 containing various fixes and additions has been released.
Some of the changes:

The public profile URL is now generated taking into account BP's profile slug.
The privacy settings are now checked on a per field basis.
The schema.org generators have been updated. More fields are supported. (Please check the 'field map' in the linked wiki page below for more info)

The documentation on the wiki has been updated:
http://www.codetrax.org/projects/wp-add-meta-tags/wiki/Custom_Content#Metadata-for-BuddyPress
Your feedback is welcome.
George

we got some fatal errors…
…you have access to the log in Dashboard of lerngruppen.net
--
HansRuedi Keller, Haldenstr. 28, 8904 Aesch ZH, Switzerland, +41 79 716 11 11

Am 28.11.2015 um 12:44 schrieb George Notaras<EMAIL_ADDRESS>Beta version 2.9.8b1 containing various fixes and additions has been released.
Some of the changes:
The public profile URL is now generated taking into account BP's profile slug.
The privacy settings are now checked on a per field basis.
The schema.org generators have been updated. More fields are supported. (Please check the 'field map' in the linked wiki page below for more info)
The documentation on the wiki has been updated:
http://www.codetrax.org/projects/wp-add-meta-tags/wiki/Custom_Content#Metadata-for-BuddyPress
Your feedback is welcome.
George
—
Reply to this email directly or view it on GitHub.

Hans, I've just released 2.9.8b2 which fixes this issue. I was not aware bp_get_profile_slug() was such a recent addition.
George

I'll now remove the needs-feedback tag from this issue, since no additional metadata support is planned for the time being (v2.9.10 at the time of writing).
However, improvements of the profile metadata will take place as needed. Your feedback is welcome.
George


Dynamic client-side pagination does not work if count is not set

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Assuming that my Component class has a limit property which holds a number representing the amount of rows that I want to display (as a limit per page). This value can change.
Current behavior
If I set only: [limit]="limit" then the pagination will not work.
If I set: [limit]="limit" and [count]="limit" then the pagination will work as expected (so limit rows per page).
Expected behavior
[count] is supposed to be The total count of all rows. so I don't understand why I need to bind it to limit instead of the total amount of rows.

Table version: ^10.2.1

Angular version: ^4.3.6"

@ShinDarth Do you have external paging turned on? External paging requires count to be set.

@ShinDarth Also, do you have scrollbarV set to true?

@wizarrc I don't have externalPaging set. As I said, this is about client-side paging. Now that you mentioned, I tested also the server side rendering and that is not affected by this bug.
I haven't set scrollbarV so I'm using its default value.

@ShinDarth I can't reproduce it. http://plnkr.co/edit/2X96Y1PJKAJM3lolcy2s?p=preview
Can you show me how it doesn't work?

in my case I assign [limit] to a variable that the user can change instead of a fixed number, just that

I am able to reproduce the problem and updated the link
This is a bug for sure!

@ShinDarth Found the bug in the code, submitted PR, now we wait. 😀 Cheers!

Accepted and published :)

@wizarrc @amcdnl thanks a lot!

That was quick!


jruby: <IP_ADDRESS> -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/jruby/versions.
meta.description for jruby is: "Ruby interpreter written in Java"
meta.homepage for jruby is: "http://jruby.org/"
meta.changelog for jruby is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/rake had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/gem had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/.jruby.bash-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/bundler had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/lock_jars had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/.dev_mode.java_opts had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/irb had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/install_doc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/.jruby.java_opts had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/rdoc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/.jruby.module_opts had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/jirb had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/racc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/ruby had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/jgem had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/.jruby-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/jruby had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/ri had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/jrubyc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/ast had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/bundle had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/jirb_swing had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin/jruby.bash had a zero exit code or showed the expected version
0 of 23 passed binary check by having a zero exit code.
0 of 23 passed binary check by having the new version present in output.
found <IP_ADDRESS> with grep in /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>

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

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
jruby

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>
ls -la /nix/store/1xzk90c440772fcymnha6smrm42ddc3k-jruby-<IP_ADDRESS>/bin

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

1 package built:

jruby

Maintainer pings
cc @fzakaria for testing.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
Result of nixpkgs-review pr 165893 run on x86_64-linux 1

1 package built:

jruby


Add demo site into manifest.json

Hi, I would like to use the signer on this demo app please https://casper.onrender.com/
Thanks in advance.

Hi @gRoussac ,
Any new integrations would have to go through Casper Association review and approval. Could you follow the approval process defined here to submit the integration request, please? We will take the request forward from there.
Also, please close this PR. Any questions, please feel free to revert.


[YUNIKONR-706] Fix the resource calculation when the pod has init-containers

What is this PR for?
Original function will miss initcontainers requirement in podspec when pod has initcontainers and containers.
The reason is that resources calculation function only check resources requirement of containers in pod.
I modify resource calculation in task which use function in common package to confirm it.
What type of PR is it?

[x] - Bug Fix
[ ] - Improvement
[ ] - Feature
[ ] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/YUNIKORN-706
How should this be tested?
I add test case to check calculation correctly.
Use make test to check.
Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

Looking at the code and the tests I think there is a problem with the calculation.
This is the base you gave:
	// pod
	// initcontainers
	// IC1{500mi, 1000m, 1}
	// IC2{1024mi, 2000m, 4}
	// containers
	// C1{4096mi, 2000m, 2}
	// C2{1024mi, 5000m, 2}
	// result is {4096mi, 5000m, 5}

There is a three step process:

Get the maximum for the init containers. They real serially which means that I just need to make sure that I can accomodate the largest request for each resource type.
That gives me in this case cpu: 1024mi, memory 2000m and gpu 4. In this specific case it all maps to IC2. IC1 has all types smaller than IC2.
Get the maximum usage for the real containers. They run in parallel which means I need to sum up all the resources used for all containers.
The total usage of all regular containers is:  cpu: 5120mi, memory 7000m and gpu 4.
Calculate the maximum number of resources needed in the startup phase for the init containers and the normal process:

init cpu: 1024mi, normal cpu: 5120mi --> cpu: 5120mi
init memory 2000m, normal memory 7000m --> memory 7000m
init gpu 4, normal gpu 4 --> gpu 4

The request for this specific pod passed on by the shim to the core is cpu: 5120mi, memory 7000m, gpu 4
If for example the init container IC2 would request 10000m for memory and 0 (zero) gpu the request would become: 5120mi, memory 10000m, gpu 4. CPU does not change: sum of C1 and C2, memory is now based on IC2 max, gpu remains at 4 as init and regular containers used the same.

Thanks, i will fix it.
Wilfred Spiegelenburg @.***> 於 2021年8月2日 週一 下午7:24寫道：

Looking at the code and the tests I think there is a problem with the
calculation.
This is the base you gave:
// pod
// initcontainers
// IC1{500mi, 1000m, 1}
// IC2{1024mi, 2000m, 4}
// containers
// C1{4096mi, 2000m, 2}
// C2{1024mi, 5000m, 2}
// result is {4096mi, 5000m, 5}
There is a three step process:

Get the maximum for the init containers. They real serially which
means that I just need to make sure that I can accomodate the largest
request for each resource type.
That gives me in this case cpu: 1024mi, memory 2000m and gpu 4. In
this specific case it all maps to IC2. IC1 has all types smaller than IC2.
Get the maximum usage for the real containers. They run in parallel
which means I need to sum up all the resources used for all containers.
The total usage of all regular containers is: cpu: 5120mi, memory
7000m and gpu 4.
Calculate the maximum number of resources needed in the startup
phase for the init containers and the normal process:

init cpu: 1024mi, normal cpu: 5120mi --> cpu: 5120mi
init memory 2000m, normal memory 7000m --> memory 7000m
init gpu 4, normal gpu 4 --> gpu 4
The request for this specific pod passed on by the shim to the core is
cpu: 5120mi, memory 7000m, gpu 4
If for example the init container IC2 would request 10000m for memory and
0 (zero) gpu the request would become: 5120mi, memory 10000m, gpu 4. CPU
does not change: sum of C1 and C2, memory is now based on IC2 max, gpu
remains at 4 as init and regular containers used the same.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-yunikorn-k8shim/pull/281#issuecomment-890948140,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK6DJMDCEY63K6V6J6DFPTTT2Z6ARANCNFSM5AGGMH5A
.


Can't make setFetchPlan() work

Hi,
I have this:
      ODatabaseDocument db = new ODatabaseDocumentTx("remote:localhost/New");
      try {
         db.open("admin", "admin");
         db.command(new OCommandSQL("create class User extends V")).execute();
         db.command(new OCommandSQL("create class Follows extends E")).execute();
         db.getMetadata().getSchema().reload();

         ODocument phoebe = new ODocument("User");
         phoebe.field("name", "phoebe");
         phoebe.save();

         ODocument mike = new ODocument("User");
         mike.field("name", "mike");
         mike.save();

         String phoebeRid = phoebe.getIdentity().toString();
         String mikeRid = mike.getIdentity().toString();

         db.command(new OCommandSQL("create edge Follows from " + phoebeRid + " to " + mikeRid)).execute();

         String query = "select expand(out('Follows')) from " + phoebeRid;

         List<ODocument> resultList = db.query(new OSQLSynchQuery<ODocument>(query).setFetchPlan("*:1"));
         for (ODocument d : resultList) {
            for (String s : d.fieldNames()) {
               System.out.println(s + " : " + d.field(s).getClass());
            }
         }

      } finally {
         db.close();
      }

Output:
name : class java.lang.String
in_Follows : class com.orientechnologies.orient.core.db.record.ridbag.ORidBag

Here I was expecting a String with a JSON instead of ORidBag.
What am I doing wrong?
Thanks,
p.s.
If I execute the following in the studio, it works as expected.
select expand(out('Follows')) from 12:0
fetchplan *:1

It's not an issue: fetch plan on query have the goal to early loading connected records: http://www.orientechnologies.com/docs/last/orientdb.wiki/Fetching-Strategies.html#remote-connection. In your case, instead, you need a json. Use this:
select @this.toJson("fetchplan:*:1") from ( select expand(out('Follows')) from #12:0 )

Look also at: http://www.orientechnologies.com/docs/last/orientdb.wiki/Fetching-Strategies.html#export-a-document-and-its-nested-documents-in-json

@lvca Thank you for always pointing me in the right direction.
Although in toJson I have to define a 2 depth level to get the same results. Why the inconsistency?
select @this.toJson('fetchPlan:in_Follows:2') from (select expand(out('Follows')) from 12:0)

select expand(out('Follows')) from 12:0 fetchplan in_Follows:1

(the two queries above return the "same" results in studio)


Admin API v2 Validation Improvements

We have tested the Admin API v2 and detected a couple of bugs and misbehaviours for input and output streams.
Tasks

[ ] Introduce a JSON Input schema to fix a couple of input bugs and 500's and to clarify expecations
[ ] Optimise responses and fields (output stream)
[x] handle creating posts & authors for integrations short-term
[x] Add /images/ next to /uploads/
[ ] discuss if we want to completely drop /uploads/ for now
[x] /images/ returns relative to path
[ ] Optimise error messages

[ ] follow jsonapi errors format
[ ] ensure we always serve all attributes (consistent format)
[ ] do not change v0.1 error format?

[ ] POST /posts is not redirected to /posts/
[ ] Go through expecations when creating a post with authors

[ ] fallback to owner? stick with requiring authors? fallback to user who created integration? rely on sending emails and fallback to owner if not existend?

[ ] unify how relations are updated? currently you can send whatever you want, id, slug or full object

To be continued 🙂

FYI:
The Admin client currently always sends "updated_at". It is the last time stamp it received from the server from GET.
The collision plugin was pretty simple implemented and won't work anymore if the client does not send "updated_at". In worst case, integrations will update other updates.

possibly changes the output format of /images endpoint to something more future-proof (responds with just a url at the moment)

Current example response to an uploaded image is:
"http://ghost.local/content/images/2019/02/image-1.png"

This format is very unflexible for any future changes because for example, if we decide to return original_url along with current one (resized/optimized image url) there would be no way to do that without breaking current format.
If we replace the current response with following form:
{
    url: 'http://ghost.local/content/images/2019/02/image-1.png'
}

that gives us space for later to add more inforation without breaking change, e.g:
{
    url: 'http://ghost.local/content/images/2019/02/image-1.png',
    original_url: 'http://ghost.local/content/images/2019/02/image-1_o.png'
}

@kirrg001 let me know what you think :thinking:

POST /posts is not redirected to /posts/

POST requests can't be redirected. It's possible we could send a 307 back but I don't know how many clients can actually handle that. My guess is that if POST /posts is not allowed then it should error rather than redirect.

POST requests can't be redirected.

Yeah this task should look at 307 or 404 ✌🏻

Closing. Added the Ignition design bug to the project board.


Type mixup between x (int64) and i (int32)

Trying to use the get_position method on an MPRIS interface, in the example from the README, I get dbus_next.errors.DBusError: property returned unexpected signature "x". This is because the property is typed x, a signed int64, but introspection thinks it is typed i.

The introspection is wrong.
https://specifications.freedesktop.org/mpris-spec/2.2/Player_Interface.html#Property:Position
Position property is supposed to be type x. You have control of what introspection you give to the high level client so you should change it there.


fix(types): nested arrays in LiveTranscriptionEvent

The LiveTranscriptionEvent type specifies that the alternatives and words nested fields are tuples of length 1, when they should be variable length arrays.

Oh, this is a great catch! I'll have a scan through today, there could be more instances of this


[#2242] docs(open-api): Add the open-api for access control

What changes were proposed in this pull request?
Add the open-api for access control.
I tried to merge user_permissions.yaml and group_permissions.yaml. But it throws an error.
Why are the changes needed?
Fix: #2242
Does this PR introduce any user-facing change?
No.
How was this patch tested?
By hand.

@mchades Could you help me review this pull request?

Overall LGTM.

I tried to merge user_permissions.yaml and group_permissions.yaml. But it throws an error.

Can you describe the steps to reproduce it? Or provide detailed error information?

Overall LGTM.

I tried to merge user_permissions.yaml and group_permissions.yaml. But it throws an error.

Can you describe the steps to reproduce it? Or provide detailed error information?

Put them into one file.
[1] ../docs/open-api/user_permissions.yaml:118:5 at #/paths/~1metalakes~1{metalake}~1permissions~1users~1{user}~1revoke/~1metalakes~1{metalake}~1permissions~1groups~1{group}~1grant
Property /metalakes/{metalake}/permissions/groups/{group}/grant is not expected here.
116 |       $ref: "./openapi.yaml#/components/responses/ServerErrorResponse"
117 |
118 | /metalakes/{metalake}/permissions/groups/{group}/grant:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
119 |   parameters:
120 |     - $ref: "./openapi.yaml#/components/parameters/metalake"
referenced from ../docs/open-api/openapi.yaml:138:5 at #/paths/~1metalakes~1{metalake}~1permissions~1users~1{user}~1revoke
Error was generated by the spec rule.
[2] ../docs/open-api/user_permissions.yaml:165:5 at #/paths/~1metalakes~1{metalake}~1permissions~1users~1{user}~1revoke/~1metalakes~1{metalake}~1permissions~1groups~1{group}~1revoke
Property /metalakes/{metalake}/permissions/groups/{group}/revoke is not expected here.
163 |         $ref: "./openapi.yaml#/components/responses/ServerErrorResponse"
164 |
165 | /metalakes/{metalake}/permissions/groups/{group}/revoke:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
166 |   parameters:
167 |     - $ref: "./openapi.yaml#/components/parameters/metalake"
referenced from ../docs/open-api/openapi.yaml:138:5 at #/paths/~1metalakes~1{metalake}~1permissions~1users~1{user}~1revoke
Error was generated by the spec rule.
[3] ../docs/open-api/openapi.yaml:141:5 at #/paths/~1metalakes~1{metalake}~1permissions~1groups~1{group}~1grant
Can't resolve $ref: ENOENT: no such file or directory '/Users/roryqi/Code/gravitino/docs/open-api/users_permissions.yaml'
139 |
140 | /metalakes/{metalake}/permissions/groups/{group}/grant:
141 |   $ref: "./users_permissions.yaml#/paths/~1metalakes~1%7Bmetalake%7D~1permissions~1groups~1%7Bgroup%7D~1grant"
|   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
142 |
143 | /metalakes/{metalake}/permissions/groups/{group}/revoke:
Error was generated by the no-unresolved-refs rule.
[4] ../docs/open-api/openapi.yaml:144:5 at #/paths/~1metalakes~1{metalake}~1permissions~1groups~1{group}~1revoke
Can't resolve $ref: ENOENT: no such file or directory '/Users/roryqi/Code/gravitino/docs/open-api/users_permissions.yaml'
142 |
143 |   /metalakes/{metalake}/permissions/groups/{group}/revoke:
144 |     $ref: "./users_permissions.yaml#/paths/~1metalakes~1%7Bmetalake%7D~1permissions~1groups~1%7Bgroup%7D~1revoke"
|     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
145 |
146 | components:
Error was generated by the no-unresolved-refs rule.

Indentation issue


Trained the model for avengers

Issue Number
ISSUE #9
Describe the changes you've made
The model is trained to identify some of the avengers.

@SanjayMarreddi sir please review it fast as only few days are left for the competition

@SanjayMarreddi sir video recording isn't possible as on the running the script it asks the user to provide the image and from that image it shows whether the trained image is present or not.

@SanjayMarreddi I will update the remaining changes

@SanjayMarreddi I have updated it. Please review it.

@SanjayMarreddi done sir. Please review it.


Render whitespaces  inside the selected block.

It's not intrusive and it's quite useful thing.

Duplicate of #1477


Add Flow Layout types

Not using right now for any of the existing code, but could be handy and should be in there at some point.  Consider also supporting a fancier dynamic-programming style of flow layout based on TeX-like principles:  https://github.com/bramstein/typeset/blob/master/src/linebreak.js

finally got it done.  yes it was a bit of a pain as expected, but useful for tabs.  and fixed some other layout issues in the process.


[BUG]quota runtime caculate error

What happened:
if my request cpu is 100m,  after quota caculate, the rumtime is 1 (1000m), why is not 100m?
Anything else we need to know?:
There is a loss of precision
fsc.quotaTree[resKey].updateRequest(quotaInfo.Name, reqLimitPerKey.Value())
maybe reqLimitPerKey.MilliValue() is valied
Environment:

App version:
Kubernetes version (use kubectl version):
Install details (e.g. helm install args):
Node environment (for koordlet/runtime-proxy issue):

Containerd/Docker version:
OS version:
Kernal version:
Cgroup driver: cgroupfs/systemd

Others:

https://github.com/koordinator-sh/koordinator/pull/675 this pr is to fix the runtime calculate error when the quota's request is  smaller than 1 core.

perfect


[PYTORCH UT] Assertion `!NodePtr->isKnownSentinel()' failed.

Failure in test_torchinductor::test_fuse_large_params_cuda.py
Passing at Nov 3 commit c65f1e62119b467b184e8c61b63274c5091da610, failing at current TOT.
Reproducer: https://gist.github.com/jataylo/a6a4ab855704d7d07e423a607cdeee7c (apologies for the large kernel)
Hardware: MI250X
Full error:
python: /home/runner/work/triton/triton/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:138: llvm::ilist_iterator::reference llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void, false>, false, false>::operator*() const [OptionsT = llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void, false>, IsReverse = false, IsConst = false]: Assertion `!NodePtr->isKnownSentinel()' failed.

cc: @jayfurmanek @zhanglx13

Hey @zhanglx13 are you still planning to take a look at this?
There only appears one UT has the issue, but if it seems like a fundamental issue to you we'd have to get your opinion on whether this may make us unstable or whether we can skip the UT for now and address later.

@jataylo I tried the reproducer on MI300 and it works.
I also tried it on MI250X, it failed because the arch_info cannot be printed.
So I don't think this is a fundamental issue given it works on newer GPUs.

Opened a ticket to LLVM compiler team. It seems a bug in si-lower-sgpr-spills pass.

PR is up on the llvm side: https://github.com/llvm/llvm-project/pull/88828


Can I implement this with InTune compliance policy?

I am looking to limit OneDrive client to sync only from corporate laptops, is there a way to achieve the same goal by using InTune compliance polices?

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

ID: a62d5896-3262-b49f-aeb1-2fe8aceed122
Version Independent ID: bc621edd-c309-1ccb-bfb8-104eae7204fb
Content: Allow syncing only on computers joined to specific domains
Content Source: OneDrive/allow-syncing-only-on-specific-domains.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

@OneTechToFixThemAll
thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Remove react/lib/objectAssign dependency.

It's removed in React 15 - Polyfills like babel adds this.

This fix is important and required to be able to use React 15.x.
fixes: https://github.com/Pomax/react-onclickoutside/issues/79

@thebuilder when you say "Polyfills like babel adds this." do you mean no require is necessary at all, or is a require still necessary, just for a generic not-react library?

This can probably be closed since #80 was merged


Melanie Rees-roberts

Hello everyone! Please use this checklist over the next few weeks as you go through your health data science journey :tada:.

Week 2: Your first repository

[x] 1. Install GitHub desktop and connect it to your GitHub account
[x] 2. Create a public repository and add a readme file
[x] 3. Publish the repository to GitHub
[x] 4. Add a new file in your local repository, commit the file addition, and push it to the remote repository on GitHub
[x] 5. Modify the new file (or the Readme file), commit the change, and push it to the remote repository on GitHub
[x] 6. Comment on this issue with a link to your repository

Week 4: Rmarkdown

[x] 1. Create a new public repository on GitHub Desktop and add a readme file.
[x] 2. Publish the repository to GitHub
[x] 3. Open RStudio and create a new project in an existing directory (the directory of your repository)
[x] 4. Download the file "R_Rstudio_Rmarkdown.Rmd" from the week 4 "Practical: R markdown" section on MyAberdeen and save it in your project
[x] 5. Work through the Rmarkdown file, remembering to commit and push your changes to the remote repository on GitHub
[x] 6. Optional: if you have questions you'd like to discuss with your group members, create issues on GitHub and let them know
[x] 7. Comment on this issue with a link to your new repository

Week 5: Practical: reading data in R

[x] 1. Create a new public repository on GitHub Desktop and add a readme file. This will be the main repository for the R material from this course, so give it a good name :smiley:
[x] 2. Publish the repository to GitHub
[x] 3. Open RStudio and create a new project in an existing directory (the directory of your repository)
[x] 4. Create an appropriate folder structure according to the good coding practices discussed in week 5
[x] 5. Download the data files and Rmarkdown file from the week 5 "Practical: reading data in R" section on MyAberdeen and save them in the appropriate folders in your project
[x] 6. Work through the Rmarkdown file, remembering to commit and push your changes to the remote repository on GitHub
[x] 7. Optional: if you have questions you'd like to discuss with your collaborators, create issues on GitHub and let them know
[x] 8. Comment on this issue with a link to your new repository

Week 6-10: Your project
Now that you have become familiar with GitHub, you can start using it to prepare your report, and get help and feedback from your group members.

[x] Comment on this issue with a link to your report repository

Here is the link to my repository: https://github.com/mr553-kent/Health-data-science-practical-file.git

Well done Melanie! 🥳

Week 5 practical completed. Repository is here: https://github.com/mr553-kent/Week-5-practical---read-in-data.git

Hi @mr553-kent, I can't see your week 5 repository - are you sure it's public?

Hi Dimitra, i have now made it public. It should be at the link above.

Thanks Melanie, I can see it now! Try to put your files in folders according to the good coding practices discussed in the course material. Don't ty to do this on GitHub itself, do it locally on your computer, then commit and "push" your changes to GitHub.

Thanks, i agree! It is good to know that the structure will be pulled up to GitHUb if you name it in local folders first. I saw it kept putting in a million dashes for me!!!

Hi, I have created and started my report repository. The link is here:
https://github.com/mr553-kent/Report-repository-Melanie-Rees-Roberts.git


Random thoughts on the new docker stuff

it does start without hiccups
it feels slower for quick tweaks than the old thing. It's dominated by docker push
it would be nice if the docker push command forwarded its progress bar[^1]
one way to mitigate the push slowness would be a --quick or something that used the last docker image? maybe a bad idea
I kind of don't like using the unix time or whatever it is as the run name. i kind of like the wandb names. Maybe I'm alone in this
--foreground never seems to exit all the way?

[^1]: ChatGPT wrote this for me

```
def run_command_with_live_output(command):
    process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
# Read and print stdout and stderr in real-time
while True:
    output = process.stdout.read(1)
    if output == '' and process.poll() is not None:
        break
    if output:
        sys.stdout.write(output)
        sys.stdout.flush()

while True:
    error_output = process.stderr.read(1)
    if error_output == '' and process.poll() is not None:
        break
    if error_output:
        sys.stderr.write(error_output)
        sys.stderr.flush()

rc = process.poll()
return rc
```

(cc @rjpower I'll keep editing as i figure things out etc.)

Good ideas. Yeah I think docker just wants a pty for the statusbar to show up. We can do something with pty.spawn instead of subprocess.check_output to make that better.
Eyeballing it now, I'd say about half the time is redudant work we do now to setup the repo and VM that we can skip (or just merge some commands together). I thought about doing this before but was running into issues where you change things a little bit and now something is stale. I can probably just add a --force_init_vm flag to help with this.
I agree, I'm a bit scared of adding the "--no_push" flag, but we can definitely do it if needed...

Sent #628 which helps a bit (and adds status!)
Re: not exiting all the way -- yeah, I've had some issues when I try to Ctrl-C out of a run, things don't close down fully. I think the google ssh just interrupts one of the commands? Not sure how to best handle that; we can trap the interrupt and then send a docker stop --kill to force everything closed.
For the push slowness, can you double check you don't have other stuff that's being added to the context? I found ncdu -X .dockerignore is pretty accurate for that. I found I would have stale cache files etc that I was sending on accident and it would really blow things up. You pay the cost for the whole source directory every time, even if you have some big files that don't change. (If there are some big files we want to put in Docker, we just need to add separate COPY lines for them).

I have no attachment to the time for the run name! Happy to use whatever you suggest instead.
Are you're thinking we'd run wandb.init from the launch script and then thread WANDB_NAME and WANDB_RUN_ID through to the container? Or are you just thinking we should have a different way to make a unique run_id value?

no, i'm not sure what's going on. The old scripts would automatically set the runid to a "wandb-esque" 8-letter alphabetic sequence, and the run name would still default to one of the pretty "noble-capybara-86" things that wandb assigned server-side.  (but you could override in config)
Somehow now the run name and the run id are getting set to the time. Run id being set to the time seems fine, but i find it easier to at least temporarily remember what distinguishes noble-capybara from morning-river when I'm iterating quickly

(thanks for the PR! will look, but might be tomorrow night)

Sure, no hurry.
Now that you point it out... I can't figure out what's going on with wandb either. I tried changing the run-id to some alphanumeric stuff but it keeps insisting on using the id as the name. Moving the wandb initialization to launch.py doesn't seem like a bad idea (like we could use env var instead of the jax broadcast if desired), but it kind of bakes it in as a tracker and I'd like to avoid doing it just because I can't figure out how wandb works...
I printed out int args and env vars in case something stands out:
GIT_COMMIT=76232731e71fa3f6d47761f5e923471dcfb45d85
GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
GRPC_VERBOSITY=ERROR
HF_TOKEN=
HOME=/home/levanter
HOSTNAME=t1v-n-b6c32295-w-0
JAX_PLATFORMS=tpu,cpu
LANG=C.UTF-8
LIBTPU_INIT_ARGS=--xla_tpu_impure_oom_fast_exit_threshold=-1
PATH=/opt/levanter/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHONPATH=/opt/levanter:/opt/levanter/src:/opt/levanter/examples:/opt/levanter/tests
PYTHON_GET_PIP_SHA256=dfe9fd5c28dc98b5ac17979a953ea550cec37ae1b47a5116007395bfacff2ab9
PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/dbf0c85f76fb6e1ab42aa672ffca6f0a675d9ee4/public/get-pip.py
PYTHON_PIP_VERSION=23.0.1
PYTHON_SETUPTOOLS_VERSION=65.5.1
PYTHON_VERSION=3.10.14
RAY_CLIENT_MODE=0
RAY_USAGE_STATS_ENABLED=0
RUN_ID=abcde
TENSORSTORE_CURL_LOW_SPEED_LIMIT_BYTES=1024
TENSORSTORE_CURL_LOW_SPEED_TIME_SECONDS=60
TERM=xterm
TF_CPP_MIN_LOG_LEVEL=1
TPU_MIN_LOG_LEVEL=0
TPU_ML_PLATFORM=JAX
TPU_STDERR_LOG_LEVEL=0
TRANSFORMERS_VERBOSITY=error
WANDB_API_KEY=
WANDB_DOCKER=levanter-power
WANDB_ENTITY=wasabi-labs
WANDB_PROJECT=levanter

WANDB init  entity= None  project= levanter  name= None  tags= ['openwebtext', 'llama']  id= abcde  group= None  resume= allow  mode= disabled  config= {'git_commit': '76232731e71fa3f6d47761f5e923471dcfb45d85'}

This seems very erratic. I can reproduce the weird behavior without Docker:
RUN_ID=3abcde123 python src/levanter/main/train_lm.py --config=config/gpt2_nano.yaml --data.cache_dir=gs://wasabi-tpu-training/gpt2-nano/
will sometimes give a nice name, but usually seems to be using the id as the name. I also tried investigating wandb login vs env vars but that doesn't seem to change things. I can just have launch.py create a nice name and feed it to WANDB_NAME if needed.

that's bizarre. maybe something is going on with wandb right now? but the timing is suspicious

oh the wandb mode you logged is disabled (which is by design if you're not grabbing jax.process_index() == 0)

oh the wandb mode you logged is disabled (which is by design if you're not grabbing jax.process_index() == 0)

Ah, yeah I just grabbed a random worker.

that's bizarre. maybe something is going on with wandb right now? but the timing is suspicious

Yeah, I can't figure it out. I've been tracing the flow through wandb_init.py. The display name seems to be generated by their server. If I don't assign a run id, the client will generate one, and then the server will return a nice display name. If I give my own unique name, it blows up. If I copy-and-paste the wandb name and change a character, it's okay.
Maybe it's checking that the name has some specific format (exactly 8 characters? anything else?)

Oops, alphanumeric base-36. This is wandb's reference implementation in their SDK
def generate_id(length: int = 8) -> str:
    """Generate a random base-36 string of `length` digits."""
    # There are ~2.8T base-36 8-digit strings. If we generate 210k ids,
    # we'll have a ~1% chance of collision.
    alphabet = string.ascii_lowercase + string.digits
    return "".join(secrets.choice(alphabet) for _ in range(length))

lol amazing

i have more thoughts but these all seem fixed!


Accessibility improvement

Hi,
I'm using the date range picker and I would like to include an additional message for screen reader users to inform them of the constraints around what they can type in the inputs.
Would you be open to me submitting a pull request that adds an aria-describedby to the DateInput ?
This way you could write an additional message to users, to let them know about minimum nights, the date format they should type in and blocked out dates etc.

Oh that would be sweet. I'm also probs gonna put in some time this quarter to devote to a11y work.


feat: preparation for react 18

It's preparation for React 18. Currently, on next.js 13 projects, it's not working properly due to the use of render instead of the createRoot function.


support for inherited services?

First, thanks for the work on this project - very useful and clean API with good docs/tests!
quick question: In the later versions of thrift, one can inherit in thrift services. Are there any plans to support this in the (near) future? Currently I receive various errors about namespace collisions when I import e.g. two services with the same inherited "base" service.

I'm a bit out-of-touch with this project (or, for that matter, Thrift), at the moment. But I see a few things that I'd like to improve – for example, what was I thinking when implementing this namespace registry thingy? – and things like inherited services should be kept in mind when it comes to a refactoring.
And sorry for the response latency!


Don't clear the entire ENV when running EnvHacker

This fixes https://github.com/samelamin/spark-bigquery/issues/16
There were two issues:
First, you were running a map.clear() that caused things to lose a SPARK_YARN_MODE ENV var that is used by spark to tell things it's in YARN mode.
Second, by converting the ENV vars to strings (instead of the internal Variable type) subsequent calls to sys.env.get would break, e.g. in the spark UI
This PR fixes both, following the basic idea in this stackoverflow answer.  I've verified the library now works in both YARN mode and in non-YARN mode (the former running on Qubole, the latter running spark locally via docker).
Tests also pass locally for me:
vramesh@DB-MBP-SMG8WL:~/oss/spark-bigquery (vijay/fix_yarn)$ sbt test
[info] Loading project definition from /Users/vramesh/oss/spark-bigquery/project
[info] Set current project to spark-bigquery (in build file:/Users/vramesh/oss/spark-bigquery/)
[warn] Credentials file /Users/vramesh/.ivy2/.sbtcredentials does not exist
[info] Compiling 1 Scala source to /Users/vramesh/oss/spark-bigquery/target/scala-2.11/classes...
17/05/09 11:49:08 WARN SparkContext: Support for Java 7 is deprecated as of Spark 2.0.0
17/05/09 11:49:09 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/05/09 11:49:10 WARN SparkContext: Using an existing SparkContext; some configuration may not take effect.
[info] BigQueryClientSpecs:
[info] Scenario: When writing to BQ
[info] Scenario: When reading from BQ
17/05/09 11:49:13 WARN SparkContext: Support for Java 7 is deprecated as of Spark 2.0.0
17/05/09 11:49:13 WARN SparkContext: Using an existing SparkContext; some configuration may not take effect.
[info] BigQuerySchemaSpecs:
[info] Feature: Schema Converters. Dataframe To BQ Schema
[info]   Scenario: When converting a simple dataframe
[info]     Given A dataframe
[info]     When Passing the schema to the converter
[info]     Then We should receive a BQ Table Schema
[info]   Scenario: When converting a complex dataframe with nested data
[info]     Given A dataframe
[info]     When Passing the schema to the converter
[info]     Then We should receive a BQ Table Schema
[info]   Scenario: When converting from more obscure types
[info]     Given A dataframe
[info]     When Passing the schema to the converter
[info]     Then We should receive a BQ Table Schema
[info] ScalaCheck
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0
[info] ScalaTest
[info] Run completed in 5 seconds, 647 milliseconds.
[info] Total number of tests run: 5
[info] Suites: completed 2, aborted 0
[info] Tests: succeeded 5, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[info] Passed: Total 5, Failed 0, Errors 0, Passed 5
[success] Total time: 11 s, completed May 9, 2017 11:49:14 AM

Thanks alot @vijaykramesh, incidently that is exactly where I got the envhacker code from

I will deploy this later this evening

I somewhat guessed that's where you pulled the EnvHacker stuff from after looking through that thread on stackoverflow
Also in other small world/big data news, I've been following the airflow testing discussions that you've been leading, thanks for trying to corral people around that!
thanks again!

You are absolutely welcome, we def need some sort of industry standard and this is our humble attempt at trying to create something. I added you to the email thread so please get involved!


Added Sigma Oracle provider

The address doesn't seem to submit prices?

Closing since address is still not submitting prices, but rather used for other purposes.


Parameterising the container runtime

Karpenter: v0.8.0
Kubernetes: v1.21
Currently containerd is fixed as a runtime in case of non-GPU instances.
https://github.com/aws/karpenter/blob/476804d3962586fe53a784315d56315e078f387d/pkg/cloudprovider/aws/amifamily/al2.go#L65-L76
Can we introduce a new field under provisioner's configuration so that one can use dockerd with Non-GPU instances ?(Until Kubernetes 1.23)

Can you explain you use case a little bit more? I'm wary of expanding Karpenter's complexity to handle deprecated features, since we have limited resources.

Thank you for your prompt reply.
We would like to control the container runtime of the worker nodes Amis, instead of defaulting on containerd (if not GPU), as this would give us time to prepare for the transition (currently we're running on docker).
We're running on EKS 1.21, and the AMIs provide opt-in support for contained, but we haven't opted in yet, and we would like to not go down the route of using LaunchTemplates.
We were wondering if introducing this control over the runtime could be a common use case that the community could benefit from.
We can help deliver this if you see value in it.

(currently we're running on docker)

I'm curious what specifically is your dependency on docker. In general, I'd prefer to encourage users to use containerd when using karpenter. We have some work in progress that will enable you to run arbitrary scripts (e.g. swap containerd for dockerd) before we start the node. We're hoping that this can be a catchall for users without needing to define their own launch templates. Because of this, I'm not sold on introducing first class support for dockerd in the provisioner API.
Is this acceptable to you? Are any of my assumptions wrong?

I'm curious what specifically is your dependency on docker
we have a few metrics that depend on docker runtime, that we're migrating from, and it just requires time, which we wanted to buy proposing this feature.

For the rest, yes, I see your point of supporting this particular feature as not in line with the current roadmap, and yes, the bootstrap scripts support that you're mentioning would absolutely supersede this "pick-your-runtime".
Is there any way we could help with this?

@suket22 is driving this work. You can find him on the k/k slack

Closed with #1855


Localize content/en/docs/reference/glossary/cgroup.md in hindi

Signed-off-by: Tania Duggal<EMAIL_ADDRESS>fixes #36185

@divya-mohan0209

/language hi

Please update your fork @taniaduggal and sync changes to the branch.

@divya-mohan0209 how to do this? I tried but it doesn't show here, maybe i did something wrong

@divya-mohan0209 how to do this? I tried but it doesn't show here, maybe i did something wrong

Reset the last commit you made
Sync your forked branch with upstream and pull the changes to your local branch.
Push the changes  (using -f)

/remove-lifecycle stale


How to calculate the distance between two surfaces

Hello, I am a novice in this field, my SWIFT level is not high, I can not understand your code, I would like to calculate a point to the surface of the distance, or face to face distance, how to do

It sounds like you are working with 3D geometry. Is that true? GEOSwift only supports 2D geometry.

Is there any documentation for this library? I can't find the functionality I want in your code.
I think the function I want should be 2D

I'm using mapBox, and I want to realize the distance from one point to one face, or from one face to another.

Or is there a demo or something

My android colleague found the LIBRARY JTS, which can calculate the distance between the middle point and the surface of two-dimensional geometry. I found that the library is JAVA, which does not support iOS. Later, I discovered GEOS and finally found your library. I want to know how the methods provided in your library work. What do they stand for respectively

Can you provide a small demo of a function

Hello, I'm going to call your short method, I saw this method is public func short (to geometry: GEOSwift. GeometryConvertible) throws - > Double
I need to encapsulate a method to compute them and here's my method, can Polygon and Polygon1 only be initialized by the bottom like this? Can I pass coordinates into polygon and Polygon1 initialization by my for loop for Coords in Coordinates above? Here's how I did it
public func calculatPointToPolygon(coordinates:Array) -> Double    {
var Pointarray   = ()
for coords in coordinates {
//            let point1  = Point(x: coords.coordinate.latitude, y: coords.coordinate.longitude)
//            Pointarray.append(point1)
}
let polygon = try! Geometry(WKT: "POLYGON(35 10, 45 45.5, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30) ")
let polygon1 = try! Geometry(WKT: "POLYGON(35 10, 45 45.5, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30) ")
//            try! polygon.intersects(polygon1)
return try! polygon.distance(to: polygon1)
}

Hello, I'm going to call your distance method, I saw this method is public func distance (to geometry: GEOSwift. GeometryConvertible) throws - > Double
I need to encapsulate a method to compute them and here's my method, can Polygon and Polygon1 only be initialized by the bottom like this? Can I pass coordinates into polygon and Polygon1 initialization by my for loop for Coords in Coordinates above? Here's how I did it
public func calculatPointToPolygon(coordinates:Array) -> Double    {
var Pointarray   = ()
for coords in coordinates {
//            let point1  = Point(x: coords.coordinate.latitude, y: coords.coordinate.longitude)
//            Pointarray.append(point1)
}
let polygon = try! Geometry(WKT: "POLYGON(35 10, 45 45.5, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30) ")
let polygon1 = try! Geometry(WKT: "POLYGON(35 10, 45 45.5, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30) ")
//            try! polygon.intersects(polygon1)
return try! polygon.distance(to: polygon1)
}

I want to know how to pass the latitude and longitude from the for loop to Polygon and Polygon1 to call your method distance

Does this help?
// Use case 1: distance between 2 polygons
let polygon = try! Geometry(wkt: "POLYGON((35 10, 45 45.5, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30))")
let polygon1 = try! Geometry(wkt: "POLYGON((35 10, 45 45.5, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30))")
let distance1 = try! polygon.distance(to: polygon1)

// Use case 2: distance between a point and a polygon
let point = Point(x: 0, y: 0)
let distance2 = try! polygon.distance(to: point)

I'm not sure I understand what you're trying to do, so please let me know if this isn't what you need.

Yes, thank you. I find that most of the operations provided in the library are between two geometries. Can the library determine if there are intersections in a plane? In other words, it's a face, is there any overlap.

The top one I think is a legitimate polygon
The bottom one I think is an illegal polygon
How can I tell if they are legal

Yes, thank you. I found that most of the operations provided in the library fall between two geometries. Can the library determine if there are intersections on the plane? In other words, this is a face, is there any overlap. I think the top one is a legitimate polygon and I think the bottom one is an illegitimate polygon how do you know if they're legitimate

Yes, thank you. I found that most of the operations provided in the library fall between two geometries. Can the library determine if there are intersections on polygons? In other words, to determine if a polygon has any overlap.

Similar to the picture of my head, I think the red polygon on the top is normal and the red polygon on the bottom is illegal because it overlaps. How to achieve such a judgment

There's a GEOS function GEOSisValid_r that checks for that condition, but we haven't added it to GEOSwift yet. We can easily add it though. It will follow the implementation pattern of isEmpty.
I can probably add it within the next week, but let me know if you'd like to try to do it yourself.

GEOS (and therefore GEOSwift) follows the behavior of JTS. Here's what the JTS docs say constitute a valid polygon:

A Polygon is topologically valid if and only if:

the coordinates which define it are valid coordinates
the linear rings for the shell and holes are valid (i.e. are closed and do not self-intersect)
holes touch the shell or another hole at at most one point (which implies that the rings of the shell and holes must not cross)
the interior of the polygon is connected, or equivalently no sequence of touching holes makes the interior of the polygon disconnected (i.e. effectively split the polygon into two pieces).

The docs for is valid indicate that these are the rules that it follows to determine validity.
We may need to explore using GEOSisValidReason_r and GEOSisValidDetail_r if we want to be able to determine the exact reason why the polygon was invalid (e.g. was it invalid due to a self-intersection, or for some other reason?).

let polygon =   try! Geometry(wkt: polyonStr)
let polyon1 = try!  polygon.makeValid()
    return try! polygon.isTopologicallyEquivalent(to: polyon1)

In this way, it seems that I can also determine whether a polygon is valid or not. But it's not clear how rigorous this approach is. If not, please let me know when you add it next week.

@fenghedemo1 please try out the new isValid, isValidReason, and isValidDetail functions added in #211
You can do this by specifying the branch name validity for GEOSwift in your package manager. Let me know how it goes. I'm going to wait a day or two to make sure there's no other feedback before I merge into master.

Okay, we're done


App just kept loading

Your issue may already be reported!
Please search on the main page kept loading before creating one.
Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Loading main screen and it said I need tokens even though I log in already and the main page just kept loading.
Nclientv2 app just kept loading.

Context

Your Environment

Version used:
Operating System version:

NHentai link (if relevant):

Uninstall the current version and install version 2.9.4
https://github.com/Dar9586/NClientV2/releases/download/2.9.4/NClientV<IP_ADDRESS>.Release.apk

Nice


Access DRIVER support

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
Currently the streaming functionality is implemented and you need OWNER access for this.
I drive a model y via a Lease contract so they are the OWNER and i only have DRIVER access with my account. Please make sure that accounts with only DRIVER access can (partialy) use this integration. After upgrading to v1.7.10 im not able to sign in.
Describe the solution you'd like
Make sure that accounts with DRIVER access can (partialy) use this integration.
Additional context
No response

Checklist

[x]  I have filled out the template to the best of my ability.
[x]  This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[x]  This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
Currently the streaming functionality is implemented and you need OWNER access for this. I drive a model y via a Lease contract so they are the OWNER and i only have DRIVER access with my account. Please make sure that accounts with only DRIVER access can (partialy) use this integration. After upgrading from v1.7.6 to v1.7.10 i get a failure error.
Describe the solution you'd like
Make sure that accounts with DRIVER access can (partialy) use this integration.
Additional context
No response

Thanks for bringing this to my attension. I have tried to address this in v1.7.11. Can you give it a go and let me know if it works or not?
https://github.com/Teslemetry/hass-teslemetry/releases/tag/v1.7.11

@Bre77 updated to v1.7.11 and got the error again.
Logger: homeassistant.config_entries
Source: config_entries.py:504
First occurred: 12:01:08 (2 occurrences)
Last logged: 12:50:52
Error setting up entry Teslemetry for teslemetry
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 504, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/teslemetry/init.py", line 138, in async_setup_entry
remove_listeners=remove_listeners,
^^^^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'remove_listeners' where it is not associated with a value

Fixed in v1.7.12


Fix issue when updating command sets. Closes #4710

Closes #4710
Fix issue when updating command sets.

Thanks, @martinlingstuyl for the fixes and once again I am sorry for my sloppy review 😟
I will review this as my number 1 tomorrow so you will be able to proceed with your work 👍

ready to merge 🚀

merged manually. You rock 🤩


Keyboard.removeListener is not a function in RN 0.65

Keyboard.removeListener is marked as "deprecated" in documentation but crash at runtime.
Description
As mentioned in documentation:
https://reactnative.dev/docs/keyboard#removelistener
Keyboard.removeListener is marked as "deprecated" (not removed). But a runtime, I got this error:
TypeError: _reactNative.Keyboard.removeListener is not a function. (In '_reactNative.Keyboard.removeListener('keyboardDidShow', this._handleKeyboardShow)', '_reactNative.Keyboard.removeListener' is undefined)
So third-party libraries based on  Keyboard.removeListener are failing using react-native 0.65+
I know how to fix the problem. But documentation is not clear about availability of this method within Keyboard class.
React Native version:
info Fetching system and libraries information...
System:
    OS: macOS 11.5.2
    CPU: (4) x64 Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz
    Memory: 369.01 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 14.16.1 - ~/.nvm/versions/node/v14.16.1/bin/node
    Yarn: 1.22.11 - /usr/local/bin/yarn
    npm: 6.14.12 - ~/.nvm/versions/node/v14.16.1/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.10.1 - /Users/me/.rbenv/shims/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
    Android SDK: Not Found
  IDEs:
    Android Studio: 4.2 AI-202.76<IP_ADDRESS>51085
    Xcode: 12.5/12E262 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.9 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.65.1 => 0.65.1
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce
Keyboard.addListener("keyboardWillShow", handleKeyboardDidShow);
Keyboard.removeListener("keyboardWillShow", handleKeyboardDidShow); // error at runtime
console.warn(Keyboard.removeListener); // undefined

Expected Results
Documentation must be updated (method removed) or Keyboard.removeListener method should be defined as previous version (with a deprecated log message for example)

@L3au I had the same problem 0.66 and I changed the react native code by fixing the function name to removeListener and can confirm it prevented crashes. I'm sure it's a mistake in the code because a few lines before that is addListener not addEventListener

This issue is fixed in 0.66.3. https://github.com/facebook/react-native/commit/8880c09076e4727768ace26a74766cbe6f64021c

Closing as this version of React Native is several years old. Please re-open a new issue against the latest stable if the issue persists


Generated SVG not showing details

I followed the instructions on the readme to generate the .gv file and then used the dot program to convert that to an svgz, but when I view that file I just see 4 boxes that say [main] [parser] [formatter] [graph]. I can see other details in the .gv file, so I'm not sure what I am doing wrong. Do you have any tips?
I hope I can get it working 100% and possibly contribute to your project, it's awesome!
I've pasted the contents of the .gv file below and attached the png that I generated from it.
    digraph GoProject {
	rankdir=TB

	node [
		fontsize = 12
		shape = "record"
	]

	"main" [
		label=<
		{	main : github.com/codehipster/go-code-visualizer |
			{
				{
					FileName |
					go-code-visualizer.go

					|
					test.go

				}
				|
				{
					Functions|
					.

					|
					.

				}
				|
				{
					Types |
					.

					|
					.

				}
				|
				{
					Variables|
					.

					|
					.

				}
			}
		}>
	]
	"parser" [
		label=<
		{	parser : github.com/codehipster/go-code-visualizer/parser |
			{
				{
					FileName |
					ast-scanner.go

					|
					.

					.

					.

					parsed-code.go

					.

					.

					.

					.

				}
				|
				{
					Functions|
					func ParseFile(path string) (parsedGoCode parsedCode)

					|
					func (p parsedCode) FileName() string

					func (p parsedCode) PackagePath() string

					func (p parsedCode) PackageName() string

					func (p parsedCode) Imports() []string

					func (p parsedCode) Types() []string

					func (p parsedCode) Variables() []string

					func (p parsedCode) Functions() []string

					func (p parsedCode) ToString() (str string)

				}
				|
				{
					Types |
					.

					|
					.

					.

					.

					.

					.

					.

					.

					.

				}
				|
				{
					Variables|
					.

					|
					.

					.

					.

					.

					.

					.

					.

					.

				}
			}
		}>
	]
	"formatter" [
		label=<
		{	formatter : github.com/codehipster/go-code-visualizer/formatter |
			{
				{
					FileName |
					cv-formatter.go

					|
					parsed-code.go

				}
				|
				{
					Functions|
					func GenerateDotGraph(goCode []ParsedCode) string

					|
					.

				}
				|
				{
					Types |
					.

					|
					type ParsedCode interface

				}
				|
				{
					Variables|
					.

					|
					.

				}
			}
		}>
	]
	"graph" [
		label=<
		{	graph : github.com/codehipster/go-code-visualizer/formatter/graph |
			{
				{
					FileName |
					graph.go

					.

					|
					node-setting.go

					|
					package-node-row.go

					|
					package-node.go

					.

					|
					package-relation.go

				}
				|
				{
					Functions|
					func CreateGraph(settings []string, nodeSetting NodeSettings, packageNodes []PackageNode, packageRelations []PackageRelation) (graph Graph)

					func (g Graph)BuildGraphString() string

					|
					func(ns NodeSettings)ToGraphString() string

					|
					func CreatePackageNodeRow(fileName string, functions []string, types []string, variables []string) PackageNodeRow

					|
					func CreatePackageNode(fileName string, packagePath string, rows []PackageNodeRow) PackageNode

					func (pn *PackageNode) AddPackageNodeRow(row PackageNodeRow)

					|
					func (pr PackageRelation) ToGraphString() string

				}
				|
				{
					Types |
					type Graph struct

					.

					|
					type NodeSettings struct

					|
					type PackageNodeRow struct

					|
					type PackageNode struct

					.

					|
					type PackageRelation struct

				}
				|
				{
					Variables|
					.

					.

					|
					.

					|
					.

					|
					.

					.

					|
					.

				}
			}
		}>
	]

    }

I think part of the issue might be the dot program on Mac because I was able to put the above .gv contents into http://mdaines.github.io/viz.js/ and have the rest of the contents show up besides just the node names.
The other issue, however, is the fact that the relationships were not working between each node. This is not a bug with your code but more a nuance of how Go packages work, I think. I ran go get github.com/CodeHipster/go-code-visualizer to clone your repo and run it, which worked fine. Unfortunately though, all of your import statements are "github.com/thijsoostdam/go-code-visualizer/formatter/graph". So I wonder if you changed your github username recently or something? Either way it's an interesting issue, but not something in your code.
I just cloned your repo using the same address as the import statement and it seems to be working fine now, besides the dot visualizer tool not working correctly on Mac.

Ahh yes I did change github name. Thanks for figuring that one out. I had
to get the graphviz download again for windows. But I saw they stopped
supporting windows. So ill start working on a gojs implementation tomorrow.
Id like to be independent of graphviz.
Cheers!
On Apr 16, 2016 23:40, "Troy Shields"<EMAIL_ADDRESS>wrote:
I think part of the issue might be the dot program on Mac because I was
able to put the above .gv contents into http://mdaines.github.io/viz.js/
and have the rest of the contents show up besides just the node names.
The other issue, however, is the fact that the relationships were not
working between each node. This is not a bug with your code but more a
nuance of how Go packages work, I think. I ran go get
github.com/CodeHipster/go-code-visualizer to clone your repo and run it,
which worked fine. Unfortunately though, all of your import statements are "
github.com/thijsoostdam/go-code-visualizer/formatter/graph". So I wonder if
you changed your github username recently or something? Either way it's an
interesting issue, but not something in your code.
I just cloned your repo using the same address as the import statement and
it seems to be working fine now, besides the dot visualizer tool not
working correctly on Mac.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/CodeHipster/go-code-visualizer/issues/9#issuecomment-210906377

fixed the import statements. It now has the links again.


Why both user/totalTweets and user/stats/stats/tweets.length ?

Hi,
I wonder why do you use both user/totalTweets and user/stats/stats/tweets.length? What is the reason of keeping them in both places? And then when you display user's total tweets in user-header.tsx you add them together in https://github.com/ccrsxx/twitter-clone/blob/c6bf6fba409cbff2ae57bc8069f1e00a202853a0/src/components/user/user-header.tsx#L38 ?
I also wonder why are they managed separatelly, i.e. user.totalTweets is incremented/decremented on client-side only
https://github.com/ccrsxx/twitter-clone/blob/c6bf6fba409cbff2ae57bc8069f1e00a202853a0/src/lib/firebase/utils.ts#L171
While user/stats/stats/tweets is incremented/decremented on both client-side
https://github.com/ccrsxx/twitter-clone/blob/c6bf6fba409cbff2ae57bc8069f1e00a202853a0/src/lib/firebase/utils.ts#L210
and only decremented on server-side via Cloud functions onDelete trigger)
https://github.com/ccrsxx/twitter-clone/blob/c6bf6fba409cbff2ae57bc8069f1e00a202853a0/functions/src/normalize-stats.ts#L5

I figured out the answer. user/stats/stats/tweets doesn't keep track of tweets but of REtweets only. It's managed in separate doc users/{userId}/stats/stats as a optimisation, that way we don't have to fetch whole list of likes and retweets every time we want to get user doc.
I suggest renaming user/stats/stats/tweets to user/stats/stats/retweets as it is very confusing.


Foldgutter: make it possible to redefine the widget prop

Currently if I want to specify a custom widget for folded ranges it would not work when I fold a range using the gutter. This happens because onGutterClick function passes through only rangeFinder  option.
The solution is to pass all options, which is supported by the foldCode method.

That's reasonable. Thanks.


Integrate microsoft-cognitiveservices-speech-sdk”: “^1.13.1” with React  JS application

Describe the bug
Receiving loader errors when trying to import microsoft sdk into React project
To Reproduce
Steps to reproduce the behavior:

Performed npm install microsoft-cognitiveservices-speech-sdk
In the react src , created a file with sdk = require("microsoft-cognitiveservices-speech-sdk")

Expected behavior
Need to be able to use sdk for setting up the speech recognizer
Version of the Cognitive Services Speech SDK
Which version of the SDK are you using.  1.13.0
Platform, Operating System, and Programming Language

OS:  Mac
Hardware - x64,
Programming language: React Javascript
Browser Chrome
Additional context
On react build and run getting the error "You may need an appropriate loader to handle this file typ" for different files like ws.* within the sdk

Can you advise on the steps to integrate this SDK with a React application. This application is hosted on a Node server.

If you report an error for a specific service interaction, please report the SessionId and time (incl. timezone) of the reported incidents. The SessionId is reported in all call-backs/events you receive.
Any other additional information

Error
./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/lib/websocket.js
Module parse failed: Unexpected token (345:6)
You may need an appropriate loader to handle this file type.
|       compress: true,
|       fin: true,
|       ...options
|     };
|
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/index.js 3:18-44
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/WebsocketMessageAdapter.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/Exports.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/microsoft.cognitiveservices.speech.sdk.js
@ ./src/index.js undefined
./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/lib/permessage-deflate.js
Module parse failed: Unexpected token (347:8)
You may need an appropriate loader to handle this file type.
|
|       this._inflate = zlib.createInflateRaw({
|         ...this._options.zlibInflateOptions,
|         windowBits
|       });
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/lib/sender.js 5:26-57
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/index.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/WebsocketMessageAdapter.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/Exports.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/microsoft.cognitiveservices.speech.sdk.js
@ ./src/index.js undefined
./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/lib/websocket-server.js
Module parse failed: Unexpected token (55:6)
You may need an appropriate loader to handle this file type.
|       path: null,
|       port: null,
|       ...options
|     };
|
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/index.js 6:19-52
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/WebsocketMessageAdapter.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/Exports.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/microsoft.cognitiveservices.speech.sdk.js
@ ./src/index.js undefined
./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/lib/stream.js
Module parse failed: Unexpected token (66:4)
You may need an appropriate loader to handle this file type.
|
|   const duplex = new Duplex({
|     ...options,
|     autoDestroy: false,
|     emitClose: false,
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/ws/index.js 5:34-57
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/WebsocketMessageAdapter.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/Exports.js
@ ./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/microsoft.cognitiveservices.speech.sdk.js
@ ./src/index.js undefined

Thanks for filing this and apologies on the slower turnaround on replying to this issue -- I've been trying to track down a team member with experience integrating with React but want to at least provide an acknowledgement in the interim.
As you've seen, part of the trouble is that we don't have a sample or any specific instructions for React as part of our documentation (on the main docs at http://aka.ms/speech/sdk or for the JS SDK specifically at https://github.com/Microsoft/cognitive-services-speech-sdk-js). I've filed a work item for us to produce a formal sample there as a reference.
That's longer term: in the nearer term, we'll keep tracking down any reference currently available.

I got in touch with someone with far more React knowledge than I have and there are a few follow-up points/questions for us to get to the bottom of this:

What build tools are being used (webpack, babel, is CRA being used, etc.) and what version?
What version of React is this being built against?
Can you build other es2015, es2016 apps/modules?

It sounds like this sort of error ("can't parse this .js file") typically stems from a version/capability mismatch with the tooling.

@prascomesin Is this still a valid issue for you? Please update with the requested information, othewise we'll have to close it.

Closing the item since no update from the customer in a couple of months. Please create a new issue if you still need support on any specific topics.


pip install from git doesn't register module correctly

I'm experiencing this as well.

@rhoadesScholar do you have a workaround for this?

very strange. Not sure what the UNKNOWN is about. Will look into it

@rhoadesScholar do you have a workaround for this?

Sort of, but it's pretty dirty:
I downloaded the only file I needed from the package directly into the project I'm working on that requires it.
My project is just some quick and dirty analysis code - nothing production-grade. So this hack works for me, but I would not recommend this approach for anything needing a longterm solution.

is this still an issue? I can't recreate it

I haven't had this issue for some time. Closing it.


Cesarbs/strong name

https://github.com/aspnet/dnx/issues/2615
cc @davidfowl @Eilon @muratg @moozzyk @pranavkm @NTaylorMullen @rynowak

Hi @cesarbs, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

This is messed up, will close and reopen.


build with otp19.3 failed

since set up from docker failed seeing issue Can't open /lib/env.sh
#1857,
i want to build from source git@github.com:vernemq/vernemq.git,
and i build with Erlang OTP 19.3 for mac osx.
xiewei@xw vernemq % make rel
cat vars.config > vars.generated
echo "{app_version, "1.12.1-1-gdb19fc9"}." >> vars.generated
/Users/xiewei/tools/vernemq/rebar3  release
=ERROR REPORT==== 1-Aug-2021::18:20:06 ===
beam/beam_load.c(1287): Error loading module rebar3:
mandatory chunk of type 'Atom' not found
=ERROR REPORT==== 1-Aug-2021::18:20:06 ===
Loading of /Users/xiewei/tools/vernemq/rebar3/rebar/ebin/rebar3.beam failed: badfile
escript: exception error: undefined function rebar3:main/1
in function  escript:run/2 (escript.erl, line 760)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
make: *** [rel] Error 127
======================
hi can you give suggestion to solve this?
osx version is 11.3.1 (20E241). it seems the otp support only now with 10.10.  how to do this?

@lanbai1993 can you try building with OTP 22 or 23?
This is probably due to the rebar3 version used, which is built for 22-24. (so, probably I should tag OTP 22 as a minimum build version)

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages (.deb/.rpm/Docker) requires a subscription.


Add Quickdraw and Starstruck achievements

Added two additional achievements to the list

Thank you very much for the PR, but I'm afraid we have already one going on for the new achievements: https://github.com/Schweinepriester/github-profile-achievements/pull/113

Thank you again for the PR, it has influenced some recent wording improvements! :)

No problem, you are welcome.


launch activity

single-time activity view shown before the timeline is populated.

Plans:

Add ../res/drawable directory
Add a UT image from the internet to the res/drawable directory

Possibly just smaller UT image at first
Could also use a full image like this UT Tower Image
Or some other one ...

Add XML file 'no_event_startup.xml' (or similarly named)

Depending on the picture used, this could most simply be a vertical Linear Layout with an ImageView at the top containing the UT image and a Button below it with the text 'Add event' within it

In Timeline onCreate() and Timeline onRestoreInstanceState() methods, check to see if the current user has any UTimelineEvent(s) in their events list.

If they do not, setContentView(R.layout.no_event_startup) (or whatever the xml is named)

Add an onClickListener for the button on the page that leads the user to the 'Add Event' Page.

What do you guys think?
@spxrogers @wibergln

After 80ee13935ff5c5ee94ac7e2c16f5f2b619cea594 :

[ ] Add onClickListener to the 'Add First Event' button that navigates the user to the 'Add Event' page (currently this hasn't been created).

Merged!