ApplicationDecorator instead of Draper

Right now we're including Draper in the default Gemfile. However, as part of a recent discussion I came up with a pretty functional yet minimal decorator that could just be good enough™ and would remove a pretty big and magic external dependency:
require 'forwardable'

class ApplicationDecorator
  extend Forwardable

  def self.forward_all
    define_method :method_missing do |m, *args, &block|
      return record.send(m, *args, &block) if record.respond_to?(m)
      super
    end

    define_method :respond_to_missing? do |m, include_private = false|
      record.respond_to?(m) || super(m, include_private)
    end
  end

  def self.forward(*methods)
    def_delegators :record, *methods
  end

  def self.forward_aliased(hash)
    hash.each do |old_name, new_name|
      def_delegator :record, old_name, new_name
    end
  end

  attr_reader :record

  def initialize(record)
    @record = record
  end
end

Example decorator (with a fake user object):
require 'ostruct'
user = OpenStruct.new(first_name: 'Michael', last_name: "Kohl")

class UserDecorator < ApplicationDecorator
  include ActionView::Helpers::TagHelper

  forward_all

  def full_name
    content_tag :strong, "#{first_name} #{last_name}"
  end
end

du =. UserDecorator.new(user)
du.full_name
#=> "Michael Kohl"

As you can see this allows:

forwarding all methods the wrapped record supports via forward_all.
forwarding selected methods via forward.
forwarding methods while renaming them via forward_aliased.
full access to the wrapped object via the record method.
integrating whichever helpers one needs via a basic include call (no magic)

This was a ~20 minute hack, but I think it's rather promising. If we can agree to replace Draper I'd spend some more time on this and also add tests etc.

Cool, fine with me. I generally assume draper is doing something similar but yeah we probably don't need any of its fluff

Nice one @citizen428 👍  I recently watched a Design patterns in Ruby course and he uses forwardable for decorators as well.
I'm wondering what's the motivation behind it? Is Draper famous for being inefficient at something? I'd be worried about losing the handy stuff that comes with Draper (e.g. collections, any edge-cases handling?), so we'd have to keep adding/fixing them ourselves whenever there is need for them. I'm also wondering if it's easier to google Draper-related queries than finding answers to decorators as a design pattern (thinking about new developers joining a project).

@hiattp It does something similar, with layers and layers of Ruby magic on top.
@janklimo I had several motivations (not just "not invented here syndrome" 😉 ):

Reduce the number of gems we depend on. Draper ties surprisingly deeply into Rails, so it was actually one of the last gems in our template app that released a version for Rails 5.
Draper assumes the only thing you'd ever want to decorate is an AR instance, whereas the pattern is useful in many other cases too (wrapping objects you don't control for example or as alternative to monkey patching).
For every decorator instance you also instantiate a view_context, so Draper can magically make it available in their h helper. This seems wasteful when you can just include the helper(s) you need.
The use of the magic decorate method makes it hard to see where exactly certain decorators are used (i.e. @article.decorate or Article.find(params[:id]).decorate vs ArticleDecorator.new(@article)).

Regarding your concerns: I don't think that it's necessary to google for "answers to decorators as a design pattern", this simple class above should arguable be easier to understand than Draper. It also essentially works like ActiveModel::Serializers (specify things you want forwarded, add your own methods for the rest), so most people joining a Rails project should get it.  Plus if you ever feel like you have more complex needs it's easy to add Draper and delete this one file.
Anyway, I don't quite have the time right now to add all the necessary tests etc.

@citizen428 good points 👍  makes a lot of sense whenever there's time for it

Closing, all follow-up discussion can happen in https://github.com/lockstep/rails_new/pull/17


☸ Upgrade APC to Kubernetes 1.31

User Story
As an Analytical Platform engineer
I expect our compute environment to be up-to-date
So that we never find ourselves in a position where we have to down tools to catch up
Value / Purpose
No response
Useful Contacts
@jacobwoffenden
User Types
No response
Hypothesis
No response
Proposal
Update EKS and any addons/components
Additional Information
https://aws.amazon.com/about-aws/whats-new/2024/09/amazon-eks-distro-kubernetes-version-1-31/
Definition of Done

[ ] Check addons are ready for 1.31, last time this caused a problem with GuardDuty
[ ] Upgrade development
[ ] Upgrade test
[ ] Upgrade production

dupe of #5060 #5065 and #5066


Explorer Practice: add delay on move

makes it feel more natural and it helps when you want to go back a few moves

fixed in v2.1.3


Proposal for API Docs - Attributes

Proposal for API Docs - Attributes
Attributes provide extra information about types or members via decorating types and members with this information. Some attributes form part of the public contract (e.g. SerializableAttribute) whereas others simply augment (e.g. DebuggerDisplayAttribute) an experience with the type or member. The docs should be focussed on the first case since the second case is likely to distract from key issues and potentially confuse readers.
Today, the .NET API docs have a few problems with attributes:

The docs try to hide attributes in the second category above, but do not have a complete list of these attributes to "opt-out". Various teams create and use new attributes all the time, so the "opt-out" strategy is a losing proposition.
The docs don't do a good job of explaining why attributes are important.
The attributes are displayed as part of the API signature and take away attention from this key information.

There are two parts of the proposal:

Display only attributes that have been opted-in to being displayed. Ensure that the docs explain why each of these attributes is important, establishing an important concept for developers to understand.
Move attributes to a different section of the page, leaving the declaration section to be focussed on signatures.

Documenting Important Attributes
All of the important attributes should be documented, to introduce and describe each attribute and their associated concept. These attributes should be documented in (repo location) ~docs/standard/attributes.md.
The text for each attribute should be no longer than a paragraph, ideally 2 sentences. The sentence should link to both the API definition for the attributes and to a conceptual page that describes the associated concepts.
The following is an example of the expected format:

Serializable - Indicates that a type can be serialized and deserialized with any serializer that supports standard .NET serialization, such as Binary Serializer or JSON.NET. Serialization enables objects to be saved for later use (even after the program has teminated) or transfered to other processes or machines.

There are multiple categories of attributes. Assuming we can define intuitive categories, the attributes should be split into different sections within the document.
Display on API pages
A given type or member should display all of the attributes that have been applied to it that are in the opt-in list. Each one of these attributes should link to the page where the attribute is described. For example:

Serializable

The list of attributes should be in a different location on the page than the API signature. Examples of current (undesired) behaviour:

https://docs.microsoft.com/en-us/dotnet/core/api/system.aggregateexception
https://docs.microsoft.com/en-us/dotnet/core/api/system.attribute
https://docs.microsoft.com/en-us/dotnet/core/api/system.lazy-1
https://docs.microsoft.com/en-us/dotnet/core/api/system.timezoneinfo

Defining important attributes
We need to establish a list of important attributes that should be displayed on type and member pages. Each of these attributes should be adequately documented in a conceptual topic, to explain and describe why the attribute is important in the daily life of a .NET developer.
Most of the attributes that need to be shown for any .NET docs will be in the "opt-in" list defined by the .NET Team. Some higher-level products will need to opt-in additional attributes, but they will be fewer in number. Those attributes should be opted-in in the same way, but not in core-docs repo.
There are two obvious options:

Tools understand the format used in attributes.md and can glean the list of attributes from it. This is the easiest approach for writers.
A sidecar file defines the set of important attributes, for example, attributes.json. Writers maintain the set of attributes in both attributes.md and attributes.json. The advantage of this approach is that it's easier for tools to read attribute.json and it allows for the possibility that attributes.md could document more attributes than deserve to show up in API documentation.

The second option is a bit more work for writers, but is easier for tools and offers more flexibility. It appears to be the better option.
Plan
Develop this new capability in the documentation system. Start with ~3 attributes documented to pilot the feature, deploy live and then add the rest of the attributes over time.

/cc @bradygaster @mairaw @migueldeicaza @conceptdev @rpetrusha

Related: Namespace summary in API reference should not show attributes #809

We should already have this list somewhere since we don't display these attributes on MSDN. @bradygaster is this the one you were mentioning today that you were following up?

@dend @adkinn

We're closing this one. The API docs already list the attributes separately and you can click on each one for more information. We do a file called Filter.xml where we define which attributes should be shown or not shown.
If there's more work you'd like to see being done, please reopen this @richlander.


Make OpenDataPhilly-CKAN Read only

We've made the CKAN version read only in the past. We should make it read only again when the new launch is just weeks away.

This was way more involved then I thought - internal issue 538.
But just disabling the links to logins seems like it's good enough.


Updating<EMAIL_ADDRESS>

@homu r+

:pushpin: Commit d1dfc82 has been approved by gmurphey

:zap: Test exempted - status


Inject dependencies into Filter classes ?

Hello,
The need arises in my company to generate documentation for the async contracts used by our apps. I would like to use Saunter but a feature is missing in order to do that easily.
Here's a bit of context, we use a custom built Nuget to register contracts that are published and received through Service Bus (It's open source and available here).
This Nuget is using IOptions pattern to handle its configuration and I would like to use those options to dynamically create channel and operation items.
In order to do that, I would like to be able to inject said options into DocumentFilter, ChannelItemFilters and OperationFilters classes.
Is it doable ?
tl;dr :
I would like to inject services into DocumentFilter, ChannelItemFilters and OperationFilters classes in order to generate documentation based on the internal state of my application.

Not currently doable without some pretty ugly hacks (build the service provider manually during Startup)...
This should be possible to implement in a nice way, we just need a reference to the IApplicationBuilder.ApplicationServices which we can probably grab during the middleware registration (as this is already an extension on IApplicationBuilder).
I'll do some reading and see what the recommended approach is.

Hello @tehmantra, any update on this ?

Sorry, this one fell off my radar! I'll get something out over the weekend :)

