Feature/api/logs list

Replaces #4219 Issue https://openscience.atlassian.net/browse/OSF-3089
Purpose
Add API endpoints for listing NodeLogs
Changes

Add /logs/ endpoint for listing NodeLogs
Add /logs/{log_id}/nodes endpoint for listing Nodes related to a given NodeLog
Add /nodes/{node_id}/logs for listing NodeLogs related to a given Node

Side Effects
None
Sample API Response
{
  "data": [
     {
            "id": "55df519d5ac80d15b5392234",
            "date": "2015-08-27T18:06:21.204000",
            "action": "retraction_approved",
            "params": {
                "node": "9yrst",
                "retraction_id": "55df517b5ac80d15b5392231"
            },
            "links": {
                "nodes": {
                    "related": "http://localhost:8000/v2/logs/55df519d5ac80d15b5392234/nodes/"
                },
                "user": {
                    "related": "http://localhost:8000/v2/users/j84ad/"
                }
            },
            "type": "logs"
        },
    ]
}

{
  "data": [
    {
      "id": "23ehy",
      "type": "nodes",
      "attributes": {
        "title": "test",
        "description": "",
        "category": "project",
        "date_created": "2015-08-27T18:04:25.097000",
        "date_modified": "2015-08-31T18:24:22.065000",
        "tags": [],
        "registration": false,
        "collection": false,
        "dashboard": false,
        "public": false
      },
      "relationships": {
        "children": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/23ehy/children/",
              "meta": {
                "count": 1
              }
            }
          }
        },
        "contributors": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/23ehy/contributors/",
              "meta": {
                "count": 1
              }
            }
          }
        },
        "files": {
          "links": {
            "related": "http://localhost:8000/v2/nodes/23ehy/files/"
          }
        },
        "node_links": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/23ehy/node_links/",
              "meta": {
                "count": 0
              }
            }
          }
        },
        "parent": {
          "links": {
            "self": null
          }
        },
        "registrations": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/23ehy/registrations/",
              "meta": {
                "count": 4
              }
            }
          }
        }
      },
      "links": {
        "self": "http://localhost:8000/v2/nodes/23ehy/",
        "html": "http://localhost:5000/23ehy/"
      }
    },
    {
      "id": "zdr43",
      "type": "nodes",
      "attributes": {
        "title": "Simple",
        "description": "",
        "category": "project",
        "date_created": "2015-08-27T18:04:25.097000",
        "date_modified": "2015-08-27T20:29:22.308000",
        "tags": [],
        "registration": true,
        "collection": false,
        "dashboard": false,
        "public": true
      },
      "relationships": {
        "children": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/zdr43/children/",
              "meta": {
                "count": 1
              }
            }
          }
        },
        "contributors": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/zdr43/contributors/",
              "meta": {
                "count": 1
              }
            }
          }
        },
        "files": {
          "links": {
            "related": "http://localhost:8000/v2/nodes/zdr43/files/"
          }
        },
        "node_links": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/zdr43/node_links/",
              "meta": {
                "count": 0
              }
            }
          }
        },
        "parent": {
          "links": {
            "self": null
          }
        },
        "registrations": {
          "links": {
            "related": {
              "href": "http://localhost:8000/v2/nodes/zdr43/registrations/",
              "meta": {
                "count": 4
              }
            }
          }
        }
      },
      "links": {
        "self": "http://localhost:8000/v2/nodes/zdr43/",
        "html": "http://localhost:5000/zdr43/"
      }
    }
  ]
}

{
    "data": [
        {
            "id": "55cb6ce25ac80daa6ef2a8c4",
            "type": "logs",
            "attributes": {
                "date": "2015-08-12T15:57:22.618000",
                "action": "project_created",
                "version": 1,
                "name": "nodelog"
            },
            "links": {
                "self": "http://localhost:8000/v2/nodes/a3t57/",
                "user": {
                    "self": null
                }
            }
        },
        {
            "id": "55cb6cf85ac80daa6ef2a8c8",
            "type": "logs",
            "attributes": {
                "date": "2015-08-12T15:57:44.400000",
                "action": "project_created",
                "version": 1,
                "name": "nodelog"
            },
            "links": {
                "self": "http://localhost:8000/v2/nodes/t6wav/",
                "user": {
                    "self": null
                }
            }
        }
]
}

I get a 500 when visiting /v2/nodes/<private_node_id>/logs/:
Environment:

Request Method: GET
Request URL: http://localhost:8000/v2/nodes/vrzmw/logs/

Django Version: 1.8
Python Version: 2.7.10
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.staticfiles',
 'rest_framework',
 'rest_framework_swagger',
 'corsheaders',
 'raven.contrib.django.raven_compat',
 'django_extensions')
Installed Middleware:
('api.base.middleware.DjangoGlobalMiddleware',
 'api.base.middleware.TokuTransactionsMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware')

Traceback:
File "/Users/sloria/miniconda/envs/osf/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/sloria/miniconda/envs/osf/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)
File "/Users/sloria/miniconda/envs/osf/lib/python2.7/site-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)
File "/Users/sloria/miniconda/envs/osf/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  452.             response = self.handle_exception(exc)
File "/Users/sloria/miniconda/envs/osf/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  449.             response = handler(request, *args, **kwargs)
File "/Users/sloria/miniconda/envs/osf/lib/python2.7/site-packages/rest_framework/generics.py" in get
  199.         return self.list(request, *args, **kwargs)
File "/Users/sloria/miniconda/envs/osf/lib/python2.7/site-packages/rest_framework/mixins.py" in list
  39.         queryset = self.filter_queryset(self.get_queryset())
File "/Users/sloria/projects/cos-projects/osf/api/nodes/views.py" in get_queryset
  1622.         return self.get_queryset_from_request()
File "/Users/sloria/projects/cos-projects/osf/api/base/filters.py" in get_queryset_from_request
  319.         default_queryset = self.get_default_queryset()
File "/Users/sloria/projects/cos-projects/osf/api/nodes/views.py" in get_default_queryset
  1619.         return self.get_node().get_aggregate_logs_queryset(auth)
File "/Users/sloria/projects/cos-projects/osf/website/project/model.py" in get_aggregate_logs_queryset
  1627.                             if n.can_view(auth)]
File "/Users/sloria/projects/cos-projects/osf/website/project/model.py" in can_view
  944.             (auth.user and self.has_permission(auth.user, 'read')) or
File "/Users/sloria/projects/cos-projects/osf/website/project/model.py" in has_permission
  1054.         if permission in self.permissions.get(user._id, []):

Exception Type: AttributeError at /v2/nodes/vrzmw/logs/
Exception Value: 'AnonymousUser' object has no attribute '_id'

Won't we need to serialize the the NodeLog#params and user for this feature to be useful?

Doesn't necessarily need to be addressed before this is merged, but the /v2/nodes/<nid>/logs/ endpoint is rather slow. For RPP (5024 logs), the response time is 4.6 seconds. Even a smaller project (310 logs) took 3.7 seconds.
I'm unsure where the bottleneck is; it's entirely possible that it isn't specific to this feature. =/

@brianjgeiger Is there a ticket for this?

Pass finished.

Oh, hey, look there are some comments In the conversation tab that I didn't see before. We have a relationship link to the user so we shouldn't have to serialize that separately. When embed is in, that should auto-serialize. I'm looking into the params, but if you get this before I figure it out, what are they and what do we need them for?

Updated description of this PR with the link to the ticket.

For the 500 error you're getting, I'm not sure why we aren't getting that all the time everywhere. We have a bunch of auth = Auth(user) which should all be replaced by auth = get_user_auth(user). Apparently it's not super-important everywhere, but hopefully that should fix this problem. You think I should go wild and fix everywhere, or just this one instance and make a ticket for other potential problems?

If params are an unstructured dictionary, then we can't just serialize that information. So I will need to determine what all the possible entries are and serialize those. Hopefully @sloria is correct and it's been mostly standardized.

@brianjgeiger Only node update logs fields are standardized; otherwise, each log type will have different params. Can't we use a DictField for unstructured data?

Andy is against it in principle, and it goes somewhat against the purpose of the API having a predictable structure. It's why we're not just throwing in the extras field in the file endpoints.

Failing check is claiming base serializers is importing rapply but not using it, but it's being used all over the place.

The /nodes/<nid>/logs/ endpoint has slow responses: loading just 50 logs with default pagination params takes 4.5-5 seconds to load.
I haven't looked into what the bottleneck might be. It doesn't necessarily need to be addressed before this is merged, but it's something we'll need to look into.

Definitely concerning about the load time. Was that on a multi-level project or a node with no children?

Multi-level; it had 3 immediate children and 1 deeply nested child.

My guess is it's related to that. We're really not supposed to be doing recursive things in the API, but this is a hard one to get around while maintaining functionality. But we should make an issue to investigate it if we don't fix now.

My guess is we need to refactor NodeLogs so they're in their own collection.


Need help re-writing the 'readme.md' for the repo.

The site is now live! https://jjaimealeman.github.io/wdb-get-good-with-git/
Now that the homepage is functional, I want the readme.md to explain better what we are trying to achieve here.
CURRENT GOALS:

Create a simple team environment that allows new users to contribute to the source code and collaborate with Issues and Pull Requests, while learning git and a few basic commands.
Provide adequate instructions for new users to create a folder with their name under /users and style their own page as they like. Here they can show off something new, like Aarons clock and Shaktis movie API.
Give instructions that are clear to understand for a total newb how to download/install git on Windows, Mac, and Linux. Although I think this should only pertain to Windows users, as they'll need to install separate packages like WSL for a full Linux environment or just simply download the git executable from git-scm.com

FUTURE GOALS

Have a uniform style and layout to all user pages with a global.css that each user can override with their own styles in their respective folders.
Have open Discussions where we as a Team make decisions on what to pursue next:

What CSS framework? TailwindCSS (my preference), or Bootstrap, or other. Pros and Cons?!

As the site structure grows and becomes more complex, shall we incorporate a bundler? Webpack? Snowpack (my preference)? or other. Pros and Cons?!

As we grow, we're bound to have more complexity, so having a separate branch dev features bugs may be in order.
Know the difference between Git Flow and GitHub Flow and stick with one.
Establishing a good commit message used by all users. I've been doing mine like this:

++ newfile.css // new layout to override the global.css