This is available in v0.8.0
services.AddAsyncApiSchemaGeneration(options =>
{
    options.AddOperationFilter<FooFilter>();
}

services.AddTransient<FooFilter>(); // remember to register the type too (not sure how to avoid this step)


[SDK] WIP - Some TypeScript around smart-contract calls

Type smart-contract methods
Validate smart-contract responses with zod
Convert arrays to objects

Something else done in another PR: Improved smart-contract interactions with typechain: https://github.com/iExecBlockchainComputing/dataprotector-sdk/pull/178


fix: update go-git module to resolve gitimporter error

Summary
Updates the go-git module to v5.9.0
Does this close any open issues?
Closes #6159
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

@richard-fletcher  There is a conflict, please solve it, then I will merge your PR later.

@d4x1 @richard-fletcher I resolved the conflict and merged it for the upcoming release.


Subtitle with Italic Font leaves space between lines

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] support request

General infomration
Prerequisites

[x] Are you running the latest version?

Description
When subtitle has 2 lines and in italic format (style from original subtitles not KODI settings), leaves an empty line between them. Character encoding, font, size, style doesn't fix nothing. But I use Arial Bold 26 as my default font.
Steps to Reproduce

[First Step]
Play the Video
[Second Step]
Select Subtitle (no mater the language)
[Third Step]
Find a subtitle that appeared with italic (for example song lyrics, or voice on phone). I detect that the show "Boss Baby Back in Business" intro music have lyrics with italic style.

Expected behavior: [What you expected to happen]
SubtitleLine1
SubtitleLine2
Actual behavior: [What actually happened]
SubtitleLine1
SubtitleLine2
Context (Environment)
Installation

[ ] I installed the plugin via zip from the Releases page
[x] I´m using the Netflix Repo
[ ] I´m using a different source (Please tell which)

Operating System

[ ] Linux (x86/x64)
[ ] OSX (x86/x64)
[x] Windows 10 (x64)
[ ] Linux (ARM)
[ ] Android

Screenshots

That's a inpustream.adaptive problem. This commit fixes it.


add zgr and zco classes - darglint failing

Next step I am going to write the test. Thanks @malmans2  for the help with the bloody darglint ;) :)

Any idea why the failing of CI / upstream-dev (pull_request)?

Any idea why the failing of CI / upstream-dev (pull_request)?

Must have been a connection hiccup. I re-triggered it and looks OK.

Ok so let me just write down my next steps:

Implement analytical e3T/W (to keep compatibility with 3.6 and for testing)
Implement @malmans2 https://github.com/pyNEMO/pyDOMCFG/pull/15#discussion_r647222442 suggestion
Implement some of @malmans2 https://github.com/pyNEMO/pyDOMCFG/pull/16/commits/73008a45f578c92d8f7e535a2289e8e883f494a1 suggestions for sigma, compute_z3, compute_e3
Write the testing

Any other things we want to add?

Ok so let me just write down my next steps:

Implement analytical e3T/W (to keep compatibility with 3.6 and for testing)
Implement @malmans2 #15 (comment) suggestion
Implement some of @malmans2 73008a4 suggestions for sigma, compute_z3, compute_e3
Write the testing

Any other things we want to add?

Looks good. As you are not going to add that much at this point, I think 3 can wait after 4 so we can safely refactor if we need to. Just one comment about testing, I think the best way is to only test public methods (aka, easier to maintain and if we don't hit all private methods testing public methods, something is not right... codecov will tell us). Zco is already in good shape, I think you can make pretty much all methods in Zgr private as well...

There a few times where I think for loops of the kind for var in (varT, varK) clarify when the same thing is done and will prevent typos and bugs...
I've used GH inline comments without running the code so please double check if you are going to implement it.

I also just realized that all the inline for loops in  __call__ can probably be condensed in one outer for loop:
for varname, sigma, kx in zip(["z3T", "z3W"], [sigmas, sigmas_p1], [kindx, kindx + 1.0]):

When we have the tests, I think this will be the way to go:
Instead of having T and W variables stored directly in the class, we can define two separate datasets since the very beginning with identical variable names: e.g., self._ds_t, self._ds_w).
A the very end, we append to the variable names  "t" or "w" and we merge the two datasets (removing variables that we don't want to output, such as sig).


FileUpload uses wrong input for GetApiToken

The FileUpload uses  simpleFile.getPath() which just delegates to file.getPath() this causes issues if the path is relative, since relative paths are forbidden.
uploadTokenAction = new GetApiToken(Intoken.EDIT, simpleFile.getPath());
For the actual upload it uses the correct title property of SimpleFile
 .param("filename", MediaWiki.urlEncode(simpleFile.getTitle()))
So all that is to do here is to change
uploadTokenAction = new GetApiToken(Intoken.EDIT, simpleFile.getPath());
to
uploadTokenAction = new GetApiToken(Intoken.EDIT, MediaWiki.urlEncode(simpleFile.getTitle()));

Sounds good, can you submit a patch?

Done, could you please publish a new release when #62 is merged, it is effectively blocking our use of jwbf.

@eldur great, could you please publish a bugfix release.

@eldur is there anything blocking a bugfix release?

holidays 😄

@eldur could you give me an ETA?

is released as 3.1.1

thanks


update jscompiler test timeout to 20 seconds

We're now hitting the 10 second timeout on Travis.
Ugly workaround: wait up to 20 seconds.

Hurray! LGTM!


Request for DATABASE Support like CSV and URL

Hi..
is there any posiblility to add DATABASE Support, Insted of using csv we use DB

This would be great to have, with SQLAlchemy connectors. For embeddings creation on metadata of the SQL databases, Llama-index has a best process here: https://gpt-index.readthedocs.io/en/stable/examples/index_structs/struct_indices/duckdb_sql_query.html


[posix-app] update plat alarm implementation to handle speedup

Closing  this in favor of https://github.com/openthread/openthread/pull/3045.


[2.0-wip] IE fixes

Fix hover effect on default gray buttons in IE (one of the issues reported on #1358)
Fix Issue #1424 - since the value of "outline: thin dotted \9; /* IE6-8 */" was being matched also in IE9, it will be better not to show any focus effect
Fix file input vertical alignment in IE

This issue is related #1831

I fixed the line-height of the file input, but will pass on the removal of the IE outline and filter reset. I've updated the comment on the IE outline. I don't see a hover state on any buttons in IE either, so I've left that for now. I'll close this out and we can raise those issues again as necessary.


List index out of range

I was trying list slicing when this happened:
gabriel@hearot ~ nylo -i
 -> x: (1, 2, 3, 4)
(x: (1, 2, 3, 4), )
 -> x[0]
1
 -> x[1:3]
(2, 3)
 -> x[-1]
list index out of range

nyo != python


Standardize whitening of matrices

It would be a good idea to think about how we whiten matrices to stop the cholesky failing.
We often use something like:
A) chol( K + 1e-6 eye )
Is this actually what we want? We might for instance instead do
B) chol( K + 1e-6 eye * lambda)
where lambda takes into account the scale of K e.g lambda = mean(K) or somesuch like.
In any case even if we do want A) then we should consider pulling it out into a utlity function in my opinion. Thoughts?

This seems like a  good plan.
Actually, I often use a White(1) kernel added to my intended kernel which also helps, and it allows the optimizer to reduce the variance of this nugget as much as required.


fix: Split-panel should have accessible name and consistent identification of regions

Description

replacing aside with div to have more consistency
adding uinique id to split panel header
adding aria-labelledby to split-panel div
adding role="region" to split panel

How has this been tested?
[How did you test to verify your changes?]
[How can reviewers test these changes efficiently?]
[Check for unexpected visual regressions, see CONTRIBUTING.md for details.]
Documentation changes
[Do the changes include any API documentation changes?]

[ ] Yes, this change contains documentation changes.
[ ] No.

Related Links
[Attach any related links/pull request for this change]

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

[ ] Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
[ ] Changes do not include unsupported browser features, see CONTRIBUTING.md.
[ ] Changes were manually tested for accessibility, see accessibility guidelines.

Security

[ ] If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

[ ] Changes are covered with new/existing unit tests?
[ ] Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM 👍 😄
I only suggest to add test to check the role and if aria-labelledby referring to the header, to prevent regression.


I like this project

can you maybe make it easier to work wit so I can just put in portainer and use it like the npm(nginx proxy manager)

I will start working on the project again this week. It was intended more as a proof of concept for my systems. However, as the project has attracted a lot of interest, I will resume work.
There will also be an integration for Docker/Portainer, as my systems are mainly based on Docker.

I will start working on the project again this week. It was intended more as a proof of concept for my systems. However, as the project has attracted a lot of interest, I will resume work.
There will also be an integration for Docker/Portainer, as my systems are mainly based on Docker.

Thanks for this - I've become frustrated with the slow development of NPM and would like to start using something else and this looks promising. I only run a small lab at home and having a Web UI to monitor and manage things keeps me from messing things up.
I look forward to developments you have - as well as docker-compose setup so I can get started testing it for you.


Update bookmarks command

Command to set a users bookmarks to a specific value

Won't need this anymore based on discussions.


_this.$sleep is not a function

When using modal I'm getting this error:
"_this.$sleep is not a function"
Still not fixed in 1.0.4:
It caused by:
await this.$sleep(100)

GlobalModal.vue
Lines: 93, 99, 107
ModalBase.vue
Line: 69

@KazakovKirill how are you using this component? are you including it via nuxt-tailvue in nuxt.js? or using it alone?

I'm using it vua "nuxt-tailvue", and my nuxt.config.js contains:
modules: [
  ['nuxt-tailvue', { all: true }],
]


Recover CVAT tasks if deleted by mistake from localhost

I have deleted a CVAT task by mistake localhost through admin user. Is there any way to recover the task or the annotations.??

Hello,
Unfortunately, no. When you remove a task, all the data are actually removed from the database and filesystem.


Allowing deprecated api versions on OKD 4.4

When deploying apps with deprecated api versions like v1beta1, we get this error
unable to recognize "STDIN": no matches for kind "Deployment" in version "extensions/v1beta1"

Is there a way to allow deprecated api versions on OKD 4.4?

OKD 4.4 is based on k8s 1.17, support for extensions/v1beta has been removed.


Listview flashing when image comes into view