~~ global.css // change #container > background:#000 to #333

-- test.js // depreciated - merged with app.js

What are your thoughts guys?!
@axseinga @aaron-watts @Shakti111

I'm going to CLOSE this Issue, as the readme.md task has been completed.
@aaron-watts
Go ahead and continue working on your Wiki entry as discussed ;)
@Shakti111
If you can think of anything else we can share in the Wiki, so ahead and open a new Issue.
Thanks guys for your contributions ;)


[feat] allow grep_command_output() to accept a list or tuple of patterns

Can I test this patch?

Codecov Report

Merging #1169 into master will decrease coverage by 0.05%.
The diff coverage is 12.5%.

@@            Coverage Diff             @@
##           master    #1169      +/-   ##
==========================================
- Coverage   91.99%   91.94%   -0.06%
==========================================
  Files          81       81
  Lines       11693    11701       +8
==========================================
+ Hits        10757    10758       +1
- Misses        936      943       +7

Impacted Files
Coverage Δ

reframe/utility/os_ext.py
87.04% <12.5%> (-3.23%)
:arrow_down:

Continue to review full report at Codecov.

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

Hi @smoors and thanks for contributing. I am wondering why would you need that? These os_ext utilities are only meant for internal framework use. You are not supposed to use them in your test. For grep-ing patterns in your test output, there are the sanity functions, which are much more powerful.

hi @vkarak ! thanks for your quick reply.
it's not meant for testing.
currently there is no torque scheduler implemented yet, so I am implementing one based on the (very rudimentary) pbs scheduler.
to check the status of a job it would be nice if we can search for multiple regexes in one go, avoiding unneeded querying of the scheduler.

Good to know that you are working on a Torque backend! In fact, we have issue #1070 for that. I could assign it to you, if you wish. It'd be better to see the changes you propose in this PR as part of a larger PR about the Torque backend, where we could see the context better. Is this ok with you?

sure :)
I've got a basic version working, but want to refine it a bit.

Great! I'll close this PR then and wait for your other with the full implementation. If you want to share your work in progress, you can always open a PR and mark with [wip] in the title.


Implement IDebugDocumentContext150 to opt out of searching default source directories.

This fix has been made on the core debugger for Dev15. Implement it here once the interface is available.

https://github.com/Microsoft/MIEngine/pull/514


Login.cshtml should check ViewBag.LoginProviders for null first

https://github.com/aspnet/Identity/blob/c9d27e27e6dd6c15b4228de6e5de3c1a22c15a6d/samples/IdentitySample.Mvc/Views/Account/Login.cshtml#L63
There should be a check for null first.

It's not needed.
I believe that even without elements the result would be: System.Linq.Enumerable.WhereListIterator
This doesn't really matter though as ToList() method will definitely turn it into an empty list:
https://github.com/aspnet/Identity/blob/c9d27e27e6dd6c15b4228de6e5de3c1a22c15a6d/samples/IdentitySample.Mvc/Controllers/AccountController.cs#L31
Also, see this:
http://stackoverflow.com/questions/1191919/what-does-linq-return-when-the-results-are-empty

Strange, because right now it does end up being null.

@egorpavlikhin can you please send us repro steps on how are you getting a null value?

Closing this one as there was no response.


org. unit location at the gsuite tenant - possible to configure?

provisioning works just fine, but I was wondering
a) whether it's possible to configure the OU the users end up in at the gsuite side, and
b) whether it's OK to move the users created on gsuite side from the root OU (where they get created now) to a different OU?

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

ID: c64daae8-0d9c-5986-043f-e383d06827d9
Version Independent ID: 65c4180b-3540-6de6-2b6e-833d1793fb65
Content: Tutorial: Configure G Suite for automatic user provisioning with Azure Active Directory
Content Source: articles/active-directory/saas-apps/google-apps-provisioning-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@jurajgh Thanks for your feedback! We will investigate and update as appropriate.

@chetansriv for visibility.

Yes it is possible to specify the OU that a user will end up in. In your attribute mapping select OU as a target attribute. And then you can provision the OU over either by directly mapping an attribute on the user to the respective OU or by creating groups per OU and assigning the users to the appropriate group.

@zchia  can we make a doc update around this scenario as we are seeing support cases for it?

@ArvindHarinder1 Lets connect internally and then we will get that done.

@chetansriv @v-nagta @v-viinde Can you please update the doc with Arvind's comment and screenshot?

@jeevansd Article updated with OU attribute
#please-close


Are there more options under template?

I'm trying to make a directory with the depth of 5 and each level has different icons.
But I can only set 3 icons: node, leaf, leftMenu
How can I assign more icons?

@webmaxdev0110 you should assign different icons for every parent of each level. I believe they should be applied recursively. If you won't have luck with that - I will try to create an example by the end of the week.

      'static': true,
      'rightMenu': true,
      'leftMenu': true,
      'cssClasses': {
        'expanded': 'fa fa-caret-down fa-lg',
        'collapsed': 'fa fa-caret-right fa-lg',
        'leaf': 'fa fa-lg',
        'empty': 'fa fa-caret-right disabled'
      },
      'templates': {
        'node': '',
        'leaf': '',
        'leftMenu': ''
      }
    }```
So I need two more icons (fa-cogs, fa-credit-card) added to this template.


refactor: move startup logic to per-indexer container

This PR moves startup logic to container class. This change is internal only, no external API change happened.
Container will encapsulate indexer and separate it from main Checkpoint instance.
Right now it moves:

reset/resetMetadata calls.
validateConfig call.
validateStore call.
Helper methods like getConfigStartBlock and getStartBlockNum as those are used in container.

In the future entire logic for indexer will be encapsulated in Container. Checkpoint will only manage containers calling its life cycle methods (start/reset).
Test plan

Use checkpoint-template.
Make sure resetMetadata is called before reset.
Comment out your writer.
Start server, you get error message about missing writer.
Restore writer.
Comment out resetMetadata in config.json change Infura node from sepolia to mainnet.
Start server, you get error message about network change.
Restore original Infura node.
Start server, it works as before.

How a "container" is different from an "indexer"?

Indexer just encapsulates logic of how specific network should be processed. If someone wants to create new indexer (for Bitcoin, Solana, etc.) they only need new Indexer (and its Provider).
Container will contain logic of what was previously part of core Checkpoint instance (startup, validation, resetting data, actually running main loop with reorg detection etc.). This part is common across all indexers so we keep it as internal part of Checkpoint.

Also wdyt about exposing "indexer" value in "_metadata" GraphQL entity?

I had it prepared as a PR, but it included quite a bit of exclusions in the code to only expose it in the metadata entities that I decided to postpone it until regular entities have it too this way it will be supported across all entities and won't require adding special cases in the code.

Sounds good!


Add config validation to kafka read schema transform

Noticed KafkaReadSchemaTransformConfiguration.validate() is never called by KafkaReadSchemaTransform.from()

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

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

waiting on author

@ahmedabu98 Should be good to go


ENH Removed history writing in Keras model card

This PR solves #869. It's a broken down version of https://github.com/huggingface/huggingface_hub/pull/872.

Hello, I added a test that checks if history is not written to model card anymore meanwhile saved as a JSON file in the repository.
Before this PR: https://huggingface.co/merve/model-card-history-removal-before (model pushed with the mixin on main)
After this PR: https://huggingface.co/merve/model-card-history-removal (model pushed with the mixin on this branch)
cc: @adrinjalali @osanseviero

@osanseviero I agree. I didn't realize a model trained for 100+ epochs would have a super long model card because I'm a bit biased to TF model cards where I observed that the fine-tuning is mostly done in less than 100 epochs 😅


Use Explorers, the challenge, and spinoff music on levels[Request]

When making a level, one must choose a song to play in the background. There are many options. One could choose a song from the Newgrounds library, from GD's own music library, or one can use the songs used in the 22 official levels (IDs 1-22). However, the game still has more music that cannot be used for user levels:
23 - Explorers
24-26 - Meltdown music
27 - Secret (song used in The Challenge)
28-37 - World music
38-40 - Subzero music
One cannot search for levels using these songs either. This would be a neat feature to add.

"Default Music Bypass" already does that, although you'd need to place the mp3 files inside your Resources folder


[Fix] : UI improvements for the Lorem Ipsum Generator #1073

Changes:

Placed the form into a card
Changed the UI to a dark glossy effect
Added toast messages
Added form button validation
Changed the UI for converted currency

@iamrahulmahato, the UI fix is complete. You can now merge it into the main repository.


Not working in IE11

Just tried this out in IE11 and it is not working. It looks like the issue is that <x-object-fit> has it's parent container's styling applied to it.
Here's the code:
HTML

CSS
body {box-sizing: border-box;}
*, *::before, *::after {position: relative;box-sizing: inherit;}

.img-cover {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.img_container {
  width: 50%;
  max-width: 25rem;
  margin: 5rem auto;
  overflow: hidden;
  border: 2px solid #313131;
}

.img_container-portrait::before {
  content: '';
  display: block;
  padding-top: 130%;
}

JS
window.objectFit.polyfill({
  selector: '.img-cover',
  fittype: 'cover',
  disableCrossDomain: 'false'
});

Here is the resulting html:

  <x-object-fit class="x-object-fit-cover" style="margin: 5rem auto; border: 2px solid rgb(49, 49, 49); border-image: none; width: 50%; overflow: hidden; max-width: 25rem;">

  </x-object-fit>

You can see that <x-object-fit> has the parent's styling in it's style attribute.
JSFiddle Example

+1
Is anyone working on this?

:+1:

Would love this too!

+1

I implemented a work-around that doesn't seem to bother other browsers, in polyfill.object-fit.css changing
x-object-fit { display: inline-block !important; }
to
x-object-fit { display: inline !important; }

+1 for IE10 and IE11.

+1

+1


[PowerToys]: Menu item in the left is defined as Heading Level 1.

Microsoft PowerToys version
"0.41.1"
Running as admin

[ ] Yes

Area(s) with issue?
General, ColorPicker, FancyZones, PowerToys Run
Steps to reproduce
Test Environment:
OS: Windows 10 Version Dev
App version: 0.41.1
App name: PowerToys
Screen Reader: Narrator
Tool: Accessibility Insight for Windows
Repro Steps:

Launch 'PowerToys' application.
Turn on the narrator.
Then Navigate to page using 'H' key and Observe the issue.

User Impact: -> Priority 2
Screen Reader user will be confused if 10 heading level 1 is defined on the same page.
Guidelines Reference:
https://www.w3.org/TR/WCAG21/#info-and-relationships
Observation: Same issue repro with NVDA Screen Reader.
Attachments:
Menu items in the left are defined as Heading Level 1..zip
✔ Expected Behavior
Menu item in the left should not defined as Heading Level 1.
❌ Actual Behavior
Menu item in the left is defined as Heading Level 1 as result 10 Heading Level 1 is defined on the same page.
Other Software
No response

@vr-rpundir This is default behavior of the WinUI NavigationView.

Filed an issue against the WinUI repo: #5552

Hi @v-rpundir , the behavior you are describing is not entirely correct. The items are being announced as "General 1 of 12, level 1". The level being announced is technically correct, it is not the heading level being announced. The UWP XAML TreeView exhibits the same behavior.

@crutkas As per @chingucoding's comment, can you weigh in what we should (not) do about this :)?

@chingucoding @niels9001 I checked this issue and now it is fixed as Screen Reader is only announcing 'General 1 of 12 Level 1'
At that time When this bug logged Screen Reader is announcing 'General 1 of 10 level 1 Heading level 1' as it defined in Heading. Refer bug attachment to verify same.

@chingucoding @niels9001 I checked this issue and now it is fixed as Screen Reader is only announcing 'General 1 of 12 Level 1'
At that time When this bug logged Screen Reader is announcing 'General 1 of 10 level 1 Heading level 1' as it defined in Heading. Refer bug attachemnt to verify same.

Oh yes, you are totally right that this was indeed the behavior, sorry for claiming that your reported this wrongly @v-rpundir . Strangely, this is fixed now and I don't see how this behavior could have changed.

Closing this issue as fixed on V 0.76.0.


Shortcut to go to full screen mode without playing

I'm not sure this is actually possible.

Could hit spacebar after the full screen window opens?
On Fri, 20 Jan 2017 at 12:25 am, Chris Hocking<EMAIL_ADDRESS>wrote:

I'm not sure this is actually possible.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fcpxhacks/fcpxhacks/issues/7#issuecomment-273789154,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADbEw5WsBV8TWO-s1YJ_n_HFamoc66LIks5rT3JggaJpZM4K7YI8
.

Yes, but it's not exactly frame accurate - and from memory, I think the person who wanted this feature basically just wanted a shortcut key to quickly view the current frame bigger (so they could check for things in shot, etc.). However, it might be possible to use the fullscreen playback navigation bar to work out how many frames we need to go back to get things in sync. I'll have a play sometime.

Ah, ok. Leave it open on the back burner then.
On Fri, 20 Jan 2017 at 12:31 am, Chris Hocking<EMAIL_ADDRESS>wrote:

Yes, but it's not exactly frame accurate - and from memory, I think the
person who wanted this feature basically just wanted a shortcut key to
quickly view the current frame bigger (so they could check for things in
shot, etc.). However, it might be possible to use the fullscreen playback
navigation bar to work out how many frames we need to go back to get things
in sync. I'll have a play sometime.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fcpxhacks/fcpxhacks/issues/7#issuecomment-273790575,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADbEw3xAOlGFJkaX6kNfW8aGs1GKYlHUks5rT3OlgaJpZM4K7YI8
.

Also requested by Byk Valkonen here.


X509 certificates for SFTP

Is there a way to bundle an X509 certificate (from a file) or do I have to register it in the X509Store, and if so, which one?

You need the certificate added into your local store, and then do something like this:
FluentFTP.FtpClient client = new FluentFTP.FtpClient();
client.Host = "WWW.MYSITE.COM";
//client.Port = 6371;
client.Credentials = new NetworkCredential("USER","PASS");

// Select certificate and add to client
X509Store store = new X509Store("MY", StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Select a certificate", "Select a certificate", X509SelectionFlag.MultiSelection);

if (scollection.Count != 1)
{
	throw new Exception("Error: You have not chosen exactly one certificate");
 }
foreach (X509Certificate2 x509 in scollection)
{
	client.ClientCertificates.Add(x509);
}
store.Close();

//client.ReadTimeout = 10000;
client.Connect();

This is another way. Also, use X509Certificate2. I've been unable to get X509Certificate to work and from my reading it's because it's an incomplete implementation.
public void InitSFTP(){

	FluentFTP.FtpClient client = new FluentFTP.FtpClient();
	X509Certificate2 cert_grt = new X509Certificate2("C:\mycert.xyz");
	conn.Host = "WWW.MYSITE.COM";
	//conn.Port = 123;
	conn.Credentials = new NetworkCredential("USER", ""PASS"");
	conn.EncryptionMode = FtpEncryptionMode.Explicit;
	conn.DataConnectionType = FtpDataConnectionType.PASV;
	conn.DataConnectionEncryption = true;
	conn.EnableThreadSafeDataConnections = false;
	conn.ClientCertificates.Add(cert_grt);
	conn.ValidateCertificate += new FtpSslValidation(OnValidateCertificate);
	conn.Connect();
}

private void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
{
	e.Accept = true;
}

Moved to Wiki


vSphere Multiple Networks - Rancher uses Random IPs for SSH

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
Add Cluster with multiple Nodes, which have miltiple Network Interfaces in Node-Template
Result:
Some Nodes are in Status "Waiting for SSH"
Other details that may be helpful:
The SSH Prozesses at the Rancher VM shows, that the SSH IP is wrong.
At This YouTobe Video ( passage ) https://youtu.be/ozLPpyrqwf8?t=1234 is explained, that Rancher will use the first open-vm-tools reported IP.
But in some Nodes, Rancher uses randomly IPs, not the first but one of the other IPs.
Rancher can't connect ( routing, firewall, ... ) to the other three IPs, just to the first one.
We've konfigured the the open-vm-tools, to report the IP of specific interface first .
/etc/vmware-tools/tools.conf
    [guestinfo]
    primary-nics=ens224
    low-priority-nics== ens256,ens161,ens193

This works very well und the right IP is everytime at every VM at the first position.
Rancher still takes the IPs randomly.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): rancher/rancher v2.5.7
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Custom
Machine type (cloud/VM/metal) and specifications (CPU/memory): VM
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.5", GitCommit:"6b1d87acf3c8253c123756b9e61dac642678305f", GitTreeState:"clean", BuildDate:"2021-03-18T01:10:43Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.4", GitCommit:"e87da0bd6e03ec3fea7933c4b5263d151aafd07c", GitTreeState:"clean", BuildDate:"2021-02-18T16:03:00Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

Client:
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.13.8
 Git commit:        afacb8b7f0
 Built:             Fri Dec 18 12:15:19 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.8
  Git commit:       afacb8b7f0
  Built:            Fri Dec  4 23:02:49 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.3-0ubuntu2.3
  GitCommit:
 runc:
  Version:          spec: 1.0.1-dev
  GitCommit:
 docker-init:
  Version:          0.18.0
  GitCommit:

Hi @TimUx ,
We faced the same issue.
I checked the source code of the ranch-machine and created a patch file.
https://gist.github.com/nishiokay/119c7b9ba680c329baac068d4e38834f
https://pkg.go.dev/github.com/vmware/govmomi/object#VirtualMachine.WaitForNetIP
With this patch, the rancher-machine will attempt an ssh connection using the IP address of the first NIC.
This patch is working fine in our environment.
I will send the PR later.

Hi nishioka,
thanks for your confirmation of this issue and creating the patch.
Hopefully, this patch will be added to next Release of Rancher, ...


Fix Trello exception classes

We need to make zerver.webhooks.trello.view.exceptions.TrelloException into a subclass of UnexpectedWebhookEventType to avoid getting error emails whenever Trello adds a new event type.  See zerver/webhooks/trello/view/exceptions.py for where to make the change.

@zulipbot claim

@daubaris are you still working on this issue? If not, I want to work on this issue.

@zulipbot unclaim

@zulipbot claim

@timabbott I want to know about how can I test the changes related to this PR?

There doesn't seem to be any testing needed for this particular issue because there is no feature that uses TrelloWebhookException as of yet (please do correct me if I'm wrong though - I've grepped through everything and couldn't find anything using it whatsoever)
Otherwise, this is what you could have done (I wrote this part before realizing that nothing uses this Exception class, so might as well share it):
You should be able to do this from the development environment with just a bit of work. The best part is that you don't even need a Trello account to test this out. In a nutshell the steps would be:

Start up your local development environment.
Open http://localhost:9991/emails/ in one tab. You'll be able to view any emails that Zulip would have sent in a non-development environment here (this a convenient development tool).
Open http://localhost:9991/devtools/integrations/ in another tab and send a regular fixture's data (e.g. the creating_card fixture) for Trello to the default Zulip Webhook Bot just to make sure that everything is working fine and to see what a successful response message would look like. No email should be generated in a successful situation and you can verify this with the tab from step 2.
Now we just have to trigger an error condition to see if and how an email would be generated.
Make your modifications and check to make sure that no email was generated (manual check).
Write an automated test to prevent regression.

I don't think that any automated tests need to be added for this PR. Some thorough manual testing should be just fine since I don't see this being something that can regress.


The Great ES2015 Shift

We missed our chance to ship Foundation 6 in ES2015, but we're interested in upgrading the codebase.
To compile ES6 to 5 we'd use Babel, but only features that don't require polyfills. A basic list includes:

Fat arrows
Classes #8086
Multiline strings
Template strings #8018
Destructuring
Default function parameters
Trailing function parameters
Spread parameters
let and const

This will also get us easier UMD support, by using Babel's module transpiler.
We need the shift to be entirely backwards compatible, which should be totally doable.
If you're interested in contributing, there's a 6.2 branch you can work on.
Edit: I also remembered there's some weirdness with how Babel's module transpiler works regarding browser globals, so we need to work around that. It doesn't mesh with the way we assign browser globals, since all of our plugins add to window.Foundation, not window.

We have Babel in our build process now! Next step is to do some experimenting with hooking up the import and export syntax, since the UMD support is arguably the most important thing to square away initially.
One tricky thing is with the Babel transforms available. We need UMD, but UMD transformers tend to assign each module to a variable on the window. We have our own process for loading plugins into window.Foundation, and we also don't want each little utility library to get its own variable in the global namespace, i.e. window.foundationUtilMotion.
Instead, in each plugin, we can do a check for an absence of an AMD/CommonJS environment, and then assign things the way we want to. For example:
if (typeof module !== 'object' && typeof define !== 'function') {
  // For plugins
  Foundation.plugin(PluginClass);

  // For utilities
  Foundation.util.motion = Motion;
}

However, this doesn't work unless we transform to UMD without browser globals, which doesn't appear to be a thing that Babel's UMD transformer does, unless it's configurable in some way.

Where can i start? What's some low hanging fruit? Can i start creating an issue for each component?

@chrisjlee Some high-level stuff:

Convert plugins to classes
Use arrow functions when possible
Use template strings instead of string concatenation

Remember that it's just the basic ES2015 stuff, nothing wild like generators or async functions. Our .babelrc has a list of every feature we're using.
Don't worry about module stuff just yet, but we will be looking to use import and export so we can compile to CommonJS and AMD.

@chrisjlee just so you are aware and so you don't waste time redoing what has already been done, template strings are taken care of and have been merged into the 6.2 branch.

@gakimball I would be willing to convert the plugins to classes if somebody would convert one of them (post in a gist or something like that) so I could use it as a reference.

@colin-marshall I can do that this week.

:+1:

I did Interchange: b5f93a8d403923f346da590921a09f8ad9f953f8 As it turns out, it only takes like 10 minutes to do the conversion.
Here's the general format:
export default class Plugin {
  constructor() { }
  _init() { }
  // ...and more
}

Plugin.defaults = {}

// Window exports
if (window.Foundation) {
  window.Foundation.plugin(Plugin, 'Plugin');
}

Let me know which ones you're working on so we don't overlap. I think I'll start with the utility libraries.

Nice! I was mostly unsure about the IIFE part of it, this helps a lot.
I will start with the smaller ones:

Accordion
Accordion Menu
Magellan
Responsive Menu
Responsive Toggle
Tabs
Toggler

Just a short question and maybe a hint what you should insert into your release notes and documentation to make people feel save about the update.
Using single JS components like foundation.accordion.js or the complete foundation.js there is nothing I need to change?
On my current project I have bower_components/foundation-sites/dist/foundation.js included in my build process to be concatenated and minified together with other JS files. So as I understand it, this version should be ES5 compatible in 6.2 as well. I just to have this clear to not have any bad surprises when 6.2 is released.

@DaSchTour The files in dist/ will continue to be compiled assets, so the JavaScript files will be ES5 JS compiled from Babel.
Now, the files in the js/ folder will be written in ES6, so users of the ZURB Template will need to add Babel to their Gulpfile. We'll be providing instructions on how to do that.

@gakimball I was playing around with arrow functions and have a question. I'm using the _events() function from foundation.abide.js as an example.
Here is the original function:
_events() {
    var _this = this;

    this.$element.off('.abide')
        .on('reset.zf.abide', function(e){
          _this.resetForm();
        })
        .on('submit.zf.abide', function(e){
          return _this.validateForm();
        });

    if(this.options.validateOn === 'fieldChange'){
        this.$inputs.off('change.zf.abide')
            .on('change.zf.abide', function(e){
              _this.validateInput($(this));
            });
    }

    if(this.options.liveValidate){
      this.$inputs.off('input.zf.abide')
          .on('input.zf.abide', function(e){
            _this.validateInput($(this));
          });
    }
  }

Here is events with arrow functions:
function _events() {

  this.$element.off('.abide')
      .on('reset.zf.abide', (e) => { this.resetForm() })
      .on('submit.zf.abide', (e) => { return this.validateForm() });

  if(this.options.validateOn === 'fieldChange'){
      this.$inputs.off('change.zf.abide')
          .on('change.zf.abide', (e) => { this.validateInput($(this)) });
  }

  if(this.options.liveValidate){
    this.$inputs.off('input.zf.abide')
        .on('input.zf.abide', (e) => { this.validateInput($(this)) });
  }
}

And here is what it transpiles to:
'use strict';

function _events() {
    var _this = this;

    this.$element.off('.abide').on('reset.zf.abide', function (e) {
        _this.resetForm();
    }).on('submit.zf.abide', function (e) {
        return _this.validateForm();
    });

    if (this.options.validateOn === 'fieldChange') {
        this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {
            _this.validateInput($(_this));
        });
    }

    if (this.options.liveValidate) {
        this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {
            _this.validateInput($(_this));
        });
    }
}

Note that in the transpiled code it comes out with _this.validateInput($(_this)) while the original code was _this.validateInput($(this)). Is $(_this) pointing at the wrong "this" in the transpiled code?

Yeah, this is a weird one. For jQuery events, changing this makes writing code more convenient, sometimes. So you can't mix this referring to the plugin class, and this referring to the element that fired the event.
So for jQuery events, there's two things we can do:

Don't use arrow functions and continue using _this.
Use $(event.target) instead of $(this) inside of event handlers, and then we can use arrow functions everywhere

However, from the jQuery .on() documentation:

When jQuery calls a handler, the this keyword is a reference to the element where the event is being delivered; for directly bound events this is the element where the event was attached and for delegated events this is an element matching selector. (Note that this may not be equal to event.target if the event has bubbled from a descendant element.)

That "may not be equal" is annoying—I'm trying to understand when it would be different.

What about using $(event.currentTarget) instead? Documentation, however, is also vague:

This property will typically be equal to the this of the function.

If you are using jQuery.proxy or another form of scope manipulation, this will be equal to whatever context you have provided, not event.currentTarget

@gakimball Thanks for the clarification.

@colin-marshall We don't use jQuery.proxy() anywhere. As far as scope manipulation, that would be this, which we also don't do:
$('#thing').click(function() {
  this; // => not event.currentTarget anymore
}.bind(this));

Arrow functions are real nice from a code readability perspective, which I think is a compelling reason to use event.currentTarget.

Another update on ES2015 stuff: after reviewing the codebase, I don't think UMD support is going to land in 6.2. Looking at the web of utility libraries we have, getting everything to work with a UMD shim is going to be something of a challenge.
So for now, the plugins are back to being defined inside of IIFEs, and the export statements have been removed from each plugin. (You can't use them inside of a function.)
A solution like the one I outlined above is possibly in the cards still, but we also have to properly handle dependencies for each module.

I was going to send a PR with this JSPM config for 6.1.2, but then I noticed that the 6.2 beta has some ES2015 support.
I initially wanted to be able to import components individually, but that ended up being too difficult/complicated with my limited understanding of all the different module systems, etc. (see here).
If I install 6.2@beta, JSPM appears to detect the following:
{
  "main": "dist/foundation.js",
  "format": "cjs",
  "meta": {
    "*": {
      "globals": {
        "process": "process"
      }
    },
    "*.json": {
      "format": "json"
    },
    "dist/foundation.js": {
      "format": "amd"
    },
    "dist/foundation.min.js": {
      "format": "amd"
    }
  },
  "map": {
    "./foundation-docs.js": "./foundation-docs/index.js"
  }
}

If I use import "foundation-sites"; which transpiles to require("foundation-sites");, I get:
Uncaught (in promise) TypeError: Multiple defines for anonymous module<EMAIL_ADDRESS>If I set the format to global, remove the AMD format detections, and shim the jQuery dependency similar to what I did for 6.1.2, this will probably work, but obviously it will still be all or nothing (no ability to import individual plug-ins).
So my question is, should I just continue to use Foundation as one large global, or will it soon be possible to import plug-ins selectively?

@glen-84 Individual modules won't be in 6.2. See my comments farther up here and here for explanations of the challenge.
Basically, UMD shims work better with individual libraries, not larger, more intricate ones like ours. That doesn't mean it isn't possible, but we need to do more research on the right way to set it up.
Might look at Angular 2 as an example, which is written in TypeScript, with code using ES2015 modules. However, their plain JavaScript version uses neatly organized window globals, ng, ng.core and so on. That's what we need—we don't want all 25 or so modules occupying their own space on the window. Everything needs to be inside window.Foundation, but we need more time to sort out our internal web of dependencies so we can set it up properly.

Going to close this as we've successfully made the shift :) Thanks to everyone who helped out!
Our long-term goals for the codebase will be to use more of these features where we can, and also rely on jQuery less where we can to make the framework faster.
And as for UMD support, read my comments farther up in the thread. We'll get there eventually!

@gakimball Thanks for your reply. =)

As I found this by searching for TypeScript in Foundation Context. I think by shifting to TypeScript Foundation for Sites and for Apps could benefit better and the usage with Angular 2 would be easier. Maybe it also would make sense to have something like Foundation Core (maybe even Core Style and Core JS/TS?) which is then extended to Foundation for Sites and Foundation for Apps. Just some crazy ideas :)

For foundation users who aren't compiling their entire project with an es6 compiler, how should we be including foundation js dependencies? I noticed that there are a few const's about the project. This, of course breaks in browsers that don't support es6 operators.

@keepitreal there are pre-transpiled JavaScript components in the dist directory.


bake test:external failure

Gems used
bake v0.18.2
bake v0.2.0
bake-test-external v0.3.2
Commands used
bake test:external
Cloning into 'external/bake'...
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using fiber-annotation 0.2.0
Using fiber-local 1.0.0
Using bundler 2.4.13
Using sus 0.21.1
Using mapping 1.1.1
Fetching msgpack 1.7.1
Using console 1.17.2
Fetching samovar 2.2.0
Installing samovar 2.2.0
Using bake 0.18.2 from source at `.` and installing its executables
Using bake-test-external 0.3.2 from source at `../..`
Using bake-test 0.2.0
Installing msgpack 1.7.1 with native extensions
Fetching covered 0.22.0
Installing covered 0.22.0
Bundle complete! 10 Gemfile dependencies, 12 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
4 installed gems you directly depend on are looking for funding.
  Run `bundle fund` for details
bundler: failed to load command: rspec (/usr/bin/rspec)
/usr/lib/ruby/3.0.0/bundler/rubygems_integration.rb:308:in `block in replace_bin_path': can't find executable rspec for gem rspec-core. rspec-core is not currently included in the bundle, perhaps you meant to add it to your gems.rb? (Gem::Exception)
	from /usr/lib/ruby/3.0.0/bundler/rubygems_integration.rb:336:in `block in replace_bin_path'
	from /usr/bin/rspec:25:in `<top (required)>'
	from /usr/lib/ruby/3.0.0/bundler/cli/exec.rb:58:in `load'
	from /usr/lib/ruby/3.0.0/bundler/cli/exec.rb:58:in `kernel_load'
	from /usr/lib/ruby/3.0.0/bundler/cli/exec.rb:23:in `run'
	from /usr/lib/ruby/3.0.0/bundler/cli.rb:492:in `exec'
	from /usr/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /usr/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /usr/lib/ruby/3.0.0/bundler/cli.rb:34:in `dispatch'
	from /usr/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /usr/lib/ruby/3.0.0/bundler/cli.rb:28:in `start'
	from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.4.13/exe/bundle:45:in `block in <top (required)>'
	from /usr/lib/ruby/3.0.0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
	from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.4.13/exe/bundle:33:in `<top (required)>'
	from /usr/bin/bundle:25:in `load'
	from /usr/bin/bundle:25:in `<main>'