I am seeing an issue where the screen is flashing when I scroll an image into view.   I am seeing this on an iPhone 5s running 11.2.2 and on a Nexus 5X running 7.1.2.
It does seem to only affect certain images, though I can't say exactly what it is about them that causes it to happen.  I have attached an image to this issue that demonstrates the issue.
Here is a video of it happening: https://www.youtube.com/watch?v=Y3KUKsrq7os
A sample image to use that causes the issue:

The main.dart code to use to see the issue:
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      body: new ListView(
        children: <Widget>[
          _child(),
          new Container(
            height: 500.0,
            color: Colors.red,
          ),
          new Container(
            height: 500.0,
            color: Colors.green,
          ),
          new Container(
            height: 500.0,
            color: Colors.blue,
          ),
          new Container(
            height: 500.0,
            color: Colors.yellow,
          ),
        ],
      ),
    );
  }

  Widget _child() {
    return new Padding(
      padding: const EdgeInsets.only(
        left: 12.0,
        right: 12.0,
        top: 5.0,
        bottom: 10.0,
      ),
      child: new Image.asset(
        "assets/images/pngtest0.png",
      ),
    );
  }
}

Steps to Reproduce

Create a new flutter project, add the image above to your assets/pubspec.yaml
Use the code above in main.dart
Scroll to bottom of the list, then scroll back to the top.
See flash

Logs
There was nothing logged after the project began running
Flutter Doctor
[✓] Flutter (on Mac OS X 10.12.6 16G1114, locale en-US, channel master)
    • Flutter at /Users/KG/Developer/Flutter/flutter
    • Framework revision 0e903d9544 (2 days ago), 2018-01-15 09:43:01 -0500
    • Engine revision 05fe72d068
    • Tools Dart version 2.0.0-dev.16.0
    • Engine Dart version 2.0.0-edge.28757928b47b192efcec082c78258102beb03f78

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.2)
    • Android SDK at /Users/KG/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.2
    • ANDROID_HOME = /Users/KG/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.2, Build version 9C40b
    • ios-deploy 1.9.2
    • CocoaPods version 1.3.1

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio 3.0RC2.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] IntelliJ IDEA Community Edition (version 2017.2.6)
    • Flutter plugin version 19.1
    • Dart plugin version 172.4343.25

[✓] Connected devices
    • Nexus 5X           • 0106bcc49c8ca3eb                         • android-arm • Android 7.1.2 (API 25)
    • iPhone             • a343cf06739643813928707a674dd1ae905fa75d • ios         • iOS 11.2.2

Adding to milestone since it's fairly easy to encounter on a common component

This kind of issue isn't in our current list of priorities, though it will likely be a higher priority in the medium term. Moving to m4.

@Hixie @xster Well the problem is that we just spent a lot of time creating a new home screen experience for the Hamilton app and this flash frankly ruins it. It makes the app feel buggy and bad. It's a pretty common user behavior to scroll a little bit down a list then scroll back to the top...and this flash happens nearly every time. So if we launch this it's going to be visible to 100's of thousands of people. I'm borderline considering holding it back until this is fixed, but that would be very bad.
Please advise.

I totally agree that it's important, it's just competing with a bunch of other critical work.
If you are able to pin down the cause of the bug, we can probably find the time to write a fix and a test for the fix. Just looking at the code above I can't imagine what could be causing it, so we have to track down the cause before we can fix it.

@deremer and I spoke this morning.  As he notes above, this has occurred on one of the main screens in the next update of HamApp and is blocking their release. :/  They're looking for a workaround or fix.
I attempted to reproduce just now on my iPhone 6s and was unable to, presumably it's screen-size specific.

I don't really understand what could make it paint white.  Could this be bad raster cache behavior?  Bad layout behavior?
I wonder if any of the debug.dart options would shed any light:
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/rendering/debug.dart
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets/debug.dart

I'm not able to repo this on
Nexus 5X • 00d44fa710453aa9                     • android-arm64 • Android 8.0.0 (API 26)
With
Flutter 0.0.25-pre.22 • channel master • git@github.com:flutter/flutter.git
Framework • revision f5bbc5bb76 (7 hours ago) • 2018-02-09 11:16:58 +0100
Engine • revision 9bc2efdf47
Tools • Dart 2.0.0-dev.20.0

Nevermind, it repros now.

Nothing interesting shows up from debugRepaintRainbowEnabled or showPerforamanceOverlay.
I have to imagine this is an engine bug?
Do we have any way to save displaylists from every frame?
I'm able to repro by scrolling slowly.  I'm not able to get it to stay on the white frame however.

Ok, so here is a reproduction:
https://github.com/eseidelGoogle/scrolling_flash
flutter drive --target=test_driver/flash.dart to run it.
With that it's clear that it's only the list which is turning white, not the whole screen.  Now that I understand that, I can actually see it in the video too:

Ummm strange, I could repro before but can't anymore (though I forgot to take note of the device I used). Will test more Monday when I got more devices to try.

The bug is somewhere inside the RenderSliverList. For one frame, it ends up returning a SliverGeometry with scrollExtent 0, maxPaintExtent 0 etc.

Seems like some sort of numerical rounding issue. The RenderImage correctly calculates a sane height and width based on the aspect ratio box contraints (coming from cross axis padding). But when checking for its paintExtentOf again in the RenderSliverList, somehow some of the RenderObjects wrapping the RenderImage reports approximations like 85.78500000000001 instead of 85.8 which puts the start offset of the image at<PHONE_NUMBER>9999994 instead of 500.
This eventually makes the list think it underflowed when going from second to first item in the list which now has a offset of something like -5.684341886080802e-14

Correction, the issue is in the way the BoxContraints' constrainSizeAndAttemptToPreserveAspectRatio is calculated.
Note to self:
I/flutter ( 1495): earliest useful child RenderRepaintBoundary#256a8 relayoutBoundary=up3 with offset 585.785 at offset<PHONE_NUMBER>399483
I/flutter ( 1495): inserting first child RenderRepaintBoundary#9e960 NEEDS-LAYOUT NEEDS-PAINT with constraints BoxConstraints(w=411.4, 0.0<=h<=Infinity)
I/flutter ( 1495): image size for constraint BoxConstraints(w=233.4, 0.0<=h<=Infinity)
I/flutter ( 1495): preserving aspect ratio to size Size(1200.0, 441.0) with height 441.0
I/flutter ( 1495): bigger than max width, based on aspect ratio 2.7210884353741496 and width<PHONE_NUMBER>2857144, new height 85.78500000000001
I/flutter ( 1495): result size Size(233.4, 85.8) with constrain height 85.78500000000001 and height 85.78500000000001
I/flutter ( 1495): padding size Size(411.4, 85.8)
I/flutter ( 1495): paint extent of render box RenderRepaintBoundary#9e960 relayoutBoundary=up3 NEEDS-PAINT with size type _DebugSize with height 85.78500000000001
I/flutter ( 1495): paint extent of render box RenderRepaintBoundary#9e960 relayoutBoundary=up3 NEEDS-PAINT with size type _DebugSize with height 85.78500000000001
I/flutter ( 1495): first child RenderRepaintBoundary#9e960 relayoutBoundary=up3 NEEDS-PAINT with paint extent 85.78500000000001 making first scroll offset<PHONE_NUMBER>9999994 with earliest offset 585.785

The newly aspect ratio conforming height of 85.78500000000001 causes problems.

RenderSliverList is supposed to be able to handle the first item having an offset of something like -5.684341886080802e-14, that's definitely something we expect to see (since we're scrolling with dead reckoning).