External tests bake failed!

Could this be related to ioquatix/bake@c6b0d313a216077ceff460e2e90324206f3c243f which switched from rspec to sus?
While https://github.com/ioquatix/bake-test-external/blob/0f5b0ba012d6a700ba6b6e60a14b1df90a5223f2/config/external.yaml#L3 still uses rspec.

Thanks for your report, this should be fixed now.


Interpolation Search

Related Issue

#1468

Proposed Changes

Cpp file added
Readme File added

Additional Info
In this I have explained how

What is interpolation?
How does interpolation search work?
Its Approach
Its Advantages & Disadvantages

Checklist

[x] ✅ My code follows the code style of this project.
[x] 📝 My change requires a change to the README.
[x] 🎀 I have updated the README accordingly.
[x] 👀 I have read the CONTRIBUTING document.
[x] ✨ I have added tests to cover my changes.
[x] 🚩 All new and existing tests passed.
[x] 🌟 ed the repo

Useful comments added in code
Easy to understand readme

#1468

Any GCC compiler

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

Output Screenshots

Screenshot #1

Code Output

This Pr wil be good to grab


[FEATURE] support potential break changes from plugin for 2.0.0

Is your feature request related to a problem?
Dashboard plugins are working on 2.0.0 We will need the 1.x branch and main branch for 2.0.0 especially when there are breaking changes.
What solution would you like?
What alternatives have you considered?
Do you have any additional context?

cc @amitgalitz for vsibility

Already created 1.x branch


Update auth, dynamodb, s3, sqs to 2.17.74

Updates

software.amazon.awssdk:auth
software.amazon.awssdk:dynamodb
software.amazon.awssdk:s3
software.amazon.awssdk:sqs

from 2.17.66 to 2.17.74.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch

Superseded by #751.


Add Refresh Servers Button to Select Servers Screen

Sometimes the Emby Server doesn't list right away... Need a way to kick off the jobs again so that the options can be re-added and refreshed.  Easiest way is to let the user Refresh the options with a button click.

A refresh button is now available on the server selection screen, allowing for easy refreshing of servers in case they didn't respond to the wake up requests quick enough (yeah I'm talking to you Emby).


Updated Read Me to see growth as n increases

Cool overall, did you measure it on your local machine? If so, it'd appreciated to attach the CPU's name

No, I used your existing data set and reformatted it to make it clearer what you were doing.


[Android][InputLabels] Labels no longer render on latest version of the visualizer app

Platform

Android

Version of SDK
Internal Visualizer app from appcenter off of feature/inputEvolution.
Details
Tried this with ChoiceSet samples as well as Input.Date.. labels aren't rendering anymore; In addition there is an error about id collision for input1 at least for the ChoiceSet sample; Screenshot below from Inputs.ChoiceSet:
Working Input.ChoiceSet JS screenshot

Input.Choiceset sample on Android

Working Input.Dates sample on JS

Input.Dates sample on Android

I just removed all versions of the visualizer and installed the lastest build and this is the result. Could you check that you are using the latest version (2<IP_ADDRESS>)? Maybe it's an issue we haven't caught before

The latest version of the app should have an Import tab and the the card name should appear not in the input text box

send app line or update app installation instruction for the android app from the app center


Create Unity Project and upload it to git

To start work on the project, a unity project needs to be uploaded to Git

Sam has uploaded a base project to git


[feature] Clickable hyperlinks or URLs in text (or rich text in general)

If an URL in a text could be converted to a clickable hyperlink, it would be great.
Currently only some shapes support adding links, but these links are only clickable in a very small area. Related: https://github.com/tldraw/tldraw-v1/issues/44
Background info: I use tldraw as part of Bigbluebutton's whiteboard.

Closing this as we won't be adding new features to this version of tldraw. Check https://github.com/tldraw/tldraw for the latest (which does include this feature!)


Searching for "the weather man" reveals no results

As the title says. Searching for "weather man" works fine and shows titles called "The Weather Man", but searching for "the weather man" reveals no series and movies matches:
>  tvrank title "the weather man"
No movie matches found for `weather, the, man`
No series matches found for `weather, the, man`
Total time: 399ms 941us 178ns

>  tvrank title "the weatherman"
No movie matches found for `the, weatherman`
No series matches found for `the, weatherman`
Total time: 396ms 281us 867ns

It also doesn't seem to be the "the" in the search keywords causing the problem:
tvrank title "amazing spider man"
Found 30 movie matches for `spider, amazing, man`:
...
Found 2 series matches for `spider, amazing, man`:

tvrank title "the amazing spider man"
Found 27 movie matches for `amazing, the, man, spider`:
...
Found 1 series match for `amazing, the, man, spider`:

is it the lack of space between weather and man ? (e.g., "the weather man" vs "the weatherman")

is it the lack of space between the words "weather" and "man" ? (e.g., "the weather man" vs "the weatherman")

I'm not sure. The first two examples show both not returning any results.

you are right. it's 100% reproducible. also for batman.
I couldn't help but noticing the word weather contains the word "the".

the same behavior when searching for "The Godfather"
gitpod /workspace/tvrank (main) $ cargo run --release -- title "godfather"
...
Found 136 movie matches for `godfather`:
...
Found 11 series matches for `godfather`:

Total time: 782ms 976us 53ns
gitpod /workspace/tvrank (main) $ cargo run --release -- title "the godfather"
    Finished release [optimized + debuginfo] target(s) in 0.08s
     Running `target/release/tvrank title 'the godfather'`
No movie matches found for `the, godfather`
No series matches found for `the, godfather`
Total time: 809ms 469us 815ns

I couldn't help but noticing the word weather contains the word "the".

Good catch!

the same behavior when searching for "The Godfather"

Then yeah, it's probably the "the". I'll work on debugging it this evening or perhaps tomorrow. Unless you want to do it?


Fix issues in Traffic Router stemming from merging PR #1720

This resolves the syntax and test issues that arose when PR #1720 was merged into master.
(cherry picked from commit 171042f00d4f8a35536d7639c7c64439ab32227e)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1022/
Test FAILed.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1023/
Test PASSed.


Fix #125: wrong order for Y values in axis chart

Explanation About What Code Achieves:

Explanation

Attempt at a fix for #125. I'm not sure why my fix work or if it break anything, though.
Screenshots/GIFs:

Screenshot

Before:

After:

Steps To Test:

Steps

Set up an axis chart with the following options:

{
  "data": {
    "datasets": [
      {
        "values": [
          7,
          1,
          4,
          1,
          3,
          -4,
          -1,
          -7,
          2,
          5,
          4,
          1,
          -1,
          5,
          4,
          -3,
          -3,
          -1,
          2,
          3,
          1,
          -5,
          1,
          5,
          2,
          -2,
          -1,
          -8,
          -5,
          2
        ],
        "name": "mood",
        "chartType": "line"
      }
    ],
    "labels": [
      "2020-04-18",
      "2020-04-19",
      "2020-04-20",
      "2020-04-21",
      "2020-04-22",
      "2020-04-23",
      "2020-04-24",
      "2020-04-25",
      "2020-04-26",
      "2020-04-27",
      "2020-04-28",
      "2020-04-29",
      "2020-04-30",
      "2020-05-01",
      "2020-05-02",
      "2020-05-03",
      "2020-05-04",
      "2020-05-05",
      "2020-05-06",
      "2020-05-07",
      "2020-05-08",
      "2020-05-09",
      "2020-05-10",
      "2020-05-11",
      "2020-05-12",
      "2020-05-13",
      "2020-05-14",
      "2020-05-15",
      "2020-05-16",
      "2020-05-17"
    ]
  },
  "title": "Mood by day",
  "axisOptions": {
    "xIsSeries": true
  },
  "lineOptions": {
    "hideDots": 1
  },
  "height": 300,
  "type": "line",
  "maxSlices": 7,
  "colors": [
    "magenta",
    "orange"
  ],
  "tooltipOptions": {}
}

Observe that Y-axis values are inverted (negative values on top)
Apply the fix
Observe that Y-axis values are displayed in correct order (negative values at the bottom)

TODOs:

check for regressions maybe? I wouldn't know where to start to be honest :/

I think the change is more simple:
Line 2778 => intervals = posIntervals.reverse().map(d => d * (-1));

@silvestrevivo I agree with you

Closing in favor of https://github.com/frappe/charts/pull/306


Migrate examples

Migrate following examples:

model-view
autodiff-texture
ray-tracing-pipeline

and add them into slang-unit-test.
Add more error message in RecordReplay test

Part of issue: #4570.
This PR is expected to fail on 'autodiff-texture', until https://github.com/shader-slang/slang/pull/4925 is merged.


Baseline dump documentation incomplete

Summary
When dumping a baseline to a file the --formatter=baseline has to be used or output will be sent to console instead. This information is not included in the readme
Background
The documentation here specifies the following example:
--baseline-dump[=BASELINE-DUMP] path to a dumped baseline file [default: "./depfile.baseline.yml"]
Running the following outputs any violations to the console and it does not write a baseline file.
vendor/bin/deptrac --baseline-dump=./test.yml

In order to write a baseline file this command has to be run instead
vendor/bin/deptrac --formatter=baseline --baseline-dump=./test.yaml