I am seeing this still in flutter Flutter (Channel master, v0.9.7-pre.79
Was this fixed? @Hixie

This should have been fixed earlier this year. If you're seeing this bug, please open a new with a description of the repro steps.


adding cheuk

Adding myself according to #11

The greeting GH workflow is broken, I suspect the secret is not set up properly. I will have a look if I have access. Otherwise it will fall onto @trallard I am afraid

Found the problem: https://github.com/actions/first-interaction/issues/31#issuecomment-772874245 will make a PR to fix this (can I do that? fixing the PR workflow with a PR) tomorrow...

Now fixed


chore(rust): downgrade tauri from 2.0-alpha to 1.4.1 stable

Since we don't know when Tauri 2 is going to be stabilized, it's best to downgrade to latest stable version

on linux the app behavior doesn't change, can someone confirm the same on mac?

@davide-baldo I don't know why the tests are failing but the app works fine for me.

@davide-baldo @etorreborre for CI we use dependencies for Tauri beta version, if we plan on porting back to stable, we will have to build a new image.

The idea is that we should be able to use muda library to have enough flexibility in platform integration. This library should be independent of tauri but in practice tauri 1.4.x has conflicting libraries with muda > 0.3 (~6-month-old, current version 0.6).
Considering how new muda is, it would be naive to think such an early version (0.3) would be stable and ready.
I think staying aligned with tauri alpha is the safer bet for now.


Accessing securedns.eu on unix

Background on #6

It appears that wildcard certificates are not handled correctly on *nix.


docs: Add Japanese README

What problem does this PR solve?
I created Japanese translated README.
Type of change

[ ] Bug Fix (non-breaking change which fixes an issue)
[ ] New Feature (non-breaking change which adds functionality)
[ ] Breaking Change (fix or feature that could cause existing functionality not to work as expected)
[x] Documentation Update
[ ] Refactoring
[ ] Performance Improvement
[ ] Test cases
[ ] Python SDK impacted, Need to update PyPI
[ ] Other (please describe):

ありがとう！ Much appreciated! @eltociear


McDonough 2018 has wrong archive/SRA accessions

Describe the bug
McDonough 2018 has duplicated SRS codes representing different samples when this should be a single one  (uploader considered a single 'individual' as a sample), we should use a higher level ontology like 'tissue' instead.
Archive should be SRA not GenBank
Additional context
Add any other context about the problem here such as supporting citations or referennces

Decided I was being too strict here with the SRS codes as this breaks the multi-pathogen per sample cases.


foobar

Description of the change:
Motivation for the change:
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

@rerun

/rerun-tests

@rerun

/rerun-tests


Support generate_series for timestamp

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
It will be useful in testing for time window.
https://www.postgresql.org/docs/current/functions-srf.html
generate_series ( start timestamp, stop timestamp, step interval ) → setof timestamp

Note: Consider reuse some codes with generate_series_i32

I would like to try


Resolve Certik v3 Reports

Description

Certik v3 report is asking to write more comprehensive documentation about bulkPayout function for clarity.
Summary of changes

Fix unnecessary usage of SafeMath utils in HMToken.sol.
Add meaningful comments to bulkPayout function of Escrow.sol.

How test the changes

Related issues
Keywords for linking issues

Closes #438
Operational checklist

[ ] All new functionality is covered by tests
[ ] Any related documentation has been changed or added

Besides @dev tag this looks good to me.


Grid Inline edit not working after reach end of row via keyboard tab

Short description
Grid inline edit not working after reach end of row via keyboard tab.
What is current behavior
No more inline edit allowed
What is desired behavior
Initial intended behavior.
Link to jsfidle/codepan with sample code
http://w2ui.com/web/demos/#/grid/21
Steps to reproduce or sample
Enter edit mode and tab till end of row then try to enter edit mode again.
PLEASE HELP ME FIX THIS
MORE DETAILES
If checkbox is toggled with mouse inline edit is available again.
(if you don't have a checkbox at the end but a list you are stuck)
(maybe it stays in edit mode ... state)

I fixed it adding an if to skip hidden columns:
js```
// need timeout so, this handler is executed last
setTimeout(function () {
switch (event.keyCode) {
case 9:  // tab
var next_rec = recid;
var next_col = event.shiftKey ? obj.prevCell(index, column, true) : obj.nextCell(index, column, true);
// next or prev row
if (next_col == null) {
var tmp = event.shiftKey ? obj.prevRow(index, column) : obj.nextRow(index, column);
if (tmp != null && tmp != index) {
next_rec = obj.records[tmp].recid;
// find first editable row
for (var c = 0; c < obj.columns.length; c++) {
if(obj.columns[c].hidden) continue; /////     <-------------- fix
var edit = obj.getCellEditable(index, c);
if (edit != null && ['checkbox', 'check'].indexOf(edit.type) == -1) {
next_col = parseInt(c);
if (!event.shiftKey) break;
}
}
}
                                }
                                if (next_rec === false) next_rec = recid;
                                if (next_col == null) next_col = column;
                                // init new or same record
                                el.blur();
                                setTimeout(function () {
                                    if (obj.selectType != 'row') {
                                        obj.selectNone();
                                        obj.select({ recid: next_rec, column: next_col });
                                    } else {
                                        obj.editField(next_rec, next_col, null, event);
                                    }
                                }, 1);
                                if (event.preventDefault) event.preventDefault();
                                break;

                            case 13: // enter
                                el.blur();
                                var next = event.shiftKey ? obj.prevRow(index, column) : obj.nextRow(index, column);
                                if (next != null && next != index) {
                                    setTimeout(function () {
                                        if (obj.selectType != 'row') {
                                            obj.selectNone();
                                            obj.select({ recid: obj.records[next].recid, column: column });
                                        } else {
                                            obj.editField(obj.records[next].recid, column, null, event);
                                        }
                                    }, 1);
                                }
                                if (el.tagName.toUpperCase() == 'DIV') {
                                    event.preventDefault();
                                }
                                break;

                            case 27: // escape
                                var old = obj.parseField(rec, col.field);
                                if (rec.w2ui && rec.w2ui.changes && rec.w2ui.changes[col.field] != null) old = rec.w2ui.changes[col.field];
                                if ($(el).data('old_value') != null) old = $(el).data('old_value');
                                if (el.tagName.toUpperCase() == 'DIV') {
                                    $(el).text(old != null ? old : '');
                                } else {
                                    el.value = old != null ? old : '';
                                }
                                el.blur();
                                setTimeout(function () { obj.select({ recid: recid, column: column }); }, 1);
                                break;
                        }
                        // if input too small - expand
                        expand.call(el, event);
                    }, 1);

It still has problems if there are many columns ...

No response .. like the project is not being maintained any more ....
I'm surprised to see that ui improvements are  considered to have priority over bugs and useful functionalities ...

Do not worry, this project is definitely maintained. However, currently @vitmalina and I are the only ones actively writing PRs and we have jobs, family, etc., too.
Any help in maintaining the project is greatly appreciated.
Cheers, Mike

I looked at the problem again and I see that it was fixed. It was fix differently then what you suggested. But now once you are in edit mode

you can tab and it will go to the next field, including jumping to the next row
you can shift+tab and it will go to previous field
at the first row, first field, shift+tab will stay in the field
at the last row, last field, tab will stay in the field
enter key goes to next row, same column
shift+enter goes to previous row, same column.


add telemetry csv writer

Description
./tools/telemetry-tool.py  --output-analytics-csv analytics-telemetry.csv

field,subfield,name
1,,imports_init
1,1,torch
1,2,keras
1,3,tensorflow
1,4,fastai
1,5,sklearn
1,6,xgboost
1,7,catboost
1,8,lightgbm
1,9,pytorch_lightning
1,10,pytorch_ignite
1,11,transformers
2,,imports_finish
2,1,torch
2,2,keras
2,3,tensorflow
2,4,fastai
2,5,sklearn
2,6,xgboost
2,7,catboost
2,8,lightgbm
2,9,pytorch_lightning
2,10,pytorch_ignite
2,11,transformers
3,,feature
3,1,watch
3,2,finish
3,3,save
3,4,offline
3,5,resumed
3,6,grpc
3,7,metric
3,8,keras
4,,python_version
5,,cli_version
6,,huggingface_version
8,,env
8,1,jupyter
8,2,kaggle
8,3,windows
8,4,m1_gpu
8,5,start_spawn
8,6,start_fork
8,7,start_forkserver
8,8,start_thread

Testing
How was this PR tested?

Nice, the failing test here is tensorboard in the test_cli again, but this one is really strange.  I'm thinking about just skipping those tensorboard tests in python3.6...


Update tests for 5.1.1 release

Tests need to be reviewed for the 5.1.1 release.

I updated the tests.  Close the issue.


docs: added ref attrib to component docs

What is it?

[ ] Feature / enhancement
[ ] Bug
[x] Docs / tests

Description
fixes #2485
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

great job @zanettin !
Thanks! 🙏


Fix incorrect key for service ID

Was using 'service_id', should be using 'serviceId'

:+1:

Enjoy the rebase on your scripts PR Kev ;)


Fixed the issue Bug | Remove the animate pulse on Blogs skeleton #266

Pull Request Title
Fixed the issue Bug | Remove the animate pulse on Blogs skeleton #266
Description
A pulse sort of load at UserHomeTab, BlogsList
Resolves #266
Changes

Remove class name causing the pulse

[y] I have performed a self-review of my code

[y] I assure there are no similar/duplicate pull requests regarding the same issue

[y] My changes follow the project's coding guidelines and best practices

[y] Code is formatted properly and lint check passes successfully

[y] I have made corresponding changes to the documentation (if applicable)

Fixed the issue Bug | Remove the animate pulse on Blogs skeleton https://github.com/aadeshkulkarni/figuringout/issues/266

Hello @aadeshkulkarni, Just fixed the package.json issue :)

@SaiManojCheruvu - It still persists. Please revert all package.json and package-lock.json changes as they are not needed.


pkg/endpoint: ignore negative time durations in metrics

Signed-off-by: André Martins<EMAIL_ADDRESS>This will avoid at least panic whenever the time is negative but we will still log it.
Fixes #6183

This change is

test-me-please

Running the tests again. The CI addition can be done as a follow-up. If the tests pass I will merge so we can avoid having this panic occur.

test-me-please

Build hit etcd-operator scale-up issue:
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/7994/

test-me-please


Python eventlog parsing for measured boot attestation

After discussing in the monthly meeting, I believe we reached a consensus that the enhancement proposal should move ahead, and thus LGTM. A new repository, https://github.com/keylime/python3-uefi-eventlog , was created, and we can all start to collectively review the code there.


Fix Mtim reference to allow build on OpenBSD

This pull request adds a stat_openbsd.go file using the correct Mtim field of the Stat_t struct for OpenBSD, and adds a compilation tag to stat_unsupported.go to prevent using it in OpenBSD.
Compilation of the github.com/docker/docker/pkg/system package for OpenBSD prior to this change yields:
$ GOOS=openbsd go build .
./stat_unsupported.go:16: s.Mtimespec undefined (type *syscall.Stat_t has no field or method Mtimespec)

Compilation afterwards succeeds with the same command.
This should resolve https://github.com/fsouza/go-dockerclient/issues/296 when the vendored dependency is updated.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "b-stat-mtimspec-openbsd" git@github.com:jen20/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Are you just trying to get the client binaries to build on OpenBSD at this stage?

Yes the aim is to get the client to build on OpenBSD, in order that it can be used in Terraform via the go-dockerclient project (which is vendored).

Some more changes were requires for me to do a successful build, I created a pull request as well: #21325

LGTM

This is no longer required thanks to #21325.


Minor changes to questionnaire.markdown

Fix typo, add question mark (question 7), remove double space (question 8).

Ah, please disregard, looks like the questionnaire.markdown is auto-generated.


Spaces are rendering after soft line breaks rather than before

Description
👋

In the image above, notice how the last segment of the soft-wrapped line begins with a space. This is distracting and we took care in the original implementation to ensure that spaces like this always go to the previous line. I'm wondering if #18087 or #17949 may have introduced this regression recently.
Steps to Reproduce

Enter soft wrap mode
Arrange things such that a space lands right after the soft-wrap boundary

Expected behavior: The space should stay on the previous line or not be rendered at all
Actual behavior: The space renders at the start of the soft wrap line
Reproduces how often: 100%
Versions
Atom    : 1.33.0-dev-1e5575e91
Electron: 2.0.11
Chrome  : 61.0.3163.100
Node    : 8.9.3
Additional Information
This correctness of this behavior is of course subjective, but we followed TextMate and Sublime when originally keeping spaces at the end of the preceding line before soft wraps. I find the current behavior pretty distracting. Thanks for your time ❤.
/cc @smashwilson @daviwil @ariasuni

I noticed this too. @ariasuni @daviwil Do you think it could have been caused by #17949?

Definitely caused by #17949; that's one of the features introduced in the PR, breaking lines before a space. The end result is therefore that the wrapped lines might begin with a space. Why this change to space handling was introduced is not immediately obvious. I agree with @nathansobo that this change is pretty distracting, and in my opinion, a regression that should be fixed. Seems like something that can be fixed quite easily :sparkles:
Whether we should simply remove the ' ' equality or switch from character to previousCharacter needs to be tested. We should also introduce another test case or two to guard against future regressions.
For the reference, the line of code that introduced this change in wrapping behavior:
https://github.com/ariasuni/atom/blob/81364b6a1c6c93248fbc43159e7dd5355cb60e6c/src/text-utils.js#L107

If I remove || character === ' ', then it breaks lines this way (| is the character limit, ␣ is space):
this␣is␣  |
a␣␣test   |

Is it the behavior you want?

@ariasuni yep, that sounds right.  The main issue here is the line wrapping before a space.  If you can submit a PR with the change that @thomasjo refers to in his comment, that'd be super helpful!

Sorry, didn’t have the time ^^


Tier 3 skeletons get crossbow

Test and see if skeletons are able to use a crossbow. If they can, give it as a tier 3 weapon

I experimented with this and assigning the skeletons vanilla crossbows. It didn't work -> skeletons acted as though they had no weapon.
So I made a copy of the crossbow and mirrored the structure of the skeleton bow. This didn't work either. Same result.
So I then copied all the settings of the skeleton bow onto this crossbow copy. Now it "works". The skeletons hold the crossbow and shoot with it, but they use it like a bow which looks pretty dumb:

Including attack animations:

Attempting to change anything to make it more crossbow-like results in the skeletons just ignoring the weapon. So, unfortunately, I don't think this idea will work. But I don't know why. I can't see anything in the scripts that would prevent it from working.


Adds NuGet.config for samples

This will ensure packages restore to the correct directory, and update package references for AnnotatedSandwichBot.

fix for https://github.com/Microsoft/BotBuilder/issues/3917


Rock can now extend generic classes

There are a couple of known issues I will be fixing (just leaving the PR up for  updates):

The inability to return a type that depends on the generic type you used in the addon, unless you use the same name as the original declaration (actually, to take this further, I'm pretty sure all generic inferring that can be done is gone because of the different generic name)
The inability to extend generic class templates

Other than that, it seems to be solid enough.

Will eventually close #830

I will probably end up doing a pretty huge rewrite of typearg-related code.
Will split up TypeArg access/definition into their own types, with a Generic/Template enum, all index based and replace accesses with TypeArgAccesses.
Anyway, this may take some time but I'm confident it will be nice to have in the long run.

Goodie! I'm looking forward to this one!

Here is the structure I am thinking about (keep in mind it is way too early to tell if this is refined enough):
TypeArgType: enum {
    Generic, Template, Unknwon
}

TypeArg: class {
    index: Int
    type: TypeArgType

    init: func (=index, =type)
}

TypeArgDecl: class {
    originalName: String // only used in codegen
    typeArg: TypeArg

    init: func (=originalName, =typeArg) // Unknown type triggers an internal compiler error, we should never get one
}

TypeArgInstance: class {
    typeArg: TypeArg
    type: Type

    ref: TypeArgDecl // We get this by resolving the Node, like always

    init: func (index: Int, =type) {
        // We also get the typeArg type by resolving
        typeArg = TypeArg new(index, TypeArgType Unknown)
    }
}

TypeArgMap: class extends HashMap<String, TypeArg> {
    // helper methods etc.
}

TypeArgAccess: class {
    name: String
    typeArg: TypeArg // Get this by resolving

    init: func (=name)
}

TypeDecls and FunctionDecls have their List of TypeArgDecls
Types have their List of TypeArgInstances
Addons have a TypeArgMap
TypeDecls have a TypeArgMap for their super type or from type
To resolve TypeArgAccesses, we go up the trail calling resolveTypeArg (like we do with calls, accesses and types) until we get a candidate that fits.
Types and VariableAccesses can somehow (TM) be replaces by TypeArgAccesses.
Will probably start writing code and experimenting later today.

This seems to work well!
Will be adding a couple of tests and opening up a PR for magic-lang too soon.

Nice! :+1:

Extending template classes also works by the way (it's pretty nice since you can simulate specialization):
TCell: class template <T> {
    value: T

    init: func (=value)
}

extend TCell<Int> {
    magic: func {
        value toString() println()
    }
}

extend TCell<String> {
    magic: func {
        value println()
    }
}

cell1 := TCell<Int> new(42)
cell2 := TCell<String> new("Hello World!")

cell1 magic()
cell2 magic()

Also, mixed extensions!

Foo: class <T> template <U> {
    val1: T
    val2: U

    init: func (=val1, =val2)
}

extend Foo<U, String> {
    print: func {
        "#{val1 as Pointer}: #{val2}" println()
    }
}

// Works!
foo := Foo<Int, String> new(42, "Hello World!")
foo print()

// Fails, as it should
bar := Foo<Int, Int> new(0, 42)
bar print()

amazing! :+1:

This is a really huge change, there are probably some bugs but they should be mostly the kind of things that you come across if you intentionally try to do really weird things.
A rewrite of the whole TypeArg system is still probably needed at this point though.


Library lacks introduction

The README and website don't provide any explaination for why this library exists. Some questions could be answered in an introductory paragraph, which I suggest placing at the top of the README.
Questions include:

What is the motivation behind this library?
How is it different from coil?
Is it meant to be used alongside coil, or is instead of it?

In fact, there is no particular reason, I was developing this library when coil had not yet been changed to kmp, and now it is up to personal preference which library to use.


Updating puppeteer will stop this to work

I tried updating puppeteer but without success

I'm having the same issue, any idea? no error trace 🤔

Maybe because puppeteer 0.13 needs Chromium 64.0.3264.0 (r515411)

In addition, the chrome version to use with puppeteer is declared on package.json:
https://github.com/GoogleChrome/puppeteer/blob/master/package.json#L39
The script of this project is taking the last version available at chromium browsers, it could be different.
I proposed add a tiny CLI around installing process of puppeter:
https://github.com/GoogleChrome/puppeteer/pull/1652
but not sure if the bundle generated can be aws lambda compatible; The script of this projects is doing additional things, not sure why:
https://github.com/sambaiz/puppeteer-lambda-starter-kit/blob/master/chrome/buildChrome.sh#L23
@sambaiz can you clarify? 😄

I found this script, it's very similar but version is customizable:
https://github.com/adieuadieu/serverless-chrome/blob/master/packages/lambda/builds/chromium/build/build.sh#L19
We can update our script for supporting specify the version, and then generate the version compatible with puppeteer 0.13.


Flex 404 exception msg check to work with more rest-client versions

Following rest-client change in https://github.com/rest-client/rest-client/pull/382/files

@Fryguy @jimmidyson please review. thanks


fix: increase blocks number to process all at once to 1500

:tada: This PR is included in version grc-stamp-v1.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add issue creation for release plan // add issue to run full Emme test

Creates a GH workflow for when milestones are created.
Add an issue to the milestone which is to run the whole test suite WITH EMME.

What existing problem does the pull request solve and why should we include it?
See issue #37
What is the testing plan?
!!! Unfortunately it's not possible to test this really without pushing to repo main  (I think?)
Closes #37

@lmz need your approval on this one


[slopeclock++] Uncaught Error: Font bitmap must be a String

Affected hardware version
Bangle 2
Your firmware version
2v16
The bug
I do not have time right now to work on this therefore i just drop the error which i sometimes see here:
Uncaught Error: Font bitmap must be a String
 at line 2 col 3710 in slopeclockpp.app.js
...HQ=="),100+(scale<<8)+(1<<16));return this;
                                         ^
in function called from line 2 col 5202 in slopeclockpp.app.js
...n(1,0).setFont("PaytoneOne");g2.setColor(1).drawString(minSt...
                              ^
at line 2 col 5202 in slopeclockpp.app.js
...n(1,0).setFont("PaytoneOne");g2.setColor(1).drawString(minSt...
                              ^
in function "draw" called from line 2 col 5463 in slopeclockpp.app.js
draw();
     ^
in function "callback" called from line 2 col 6242 in slopeclockpp.app.js
...raw();}if(callback)callback();}
                               ^
in function called from system
>

Any hints on reproducing this? Or it just happens occasionally?
All I can think is maybe there's a memory leak, or for some reason memory gets fragmented and it can't allocate the string (but that shouldn't be an issue here as it should work even with a fragmented string)

It happens from time to time when the watch is idle (e.g. lying on the desk).
Then the clock crashes it is drawn just partly (just the hours and the minutes are missing) and it is no longer updated until reset with the button.

Looks like it was the E.toString in the font that did it. We might have to watch out for that - very occasionally memory would get fragmented enough that it couldn't allocate a flat string, then the command would fail.
Should be fixed now


Populate list of constituencies

In webapp/pt/core/constants.py we have a list of the parliamentary constituencies, but currently it only contains 2 of them.  We need the other 648 that are missing!
I'm not sure if there's an official/standardised list of them in terms of spelling/punctuation.  But if not then I guess just grab a list from Wikipedia (I'm assuming it exists on there).  Or maybe there's a list on Hansard?

https://github.com/mysociety/parlparse/blob/master/members/constituencies.json
Boom.


I wanna install openvpn in tap mode

how to update the shell script for the tap mode installation ~

I've found the solution myself😄

replace all 'dev tun' with 'dev tap'. (line 264 & 410)

replace 'server' config with 'server-bridge' in server.conf (line 272)

for example
'server <IP_ADDRESS> <IP_ADDRESS>' -> 'server-bridge <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>'


Bump IREE to iree-3.1.0rc20241220.

We're approaching our 3.1.0 release across all IREE packages, so bumping to build/test closer to HEAD. This builds on https://github.com/nod-ai/shark-ai/pull/713, bumping to the latest nightly.
We'll also want to update again to pull in new changes to https://github.com/iree-org/iree/tree/main/runtime/src/iree/hal/drivers/hip, once the next nightly release is available.

The "sharktank perplexity short" failures with these logs: https://github.com/nod-ai/shark-ai/actions/runs/12439013447/job/34733125330?pr=721 seem to be preexisting. I see a similar segfault on https://github.com/nod-ai/shark-ai/pull/725.


Added serial mode 8E2

Hi,
in order to connect a Futaba SBUS receicer to the USART2 serial port, I added a new mode 8 data/even parity/2 stop (8E2).
Kai

Hi, did you have had time to look at this? I hope it is a minor thing to include...

Hi @WaldoPepper
Thanks for your contribution.
More details about this PR can be found below.
https://community.robotis.us/t/aw-dynamixel-servo-for-schottel-type-marine-thruster/587


MAINT: Remove deprecation for kind

Post-release deprecation resolution
@drammock there is a remaining one in mne/viz/topomap.py, feel free to take care of it by pushing commits here or by opening a separate PR

@larsoner there were a TON of things to remove; thanks for noticing / reminding that I forgot to do this after release.

Just BTW - why was it decided to remove vmin and vmax and use vlims for topomaps? As long as I remember I used vmin and vmax in mne and I don't think I ever encountered vlims in topomap plotting.

Just BTW - why was it decided to remove vmin and vmax and use vlims for topomaps?

There are some topomap functions where vlim='joint' is an option (to compute vmin/vmax automatically and have it be the same for all subplots).  I think plot_projs_topomap was the original use case for this.  Since the goal was to standardize the param names across all topomap-generating funcs/methods, switching them all to vlim was the simplest way.

Ok, I get it now :)


updates cats-parse version in libraryDependencies in README

Update the README file to include the current latest cats-parse version 0.3.9 in libraryDependencies

Codecov Report
Patch coverage has no change and project coverage change: +0.13% :tada:

Comparison is base (b0b2a9c) 95.00% compared to head (b44e028) 95.13%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #546      +/-   ##
==========================================
+ Coverage   95.00%   95.13%   +0.13%
==========================================
  Files          10       10
  Lines        1480     1480
  Branches      330      330
==========================================
+ Hits         1406     1408       +2
+ Misses         74       72       -2

see 2 files with indirect coverage changes

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

Thank you!


Automatic smoke testing of examples

As discussed in https://github.com/jaegertracing/jaeger-operator/pull/511#issuecomment-509547349, it would be good if the examples could be automatically tested - deploy the CR, run smoke test to send/query spans.

@objectiser There is already an issue open for this, it's #144

@kevinearls Ok thanks


🔍 Define Alerts for our Modernisation Platform and route them

User Story
We need to establish a robust alerting system for our Modernisation Platform and set up proper routing for these alerts. The goal is to ensure that we can proactively identify and respond to any potential issues or anomalies in our platform's performance and operation. This issue focuses on defining the criteria for triggering alerts and creating a routing mechanism to direct these alerts to the appropriate teams or individuals for timely resolution.
Definition of Done

[ ] Alert Criteria Definition: Clearly specify the conditions or events that should trigger alerts. This could include performance
thresholds, error rates, security breaches, or other critical events.
[ ] Alert Severity Levels: Determine different severity levels for alerts (e.g., critical, major, minor) to prioritize responses
accordingly.
[ ] Alert Routing Mechanism: Create a system that routes alerts to the relevant stakeholders or teams responsible for
addressing specific types of alerts.
[ ] Communication and Escalation Plan: Develop a clear plan for how alerts will be communicated, escalated, and resolved,
ensuring that the right people are informed in a timely manner.
[ ] Testing and Validation: Ensure that the alerting system is thoroughly tested and validated to avoid false positives or
negatives, which can disrupt operations.
[ ] Documentation: Document the entire alerting and routing process for future reference and as a reference guide for team
members.

Nice story but OBE'd :(


Separate Breed/Color/Coat

On cats these fields should be separate.

Done in the cats-litters branch and in the pull request.


frontend-maven-plugin issue with mac M1 chip

Please provide a detailed title (e.g. "Broker crashes when using TopN query with Bound filter" instead of just "Broker crashes").
Affected Version
The Druid version 0.20.0 where the problem was encountered.
Description
Please include as much detailed information about the problem as possible.

Cluster size NA

Configurations in use NA

Steps to reproduce the problem

try to build druid image on the new M1 mac

The error message or stack traces encountered. Providing more context, such as nearby log messages or even entire logs, can be helpful.

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  26.638 s
[INFO] Finished at: 2021-01-27T12:31:39+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.6:install-node-and-npm (install-node-and-npm) on project druid-console: Could not download Node.js: Got error code 404 from the server. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :druid-console

Any debugging that you have already done

Hi everyone, also faced this issue on my mac with m1:
node 10.14.1(tried to use latest as well)
npm 6.4.1
frontend-maven-plugin 1.6
Could anyone suggest smth plz ?)
I'm not using any proxy
Error message: Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.9.1:install-node-and-npm (install node and npm) on project : Could not download Node.js: Got error code 404 from the server.

changing of frontend-maven-plugin version to 1.11.3 helped me

Closed by https://github.com/apache/druid/pull/11057


bug(answer): incorrect order of sub-questions

If an question is composed of multiple sub-question:

then the answer panel shows answers not in the same order:

By default creation order

Automatically created from the LaTeX PDF.
So the issue comes from the PDF import. Will look at that.


Add null types to optional IDB query parameters

<!--
Thank you for submitting a pull request!
Please verify that:

[x] There is an associated issue in the Backlog milestone (required)
[x] Code is up-to-date with the master branch
[x] You've successfully run gulp runtests locally
[x] There are new or updated unit tests validating the change

Refer to CONTRIBUTING.MD for more details.
https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md
-->
Fixes #31490
This PR adds null as a valid type to all IndexedDB API methods that accept an optional query param followed by another argument.
It also standardizes on the name "query" everywhere (previously it was sometimes called "query" and sometimes called "range"), as "query" is what's used in Web IDL in the spec.

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

Moved PR to: https://github.com/microsoft/TSJS-lib-generator/pull/701


Commandline Utilities as Page Themes

$ man "lucas ramage"

https://www.w3schools.com/howto/howto_css_parallax.asp


Don't add non-compiled packages to the graph

This was previously required to ensure that all relevant metadata files would
remain in place and not get deleted, but this auto-clean behavior has since been
removed so this should no longer be necessary.

r? @huonw
(rust_highfive has picked a reviewer for you, use r? to override)

@bors r+

 @bors r=huonw 9aede68

:hourglass: Testing commit 9aede68 with merge 38434c0...

:broken_heart: Test failed - cargo-win-64

@bors: retry
On Wed, Mar 11, 2015 at 6:51 PM bors<EMAIL_ADDRESS>wrote:

[image: :broken_heart:] Test failed - cargo-win-64
http://buildbot.rust-lang.org/builders/cargo-win-64/builds/524
—
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/cargo/pull/1409#issuecomment-78409923.

:hourglass: Testing commit 9aede68 with merge 29b8247...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-32, cargo-win-64


[Bug] Unlocking the phone directly into an app, instead of home screen, freezes the dynamic island until you scroll the screen.

Title. The dynamic island disappears on its own on the homescreen after unlocking, but in apps it will stay there until you scroll the screen.

Sometime it's only part of the island, sometimes it's the whole island that stays on screen. Seems to be app dependent.
https://github.com/34306/mineland/assets/16444679/b64c1f86-0a09-431b-8fdd-dfbc2163eed9

Fixed in lastest release


Add support for FreeBSD to ltfs_ordered_copy

Summary of changes

Do not hardcore errno numbers in ltfs_ordered_copy because those are system-dependent. Python has an errno module in its standard library which provides the correct numbers on each platform. I've also put a helper function to check for errno because some may not be present (some systems use ENODATA but other systems do not have it defined and instead use ENOATTR).

Use methods like getxattr instead of get. The pyxattr library obsoleted those, but by now these are still available, and some systems like FreeBSD use the xattr library which do not have the get method. If, in the future, pyxattr library removes these methods, we could do something like if not hasattr(xattr, 'getxattr'): xattr.getxattr = xattr.get, but by now I think we're fine.

@micronn ,
Thank you for your great contribution.
We will test the code in the next release phase.


fix: Don't wrongly discard text immediately before an autodoc

foo
**foo**
::: some.identifier

In the previous state, the "foo" text would be completely obliterated, but now it will be kept, and the autodoc will be rendered as well.

touché

This is great!
I guess it's an in-house workaround for Markdown versions lower than the next one containing your fix.

No no, this is just another issue, one that is exactly parallel to the linked one, just that we happened to notice the linked one first

Oh OK, thank you for the explanation :slightly_smiling_face:


refactor: enhance ux by using a sticky table head

As the title describes, this little change enhances ux when viewing the projects list by using a sticky table head.
Reason: If you scroll down the large list of projects you don't know what the numbers in the list mean. This way a user is a bit lost and would need to scroll completly to the top again which is a bad user experience

Thanks @phloose!


Roll Engine from 4797b0665242 to 4794d0448f8f (23 revisions)

https://github.com/flutter/engine/compare/4797b0665242...4794d0448f8f
2020-12-11<EMAIL_ADDRESS>Roll Skia from 5284e96599a8 to f7fdf1aa2911 (1 revision) (flutter/engine#23027)
2020-12-11<EMAIL_ADDRESS>Roll Dart SDK from c287db6bf232 to 2553a84fe438 (1 revision) (flutter/engine#23026)
2020-12-11<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from OUQEzH1oE... to a9yuHfriB... (flutter/engine#23025)
2020-12-11<EMAIL_ADDRESS>Roll Dart SDK from a4e6fe145bf7 to c287db6bf232 (2 revisions) (flutter/engine#23024)
2020-12-11<EMAIL_ADDRESS>Roll Skia from b0cb8372c1ef to 5284e96599a8 (2 revisions) (flutter/engine#23023)
2020-12-11<EMAIL_ADDRESS>Roll Skia from f7cce2b243b2 to b0cb8372c1ef (3 revisions) (flutter/engine#23021)
2020-12-11<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from ESzmO-yOF... to K4cPd0-Xd... (flutter/engine#23020)
2020-12-11<EMAIL_ADDRESS>Roll Skia from 6b07e0eb497c to f7cce2b243b2 (6 revisions) (flutter/engine#23018)
2020-12-11<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from rnN_X2o75... to ESzmO-yOF... (flutter/engine#23010)
2020-12-11<EMAIL_ADDRESS>Implement SystemSound.play
2020-12-11<EMAIL_ADDRESS>[web] Fix regression in foreground style (flutter/engine#22999)
2020-12-11<EMAIL_ADDRESS>Roll Dart SDK from e4c9b06267d3 to a4e6fe145bf7 (2 revisions) (flutter/engine#23006)
2020-12-11<EMAIL_ADDRESS>[web] Do not reset 'cursor' in PersistedPlatformView. (flutter/engine#22977)
2020-12-10<EMAIL_ADDRESS>Revert "Freiling warmup memory (#22984)" (flutter/engine#23007)
2020-12-10<EMAIL_ADDRESS>Freiling warmup memory (flutter/engine#22984)
2020-12-10<EMAIL_ADDRESS>Roll Skia from 22f80a60b17f to 6b07e0eb497c (26 revisions) (flutter/engine#23005)
2020-12-10<EMAIL_ADDRESS>Load iOS dart bundle by URL fallback (flutter/engine#22997)
2020-12-10<EMAIL_ADDRESS>Allow Tile mode for blur filter and add new decal TileMode (flutter/engine#22982)
2020-12-10<EMAIL_ADDRESS>Set SkPath::setIsVolatile based on whether the path survives at least two frames (flutter/engine#22620)
2020-12-10<EMAIL_ADDRESS>add ffi_struct_patch.dart to libraries.yaml (flutter/engine#23000)
2020-12-10<EMAIL_ADDRESS>Load macOS dart bundle by URL fallback (flutter/engine#22979)
2020-12-10<EMAIL_ADDRESS>Replace g_object_weak_ref with g_object_add_weak_pointer
2020-12-10<EMAIL_ADDRESS>Fix ios voiceover (for safari >13.4) (flutter/engine#22965)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from rnN_X2o75mOg to K4cPd0-XdK_6
fuchsia/sdk/core/mac-amd64 from OUQEzH1oEjxo to a9yuHfriB1zf
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Gold has detected about 80 untriaged digest(s) on patchset 23.
View them at https://flutter-gold.skia.org/cl/github/72147


per-pattern className when passing an Array of strings to mark

Is your feature request related to a problem? Please describe.
Different patterns marked using different classes.
Describe the solution you'd like
If I want to mark "E" in red and "A" in blue, the only solution is to initialize mark.js twice with two different regexps and a distinct opt.className for each. But with possibly up to 40 such patterns, mark.js may (likely?) be inefficient (didn't tried yet) and may have to proceed many more DOM nodes and miss the opportunity of significant optimization logics.
Still:

mark.js already supports multiple patterns (even if it compile them as one regex)
mark.js seems to care greetly about capturing groups index

Describe a potential solution approach
I think mark.js could (possibly?) keep track of the capturing group index in order to map them to metadata (eg: className) associated with the initial pattern so that during the replacing phase, wrapGroups() (and inner functions) could be passed the per-regexp class/element override) so that wrapRangeInTextNode is not stuck with only opt.className.
With this feature, mark() would possibly accept an object like {patternA: className, patternB: className2} or {patternA: {...optsA}}`. This also open the door at whether a list of patterns (instead of mere strings) could be passed with each having its own className...
Additional context

Use-case is for coloring characters (and/or adding images nearby of particular strings) for educational / mind-training purposes.
#450 probably needs to be merged first before any further modification is attempted to src/lib/mark.js.

@angezid do you mind commenting whether #450 would impact (eg: ease or make impossible) such a feature?

You can associate classNames with strings through dictionary for mark() method
Note: with acrossElements option, the performance will be horrible if using the standard library.
let array = [ 'str1', 'str2', .. ];
let classNames = { 'str1' : 'class1', 'str2' : 'class2', .. };

context.mark(array, {
    'each' : function(node) {
        // may requires white spaces/case normalization
        let key = node.textContent;
        node.className = classNames[key];
    }
});

For the performance, you need to use markRegExp() method with combine pattern to reduce the number of passes.

Great advise @angezid : I didn't thought it could already been done out-of-the-box using the each() : It work very ewll (I don't need acrossElements) => Issue resolved.

About the "multiple regexp" (be it for performance, or because some pattern are case-sensitive or anchored and other not), I reused the escapeStr of the RegExpCreator and the each() callback is still perfectly suitable (I don't even have to bother about match-index myself)

Last question, out of curiosity, did anyone considered fastdom (as a way to batch DOM mutations and possibly improve significantly performances when multiple (many) nodes are added/removed but rendering must only happens once at the end) ?

Cannot say anything about fastdom, sorry. I never encounter the case like yours - up to 40 patterns.

It seems you are using diacritics.
The current term can be gotten from filter callback:
let array = [ 'str1', 'str2', .. ];
let classNames = { 'str1' : 'class1', 'str2' : 'class2', .. };
let key;

context.mark(array, {
    'filter' : function(node, term, totalCount, count) {
        key = term;
    },
    'each' : function(node) {
        node.className = classNames[key];
    }
});


Unit testing illegal input / parser errors

Hey there!
I have a struct that implements Parse
impl Parse for Foo {
    fn parse(input: ParseStream) -> Result<Self> {
        ···
    }
}

which I would like to unit-test.
The story is quite easy for legal input:
fn assert_expression_eq<T: Parse + ToTokens>(
    input: &str,
    expected: &str,
) -> Result<(), Box<dyn Error>> {
    let element = parse_str::<T>(input)?;
    let expanded = quote!(#element).to_string();
    let actual_fmt = fmt_expression(&expanded)?;
    let expected_fmt = fmt_expression(&expected)?;

    if actual_fmt == expected_fmt {
        Ok(())
    } else {
        Err(Box::new(AssertionError::new(expected_fmt, actual_fmt)))
    }
}

However, I would also like to maintain fixtures with test cases where the parser is supposed to fail.
Something like:
fn assert_parse_error<T: Parse + ToTokens>(
    input: &str,
    error: &str,
) -> Result<(), Box<dyn Error>> {
    ···
}

However, when I force an error while parsing, I get
thread '···' panicked at 'proc_macro::Span is only available in procedural macros', ···/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.30/src/wrapper.rs:467:34

I also tried mocking a procedural macro by creating a TokenStream and feeding it to parse_macro_input:
fn try_parse<T: Parse + ToTokens>(
    input: &str
) -> proc_macro::TokenStream {
    let tokens = proc_macro::TokenStream::from_str(input).unwrap();
    let element = parse_macro_input!(tokens as T);

    proc_macro::TokenStream::from(quote!(#element))
}

which results in
thread '···' panicked at 'procedural macro API is used outside of a procedural macro', src/libproc_macro/bridge/client.rs:315:17

Is there any recommended approach to what I'm trying? I didn't find any resources searching the documentation and issues.

P.S.: Thanks for this library, it's incredibly straight-forward to use and makes meta-programming super fun

The types in proc-macro can't exist in a unit test. You will need to use proc-macro2:
https://docs.rs/proc-macro2

Seems like this was the culprit in my code (unwrapping Spans to join them):
fn parse(input: ParseStream) -> Result<Self> {
    ···

    if component_type_closing_string != component_type_opening_string {
        let span_opening = component_type.span().unwrap();
        let span_closing = component_type_closing.span().unwrap();

        span_opening
            .join(span_closing)
            .unwrap()
            .error(
                "expected matching closing tag </".to_owned()
                    + &component_type_opening_string
                    + ">, found </"
                    + &component_type_closing_string
                    + ">",
            )
            .emit();
    }

    ···
}

The soution (as of today) is to set RUSTFLAGS='--cfg procmacro2_semver_exempt' and use proc_macro2::Span::join/syn::Error instead.
fn parse(input: ParseStream) -> Result<Self> {
    ···

    if component_type_closing_string != component_type_opening_string {
        let span_opening = component_type.span();
        let span_closing = component_type_closing.span();
        let span = span_opening.join(span_closing).unwrap();

        return Err(Error::new(
            span,
            "expected matching closing tag </".to_owned()
                + &component_type_opening_string
                + ">, found </"
                + &component_type_closing_string
                + ">",
        ));
    }

    ···
}


Error exporting hail table to elastic search

I've tried to export the hail table to elastic search with the following parameters and encountered error. If I removed the "raised NotImplementedError" in the code, I get a different set of errors (run.log).
/root/export_ht_to_es.py --ht-url 's3://mybucket/gnomad.exomes.r2.1.sites.ht' --host 'XX.XX.XX.XX' --port XXXX --index-name 'data' --index-type 'variant' --num-shards 10 --es-block-size 5000
Traceback (most recent call last):
File "/root/export_ht_to_es.py", line 55, in
main(args)
File "/root/export_ht_to_es.py", line 41, in main
verbose=True
File "/root/hail_scripts/v02/utils/elasticsearch_client.py", line 143, in export_table_to_elasticsearch
disable_index_for_fields=disable_index_for_fields,
File "/root/hail_scripts/v02/utils/elasticsearch_utils.py", line 51, in elasticsearch_schema_for_table
properties = _elasticsearch_mapping_for_type(table.row_value.dtype)["properties"]
File "/root/hail_scripts/v02/utils/elasticsearch_utils.py", line 23, in _elasticsearch_mapping_for_type
return {"properties": {field: _elasticsearch_mapping_for_type(dtype[field]) for field in dtype.fields}}
File "/root/hail_scripts/v02/utils/elasticsearch_utils.py", line 23, in
return {"properties": {field: _elasticsearch_mapping_for_type(dtype[field]) for field in dtype.fields}}
File "/root/hail_scripts/v02/utils/elasticsearch_utils.py", line 25, in _elasticsearch_mapping_for_type
element_mapping = _elasticsearch_mapping_for_type(dtype.element_type)
File "/root/hail_scripts/v02/utils/elasticsearch_utils.py", line 23, in _elasticsearch_mapping_for_type
return {"properties": {field: _elasticsearch_mapping_for_type(dtype[field]) for field in dtype.fields}}
File "/root/hail_scripts/v02/utils/elasticsearch_utils.py", line 23, in
return {"properties": {field: _elasticsearch_mapping_for_type(dtype[field]) for field in dtype.fields}}
File "/root/hail_scripts/v02/utils/elasticsearch_utils.py", line 31, in _elasticsearch_mapping_for_type
raise NotImplementedError
NotImplementedError
Thanks and Best,
Jack

I think I've zoomed down to this section of the code in elasticsearch_utils.py.
def _elasticsearch_mapping_for_type(dtype):
    if isinstance(dtype, hl.tstruct):
        return {"properties": {field: _elasticsearch_mapping_for_type(dtype[field]) for field in dtype.fields}}
    if isinstance(dtype, (hl.tarray, hl.tset)):
        print(dtype.element_type)
       element_mapping = _elasticsearch_mapping_for_type(dtype.element_type)
        if isinstance(dtype.element_type, hl.tstruct):
            element_mapping["type"] = "nested"
        return element_mapping
    if dtype in HAIL_TYPE_TO_ES_TYPE_MAPPING:
        print("HAIL_TYPE_TO_ES_TYPE_MAPPING:" + dtype)
        return {"type": HAIL_TYPE_TO_ES_TYPE_MAPPING[dtype]}
    raise NotImplementedError
Below is a type in the data that could not be handled by the code giving that error.
faf: array<struct{meta: dict<str, str>, faf95: float64, faf99: float64}>

Hi @Jack-Ow,
Exporting dicts to Elasticsearch is not supported. Since each row of a Hail table could have different keys in the dict field, defining an Elasticsearch field for each key could lead to a "mapping explosion". It would also require aggregating the table to build the ES mapping instead of inspecting the row data type.
To work around this, you could convert the dict either to a struct with a field per key(if there are a reasonable number of possible keys) or to a list of structs with key and value fields.


[feature] API Versioning [OSF-6473][OSF-6330]

Purpose

Adds the ability to version the API.

Creates version 2.1

Depreciates the /node_links/ endpoints.

Changes pagination links to be JSON API compliant.

2.0 pagination:
links
    first
    last
    next
    prev
    meta
        total
        per_page

2.1 pagination:
meta
    total
    per_page
links
    self
    first
    last
    next
    prev

Versioning can be specified by the client in three ways:

URL Path Versioning, e.g. api.osf.io/v2/ or api.osf.io/v3/ (REQUIRED)

Only a major version can be specified via the URL path, i.e. api.osf.io/v2.0.6/ is invalid, additionally, paths such as api.osf.io/v2.0/ are invalid.
If the default version is within the major version specified in the URL path, the default version will be applied (i.e. if the default version is 2.3 and the URL path is api.osf.io/v2/, then request.version will be 2.3).
If the default version is not within the major version specified in the URL path, the URL path version will be applied (i.e. if the default version is 3.0 and the URL path is api.osf.io/v2/, then request.version will be 2.0)

Query Parameter Versioning, e.g. api.osf.io/v2/nodes/?version=2.1.6 (OPTIONAL)

A specific version (major, minor, or patch) for a single request can be specified via the version query parameter, as long as it is an allowed version.
If the version specified in the query parameter does not fall within the same major version specified in the URL path, i.e api.osf.io/v2/nodes/?version=3.1.4 a 409 Conflict response will be returned.

Header Versioning, e.g. Accept-Header=application/vnd.api+json;version=3.0.1 (OPTIONAL)

A specific version (major, minor, or patch) for a single request can be specified via the Accept Header of the request, as long as it is an allowed version.
If the version specified in the header does not fall within the same major version specified in the URL path a 409 Conflict response will be returned.
If both a header version and query parameter version are specified, the versions must match exactly or a 409 Conflict response will be returned (i.e. one does not take precedence over the other).

Changes

Adds a custom BaseVersioning class.
Adds a version key word argument to the base API url, and as a result adds version to the kwargs passed to absolute_reverse() in the serializers.

Side effects

None expected, although QA should be aware that the addition of the version key word argument to the base URL has the ability to mess up every single endpoint, but with tests passing, this shouldn't be a problem.

Ticket

OSF-6473 (general versioning)
OSF-6330 (pagination fix)

@brianjgeiger, I believe I've addressed all of the CR comments, with the exception of the undecided min_version/max_version parameter naming change. 🔙  to you.

🐧 🎉 🐧


API improvements for use with lambdas.

DO NOT MERGE, WORK IN PROGRESS  Please comment with feedback.
This PR adds some methods and interfaces to help code reuse and reduce instances where call chaining must be broken.  For instance, if you are building long aggregation pipelines, but there are some conditional steps in the middle, this change will help.
collection.aggregate("{...}")
  .and("{...}")
  .with(a->{
    if( test() ) {
      a.and("{...}")
    } else {
      a.and("{...}")
    }
  })
  .and("{...}")
  .as(Type.class);

Any thoughts on other ways the API could be improved for use with lambdas?

@bguerout Any input on this would be appreciated.

Hello,
I think this is a great answer to avoid method chaining to be broken if a condition is needed.
Moreover it can be used even without java 8.
I haven't spent enough time on Jongo last months so I have to dig a bit into the source code to search where we can made that kind of improvements.
Do you have more ideas ?

It seems like a Function<T, R> could be added and then operations could be started like:
collection.aggregate(collection->test() : collection.aggregate("{...}") ? collection.aggregate("{...}"));

This could be useful when the argument lengths can change on the first query.  I have yet to run into this directly though.

This could help #311

@bguerout should I just add something to help support #311 and then we can wrap this particular PR up?

hi all!, whatever happened to this PR? it's been in PR hell for nearly 3 years? :)

It looks like this died on the vine.  I am not using this project that much anymore, but I would be happy to see if we can pull it up on top of the history and see if we can get it in.
@bguerout would this still be of value?
@machinshin could you use this functionality?


Bolt migration file updates to Supabase causing issues

Describe the bug
Whenever Bolt makes a change in the migration file, Supabase throws in an error: "Supabase  API error, 400, Failed to run sql query: ERROR:  23505: duplicate key value violates unique constraint "schema_migrations_pkey"
DETAIL:  Key (version)=(0031) already exists." Bolt then tries to change the key version but the error repeats itself so we end up in a never ending loop costing me a fortune of tokens :-(
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-eszxbsly
Validations

[X] Please make your project public or accessible by URL. This will allow anyone trying to help you to easily reproduce the issue and provide assistance.

Steps to reproduce
Just give Bolt the following prompt and the issue will become clear:
"Now set a basic set of the following identifying elements for each device type:
UDI / Serienummer
Intern nummer
Fabrikant
Model
Bouwjaar
However every device type also has specific identifying elements which can be conditional to some of the form fields in the related inspection form. When we create an inspection form for each device type we should be able to make some form fields conditional to these specific identifying elements.
Add the following specific identifying element to type 'Tilband':
Soort (select 1 value from: 'Actief' 'Passief' or 'Toilet')
Add the following specific identifying elements to type 'Tillift Verrijdbaar'
Tilmechanisme (select 1 value from: 'Roterend' 'Translerend met interne hijsband' or 'Translerend met electronisch aangedreven spindel of wormwiel'
Maximale belasting in KG (numerical value)
Add the following specific identifying element to type 'Hoog-Laag Bed'
Soort (select 1 value from: 'Standaard' 'Junior' 'Wieg' 'Kinderbed groot' 'Bed box' or 'Tent bed')
Add the following specific identifying element to type 'Elektrische Installatie'
Beschermingsklasse (select 1 value from: ‘I’ or ‘II’)
Add the following specific identifying element to type ‘Bad’
Geïntegreerd reinigings- en desinfectiesysteem (select 1 value from: ‘Ja’ or ‘Nee’)
Add the following specific identifying elements to type ‘Toilet & Douche hulpmiddel’
Soort (select 1 value from: ‘Toiletstoel’ ‘Douchestoel’ ‘Brancard’ or ‘Badliftstoel’)
Elektrische onderdelen (select 1 value from: ‘Ja’ or ‘Nee’)
Verrijdbaar (select 1 value from: ‘Ja’ or ‘Nee’)
Add the following specific identifying elements to type ‘Hulpmiddel’
Elektrische onderdelen (select 1 value from: ‘Ja’ or ‘Nee’)
Verrijdbaar (select 1 value from: ‘Ja’ or ‘Nee’)"
Expected behavior
I expect the migration files to supabase to be processed correctly so the changes will work in the app.
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 112186057,
  "usedJSHeapSize": 105663269,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = JeaZui
Chat ID = 3d6b0df2892d

Additional context
No response

Same issue here, seems difficcult to resolve without resorting to manually influencing SQL or Supabase.

The chat prompt mentions creation a new version (06) for the migration, however it's still using an old migration number (02).

How to fix this?, i chanches numbers on the database but, the conflicts come back again

+1


Added Hebrew (he) localization

Thanks a lot for the contribution! Will fix merge conflicts and deploy in the next release


support redis auth in createRedisCacheProvider

1. Why is this change necessary?
2. What does this change do, exactly?
3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
5. Which documentation changes (if any) need to be made because of this PR?
6. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[ ] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-20299
Please use this issue to track the state of your pull request.

Hi,
thx, this was merged with: https://github.com/shopware/shopware/commit/51a0f7d7fd12df5f3c56fcc425a0726958c72406


Better language UX: compile in Docker + compute in WASM

Can i get a little more context on what needs to be done

no idea what this was