Readme has been updated


info There appears to be trouble with your network connection. Retrying... error Received malformed response from registry for "safepay-react-native-sdk". The registry may be down. info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

While installing the package through
yarn add safepay-react-native
I am getting this error, even though my internet connection is pretty stable
info There appears to be trouble with your network connection. Retrying...
error Received malformed response from registry for "safepay-react-native-sdk". The registry may be down.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Apolgies - the package has been published now and the Readme has been updated to reflect new installation commands
@sfpy/react-native-sdk


View all pages

Hello everyone,
Is there a way to display all the pages sequentially one below the other?
Thanks

Hello,
yes, take a look at this example: https://tato30.github.io/VuePDF/examples/basic/all_pages.html


Show first player indicator when bidding

Hello and thanks for the game.
Could it be possible to add the spinning animation on the next first player while in the bidding phase ?
It's tricky for new players to remember who played first on previous round.
Thanks

Hi,
that's reasonable. I'll work on that at the weekend.

Hi @Maxouwell ,
This is implemented in new release. In bidding time, I use gradient blue background for the one is going to start the round,


Minimum Time to Make Rope Colorful.cpp

Leetcode Problem : 1578. Minimum Time to Make Rope Colorful
Problem Link : https://leetcode.com/problems/minimum-time-to-make-rope-colorful/
Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[x] Make sure your files are in the right folder!
[x] Make sure you add the extension of the file (.cpp, .python, .java, etc).
[x] If your code is a solution for a code problem, please tell which one.
[x] Make sure your code is working, test for a lot of cases.

Description
Please describe your pull request.
:heart: Thank you!

Leet code Problem: 1578. Minimum Time to Make Rope Colorful
Problem Link: https://leetcode.com/problems/minimum-time-to-make-rope-colorful/
Description: it's a Leet code problem which was asked in many companies interviews round and I have solved it using greedy approach and with minimum time and space complexity with proper understandable comments so that it is easy to understand to anybody.

Thank you @larissalages for accepting my PR.
Can I submit one more PR as I have done many Leet code question, and I know which one are mostly asked in interviews and OAs and it will be really beneficial for others.


Updating docs

Some parts of the doc are out of date. Updating them based on my experience.

@joshjohanning Thank you for this - we've just been debugging much of the same. My settings match yours now and almost everything works. Except for one thing.
On the first commit on a PR, the check is forever stuck in "initializing" (screenshot below). On the second commit to the branch (can even be an empty commit), the check runs successfully. I wonder if you're seeing the same?

On the first commit on a PR, the check is forever stuck in "initializing" (screenshot below). On the second commit to the branch (can even be an empty commit), the check runs successfully. I wonder if you're seeing the same?

Ahh, yep, I didn't even try a PR in my repo yet, but I can confirm I see the same. Looking at the logs in the console, it looks like it's trying to do a compare, but it's using an invalid commit hash as the base. See:
status: 404
request: {
    method: "GET"
    url: "https://api.github.com/repos/joshjohanning-org-safe-settings/admin/compare/0000000000000000000000000000000000000000...5f7d787b1a886fd614a9a5b271a5c149a904750f"
    headers: {
      "accept": "application/vnd.github.v3+json",
      "user-agent": "probot/12.2.0 octokit-core.js/3.5.1 Node.js/14.19.0 (linux; x64)",
      "authorization": "token [REDACTED]"
    }
    request: {}
}

Not sure where in the code this is, but we should be doing:
HEAD...5f7d787b1a886fd614a9a5b271a5c149a904750f

instead of
0000000000000000000000000000000000000000...5f7d787b1a886fd614a9a5b271a5c149a904750f

We have seen this weird behavior with commits becoming 00000... I believe this is an issue that is caused when sfe-settings is running in heroku and heroku for some reason doesn't like some branch names. Not sure if that is the case here.

We have seen this weird behavior with commits becoming 00000... I believe this is an issue that is caused when sfe-settings is running in heroku and heroku for some reason doesn't like some branch names. Not sure if that is the case here.

Was not running in heroku for my instance - was running just on an Azure VM.

@decyjphr  I've seen the same error as well (was running locally, not on heroku )


Feature/pages content

I got wrong in #43, now should be ok
Starts #41
Page templating as BaseComponents
Starts simple import from local file. (later from api)
For now, content, we have to decide about the header, what to put, as props / slot...
Icons / featured photo?
Or leave that responsibility totally to the content?? My concern is that cool position, for example below

@philsturgeon please check :)

Looking good! Can we left align (I have heard center aligning is rough for accessibility) and we can just ditch that image for now.

Cheers. Simplicity is so beautiful ❤


org.gradle.api.artifacts.VersionCatalog#findLibrary is inneficient

Expected Behavior
Ideally, the size of the version catalog would not have impact on the time it takes to look up a library in it.
Current Behavior
The bigger the version catalog the more time it takes for org.gradle.api.artifacts.VersionCatalog#findLibrary to complete.
Context (optional)
Because org.gradle.api.internal.catalog.VersionCatalogView#findLibrary calls org.gradle.api.internal.catalog.DefaultVersionCatalog#getLibraryAliases which sorts the collection of library aliases in the catalog every time it is called, the bigger the catalog the slower the lookup will be even though libraries are stored in a map indexed with their aliases.
In our case we have a convention plugin which is applied to over 1000 subprojects. That convention plugin looks up and adds a couple of test dependencies listed in the catalog which has 400 entries. At that scale the inefficiency in org.gradle.api.internal.catalog.VersionCatalogView#findLibrary shows up as part of the configuration phase in build scans.
Steps to Reproduce
Create a version catalog with 400 entries, perform a couple of lookups in a loop executed around 1000 times. Put a cache between the lookups and the code executing them and see a significant difference in execution time.
Gradle version
8.1.1
Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for providing a good report!
The issue is in the backlog of the relevant team and is prioritized by them.

If you are interested in contributing to Gradle, this issue is actionable and ready for contribution but might be challenging for first-time contributors.
See CONTRIBUTING.md for more information.

Thanks, @eskatos. I'm not a first time contributor and I'd be more than happy to provide a PR. I just have no idea what the testing strategy should be for this change (is it worth a micro benchmark using jmh? probably not...) but hopefully this can be discussed on the PR.

@erdi We have a performance test suite that gets validated as part of PRs. AFAIK there's no scenario with a large version catalog but that could be added.
For inspiration this is the PR that added a small version catalog to our scenarios:

https://github.com/gradle/gradle/pull/24985

Thanks, that's very helpful, I will take a closer look.


[Urgent] Fix requirements issue

What does this PR do?
#152 added a bunch of unnecessary requirements to requirements.txt. This included a requirement for pyobjc. With this requirement, pip install fails on Linux and Windows.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Related: #157


fix: under construction

Pull Request Template
Issue Overview
This PR addresses #1564

[x] This change addresses the issue in full
[ ] This change addresses only certain aspects of the issue
[ ] This change is a dependency for another issue
[ ] This change has a dependency from another issue

Description
This PR changes all visual references of "Coming Soon"  to "Under Construction" without making any backend changed. This includes image tag labeling, homepage "under construction section", filtering, what to Expect text, partner's form questions and details, and a new display pattern to highlight when residents should apply.
Note (cc @eajensenwa):
I made the decision to still include the "Residents should apply in..." messaging when there was only a year present but no season since I felt it was still applicable for properties that wouldn't be open for a while and didn't have a season yet set. Let me know if this is what you'd expect.
Also, made two small assumptions on the "Residents should apply in" Figma. One that the font weight of 400 in the design differing from the Alert Box default of 500 is not worth pursuing customization. Secondly, the icon used in the Figma isn't one of our internal icons (hollow info icon is but solid is not) and with how we type the Alert Box component we would have to make a change to the component in UI-C. I assumed this change was also not worth the additional time. Let me know if you agree with these assumptions!
Note (cc @sarahlazarich ): There aren't currently any what to expect translations so I did not implement the "This property is still under construction" translations
How Can This Be Tested/Reviewed?
One way to test this would be to pull this down locally, reseed!, and create a new listing.

Set it as Under Construction (ensure text update there)
Save
Verify the updates are reflected on the homepage (under construction section, see all under construction, image tag)
Check translations
Go back to partners and add marketing season and date to same listing.
Save
View listing on detail view
Verify new "Residents should apply in..." messaging matches Figma
Check translations
Change window sizing to ensure mobile view matches Figma

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have added QA notes to the issue with applicable URLs
[ ] I have performed a self-review of my own code
[ ] I have reviewed the changes in a desktop view
[ ] I have reviewed the changes in a mobile view
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have assigned reviewers
[ ] I have run yarn generate:client and/or created a migration if I made backend changes that require them
[ ] I have exported any new pieces added to ui-components
[ ] My commit message(s) is/are polished, and any breaking changes are indicated in the message and are well-described
[ ] Commits made across packages purposefully have the same commit message/version change, else are separated into different commits

Reviewer Notes:
Steps to review a PR:

Read and understand the issue, and ensure the author has added QA notes
Review the code itself from a style point of view
Pull the changes down locally and test that the acceptance criteria is met
Also review the acceptance criteria on the Netlify deploy preview (noting that these do not yet include any backend changes made in the PR)
Either explicitly ask a clarifying question, request changes, or approve the PR if there are small remaining changes but the PR is otherwise good to go

On Merge:
If you have one commit and message, squash. If you need each message to be applied, rebase and merge.

@ColinBuyck - if there are no what to expect translations, I think it's fine to not implement translations here. And I agree with Em's recommendation above.


Cannot divide bfloat16s in Pallas

Description
Here is a simple Pallas kernel, a slight modification to the Quickstart kernel which does elementwise division instead of elementwise addition. When its inputs have dtype bfloat16, it fails at the lowering step.
import jax
from jax.experimental import pallas as pl
import jax.numpy as jnp

def divide_vectors_kernel(x_ref, y_ref, o_ref):
  x, y = x_ref[...], y_ref[...]
  o_ref[...] = x / y

@jax.jit
def divide_vectors(x: jax.Array, y: jax.Array) -> jax.Array:
  return pl.pallas_call(divide_vectors_kernel,
                        out_shape=jax.ShapeDtypeStruct(x.shape, x.dtype)
                        )(x, y)

# dtype = jnp.float32  # works
dtype = jnp.bfloat16   # broken
divide_vectors(jnp.arange(8., dtype=dtype), 1.+jnp.arange(8., dtype=dtype))

Result:
Traceback (most recent call last):
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/triton/lowering.py", line 358, in lower_jaxpr_to_triton_ir
    outvals = rule(rule_ctx, *invals, **eqn.params)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/triton/lowering.py", line 1093, in _div_lowering_rule
    return _floordiv(x, y)
           ^^^^^^^^^^^^^^^
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/triton/lowering.py", line 840, in _floordiv
    raise NotImplementedError(f"unsupported types: {x.type} and {y.type}")
NotImplementedError: unsupported types: tensor<8xbf16> and tensor<8xbf16>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jacob/testing/pallas_bugtest.py", line 17, in <module>
    divide_vectors(jnp.arange(8., dtype=dtype), jnp.arange(8., dtype=dtype))
  File "/home/jacob/testing/pallas_bugtest.py", line 11, in divide_vectors
    return pl.pallas_call(divide_vectors_kernel,
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/pallas_call.py", line 560, in wrapped
    out_flat = pallas_call_p.bind(
jax._src.source_info_util.JaxStackTraceBeforeTransformation: jax._src.pallas.triton.lowering.LoweringError: Exception while lowering eqn:
  a:bf16[8] = div b c
With context:
  LoweringRuleContext(context=ModuleContext(name='divide_vectors_kernel', grid_mapping=GridMapping(grid=(), block_mappings=(None, None, None), mapped_dims=(), num_index_operands=0, num_scratch_operands=0), program_ids=[]), avals_in=[ShapedArray(bfloat16[8]), ShapedArray(bfloat16[8])], avals_out=[ShapedArray(bfloat16[8])], block_infos=[None, None])
With inval types=[RankedTensorType(tensor<8xbf16>), RankedTensorType(tensor<8xbf16>)]
In jaxpr:
{ lambda ; a:MemRef<None>{bfloat16[8]} b:MemRef<None>{bfloat16[8]} c:MemRef<None>{bfloat16[8]}. let
    d:bf16[8] <- a[:]
    e:bf16[8] <- b[:]
    f:bf16[8] = div d e
    c[:] <- f
  in () }

The preceding stack trace is the source of the JAX operation that, once transformed by JAX, triggered the following exception.

--------------------

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jacob/testing/pallas_bugtest.py", line 17, in <module>
    divide_vectors(jnp.arange(8., dtype=dtype), jnp.arange(8., dtype=dtype))
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/triton/lowering.py", line 2674, in pallas_call_lowering
    return lowering_fn(
           ^^^^^^^^^^^^
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/triton/lowering.py", line 2576, in _pallas_call_ttir_lowering
    lowering_result = lower_jaxpr_to_triton_module(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/triton/lowering.py", line 315, in lower_jaxpr_to_triton_module
    () = lower_jaxpr_to_triton_ir(ctx, jaxpr, block_infos, *entry.arguments)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jacob/.cache/pypoetry/virtualenvs/testing-ozEuPuop-py3.11/lib/python3.11/site-packages/jax/_src/pallas/triton/lowering.py", line 363, in lower_jaxpr_to_triton_ir
    raise LoweringError(
jax._src.pallas.triton.lowering.LoweringError: Exception while lowering eqn:
  a:bf16[8] = div b c
With context:
  LoweringRuleContext(context=ModuleContext(name='divide_vectors_kernel', grid_mapping=GridMapping(grid=(), block_mappings=(None, None, None), mapped_dims=(), num_index_operands=0, num_scratch_operands=0), program_ids=[]), avals_in=[ShapedArray(bfloat16[8]), ShapedArray(bfloat16[8])], avals_out=[ShapedArray(bfloat16[8])], block_infos=[None, None])
With inval types=[RankedTensorType(tensor<8xbf16>), RankedTensorType(tensor<8xbf16>)]
In jaxpr:
{ lambda ; a:MemRef<None>{bfloat16[8]} b:MemRef<None>{bfloat16[8]} c:MemRef<None>{bfloat16[8]}. let
    d:bf16[8] <- a[:]
    e:bf16[8] <- b[:]
    f:bf16[8] = div d e
    c[:] <- f
  in () }
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.

System info (python version, jaxlib version, accelerator, etc.)
>>> import jax; jax.print_environment_info()
jax:    0.4.25
jaxlib: 0.4.25
numpy:  1.26.4
python: 3.11.4 (main, Dec  7 2023, 15:43:41) [GCC 12.3.0]
jax.devices (2 total, 2 local): [cuda(id=0) cuda(id=1)]
process_count: 1
platform: uname_result(system='Linux', node='jacob', release='6.2.0-39-generic', version='#40-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:18:00 UTC 2023', machine='x86_64')

$ nvidia-smi
Wed Mar 13 18:00:27 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.07             Driver Version: 535.161.07   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA RTX A6000               On  | 00000000:2D:00.0 Off |                  Off |
| 30%   39C    P2              35W / 300W |    269MiB / 49140MiB |      2%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA RTX A6000               On  | 00000000:41:00.0 Off |                  Off |
| 30%   41C    P2              30W / 300W |    269MiB / 49140MiB |      1%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A    318171      C   ...anifest2-ozEuPuop-py3.11/bin/python      262MiB |
|    1   N/A  N/A    318171      C   ...anifest2-ozEuPuop-py3.11/bin/python      262MiB |
+---------------------------------------------------------------------------------------+

Thanks for reporting! We indeed do not yet support bf16 (for no good reason, really), but it should easy to fix that.

Upon further checking, PTX has no instruction for dividing bf16, so there is nothing Pallas can do.

@superbobry Is there one for log or lg2? I could implement division as log, sub, exp. Right now, Pallas does not support log of bfloat16 either.
Also, Triton does seem to support bf16 division. Are they doing something other than PTX?

Presumably they are doing the division in f32, because PTX doesn't have a bf16 division that I can see: https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions-div

I think we might be able to support log etc for bfloat16, just not via libdevice. I am working on a PR doing that.

@hawkinsp do you think it's reasonable for us to cast to f32 and back implicitly as well?


warning.js:33 Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in.

Check the render method of ModalWrapper.
in ModalWrapper (created by DateTimePickerWrapper)
in DateTimePickerWrapper (created by WithUtils(DateTimePickerWrapper))
in WithUtils(DateTimePickerWrapper) (created by WithStyles(WithUtils(DateTimePickerWrapper)))
Please help me out

Please provide steps to reproduce with https://codesandbox.io/

hey @anilljoshi , I got the same issue. The Problem is with React version as the library is using advantages of React Fragment which was added in v [16.2.0].
(https://github.com/facebook/react/blob/master/CHANGELOG.md#1620-november-28-2017)

cc @dmtrKovalenko

I am still facing same issue what should i do to fix it??

@anilljoshi have you updated your React and React-dom dependencies to 16.2.0 or above?

Same issue. Double checked.
    "react": "^16.2.0",
    "react-dom": "^16.2.0",

@kpennell If you are facing an issue with material-ui-pickers, please submit new issue with detailed description.


Make benchmarks

Though we already made some benchmarks, we should put together what we have, add more benchmarks and create a report.
TODO:

[x] create benchmark scenarios
[x] implement the scenarios in some engine (stampede/testRTC?) and add them to this repo
[x] create a script to collect performance data from the server and publish it to GH
[x] perform benchmarks and publish the report (in readme?)

In the future, we may want to use something more efficient than a browser to generate the load (another Membrane pipeline?)

Benchmarks and results were added to membrane_demo


Migrated kubectl cluster-info to v1.

Addresses #7018
Also fixed the case when kubernetes.io/name label is not defined
(another fix for #9875)

cc @bgrant0607 @vishh @mwielgus

See also #9356, which is the flip side of cluster-info.

Shippable looks good (despite it's red). Merging.


Checkbox "Show system tags" hides nonsystem tags starting with "csui"

Checkbox "Show system tags" hide nonsystem tags together with system tags.
Nonsystem tags will be hidden if their keys begin with "csui", next characters does not matter.
If tags, that begin not with "csui", are in tags group, then this group will not be hidden.
Steps:

Log in and go to tab, that has tags on cards (e.g. Images)
Go to Tags tab of any card and create tags: 1) csui.xxxxx (system); 2) csuixxxxx (nonsystem)
Press to "Show system tags"

Actual result: System and nonsystem tags are hidden
Expected result: Only system tags are hidden
Connected feature: vm_tag_showsystem, image_tag_showsystem, firewall_tag_showsystem
Screenshots:
Before check "Show system tags"

After check "Show system tags"

After check "Show system tags" with additional tag, that not begin with "csui"

Issue was closed by mistake and branch was merged so you can test it on the master branch

Please, retest it on master

Tested on master


Disable locale based URL routing

Is your feature request related to a problem? Please describe.
I'm coming from nuxt-i18n where I don't have anything related to i18n in the URL.
In nuxt-i18n it:

On page load auto detects the user's locale
Auto switches to that locale if possible (doesn't change the page URL)
Saves a cookie with locale

Currently with nuxt-i18n-micro after deploying to production I was surprised to see the URL change:
from example.com to example.com/en-GB
How do I stop this redirect from happening? I would like the URL to remain as example.com no matter the chosen locale.
i18n: {
    locales: [
      {
        code: 'en-GB',
        iso: 'en-GB',
      },
      {
        name: 'French',
        code: 'fr-FR',
      },
      {
        name: 'German',
        code: 'de-DE',
      },
    ],
    includeDefaultLocaleRoute: false,
    defaultLocale: 'en-GB',
    fallbackLocale: 'en-GB',
    localeCookie: 'locale',
    disablePageLocales: true,
    autoDetectLanguage: false,
    meta: true,
  },

If change includeDefaultLocaleRoute: false I get the error:
 ERROR  Nuxt-i18n-micro: "includeDefaultLocaleRoute" must be set to true when using Cloudflare Pages.
Thanks!

I've had some luck manually patching node_modules to return early when attempting to generate and prerender these localised routes:

Is this something you'd consider as a configurable option?

@s00d do you think disabling locale based routes is in the scope of this project?

Hi,
I’ve answered similar questions before. Disabling localized routes doesn’t really make sense because the whole point of this setup is to improve SEO. Without localized routes:

Search engines won’t index your content correctly for different languages.
You might face performance issues with SSR.

If you don’t need localized routes, you probably don’t need these modules at all. Vue I18n can do what you need out of the box with a simple plugin and a language switcher component.
Can you explain your use case? Maybe there’s another way to solve your problem without breaking how the module is designed to work.

My apps are mostly behind authentication flows so SEO isn’t important, sometimes I won’t know ahead of time what locale the user has when sending emails or sms and sending links without locales, or the wrong locale, will cause an immediate redirect which can break some flows like Auth/OAuth.
The apps are also multi tenant with custom domain support so likely the locale differences will be on the top level domain level eg .com, .fr etc
Google does also support the language header when crawling https://developers.google.com/search/blog/2015/01/crawling-and-indexing-of-locale

You've exhausted me with the no_prefix strategy, I added support for strategies in v1.50.1. Check it out.
Here are the docs:
Documentation

Wow, thank you so much!! A couple of snags I've noticed in testing:

The nitro.preset = 'cloudflare_pages' restriction can now be removed if using i18n.strategy = 'no_prefix'?

Because of const primaryLanguage = language.split('-')[0] I can no longer use en-GB or fr-FR which might restrict the ability to provide regional differences in translations. Such as en-GB vs en-US.

I've reverted back to using en-GB/fr-FR/de-DE with 1.50.4 and it's working as expected! Thanks!


Symfony 5 compatibility?

Is this package compatible with Symfony 5?

Not yet. It will be compatible when these two PRs are merged (and composer.json updated): #110 and #109.

OK. I am inline.
Sent from my iPhone

On 22-Dec-2019, at 14:08, Maxime Pinot<EMAIL_ADDRESS>wrote:

Not yet. It will be compatible when these two PRs are merged (and composer.json updated): #110 and #109.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@curry684 Since you bumped the dependencies I saw, would you mind tagging it.

You do not want that until I fixed everything to work with the new dependencies.

I cannot do my project further until its updated so please forgive my eagerness. Please take your time.

Wise lesson for the next time - do not upgrade to a new Symfony major version until it's been out for at least 3 months so dependencies have caught up   😉

You should be able to test dev-master right now. Keep me posted if you see anything unexpected.

OK. Giving it a try.

No weird stuffs? I'm getting 2 worrying errors out of the unit tests I can't really explain.

Fixed those, still got a bunch of crashes in unit tests but non-functional.
https://github.com/omines/datatables-bundle/releases/tag/0.4.0
Submit issues (or preferably PRs) if you find anything.

@curry684 Its working great with Symfony 5 and I came back to thank you and the contributors for creating such a great package that saves time while maintaining project structure. Its one of of the most useful package even to me.

Thanks, highly appreciated   😄
Happy new year!

HNY to everyone! 🎆


feat(types): export type declarations

Related: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/71493

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

58 of 58 (100.0%)  changed or added relevant lines in 9 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 96.795%

Totals

Change from base Build<PHONE_NUMBER>0:
0.2%

Covered Lines:
512

Relevant Lines:
519

💛  - Coveralls

This would have caught the TSX loader issue 😢
packages/tsx/tsx.mjs:43:47 - error TS2339: Property 'parentURL' does not exist on type 'LoadHookContext'.

43   const esbuildConfig = findEsbuildConfig(ctx.parentURL);

@JakobJingleheimer take a look to #51

+1 to check type but why we need to export it ?
We need to have the smaller loader as possible

+1 to check type but why we need to export it ?
We need to have the smaller loader as possible

So VS Code etc pick them up.

So VS Code etc pick them up.

I had difficulty to understand what you point out.

I had difficulty to understand what you point out.
VS code handle correctly JSdoc

It didn't for me. I think that only works in a project already using typescript that is configured to checkJs. This works for projects that don't.

IHMO we should just check type (JSdoc) but not write it.

IHMO we should just check type (JSdoc) but not write it.

I wish 😢 I thought JSDoc would cover all our bases with no additional overhead. Alas, it seems only mostly.

I wish 😢 I thought JSDoc would cover all our bases with no additional overhead. Alas, it seems only mostly.

as mentioned in the comment above, you need to generate the types and check them in ci.
But I don't think we need to write our code in TS

as mentioned in the comment above, you need to generate the types and check them in ci.

If I understand you, that is what I'm doing in publish.yml: https://github.com/nodejs-loaders/nodejs-loaders/pull/57/files#diff-551d1fcf87f78cc3bc18a7b332a4dc5d8773a512062df881c5aba28a6f5c48d7R23-R24

But I don't think we need to write our code in TS

👍

If I understand you, that is what I'm doing in publish.yml: https://github.com/nodejs-loaders/nodejs-loaders/pull/57/files#diff-551d1fcf87f78cc3bc18a7b332a4dc5d8773a512062df881c5aba28a6f5c48d7R23-R24

and tac --no-emit on ci.yml

Ohhhh! yes, we can do that too. Good idea. Let's do that subsequently though (especially because some of them are still broken now, like the TSX loader one), and I think fixing those is out of scope for this PR.

How sorry for the conflict

Ooof, these conflicts super suck and are very difficult to resolve…

@AugustinMauroy good to land?

@AugustinMauroy good to land?

Add types-check script and run it on ci and

Add types-check script and run it on ci and

Let's do that subsequently though (especially because some of them are still broken now, like the TSX loader one), and I think fixing those is out of scope for this PR.

I'll add the command now, but not add it to CI (because it would fail for now).


maybe use pcnt(rs1 ^ rs2) ?

In https://groups.google.com/d/msg/comp.arch/8MR8_O-wCeE/8pyiGYz8AQAJ Pedro Pereira suggests:
In the latest bitmanip extension document, the popcount opcode is defined as:
rd = pcnt(rs)
a more useful primitive would be:
rd = pcnt(rs1 ^ rs2)
Since the RISC-V has a zero register (x0), the suggested version could
encode the first one as "rd = pcnt(rs ^ x0)".
I don't imagine that reading one extra register and
performing a xor would make the instruction need more cycles.

Certainly having Hamming distance available directly would slightly improve many algorithms, and the cost is low (using a binary op instead of unary).

I believe it would be more useful if the primitive were:
rd = pcnt(rs1 & ~rs2)
This allows for pcnt operations on bytes, halfwords or fields in words. This makes the instruction
useful in dealing with sub-32-bit applications or packed-data applications.
An immediate version will also be useful, for the same reason. The ~imm takes advantage of
the sign-extend nature of immediate operands to make a direct pcnt.b
rd = pcnt(rs1 & ~imm)

"rd = pcnt(rs1 & ~rs2)" seems like a possibility. As with the xor variant it allows using x0 as rs2 for a simple popcnt.
An immediate version is I think out of the question. It would be used in far too little code to justify the opcode space.

Population count, believe it or not, is not a trivial instruction to implement in terms of levels of logic. To help reduce timing pressure, we have kept it as its own instructions. Of course, implementations are free to fuse XOR or ANDN with Population Count.


Out of memory due to mlock

s2n_realloc call mlock. s2n_free does not call munlock. This can lead to an out of memory condition.
According to https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_MRG/1.3/html/Realtime_Reference_Guide/sect-Realtime_Reference_Guide-Memory_allocation-Using_mlock_to_avoid_memory_faults.html munlock is necessary when freeing the locked memory.
According to http://www.freebsd.org/cgi/man.cgi?query=mlock "Unlocking is performed explicitly by munlock() or implicitly by	a call to munmap()"
Testing on Ubuntu 14.04.2 LTS continued use of mlock without a corresponding munlock after (can also be done before but I don't think it should) free will not allow the memory to be reused.

Looks unlock might not be enough. mlock is controlled by RLIMIT_MEMLOCK (ulimit -l). Ubuntu is setting this to 64 KB (even for root). If the total locked memory exceeds this mlock will fail.
Increasing the limit will avoid this problem. However, this may not be feasible in all situations.
Also, the FreeBSD documentation above says that use of mlock can be restricted to super-user only.
This relates to this OpenVPN bug, https://community.openvpn.net/openvpn/ticket/293 also discussed at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=406895

Test case https://gist.github.com/user-none/6c627e97f65a31c5bc1e . keeps calling s2n_config_new until an out of memory error occurs. As stated n the gist valgrind showed 34,977 bytes allocated.
Commenting out the mlock if statement in utils/s2n_mem.c the test passes.

@user-none Good serious find!

Is it that the limit may not even be raised for/by root? On my system I can raise the limit arbitrarily, but I'm also running a custom kernel and am not certain what parts are custom.

Root can raise the limit. On Ubuntu by default only root can raise the
limit. It is also possible to have it raised permanently the same as other
limits.
Think of s2n being used in s client application like a we browser. Any one
wanting to use the application will need to reconfigure the OS. Personally,
if I were told I needed to start changing OS level settings in order to use
something like a web browser I'd look for a different web browser.
Not everyone may be able to raise the limit. A university computer lab for
example. Students would not have access to make this change.
On Friday, July 3, 2015, Colm MacCárthaigh<EMAIL_ADDRESS>wrote:

Is it that the limit may not even be raised for/by root? On my system I
can raise the limit arbitrarily, but I'm also running a custom kernel and
am not certain what parts are custom.
—
Reply to this email directly or view it on GitHub
https://github.com/awslabs/s2n/issues/108#issuecomment-118234021.

@user-none Good points I would NEVER run my internet web browser as root too that would be insane in the membrane!

@BigBoneDaddy root can change the limit permanently for users but it still
needs to be done manually.
Also, don't forget that this prevents the applications memory from being
written to swap. So even with the limit removed you can still have an out
of memory condition if physical memory is exhausted even when it wouldn't
happen because swap is available.
On Friday, July 3, 2015, BigBoneDaddy<EMAIL_ADDRESS>wrote:

@user-none https://github.com/user-none Good points I would NEVER run
my internet web browser as root too that would be insane in the membrane!
—
Reply to this email directly or view it on GitHub
https://github.com/awslabs/s2n/issues/108#issuecomment-118328801.

I think #200 #195 should fix this. You can set the env var S2N_DONT_MLOCK if you aren't interested/able to increase the memlock limit.


Add more patterns to sudo.py

These patterns cover commands like
reboot
or
dpkg-reconfigure something

Thanks!

You're welcome! :+1: