ParseSyntaxException: Expected , found '-'

Hi,
I was trying to open a configuration file, from a bind installed on Cent-OS, encountered such an error:
pyparsing.ParseSyntaxException: Expected <boolean>, found '-'
I checked the file; Error hit on this property:
memstatistics-file
Decided to run the provided example parse_bind9, to be sure my code is right, but even with example give same error.
To check nothing is wrong with my named.conf, i used this named.conf which come along the example. It raises same error on same property
pyparsing.ParseSyntaxException: Expected <boolean>, found '-'
memstatistics-file
Can you please, tell me what am i missing?
Thank you and much appreciate

Ouch!  You really got a jump start there.  Looking....

OK.  I just finished my other subproject, ISC Bind 9 named.conf VIM syntax highlighter over at [https://github.com/egberts/vim-syntax-bind-named].
now focusing on this.

If there is something you assign me, I'd love to contribute.
Great work at VIM syntax highlighter, by the way.

A couple things I've noticed...

Not related to this issue, but you're choking the UDP port into a singular port range.

Whew.... 9.3.3 Bind version....  Still eager to close this ticket properly.
Working off an old teaching material?  Or old server?
We're currently at Bind v9.16 now.

Mmmm, I ran with your named.conf and got a different error.  I'm using
Python3
pyparsing (2.4.7)               - Python parsing module
  INSTALLED: 2.4.5
  LATEST:    2.4.7

Hi,
It is test server. I guess it is related to pyparsing than bind9_parser, i was curios because i used sample named.conf provided in bin9_parser and got same error.
Python 3.6.9
pyparsing (2.4.7)               - Python parsing module
  INSTALLED: 2.4.6
  LATEST:    2.4.7

OK.
I had to go into root user and executed:
cd github-issues
mkdir var
mkdir var/named
named-checkconf -t . your-named.conf

and get this error.
named-checkconf -t . github-issue-1.named.conf
github-issue-1.named.conf:106: bad secret 'bad base64 encoding'
github-issue-1.named.conf:106: bad secret 'bad base64 encoding'
github-issue-1.named.conf:106: bad secret 'bad base64 encoding'

Once I replaced the secret string using base64 utility:
base64
bad secret string<enter>
YmFkIHNlY3JldCBzdHJpbmcK

and re-run named-checkconf, it passes.... Then I could troubleshoot.

I'm now running pyparsing 2.4.5, after clearing that minor error for secret string parsing, I reran `parser_bind9.py``:
cd github/bind9_parser/tests/github-issues
cp your-named.conf github-issue-1.named.conf
../../examples/parse_bind9.py -d -v -v -v -v -v ./github-issue-1.named.conf

pyparsing.ParseSyntaxException: Expected {W:(ABCD...) | W:(ABCD...) | <master_name>}, found '{'  (at char 1364), (line:52, col:13)

The error message should be clear.  You have your line number, column, as well as character displacement from beginning of your named.conf.   Using an editor, you can jump to line 53,  Character count is too confusing because it also includes all your include files so stick with the line number and offset.

I hope this helps a little as to trouble shooting your own unique errors.

Meanwhile, I'm incorporating newer Bind versions (beyond 9.11) into this.
PyCharm reports the following, which is a verified bug, but not what you reported.

There are 2 bugs created from this one file that you've submitted.
//
// Bind version: 9.3.3
// Source: http://www.omnisecu.com/gnu-linux/redhat-certified-engineer-rhce/bind-configuration-file.php
//
// Sample named.conf BIND DNS server 'named' configuration file
// for the Red Hat BIND distribution.
//
// See the BIND Administrator's Reference Manual (ARM) for details, in:
// file:///usr/share/doc/bind-*/arm/Bv9ARM.html
// Also see the BIND Configuration GUI : /usr/bin/system-config-bind and
// its manual.
//
options
{
/* make named use port 53 for the source of all queries, to allow
* firewalls to block all ports except 53:
*/
query-source port 53;
query-source-v6 port 53;

// Put files that named is allowed to write in the data/ directory:
directory "/var/named"; // the default
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";

};
logging
{
/* If you want to enable debugging, eg. using the 'rndc trace' command,
* named will try to write the 'named.run' file in the $directory (/var/named).
* By default, SELinux policy does not allow named to modify the /var/named directory,
* so put the default debug log file in data/ :
*/
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//
// All BIND 9 zones are in a "view", which allow different zones to be served
// to different types of client addresses, and for options to be set for groups
// of zones.
//
// By default, if named.conf contains no "view" clauses, all zones are in the
// "default" view, which matches all clients.
//
// If named.conf contains any "view" clause, then all zones MUST be in a view;
// so it is recommended to start off using views to avoid having to restructure
// your configuration files in the future.
//
view "localhost_resolver"
{
/* This view sets up named to be a localhost resolver ( caching only nameserver ).
* If all you want is a caching-only nameserver, then you need only define this view:
*/
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
# all views must contain the root hints zone:
include "/etc/named.root.hints";

/* these are zones that contain definitions for all the localhost
* names and addresses, as recommended in RFC1912 - these names should
* ONLY be served to localhost clients:
*/
include "/etc/named.rfc1912.zones";
};
view "internal"
{
/* This view will contain zones you want to serve only to "internal" clients
that connect via your directly attached LAN interfaces - "localnets" .
*/
match-clients { localnets; };
match-destinations { localnets; };
recursion yes;
// all views must contain the root hints zone:
include "/etc/named.root.hints";

// include "named.rfc1912.zones";
// you should not serve your rfc1912 names to non-localhost clients.

// These are your "authoritative" internal zones, and would probably
// also be included in the "localhost_resolver" view above :

zone "my.internal.zone" {
type master;
file "my.internal.zone.db";
};
zone "my.slave.internal.zone" {
type slave;
file "slaves/my.slave.internal.zone.db";
masters { /* put master nameserver IPs here */ <IP_ADDRESS>; } ;
// put slave zones in the slaves/ directory so named can update them
};
zone "my.ddns.internal.zone" {
type master;
allow-update { key ddns_key; };
file "slaves/my.ddns.internal.zone.db";
// put dynamically updateable zones in the slaves/ directory so named can update them
};
};
key ddns_key
{
algorithm hmac-md5;
secret "use /usr/sbin/dns-keygen to generate TSIG keys";
};
view "external"
{
/* This view will contain zones you want to serve only to "external" clients
* that have addresses that are not on your directly attached LAN interface subnets:
*/
match-clients { !localnets; !localhost; };
match-destinations { !localnets; !localhost; };

recursion no;
// you'd probably want to deny recursion to external clients, so you don't
// end up providing free DNS service to all takers

// all views must contain the root hints zone:
include "/etc/named.root.hints";

// These are your "authoritative" external zones, and would probably
// contain entries for just your web and mail servers:

zone "my.external.zone" {
type master;
file "my.external.zone.db";
};
};

Fixed in c307534c812b35d0946a14d2594e36e9017886b9


ANCM: APPLICATION::DereferenceApplication is used without using APPLICATION::ReferenceApplication

Attach debugger to w3wp to put following break points

bp aspnetcore!APPLICATION::ReferenceApplication ".echo ReferenceApplication; g"
bp aspnetcore!APPLICATION::DereferenceApplication ".echo DereferenceApplication; g"

Recycle aspnetcore applications

EXPECTED:
The break points hit for both APPLICATION::DereferenceApplication() and APPLICATION::ReferenceApplication().
ACTUAL:
The break point of APPLICATION::DereferenceApplication() is hit but the break point of APPLICATION::ReferenceApplication() is not hit.

@pan-wang could you check if this is done and close it accordingly? Thanks.

@jhkimnew will verify the behavior is as expected.

The repro scenario of this issue is not valid anymore. I did that temporary to find any leak issue. We have better test coverage. So, closing this issue.


Problem with QueryGrammar::prepareParameters

Hello, thanks for ur package. We integret CH very faster with ur help!
But i got problem with bindings, if we have many wheres[], bind pos :0 in last where will has incorrect value when use Eloquent Builder
Code:
$query = Log::query();

$query->where(function ($query)  use ($value) {
  return $query
             ->orWhere('column1', 'like', '%test%')
             ->orWhere('column2', 'like', '%test%')
             ->orWhere('column3', 'like', '%test%')
             ->orWhere('column4', '=', 0);
});

// some scenario

$query->whereIn('column5', [4]);

Prepare:
select count(*) as aggregate from "logs" where ("column1" like :0 or "column2" like :1 or "column3" like :2 or "column4" = :3) and "logs"."column5" in (:0)
Bindings:
 0 => "%test%"
 1 => "%test%"
 2 => "%test%"
 3 => 0
 4 => "4"

Sql:
select count(*) as aggregate from "logs" where ("column1" like '%test%' or "column2" like '%test%' or "column3" like '%test%'  or "column4" = 0) and "logs"."column5" in ('%test%')  // not "4" (:4)

That's because compileWheres function is used recursively in case of Nested Where. And internally braсkets () in where clause are represented by a Nested type.
I think it would be better to override compileComponents instead of compileWheres, so that parameters are substituted after the where clause has been completely compiled. Something like this:
    /** @inheritDoc */
    protected function compileComponents(Builder $query)
    {
        $sql = parent::compileComponents($query);

        if (!empty($sql['wheres'])) {
            $sql['wheres'] = static::prepareParameters($sql['wheres']);
        }

        return $sql;
    }

Hi there,
Please, see the auto test, it passes:
https://github.com/glushkovds/phpclickhouse-laravel/blob/master/tests/BindingsTest.php
I guess you need to call Log::select() instead of Log::query(). Moreover, last static method doesn't exist.
Please provide a more detailed example if the problem still remains.


Add support for Hitachi Heating System

Hi,
I have 8 rollers, which work fine with your component (except when Somfy closes http connection, it did yesterday).
I also have 4 air conditioners, today I manage them with homebridge connected to tahoma, and after HA. I think some of my problems come from there.
Is it possible to add them to your component ?
Hitachi Heating System.
Thanks for your answer.
Sébastien

Hi, at the moment the development of new features is on hold as we are trying to PR into core, and to solve our problem with Somfy regarding server usage (cf #289).
We will still add your request to the TODO list. Could you please open a new issue following and filling out the template here: https://github.com/iMicknl/ha-tahoma/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=
Cheers

Hi, it’s done.
And thanks for all your work !
Regards
Le 19 oct. 2020 à 10:35, Vincent Le Bourlot<EMAIL_ADDRESS>a écrit :
Hi, at the moment the development of new features is on hold as we are trying to PR into core, and to solve our problem with Somfy regarding server usage (cf #289 https://github.com/iMicknl/ha-tahoma/issues/289).
We will still add your request to the TODO list. Could you please open a new issue following and filling out the template here: https://github.com/iMicknl/ha-tahoma/issues/new?assignees=&labels=enhancement&template=feature_request.md&title= https://github.com/iMicknl/ha-tahoma/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=
Cheers
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/iMicknl/ha-tahoma/issues/298#issuecomment-711849906, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALIG4HVOY2CE6MOORSLUONLSLP25TANCNFSM4SV2A3TA.


Create postup-alternate.nft

provides an other example of postup script with useful comments
I did have a hard time understanding why the provided postup.nft was not working on my setup.
Feel free to accept or not this PR as an other configuration example.

Thanks Yan - there can certainly be different setups and its good to have more coverage - thank you.


Problem with access to my handler TextField

import 'package:flutter/material.dart';
import '../models/api_model.dart';
import '../models/QuestionsList.dart';

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> {

  QuestionsList _searchResults;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: buildBar(context),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center
        ),
      ),
    );
  }

  Widget appBarTitle = new TextField(
    autofocus: true,
    onSubmitted: _searchAnswer,
    style: new TextStyle(
      color: Colors.white,
    ),
    textInputAction: TextInputAction.send,
    decoration: InputDecoration(
      hintText: 'Введите текст вопроса',
    ),
  );

  Widget buildBar(BuildContext context) {
    return new AppBar(
        centerTitle: true,
        title: appBarTitle,
        actions: <Widget>[
          IconButton(
            icon: Icon(Icons.clear),
          )
        ]
    );
  }

  void _searchAnswer(String text)
  {
    api_model model = new api_model();
    model.getAnswers(text).then((QuestionsList res){
      setState(() {
        _searchResults = res;
      });
    });
  }

}

I have problem with my handler, i'm about _searchAnswer
Dart to me saying what _searchAnswer must be a static method. But if i will make is one static, setState method missing
Problem in this row:
onSubmitted: _searchAnswer,

When you initialize a class' field with a field initializer, you can't access this (implicit in your example) because field initializers are executed before this is completely initialized.
You can either move the initialization code to the constructor body (or to the initializer list of the constructor when the field (appBarTitle) is final.
You can also make it a getter or method instead of a field like
 Widget _appBarTitle;
 Widget get appBarTitle => _appBarTitle ??= new TextField(
    autofocus: true,
    onSubmitted: _searchAnswer,
    style: new TextStyle(
      color: Colors.white,
    ),
    textInputAction: TextInputAction.send,
    decoration: InputDecoration(
      hintText: 'Введите текст вопроса',
    ),
  );

This way the code is not executed during object initialization but when appBarTitle is first accessed. _appBarTitle ??= ... caches the value in _appBarTitle and returns _appBarTitle on subsequent access to appBarTitle instead of executing the code again.
Please consider asking support questions in one of the other channels listed at http://flutter.io/support .


this context inside directive functions are undefined, should be bound to definition object

In Typescript, you can define a directive like this (since angular.directive doesn't support constructors like controller, service, etc):
module stuff {
  export class MyDirective implements ng.IDirective {
     restrict = 'A';
     constructor(public injectSome: ngSome.injectSome) {}
     link(){
        this.injectSome(); // this is undefined
     }
     static instance(){
       return ['injectSome', (injectSome) => new this(injectSome)];
     }
  }
  angular.module('stuff', []).directive('myDirective', MyDirective.instance());
}

the link, compile, template and templateUrl functions should be called within the directive definition object context. this will make constructors work as they should.
Typescript enforces good practices and modularization, so you can even test stuff decoupled from angular itself (through the classes definitions), don't ruin the fun for us :)
(also happening on filters)

Given that #9306 landed, this issue can be closed.


Explanation of first example is wrong

Explanation of this example is wrong:
https://github.com/denysdovhan/wtfjs#-is-equal-

The abstract equality operator converts both sides to numbers to compare them

This is just wrong. Strings are compared as strings, null compared to undefined is true, to-primitive might return a string instead on number and so on.

Here is how this expression simplifies:
+[] == +![];

First step would be to convert ![] to false because of precedence.

so, overall, your state is absolutely correct , but here is the thing, [] == ![]  , for this problem, even though ![] is firstly  converted to boolean, there what the author meant is both sides are  converted to numbers to be primitive both sides, :: If the types of the two operands are different, JavaScript attempts to convert them to a common type :: but your state is also true

This is not entirely correct also. If you are following the specs precisely here is what happens

We compare [] == false. I skip the step ![] because the right hand expression obviously first needs to be evaluated before the comparison starts
The first relevent case is 9, the boolean is coerced to a number. We end up with [] == 0
The next relevant case is 11, comparing an object to a non object. This coerces the object to a primitive by trying these methods in this order: Symbol.toPrimitive, valueOf, toString. A standard array doesnt have a toPrimitive symbol and valueOf just returns the array again. This means its coerced into a string using toString which concatenates all its elements with a comma. Since its empty, this will just be an empty string so we end up with '<empty string>' == 0
After every step we start our cases from the top again so next case is 5, comparing a string to a number. This coerces the string to a number with Number(string) which in the case of an empty string leads us to 0 so now we finally end up with 0 == 0 which is true

So the correct example for this explanation really should be ```js
[] == ![];
[] == false;
[] == 0;
'' == 0;
0 == 0;
true;

I think the coercion to a string is an important step that shouldn't be left out because otherwise the explanation gives off the impression that empty arrays are directly coerced into 0 all the time which is simply not true.


App crashed

macOS version: 13.3.1 (22E261)

Can you attach the crash dump following the steps at https://github.com/microsoft/vscode/wiki/Native-Crash-Issues#creating-a-crash-report

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Feature/label support

Added support for Label objects

This pull-request is based on the changes made in #24, merging this will effectively merge both.

Really on it aren't you :)

Haha, yeah... Needed some trello support for a little project of mine. Based the first version on py-trello but that one really sucks, this project is much better :)

Thanks mate, that's the reason I wrote this one to begin with :)


WebGL Warnings

I get a whole bunch of WebGL warnings every time I start LCL. Is there a way to either fix or mute these? They make debugging somewhat annoying. :anger:

this is no longer happening


order option for copy

I supported order option in copy method using astype.
merge #111 first

I updated it.

LGTM!


Example integration test that takes device screenshots as it goes along

Small example showing how to do the screenshot stuff. There are some bug fixes in pull request 105 on the android-maven-plugin that will make this example run much better, so it's worth merging that before running this!
https://github.com/rtyley/android-screenshot-lib#readme

Looks good.. lets see what it does on the ci server ;-)

First run failed but then I kicked off another one and it worked. Must have been a timing issue.
http://hudson.josefson.org/job/maven-android-plugin-samples-master/201/

Cool, glad it passed with build 202 - looks like 201 failed due to the emulator being unresponsive on uninstalling the previous apk, which sounds unrelated to the change.


Can I give you some feedback?

In order to reduce distractions from the exercise, please open your issue in the partner repo:
https://github.com/danthareja/contribute-to-open-source-server/issues/new
I'll be happy to chat with you there, @tharejad!


operators [N] [CI] shipwright-operator (0.9.0)

Add Shipwright Operator to the Red Hat Community operators. This will
let OpenShift users install Shipwright. Installing Shipwright will also
install OpenShift Pipelines if it has not been installed already.
Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[x] Are you familiar with our contribution guidelines?
[x] Have you packaged and deployed your Operator for Operator Framework?

[x] Is your submission signed?
[x] Is operator icon set?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/merge possible

@jozzi @mvalarh Deploys on OpenShift fail with the following:
Failed to run bundle: pull bundle image: error pulling image quay.io/openshift-community-operators/shipwright-operator:v0.9.0

Is there a chicken/egg problem here? Does someone need to make the shipwright-operator images public on quay?

/test all

/test 4.6-deploy-operator-on-openshift

@adambkaplan  if you check https://operatorhub.io/preview with your CSV,  There is the field Created at  on the right panel. Please fill it in your CSV.

@adambkaplan are you able to install your operator on OCP v4.6? Pipeline is not able to do so.

/merge possible

@J0zi upstream actually requires k8s 1.21 or higher, updating the min kube version here.

@adambkaplan min kube is for k8s and it should be aligned with openshift label. So please add  com.redhat.openshift.versions: v4.8 to annotations.yaml

@J0zi kiwi / Full operator test failed with the following, no other errors appear in the test:
TASK [validate_operator_bundle : Add errors to file '/tmp/operator-test/operator-files/operator_sdk_bundle_validate_warnings_and_errors.txt'] ***
fatal: [localhost]: FAILED! =>
  msg: 'Invalid data passed to ''loop'', it requires a list, got this instead: . Hint: If you passed a list/dict of just one element, try adding wantlist=True to your lookup invocation or use q/query instead of lookup.'

PLAY RECAP *********************************************************************
localhost                  : ok=132  changed=31   unreachable=0    failed=1    skipped=142  rescued=0    ignored=0

/retest

/test all

@J0zi kiwi / Full operator test failed with the following, no other errors appear in the test:
TASK [validate_operator_bundle : Add errors to file '/tmp/operator-test/operator-files/operator_sdk_bundle_validate_warnings_and_errors.txt'] ***
fatal: [localhost]: FAILED! =>
  msg: 'Invalid data passed to ''loop'', it requires a list, got this instead: . Hint: If you passed a list/dict of just one element, try adding wantlist=True to your lookup invocation or use q/query instead of lookup.'

PLAY RECAP *********************************************************************
localhost                  : ok=132  changed=31   unreachable=0    failed=1    skipped=142  rescued=0    ignored=0

This is fixed now

/merge possible

/merge possible

/merge possible


Unmarshal namespace throws error when trial true

If a user either is in trial mode or the user's trial expired the namespace's "trial_ends_on" field is of type ISO8601 instead of RFC3339.
Eg:
{
   "id":*******,
   "name":"oana-group",
   "path":"oana-group",
   "kind":"group",
   "full_path":"oana-group",
   "parent_id":null,
   "avatar_url":null,
   "web_url":"https://gitlab.com/groups/oana-group",
   "members_count_with_descendants":1,
   "billable_members_count":1,
   "seats_in_use":1,
   "max_seats_used":0,
   "plan":"ultimate_trial",
   "trial_ends_on":"2022-05-08",
   "trial":true
}

This leads to the following error when listing namespaces or when trying to get a specific namespace:
parsing time \"\\\"2019-04-25\\\"\" as \"\\\"2006-01-02T15:04:05Z07:00\\\"\": cannot parse \"\\\"\" as \"T\"

This PR changes the type of Namespace.TrialEndsOn from *time.Time to *ISOTime.

Hi @svanharmelen ,
First of all, thank you for this awesome project! Could you please let me know if I'm heading in the right direction?

@svanharmelen thanks for the merge! When do you plan to release this change?

Tagged v0.63.0


add speech

Add text-to-speech function, to enable tts-1 and tts-1-hd model api usage.
Test ok locally.

Hi,
Thank you for your addition to the library, I will be merging with main. Feel free to add support for the other, newer features of the OpenAI API that have yet to be added as of yet if you'd like.

Hi, thanks for your advice.

In the future, please target your PRs to the active development branch instead of main to avoid merge confusion. In addition, please attempt to have your code remain consistent with the liboai code base.

Actually I am not quite clear about how to target my PRs to the development branch in this repository. Currently there is only one main branch, and obviously I don't have the permission to create a new branch in your repository. Perhaps a develop branch is needed, so that I can set my upstream target to it.
Any ideas on how to make things right?

Hi, thanks for your advice.

In the future, please target your PRs to the active development branch instead of main to avoid merge confusion. In addition, please attempt to have your code remain consistent with the liboai code base.

Actually I am not quite clear about how to target my PRs to the development branch in this repository. Currently there is only one main branch, and obviously I don't have the permission to create a new branch in your repository. Perhaps a develop branch is needed, so that I can set my upstream target to it.
Any ideas on how to make things right?

The development branch at the time this PR was created was the v4.0.0 branch, which has since been deleted. I will create a dev branch for in-development features that can be pushed to main upon finalization.
In regard to keeping consistent with the liboai codebase, the only two things I noticed--and made changes to--were the preprocessor header imports, and indentation styling of if statements for optional parameters - see the changes I made in the main branch to your PR-changed files. Other than that, great work.


OMTensorList _size bug

This is another 32-bit/64-bit int type mismatch bug uncovered by the JNI tests I'm trying to add.
The _size field of OMTensorList is defined as size_t, which is 8 bytes on most platforms. However, the APIs omTensorListCreate and omTensorListCreateWithOwnership take 4 bytes int as parameters. As we have seen before, this will result in the upper 4 bytes of _size getting garbage at random times depending on register usage.
We have been "lucky" so far since the API omTensorListGetSize returns a 32-bit int which gets the correct value even if the upper 4 bytes of _size has garbage. However, the following line in the OMTensorList destructor and function omTensorListDestroy will fail,
for (size_t i = 0; i < list->_size; i++)

since i will iterate over the huge int of the entire 8 bytes. For example, with the inception_v1 model I have observed,
omTensorListDestroy _size=3ff00000001 _omts=0x3ffac575240 _owning=1

And the reason the bug was not uncovered by the C/C++ backend tests is the same as that of #929, i.e., PyExecutionSession::pyRun never tried to free the output tensors.
The fix should be fairly simple. Either we change the _size type to 32-bit int or change all related API calls to use 64-bit int. Either way, we should be explicit with the type and avoid using size_t since it's platform dependent.

Either we change the _size type to 32-bit int or change all related API calls to use 64-bit int.

@gongsu832 Gong, I changed all API calls to use 64-bit int in the PR #975 also, since it is easy to be done.

@tungld Thanks. We'd also need to change all the API calls in src/Runtime/OMTensor.inc, OMTensorList.inc, and their corresponding headers in include/onnx-mlir/Runtime/OMTensor.h, OMTensorList.h.

We'd also need to change all the API calls in src/Runtime/OMTensor.inc, OMTensorList.inc, and their corresponding headers in include/onnx-mlir/Runtime/OMTensor.h, OMTensorList.h.

Yes, done.

@tungld While we are at it, perhaps we should rename the API omTensorCreateEmptyDeprecated to omTensorCreateUntyped or switch to omTensorCreateEmpty? It's weird to call something with Deprecated in the name.

@gongsu832 I asked the same question in my mind about this function name. Maybe omTensorCreateUntyped is more suitable since it does not set shape and data type.

@gongsu832 FYI, I just merged the PR. If it did not help fix this issue, please let me know. Thanks!

@tungld All JNI tests pass now. Thanks. Closing the issue.


Unable to download ulimit package - fatal error: sys/resource.h: No such file or directory

devtools::install_github("krlmlr/ulimit")
Downloading GitHub repo krlmlr/ulimit@master
√  checking for file 'C:\Users..\krlmlr-ulimit-67199f2/DESCRIPTION' (559ms)

preparing 'ulimit':
√  checking DESCRIPTION meta-information ...
cleaning src
checking for LF line-endings in source and make files and shell scripts
checking for empty or unneeded directories
building 'ulimit_0.0-3.tar.gz'

Installing package into ‘C:/Users/../R/win-library/3.6’
(as ‘lib’ is unspecified)

installing source package 'ulimit' ...
** using staged installation
** libs

*** arch - i386
C:/RBuildTools/3.5/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG          -O3 -Wall  -std=gnu99 -mtune=generic -c init.c -o init.o
C:/RBuildTools/3.5/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG          -O3 -Wall  -std=gnu99 -mtune=generic -c memsize.c -o memsize.o
memsize.c:2:26: fatal error: sys/resource.h: No such file or directory
#include <sys/resource.h>
^
compilation terminated.
make: *** [C:/PROGRA~1/R/R-36~1.1/etc/i386/Makeconf:208: memsize.o] Error 1
ERROR: compilation failed for package 'ulimit'

removing 'C:/Users/../R/win-library/3.6/ulimit'
Error: Failed to install 'ulimit' from GitHub:
(converted from warning) installation of package ‘C:/Users/../AppData/Local/Temp/RtmpAXvZdd/file1b8452ed2cf/ulimit_0.0-3.tar.gz’ had non-zero exit status

I have no idea what you're talking about. Maybe you posted to the wrong project?

Yeah this does indeed seem weird.

I am sorry. I guess yes I did post in the wrong project. It is my first in Git hub.


IsWebSocketRequest not working with UseAuthentication (Signalr with Jwt)

Doing test with JWT sample and my code i saw that the approach suggested in JwtSample should not work if you call app.UseAuthentication() in Startup.Configure.
It is not yet perfectly clear for me what's the role of AuthenticationMiddleware (added by UseAuthentication extension method) in JWT authentication.
I start using it as suggested in documentation (https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x#jwt-bearer-authentication)
but if the AuthenticationMiddleware is placed before UseSignalR IsWebSocketRequest return always false when you test it from JwtBearerEvents (https://github.com/aspnet/SignalR/blob/dev/samples/JwtSample/Startup.cs).
Maybe this is because AuthenticationMiddleware force the call of JWTMiddleware and if it has been configured before UseSignalR it is called before the WebSocketMiddleware.
If you think i will post the issue to main repo i post here because in my case is something related to Signalr+Jwt.

but if the AuthenticationMiddleware is placed before UseSignalR IsWebSocketRequest return always false when you test it from JwtBearerEvents

This is because UseSignalR() is what registers the WebSocket middleware, which is required to detect and process WebSocket requests. If you want to be able to detect the WebSocket request somewhere before SignalR in the Middleware pipeline you can either:

Manually detect the Connection: upgrade and Upgrade: websocket headers in your JwtBearerEvents
Put app.UseWebSockets() before app.UseAuthentication() and keep SignalR where it is. That will ensure the WebSockets middleware comes earlier in the pipeline.

In general though, you shouldn't need the AuthenticationMiddleware here. It serves two major purposes:

Handling OAuth callbacks
Automatically calling AuthorizeAsync for your default authentication scheme, so that Context.User is filled.

However, SignalR calls AuthorizeAsync on your behalf when you put the Authorize attribute on your hub.
In general, during a request, the first call to AuthorizeAsync will cause these events to be fired and the results will be cached. If you need to use the Authentication middleware, you'll have to put WebSockets ahead of it in order to properly read the IsWebSocketRequest value. However, the default sample doesn't put it in because it doesn't require either of the above features from it.
Also, you could simply remove the check on IsWebSocketRequest. It would allow non-WebSocket requests to carry a JWT token in the querystring, but this isn't any more dangerous than transmitting them in the header. SignalR is the only client that will put a token in the querystring anyway.

Thankyou i use it becuase i am using SignalR in a SPA app that should work also without SignalR.
I know that if someone can take a look at query string can also look at the headers but i like the idea to use querystring only for hub even if it is the same security level of header .
Thank you,

i like the idea to use querystring only for hub even if it is the same security level of header .

it is certainly better to only check the query string on WebSocket requests. As I mentioned above, for that simply remove the Authentication Middleware (if you don't need it's features) and SignalR will be the one calling AuthorizeAsync first (and triggering the event; AFTER the WebSockets middleware has initialized), or add the WebSockets middleware above the Authentication middleware (and keep SignalR below it).
Glad you got the answers you needed!


Using code prettifier for gh-pages

The current code is written in just a pre tag which looks ugly.
I prefer code-prettify which is sober and pretty simple to use.
Please suggest any better alternative if anyone have any.
Edit: prism.js also looks nice

I kinda love the current one as a design choice. Code samples are not too long or complicated to enhance readability. But just my opinion. If people think it can help, go for it 👍

@ironmaniiith Could you post a mockup image?

Without styling:

With styling

Current design (still my favorite)
Code prettify (acceptable, with line heights tuning, block padding update and proper border update)
Prism (least favorite one, it changes the pages design sense)

< I have no opinion />


Remove NOTE logging from processor

This PR removes NOTE logging from the processor.
Currently the processor writes a log statement for each class that it's currently writing. It feels a bit like this is unnecessary noise in the build.
Feel free to close this one if we prefer to keep it.

thx


[WIP] Support nanosecond

Fluent::NanoTime
This patch introduces new fluentd timestamp, Fluent::NanoTime, which can have nanosecond granularity and is compatible with current Integer timestamp.
Implementaion
Fluent::NanoTime is a class which hold @sec(epoch timestamp) and @nsec(representing nano second).
It behaves like Integer(@sec) in most cases. But if plugin authors want to handle subsecond, they need to use its API explicitly.
Now, Engine.now returns Fluent::NanoTime.
Additinal API

new(sec, nsec = 0)

constructor

.eq?(a, b)

If both of a and b is Fluent::NanoTime, check the both of@sec and @nsec, otherwise same with ==.

.from_time(time)

Convert Time instance to NanoTime

#sec

Return @sec

#nsec

Return @nsec

#to_r

Convert NanoTime to Rational considering @nsec too. This is used at the internal of Time.at.

.from_msgpack_ext(data)

This is used by Fluent::Engine.msgpack_factory.unpacker

#to_msgpack_ext

This is used by Fluent::Engine.msgpack_factory.packer

It seems that Fluent::NanoTime behaves like Integer enough to be used in existing plugins, but maybe we should make Fluent::NanoTime behave more like Integer, for example Object#is_a?.
Fluent::Engine.msgpack_factory.(un)packer
Fluent::Engine.msgpack_factory.(un)packer is for serializing and desirializing Fluent::NanoTime as msgpack ext type.
packer = Fluent::Engine.msgpack_factory.packer
packer.write([tag, Engine.now, record])
packer.to_s

It seems to be verbose, so maybe we should make another API easy to use.
For exmaple,
def format(tag, time, record)
  Fluent::Engine.to_msgpack([tag, time, record])
end

ObjectBufferdOutput
If the plugin is a subclass of ObjectBufferdOutput, it automatically has time_as_integer option. If the option is true, timestamps will be converted to Integer. By default it is true for backward compability.
Plugins which use ObjectBufferdOutput is following. I searched at GitHub.

https://github.com/tagomoris/fluent-plugin-secure-forward
https://github.com/tagomoris/fluent-plugin-buffered-stdout
https://github.com/jamielennox/fluent-plugin-gssapi-forward

Backword Imcompatibility
fluent-plugin-map uses eval for raw timestamp, so if you do complicated operation for time, it may be broken. But Fluent::NanoTime behaves like Integer in almost all cases.
Except it, as far as I have confirmed, there were no plugins which are broken by this feature.
My investigation results: https://gist.github.com/mururu/56430620b084eccedf03
Performance Concerns

When time_as_integer is true and ObjectBufferdOutput receive PackedForward, it is desirialized and serialized for converting Fluent::NanoTime to Integer. But by keeping source nodes old or keeping time_as_integer true on them, we can set false to time_as_integer on relay nodes.

TimeParser. If time log format including subsecond, it is difficult to cache results of parsing it.

https://github.com/mururu/fluentd-benchmark/tree/master/tail

It seems to difficlut to aboid this problem. We may need precompiled format for strptime.

TimeFormatter. If time format needs sebsecond, it is difficult to cache results of formatting.

https://github.com/mururu/fluentd-benchmark/tree/master/format

For Users
This feature let you get nanosecond granularity. But if any plugins which you are using cannot handle it correctly, you may get only second granularity which is same with current timestamp. So please check and wait until all plugins which you are using become be able to handle it.
Forward
Added time_as_integer option to forward Output Plugin. When this option is true, timestamps which are sent to another node, for example forward Input Plugin or fluentd_forwarder, is serialized as Integer. By default, time_as_integer is true for backward compatibility. If nodes which you want send to become be able to handle Fluent::NanoTime, you can set this option true.
For Plugin Authors
Output Plugin
If the storage which the plugin send logs to can handle subsecond but the plugin send timestamp as integer, you can make it send timestamps including subsecond.
For example: https://github.com/mururu/fluent-plugin-elasticsearch/commit/9d570881b70b014becf94cb4d5cf0e1b5945ef6f
Input Plugin
If the plugin emits a return value of Engine.now, there are nothing to do.
If the plugin use build-in parser(TimeParser), there are nothing to do.
If the plugin emits Integer explicitly as timestamp even though it can get subsecond from its source now, it should return Fluent::NanoTime.
Filter Plugin
If the plugin implements #filter, there are nothing to do.
If the plugin implements #filter_stream and replace time with Integer, you should convert it to Fluent::NanoTime.
Parser Plugin
If the plugin uses TimeParser.parse, there are nothing to do.
If time parsing is implemented by hand, you can return Fluent::NanoTime by using Fluent::NanoTime.from_time or Flent::NanoTime.new
Formatter Plugin
If the plugin uses TimeFormatter.format, Time.at, to_s, "#{}", to_json, to_msgpack (almost all cases), there nothing to do.
TODO
more tests

Generally speaking, using include Fluentd just to save types is bad idea.
I know that it's done in current Fluentd code, but please don't add more cases and use fully-qualified specification as Fluent::NanoTime.

@muga Did you check https://github.com/nurse/strptime for TimeParser

@repeatedly Thanks. Not yet, I'll check soon.

After supported nano-second, hard to cache parsed time so we should use faster time parsing way.

I have performed benchmark for strptime version in_tail plugin.
The result looks fast enough.
https://github.com/mururu/fluentd-benchmark/tree/master/tail
But strptime gem is not stable and can't cover the case of 'Time.parse', so I will work around them.

can't cover the case of 'Time.parse', so I will work around them.

Yes. strptime gem is used when time_format is specified.
Almost cases, users specify time_format so we benefit from this gem.

@mr-salty How about this patch? It has nano-second resolution.
Does your plugin need 64bit integer for nano-second or Time object?

This looks good in general, thanks - we have no special requirement for timestamp to be int or ruby Time, I can update it to use this when it is ready.
I made a comment elsewhere about parsing JSON timestamps as float losing precision.  We have existing users who have the timestamp 'split' in the JSON to avoid this issue, i.e. "time": { "sec": "123456", "nsec": "7890123456" } - could we add that to the parser?

I don't think this is avoidable using floating point numbers; theoretically something like strptime("...%S.%9N") could parse it but we also have to consider that whatever wrote the timestamp may have lost precision before writing it.

Exactly. I think that a user should not use floating point numbers if they want to keep precision. It sounds good that we have another JSON timestamp which enable users to aboid using something like strptime.

"time": { "sec": "123456", "nsec": "7890123456" }

Looks good to me.
/cc @repeatedly

https://github.com/mururu/fluentd/tree/strptime-gem
I am trying to improve the performance of TimeParser by strptime gem on this branch.
It looks good performance.
When it become compatible with the current TimeParser, I will merge it into this branch.

NanoTime too represents its imprementaion, so it is good to change its name to EventTime. ( Thanks @repeatedly )
Any thoughts?
/cc @tagomoris @sonots @frsyuki

:+1: > EventTime

:+1: for EventTime

Done > EventTime
And new TimeParser using strptime gem works fine with Ruby 2.0 or over.

@mururu Could you remove 1.9.3 test from .travis.yml?

Thank you for the many works on nanosecond support. It looks great because EventTime instance could be handled seemlessly by most of existing plugins working in the fluentd process.
I'd like to ask about the msgpack representation of interprocess event stream on the other hand. It seems that it uses an ext format with type 0 and 8 bytes payload. It this correct?
      @msgpack_factory = MessagePack::Factory.new
      @msgpack_factory.register_type(Fluent::EventTime::TYPE, Fluent::EventTime)

module Fluent
  class EventTime
    TYPE = 0

    def to_msgpack_ext
      [@sec, @nsec].pack('NN')
    end

    def self.from_msgpack_ext(data)
      new(*data.unpack('NN'))
    end

There are a pair of topics as below about the msgpack representation using the ext format.
[1] It costs additional 5 bytes for every single event, even when nanosecond is not used.
[2] It's a breaking change of msgpack representation of interprocess event stream. This means every out_forward protocol listernes or msgpack stream inspectors have to support the ext format of type 0.
Counterproposals:
[A] Using plain array format rather than the ext format
["tag", [
  [[1441337812, 123], {"message": "event1"}],
  [[1441337813, 456], {"message": "event2"}],
  [[1441337814, 789], {"message": "event3"}],
  :
]]

Pros: It costs only 2 bytes when nanosecond is not used.
Pros: The stream could be easily inspected as a JSON representation as above.
Cons: It's still breaking the good old out_forward protocol.
[B] Using the third parameter for nanosecond value.
["tag", [
  [1441337812, {"message": "event1"}, 123],
  [1441337813, {"message": "event2"}, 456],
  [1441337814, {"message": "event3"}, 789],
  :
]]

Pros: It costs only 1 byte when nanosecond is not used.
Pros: Other out_forward protocol listeners are allowed just ignore nanosecond value.
Cons: Ugly. (Who cares?)

@kawanet Thank you for your feedback!
[A] [B]
If users want to force timestamp to be Integer, they can use time_as_integer option. In other words, they should not change their configuration.
Then the costs are the same.
If users want subsecond resolution, the cost of ext type format is less than or equal to [A] and [B] in most cases.
irb> Fluent::Engine.msgpack_factory.packer.write(Fluent::EventTime.new(2**32-1, 2**32-1)).to_s.size
=> 10
irb> Fluent::Engine.msgpack_factory.packer.write([2**32-1, 2**32-1]).to_s.size
=> 11

irb> Fluent::Engine.msgpack_factory.packer.write([Fluent::EventTime.new(2**32-1, 2**32-1), {}]).to_s.size
=> 12
irb> Fluent::Engine.msgpack_factory.packer.write([2**32-1, {}, 2**32-1]).to_s.size
=> 12

[C]
You mean that we should provide somthing like time_as_float option instead of time_as_integer option? It makes sense. But it seems to me that the situation of mixing Integer, Float and Fluent::EventTime is so complicated that it doesn't pay. I think that if users want subsecond resolution, they should just set time_as_integer as true explicitly.

Ah, "Other out_forward protocol listeners are allowed just to ignore nanosecond value." is attractive. But then it may break other plugins when in_forward receives PackedForward. I will investigate it.

From the side of msgpack core maintainer:
We are planning to add the first built-in ext type (type id -1) for Timestamp to the spec of MessagePack, which represents time with nanosecond precision. It'll be done as soon as possible for me to create pull-request for the spec.
Using custom ext type id (0) is not bad idea to implement custom timestamp class until many msgpack implementation will support it.
From sight of msgpack-ruby maintainer:
Built-in Timestamp ext type will be associated with Ruby's Time class. But on Fluentd with nanosecond support, objects with ext type -1 will be deserialized into Fluent::EventTime, and Fluent::EventTime will be serialized with -1 type.
(Of course, any other scripts can get Time object from byte stream from out_forward.)

@tagomoris I'm happy to hear that msgpack will have an official ext format for nanosecond precision time, yay!
I'm looking forward to seeing it soon. I don't have enough knowlege how it'll cost to transform time between Ruby's Time class and EventTime representation, however.

@mururu Could you rebase the commits? I merged windows support PR and it caused a conflict.

@repeatedly Done. But the tests on AppVeyor failed by strptime gem. I will check it later.

@mururu Thanks!
@nurse Do you have an idea for AppVeyor build?

@mururu @repeatedly strptime 0.1.1 for Windows native gems were broken. I released 0.1.2. Could you update the dependency?

@nurse Thanks. I updated strptime but the tests still failed. Could you check the result?

@mururu ah, 0.1.2 has correctly binaries but there's no code to load ;-(
I released v0.1.3; could you re-update?

@nurse It works fine. Thanks!

All tests are passed.
If there is no concerns, I will merge it tomorrow and release v0.14.0.dev1.

@mururu @repeatedly Could you use strptime v0.1.4?

@nurse Do you mean we should update gem dependency to >= 0.1.4?

@repeatedly ah, current code, >= 0.1.3 is also ok.

@frsyuki @tagomoris This PR uses msgpack v0.7.0.dev. Do you release a stable version of v0.7.0?

@frsyuki @tagomoris ping? This is a blocker for merging this PR.

Wait some more... I'll proceed it as soon as possible from now on.
MessagePack-Ruby v0.7.0 will be released without Timestamp ext type support.

@tagomoris @frsyuki So if release msgpack v0.7.0, we should update this patch with timestamp handling?

It seems application defined EventTime is needed. So release v0.7.0 seems enough for merging the patch.

@frsyuki @tagomoris When do you release stable version of msgpack-ruby v0.7.0?

Right after msgpack/msgpack-ruby#91 is merged.

msgpack v0.7.0 is now available.

@mururu Could you update gem dependency?

@repeatedly Done

@mururu Thanks!
@frsyuki @tagomoris @sonots Do you have any concerns? If not, I will merge this PR today.

:+1:

Merged! Thanks to @mururu and @nurse for working this feature!

Thanks!


Fix potential stackoverflow when serialising recursive structures

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 62.981%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
674

Relevant Lines:
1076

💛  - Coveralls


add google login

Codecov Report
Attention: Patch coverage is 36.11111% with 23 lines in your changes missing coverage. Please review.

Project coverage is 86.32%. Comparing base (26da6a4) to head (0a724c7).

Files with missing lines
Patch %
Lines

routes/users.js
31.25%
21 Missing and 1 partial :warning:

services/user-service.js
66.66%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #28      +/-   ##
==========================================
- Coverage   91.48%   86.32%   -5.16%
==========================================
  Files          30       30
  Lines         364      395      +31
  Branches       32       34       +2
==========================================
+ Hits          333      341       +8
- Misses         30       52      +22
- Partials        1        2       +1

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


Missing input verification in 0.2

Dagger currently checks for missing inputs by scanning @dagger(input).
In Europa, @dagger(input) is gone. Instead there's now #Plan.input. Input sanity checks must be ported to Europa.
Design possibility:

Inputs in Europa are tasks (e.g. plan/task/inputdirectory.go)
Tasks have a PreRun() hook, which gets called at the very beginning, before the Plan is executed
We could check concreteness in the PreRun() hook of inputs

/cc @samalba who implemented the original feature

@samalba can we close this?

@samalba can we close this?

Yep!


Fix required parameter validation

This bug is introduced v0.4.4.
When we create workflow like following, required check is not working.
class ParamTask < Tumugi::Task
  param :param1, required: true
end

class SubTask < ParamTask
  param_set :param1, nil
end

Coverage increased (+0.02%) to 94.928% when pulling 9a54cd7131fe285b236a9f73f96c8d5a3623c369 on fix-required-parameter-validation into 6f3e0114f2e8af139d119ee39c33ec70d7ed2734 on master.


Bug 2254345: external: fix the run as a user flag

there is a hardcoded value of "client.healthchecker" which needs to be replaced by self.run_as_user
Signed-off-by: parth-gr<EMAIL_ADDRESS>(cherry picked from commit 8d89faf615d9437ff2b66e8f12aec70c1958b14f)

Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide).
[ ] Skip Tests for Docs: If this is only a documentation change, add the label skip-ci on the PR.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Pending release notes updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

/bugzilla refresh

--cluster-name to --k8s-cluster-name

/bugzilla refresh

/bugzilla refresh

/verify-owners

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh


DocumentRef.update() does not respect withConverter setting

[READ] Step 1: Are you in the right place?
Yes.
[REQUIRED] Step 2: Describe your environment

Operating System version: macOS 13.2.1
Firebase SDK version: 11.5.0 of firebase-admin
Firebase Product: database
Node.js version: 18.2.1
NPM version: yarn 8.19.2

[REQUIRED] Step 3: Describe the problem
Steps to reproduce:

Obtain a DocumentReference from a collection with the converter set.

  const firestoreClient = new firestore.Firestore();
  firestoreClient.settings({ ignoreUndefinedProperties: true });

  const testRef = firestoreClient
    .collection("tests")
    .withConverter(TestConverter)
    .doc(testId);

Call testRef.update() with data.

testRef.update({
 key: value,
});

The functions in the converter, TestConverter, are not called.
However, if the following is performed instead, the functions in TestConverter are called:
testRef.set({
 key: value,
}, { merge: true});

Hi @0xJem,
Cloud Firestore support is provided by the @google-cloud/firestore library. Therefore the easiest and most efficient way to get Firestore issues resolved is by directly reporting them at the nodejs-firestore GitHub repo.
Thanks!

Ah, thanks for the correction!

That makes sense... but this nuance not mentioned in the documentation, nor is it explicitly mentioned that the converter will not be used.
For example, it is not mentioned here: https://cloud.google.com/firestore/docs/manage-data/add-data#update-data

Hi @0xJem , if you search for overwrit keyword, you will find several sentences mentioning about this difference. But we agree this subtle difference needs to highlight and the team is working on this.

Hi @0xJem , if you search for overwrit keyword, you will find several sentences mentioning about this difference. But we agree this subtle difference needs to highlight and the team is working on this.

Overwrite is mentioned 3 times on the page that I linked to, but nowhere does it mention that the converter will not be used.


nomnom deprecated

On install of t2-cli I get this message:
npm WARN deprecated<EMAIL_ADDRESS>Package no longer supported. Contact<EMAIL_ADDRESS>for more info.
It installs anyway, but seems like we should update.

@Frijol : I Think the version 1.8.1 is latest released version.

@Frijol I've looked at this before and replacing it would be a non-trivial amount of work :(

ah, I thought I remembered a discussion about this, but couldn't find the issue.
On further search, found https://github.com/tessel/t2-cli/issues/356, which was eventually closed in favor of https://github.com/tessel/t2-cli/issues/722

Alternately, it looks like there are non-deprecated nomnom forks we might use? E.g. https://www.npmjs.com/package/@gerhobbelt/nomnom (see deprecation notice)

That's a potential path forward!

Is there any workaround for this issue? Something like forcing a previous version to be installed?
Also, for apidoc, it seems like they could replace the functionality of nomnom with commander.js, as discussed here.


Support handlePastedText and other Editor Component props

It would be nice to handle handlePastedText and all other Editor Component props so we could write :
<MegadraftEditor
  handlePastedText={...}
  // ...
/>

#126 merged, closing the issue


Config drive changes for vm migration

On vm migration attaching it in destination host is taken care in this patch.
In this patch only xenserver resource changes are added.

Looks good to me.

LGTM.
Nice option to have config drive ISO for meta data! Migration logic looks fine.

Discarding this PR


Support for .tsx files

Typescipt now support JSX and it introduced .tsx extension for files containing JSX syntax. https://github.com/Microsoft/TypeScript/issues/3203
Do you plan to support .tsx files?

JSX support is coming in TS 1.6, and we plan to support it by the time that releases. Right now tslint depends on typescript v1.5.0-beta, the latest npm release.
We do have intentions of more closely following the latest TS syntax & language services API on our master branch (see #474), so look out for that soon!

Thanks. Just from curiosity, how big is the change to make tslint work for tsx files but without any JSX linting support (let's suppose i will disable linting for JSX part of file)? Or to rephrase, I would like to tslint file regardless its extension.

I think it's fairly trivial. tslint rules only walk certain nodes in the syntax tree, so when the TS language services get updated to include JSX syntax nodes, tslint will simply ignore them.

@pepaar you can also consider using block comments to disable tslint for all the JSX code blocks until we get first-class support (which should be pretty soon)

Here is my example:
I have GroupPerson.ts file with:
export default class GroupPerson {

	/** Id */
	id: string;

	/** DisplayName */
	displayName: string;

}

Then if i run: tslint -f App\Models\Groups\GroupPerson.ts everything works fine as expected.
If the file with same content has different extension, e.g. GroupPerson.tsx or GroupPerson.abc  and I run tslint -f App\Models\Groups\GroupPerson.tsx I get following error:
C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:41676
            this.limit = this.sourceFile.getFullWidth();
                                        ^
TypeError: Cannot read property 'getFullWidth' of undefined
    at EnableDisableRulesWalker.RuleWalker (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:41676:41)
    at EnableDisableRulesWalker.SkippableTokenAwareRuleWalker (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:42219:20)
    at new EnableDisableRulesWalker (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:42340:20)
    at Linter.lint (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:42609:31)
    at processFile (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:42768:29)
    at Object.<anonymous> (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:42777:5)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)

Do you know what's the issue here?

@pepaar Importing .tsx files is not going to work with any current version of tslint. The compiler is bundled with the tslint binary, so you're locked to that compiler version.
You could build a version of tslint yourself that is able to import .tsx files by adding the compiler option allowNonTsExtensions: true in createCompilerOptions() in utils.ts. However, I just tried this with v1.5.3 of the compiler and many linting rules are still broken (some throw false positive errors, some throw outright exceptions) because the new syntax tree APIs are not included.
Your best bet is to wait until we are tracking the TypeScript master branch in our repo (#474).

Just released v2.5.0-dev.1 with the dist-tag next on npm. Try it out for TSX support!

@adidahiya - this is great thanks. Consider the following:
/// <reference path="../../tsd.d.ts" />

import * as React from "react";

interface IProps {
   foo: string;
}

class MyComponent extends React.Component<IProps, {}> {
   render(): JSX.Element {
      return { this.props.foo };
   }
}

export function BuildMyComponent(): JSX.Element {
   let x: string = "test";
   return <MyComponent foo={ x } />;
}

I get the following whitespace warning:
test.tsx[17, 26]: missing whitespace

Line 17 is the return statement in the exported function.
My gut tells me that foo={ x } is more 'correct' in JSX terms than foo = { x } even though the two are semantically equivalent in TSX terms.
Thoughts?

That looks like a bug. I tried to make the whitespace rule skip jsx elements for this exact reason. Looks like I missed some cases.

Great, nice work!
I found issue with noUnusedVariableRule:
My app.tsx file:
/// <reference path="react.d.ts" />
/// <reference path="react-jsx.d.ts" />

import React = require("react");

interface IProps {
	content: string;
}

class MyComponent extends React.Component<IProps, {}> {
	render() {
		this.alertMe();
		return

				{this.props.content}
				<button onClick={() => this.alertMe()}>AlertMe</button>

;
	}

	private alertMe() {
        let yo = this.props.content + " YO";
		alert(yo);
    }
}

React.render(<MyComponent content="Hello World"/>, document.body);

Tslint error:
C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\build\rules\noUnusedVari
ableRule.js:161
        if (highlights[0].highlightSpans.length <= 1) {
                      ^
TypeError: Cannot read property '0' of undefined
    at NoUnusedVariablesWalker.validateReferencesForVariable (C:\Users\pepaar\Ap
pData\Roaming\npm\node_modules\tslint\build\rules\noUnusedVariableRule.js:161:23
)
    at NoUnusedVariablesWalker.visitMethodDeclaration (C:\Users\pepaar\AppData\R
oaming\npm\node_modules\tslint\build\rules\noUnusedVariableRule.js:154:22)
    at NoUnusedVariablesWalker.SyntaxWalker.visitNode (C:\Users\pepaar\AppData\R
oaming\npm\node_modules\tslint\bin\tslint-cli.js:48349:26)
    at C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js
:48436:67
    at visitEachNode (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bi
n\tslint-cli.js:7113:30)
    at Object.forEachChild (C:\Users\pepaar\AppData\Roaming\npm\node_modules\tsl
int\bin\tslint-cli.js:7336:21)
    at NoUnusedVariablesWalker.SyntaxWalker.walkChildren (C:\Users\pepaar\AppDat
a\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:48436:16)
    at NoUnusedVariablesWalker.SyntaxWalker.visitClassDeclaration (C:\Users\pepa
ar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js:48071:18)
    at NoUnusedVariablesWalker.SyntaxWalker.visitNode (C:\Users\pepaar\AppData\R
oaming\npm\node_modules\tslint\bin\tslint-cli.js:48265:26)
    at C:\Users\pepaar\AppData\Roaming\npm\node_modules\tslint\bin\tslint-cli.js
:48436:67

And root cause is at the line 160 in noUnusedVariableRule.js which returns undefined for next statement:
var highlights = this.languageService.getDocumentHighlights("file.ts", position, ["file.ts"]);

Also interesting thing is if you change the line in app.tsx from:
<button onClick={() => this.alertMe()}>AlertMe</button>

to
<button onClick={this.alertMe}>AlertMe</button>

The error is not present anymore.
Also, error is not present if I remove "private" from alertMe() definition.

@myitcv filed #559
@pepaar filed #558
the issues you're seeing are probably real bugs, so please file them separately. thanks!


Consider adding an example of how to use this with streamlit

I think it's as simple as:
altair_chart = plot_text(X, texts)

And Altair should be able to pick it up from there. Let me know if this does not work though.

Closing due to radio silence.


Support optimistic transactions as an option

Is your feature request related to a problem? Please describe.
I found that for some usage patterns optimistic transactions would work better than pessimistic.
Describe the solution you'd like
I'd like to pass an option to runTransaction which would allow me to choose if pessimistic or optimistic transactions should be used.
Describe alternatives you've considered
There are workarounds for it, like manually fetching documents, checking preconditions, then starting a transaction and reading the documents again, but I find it unnecessarily verbose and having an optimistic transaction would make my code simpler.
Additional context
None.

@merlinnot Thanks for filing this. This is something we can consider for a future release, but we will likely need additional customer requests before we can prioritize this work internally.

Sure thing, I don't expect it to happen any time soon. Good to have it on the radar though.


searchLogsResponse function is not using pagination

SearchLogs is not configured in the function to use pagination, therefore returned results are limited by the Limit in request.

Pagination now working as expected

Pagination now working as expected


Fog sync

Motivation
After a Fog restart/redeploy, Fog will take some time to process available blocks. This can cause issues such as misreported balance to users during that time. To fix this, we can detect when Fog has fallen behind and throw an Exception with some information. Based on current data, we consider a block index discrepancy of about 10 to be exceptional. For now, we will use this threshold to detect a Fog sync and throw an Exception accordingly.
In this PR

Detection for Fog sync
FogSyncException containing information on the status of Fog in the event it falls behind
Unit tests to simulate different Fog states

FogSyncException & FogStatusException seems to have very little difference, can we have just one FogSyncException instead?

There isn't really a reason why we cant, I just thought that maybe having the extra information could be helpful.


Decouple graph-safety from breadboard for M0

For now, let's keep graph-safety as an independent package and find ways to mix it in, rather than make breadboard depend on it.

Sounds good, but how? A quick way might be to define a generic validator interface in breadboard or graph-runner and have graph-safety implement that? But playground and the starter script there will still depend on it.


Set applied field of submit response to true on tec errors

Fixes: https://github.com/ripple/rippled/issues/3285

This change is

Code diff looks good, but I'll test it to be sure


Is the gen_encoder_output_proposals the concatenation of the 4 scales feature ? Is memory the output of encoder?

❓ How to do something using DETR
Describe what you want to do, including:

what inputs you will provide, if any:
what outputs you are expecting:

NOTE:

Only general answers are provided.
If you want to ask about "why X did not work", please use the
Unexpected behaviors issue template.

About how to implement new models / new dataloader / new training logic, etc., check documentation first.

We do not answer general machine learning / computer vision questions that are not specific to DETR, such as how a model works, how to improve your training/make it converge, or what algorithm/methods can be used to achieve X.

Is the gen_encoder_output_proposals the concatenation of the 4 scales feature ? Is memory the output of encoder?


assignment_2 done.

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

A2: Complete
Q2 part (ii) - More specifically, what concept of linear regression is the plotted line representing? "Line of best fit"
Q4 - I would suggest to use mean_square_error as opposed to np.mean for RSME.


[BitSail][Connector] Migrate larksheet legacy connector to V1 interface

Is your feature request related to a problem? Please describe
A clear and concise description of what the problem is.
Example: I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@BlockLiu, @garyli1019 May I ask how to apply for developer permission? I applied on Feishu but got no feedback.

Not quite sure about this. Hi @ayonel , do you have any idea?


LAU-288 Screen flicker mitigation

JIRA link
https://tools.hmcts.net/jira/browse/LAU-288
Change description
Mitigate the screen flicker during pagination
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

Closing as new PR for this ticket has been created https://github.com/hmcts/lau-frontend/pull/98


Make a Hamburger in Navbar

In mobile responsive create a hamburger and put all menus inside it and fix logo & change the sticky position

I would like to work on this issue under gssoc22
Please assign me!!!

@Vijeth56 assign uh! you have have 5-6 days to complete it

I want to work on this issue under Jwoc.

@soumali28 JWOC ended

Sorry it will be GSSoc. 😅

Assigned to u @soumali28


Dropdown Split Button Emit Event on togglerTag Button Press

For the Dropdown there is no event emitted when the 'togglerTag' button is pressed. There is no way to attach a method to the togglerTag button in a parent component.
I think a simple change to the hide() method to check if it is a split toggle button and then emit on hide. Something like this:
hide () {
  this.visible = false
  if (this.splittedToggler) {
    this.$emit('update:splitButtonPress', val)
  }
},

After a further review of the source code, it looks like there are a few other events that trigger the hide() function. As such amending the hide() function is not a suitable solution.
As such my revised proposal is to changed the component part of the splittedToggler to this:
<component
        :is="togglerTag"
        v-on="{ click: splittedToggler ? splitButtonPress : toggle }"
        :class="computedTogglerClasses"
        v-bind="splittedToggler ? '' : togglerAttrs"
      >

and then add the following additional function:
    splitButtonPress () {
      this.visible = false
      if (this.splittedToggler) {
        this.$emit('update:splitButtonPress', val)
      }
    },

leaving the hide() function as it was.

After a further review of the source code, it looks like there are a few other events that trigger the hide() function. As such amending the hide() function is not a suitable solution.
As such my revised proposal is to changed the component part of the splittedToggler to this:
<component
        :is="togglerTag"
        v-on="{ click: splittedToggler ? splitButtonPress : toggle }"
        :class="computedTogglerClasses"
        v-bind="splittedToggler ? '' : togglerAttrs"
      >

and then add the following additional function:
    splitButtonPress () {
      this.visible = false
      if (this.splittedToggler) {
        this.$emit('update:splitButtonPress', val)
      }
    },

leaving the hide() function as it was.


Multiple fixes

This pull request has the following:

Doc blocks
Updated docs
Added preLogout/postLogout interception points
Fixed issue where preLogin/postLogin where not registered as interception points
CFFormatting goodness
More Tests
Added the coldbox convention for loading helpers
API Docs generation and sending to s3

Just need to box run-script format, commit the changes, and push.

@elpete the formatting is not using our standard, look at the image:

I used the standards found in quick and qb. Since it is just a format command away, that shouldn’t be a problem.

please check now @elpete


Make diacritic_sensitive parameter optional to support $text operator on Cosmos DB

Closes #1088.

To use text search with Azure CosmosDB for MongoDB, set diacritic_sensitive to None, e.g.,
import asyncio
import os

from beanie import Document, Indexed, init_beanie
from beanie.operators import Text
from motor.motor_asyncio import AsyncIOMotorClient
from pymongo import TEXT

class Dish(Document):
    name: Indexed(str, index_type=TEXT)

async def example():
    client = AsyncIOMotorClient(os.environ["COSMOSDB_CONNECTION"])
    await init_beanie(database=client["test"], document_models=[Dish])
    names = [
        "Ravioli",
        "Spaghetti al pomodoro",
        "Tagliatelle al pomodoro",
    ]
    for name in names:
        dish = Dish(name=name)
        await dish.insert()
    result = await Dish.find(Text("pomodoro", diacritic_sensitive=None)).to_list()
    print("result", result)

if __name__ == "__main__":
    asyncio.run(example())

@staticxterm , it would've been better if all three parameters had been made optional and set to None in the original implementation of Text class. Right now, it is a bit of a legacy and consistency issue. language is already optional and None by default which is fine. diacritic_sensitive is made optional in this PR but both diacritic_sensitive and  case_sensitive are False by default. The use case for diacritic_sensitive=None is to enable queries agains version 2 text indices (like Azure CosmosDB for MongoDB) but there is no clear-cut use case for explicitly setting case_sensitive to None except for delegating case sensitivity to server/index defaults, which again should've probably been the default behaviour anyway. To sum up, there are two options:
Option 1
I guess this is what you suggest:
# @@ class Text(BaseFindEvaluationOperator):
        search: str,
        language: Optional[str] = None,
        case_sensitive: Optional[bool] = False,
        diacritic_sensitive: Optional[bool] = False,
    ):

Which is a non-breaking change but it doesn't seem like there is any use-case for that at this point.
Option 2
I think this option would be a lot nicer (and work out of the box for use cases like version 2 text indices) but it does introduce a breaking change:
# @@ class Text(BaseFindEvaluationOperator):
        search: str,
        language: Optional[str] = None,
        case_sensitive: Optional[bool] = None,
        diacritic_sensitive: Optional[bool] = None,
    ):

Any additional thoughts on the topic?

Hi @mykolaskrynnyk,
I agree that it would've been better if all 3 parameters were made optional and set to None from the start.
I guess I was proposing the first option then, keeping all the other parameters as they were with their defaults set to False, just making them all optional (and if they are None, exclude them from the query).
Later on, in a next major version of Beanie, we could I guess make this interface a bit better and make all of these parameters optional/not included, leaving only "search" as mandatory.

@Riverfount , I don't think there are any outstanding change requests. Can you clarify what you mean?

@Riverfount , if you refer to the change request from @adeelsohailahmed, it has already been solved in subsequent commits and approved accordingly.


nginx default configuration

This playbook works great but when i first tried it i had to remove the default nginx configiuration
at /etc/nginx/sites-enabled to remove the standard nginx welcome page.
Also i had to chmod u+x the manage.py file for collectstatic and migrate to work

Thanks. Which OS are you using?

Ubuntu Server 14.04 LTS (HVM)

This is now fixed in commit https://github.com/technivore/ansible-django/commit/a8ec8bf93c990eb4d4444c74728774b6307dcd63, thank you!


Reduce functionality of ProjectCompiler

Closes #1662
Checklist

[x] Relevant issue is linked
[ ] Docs updated/issue for docs created
[ ] Added relevant tests

It looks ok to me but let's wait for @Arcticae


docs: Update README

Closes: #8
Signed-off-by: Michael Gasch<EMAIL_ADDRESS>

Codecov Report

Merging #11 (93bbd43) into main (c4ae14e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #11   +/-   ##
=======================================
  Coverage   91.16%   91.16%
=======================================
  Files           4        4
  Lines         181      181
=======================================
  Hits          165      165
  Misses         10       10
  Partials        6        6

Continue to review full report at Codecov.

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


[FEATURE] Add a footer

Describe the solution you'd like
We should have a footer that includes some information about the project.
Describe alternatives you've considered

[ ] Github link
[ ] Zenodo link
[ ] ...

Probably want to include more.

Possibly include a powered by Plotly Dash or something


affected/package: strings

What version of Go are you using (go version)?

$ go version go1.17.5 windows/amd64

Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Programs\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Programs\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.5
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\Programs\results\golang\playground\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config

What did you do?

Create a two text files in English with two different Encodings and I wanted to process them
Once I am able to read the data, I wanted to remove the space using the strings.TrimSpace(). It only works for utf-8 and not for utf-16

Code
package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"strings"
)

func processFile(src string) {
	data, _ := ioutil.ReadFile(src)

	fmt.Println("--- original source ---")
	fmt.Println(string(data))
	fmt.Println(http.DetectContentType(data))

	fmt.Println("\n--- modified source ---")
	for _, val := range strings.Split(string(data), "\n") {
		fmt.Println(strings.TrimSpace(val))
	}
}

func main() {
	processFile("./utf-16-english.txt")
	processFile("./utf-8-english.txt")
}

What did you expect to see?

I expect to see that Golang supports all the encoding formats, or at least provide an option for the reader to get the encoding format from the user.

What did you see instead?

As the image shows, the file with UTF-8 encoding works fine but other formats fail so.

Note :
Kindly let me know if there is any other method to process files with different encodings written in English.

strings explicitly only supports UTF-8
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions


Update documentation to v13.2.5

This also add two now required babel plugins:

@babel/plugin-proposal-class-properties in v7.14.5
@babel/plugin-proposal-function-bind in v7.14.5

With these added, the documentation process works again AFAICT.
We also no longer ignore this dependency for update proposals via dependabot.
Closes #471.

Thanks for the review!


Add additional references and descriptions to Test Configurations

Description

Added links to the various Browser Specific Functionality
Added descriptions and examples to the W3C options
Added username and accessKey to list of valid capabilities
Added section on Visual Testing with links to those documents

Motivation and Context
Update the test configurations page with all valid capabilities and links to more information.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

[x] I have read the contributing document.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

(if tests rely on secret values to run, then any PR from a fork will fail)

Pushed these changes w/this PR https://github.com/saucelabs/sauce-docs/pull/409


customization requirement

I need to run my app from office intranet. No internet is available there. NOw I need to store all the cdn files locally. How can I do that?

I have the same requirement as you.  You need to override the sql explorer base.html template in your app. So, in your app templates directory add a directory called explorer and then copy the explorer/base.html template to e.g. your_app/templates/explorer/base.html  Then modify the css/js links in your explorer/base.html file to replace the cdnjs links to local copies of the library.

Totally understood. If you want to look to open a PR for this, I'd be interested, but not something I'm likely going to spend on developing myself.

@mahmudkabir @randlet
I know it's now quite some time later, but someone recently provided a PR to serve all static assets from the application, so in the next release this will be possible.

@marksweb would that have been #411 that implemented that?

@ernstki Yes, that's the one by the looks of it.


scrolling with up-arrow-key in article timeline

There is one issue that I observed already in a4 and that I did not find reported on GitHub yet (maybe I don’t know how to search correctly).
Situation: The unread article list of a folder or feed is longer than fits in the column and I start scrolling from the bottom of the list using the up-arrow key.
When I reach the topmost article it is displayed only partially  in the column. After next click the list jumps - I would expect the jump earlier.
When I reach the top end of the list the topmost article is displayed only partially. I can only make it fully visible using mouse/touchpad scrolling.
I made a screen-recording using @cdevroe’s blog feed: http://www.tul8.de/Software/NNW-tests/NNW6.0a5-scrolling-up.mov

This was fixed by https://github.com/Ranchero-Software/NetNewsWire/pull/2853


Support for "composed device type"

"9.2. Endpoint Composition"
Some devices like a combo refrigerator, freezer, while a single device has two Endpoints.
Need ability to add items to the 'partsList' in InteractionServer.ts.

This will come automatically with the new high level API I will work on next as soon as we tackled the current PR flood and some more points


Test with both news entry and DCO

Test with both News Entry and Signoff

Expected: Sanity Check passes
Results: Sanity Check passed
Success.


ConvAsm3x3U: precision problems

Use case (immediate mode):
atamazov@morpheus:~/github/MLOpen2/build/release.hip-clang$ ./bin/MIOpenDriver conv -W 256 -H 256 -c 256 -k 6 -x 3 -y 3 -n 128 -p 1 -q 1 -w 1 -t 1 -i 1 -V 1 $MIO -F 1 -S 0
MIOpenDriver conv -W 256 -H 256 -c 256 -k 6 -x 3 -y 3 -n 128 -p 1 -q 1 -w 1 -t 1 -i 1 -V 1 -C /spb-hlc-fs2/1/users/atamazov/miopen-verify2 -F 1 -S 0
MIOpen(HIP): Info [Handle] stream: 0x2edcdc0, device_id: 0
MIOpen(HIP): Info [GetForwardSolutionCount]
MIOpen(HIP): Info [Measure] Db::Prefetch time: 74.0174 ms
MIOpen(HIP): Info [GetForwardSolutions]
MIOpen(HIP): Info [HipCompilerVersionImpl] 3.5.20214
MIOpen(HIP): Info [AmdRocmMetadataVersionDetect] ROCm MD version AMDHSA_COv3, MIOpen version <IP_ADDRESS>77-2a182a8c6-dirty
Forward Conv solutions available: 3
- id: 1 algo: 1, time: 19.2375 ms, ws: 0, name: ConvAsm3x3U
- id: 14 algo: 3, time: 54.4723 ms, ws: 0, name: ConvBinWinograd3x3U
- id: 33 algo: 0, time: 370.444 ms, ws: 603979776, name: gemm
MIOpen(HIP): Info [GetForwardSolutionWorkspaceSize] solver_id = ConvAsm3x3U
MIOpen(HIP): Info [CompileForwardSolution] solver_id = ConvAsm3x3U
MIOpen(HIP): Info [FindSolutionImpl] ConvAsm3x3U
MIOpen(HIP): Info [SetValues] , content inserted: ConvAsm3x3U:9,6,3
MIOpen(HIP): Info [GetValues] =ConvAsm3x3U:9,6,3
MIOpen(HIP): Info [ConvolutionForwardImmediate] solver_id = ConvAsm3x3U, workspace = 0
Wall-clock Time Forward Conv. Elapsed: 30.7274 ms, Auxiliary API calls: 1652.89 ms (GWSS: 0.0390625)
MIOpen Forward Conv. Algorithm: 1, Solution: 1/ConvAsm3x3U
GPU Kernel Time Forward Conv. Elapsed: 19.460573 ms (average)
stats: name, n, c, ho, wo, x, y, k, flopCnt, bytesRead, bytesWritten, GFLOPs, GB/s, timeMs
stats: fwd-conv3x3u1, 128, 256, 256, 256, 3, 3, 6,<PHONE_NUMBER>84,<PHONE_NUMBER>5119672320, 201326592, 11918,<PHONE_NUMBER>96, 19.460573
Read data from input file /spb-hlc-fs2/1/users/atamazov/miopen-verify2/conv_fwd_out_0_2_0_1_128x256x256x256_6x256x3x3_1x1_1x1_1x1_0x0_0_0_GPUfloat_REFfloat
Forward Convolution Failed: 0.0994822 > 1.5e-06

As a workaround, I am going to disable the solver.

@Kirpich30000 W/A created but this issue is still a blocker because #610 may affect performance.
Presumably the correct fix will narrow the scope of the solver. However, this is only a guess. We need to find out the root cause.

Old Solvers often outperform modern ones. For example:
$ ./bin/MIOpenDriver conv -W 256 -H 256 -c 256 -k 6 -x 3 -y 3 -n 96 -p 1 -q 1 -w 1 -t 1 -i 1 -V 1 $MIO -F 1
...
MIOpen(HIP): Info [EvaluateInvokers] ConvAsm3x3U: miopenGcnAsmConv3x3U: 37.2636 < 3.40282e+38
MIOpen(HIP): Info [EvaluateInvokers] ConvOclDirectFwd3x3: MIOpenCvD3x3_WSR0: 79.6138 >= 37.2636
MIOpen(HIP): Info [EvaluateInvokers] ConvOclDirectFwd: MIOpenConvUni: 38.7464 >= 37.2636
...
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinograd3x3U: miopenSp3AsmConv3x3F: 40.4398 < 3.40282e+38
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinogradRxSf3x2: miopenSp3AsmConvRxSf3x2: 77.2916 >= 40.4398
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinogradRxSf2x3: miopenSp3AsmConv_v21_1_0_gfx9_fp32_stride1: 42.0214 >= 40.4398
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinogradRxS: miopenSp3AsmConvRxSU: 42.8207 >= 40.4398
MIOpen(HIP): Info [EvaluateInvokers] Selected: ConvBinWinograd3x3U: miopenSp3AsmConv3x3F: 40.4398, workspce_sz = 0

Notice that old OpenCL MIOpenConvUni outperforms Winograd. ConvAsm3x3U too, but it has precision issues.
When N=64, ConvAsm3x3U is the fastest and works correctly:
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinograd3x3U: miopenSp3AsmConv3x3F: 26.5796 < 3.40282e+38
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinogradRxSf3x2: miopenSp3AsmConvRxSf3x2: 51.1597 >= 26.5796
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinogradRxSf2x3: miopenSp3AsmConv_v21_1_0_gfx9_fp32_stride1: 27.9974 >= 26.5796
MIOpen(HIP): Info [EvaluateInvokers] ConvBinWinogradRxS: miopenSp3AsmConvRxSU: 28.4688 >= 26.5796
...
MIOpen(HIP): Info [EvaluateInvokers] ConvAsm3x3U: miopenGcnAsmConv3x3U: 24.7224 < 3.40282e+38
MIOpen(HIP): Info [EvaluateInvokers] ConvOclDirectFwd3x3: MIOpenCvD3x3_WSR0: 53.1341 >= 24.7224
MIOpen(HIP): Info [EvaluateInvokers] ConvOclDirectFwd: MIOpenConvUni: 25.8989 >= 24.7224

That is why I think it's worth to keep it.
BTW could it be so that the reason of the issue is that ConvAsm3x3U is not really applicable when N > 64?

@atamazov I can't reproduce the failure on my test bench. The shader passes bit exact verification as well as shows good precision on [0; 1) distribution.

First tests didn't show issues on kernel side. One thing to try is to use floats during verification.

@Kirpich30000 Could you please tell us which tests have you used, becuise driver fails.

I've run assembly kernel directly using testing app that I currently working on. Input data was randomly generated floats from the {0.0, +-4.0, +-3.0, +-2.0, +-1.0} set. The case -W 256 -H 256 -c 256 -k 6 -x 3 -y 3 -n 128 -p 1 -q 1 -w 1 passes verification.

Triaged: ConvAsm3x3U does not support input/output buffers larger than 4GiB.

Since ConvAsm3x3U has the best performance in cases where Winograd has high granularity loss (e.g. when C > K like in the example above), lets update the kernel to make it supporting huge buffers. That will be the complete fix.
PR #643 is a compromise; it will reduce urgency of this issue down to high or middle.


Soulbound token: Contract & Typescript interface

This PR adds link to repository implementing Soulbound token contract deployable to Klaytn and link to its Typescript interface.

Thank you! I don't have merge permission. Could you please merge it instead of me?


Puppet VScode Extension

[ ] Extension name: Puppet VSCODE Extension
[ ] Extension GitHub or homepage:  https://github.com/puppetlabs/puppet-vscode

Pupept VSCODE Extension can be installed manually, but you will need to have the Puppet Agent or Puppet Development Kit (PDK) installed in order to fully use this extension.
PDK version 1.5.0 or higher is required.
Puppet Agent 5.5 and above is preferred.

The prebuilt vsix published in the repository you've shared is already live in the code-server marketplace under the id puppet.puppet-vscode. Is there something I'm missing here?
If so, please comment here and I'll reopen.

Hello,
Yes, in order to fully use the puppet.puppet-cscode extension the container need the follwing packages installed:
PDK version 1.5.0 or higher is required.
Puppet Agent 5.5 and above is preferred.
Reference: https://github.com/puppetlabs/puppet-vscode#requirements


Touchscreen inputs go to the incorrect workspace

Regression?
Yes
System Info and Version
 System/Version info
Hyprland, built from branch main at commit 4beac91cbd791657cc53d6e483eb41bf4df1ec0c  (keybinds: add safeguard to mousebinds (7034)).
Date: Thu Jul 25 01:19:15 2024
Tag: v0.41.2-94-g4beac91c, commits: 4980

flags: (if any)

System Information:
System name: Linux
Node name: holobook
Release: 6.11.0-0.rc0.20240719git720261cfc732.7.fc41.x86_64
Version: #1 SMP PREEMPT_DYNAMIC Fri Jul 19 16:59:06 UTC 2024

GPU information:
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lucienne [1002:164c] (rev c1) (prog-if 00 [VGA controller])

os-release: NAME="Fedora Linux"
VERSION="41 (KDE Plasma Prerelease)"
ID=fedora
VERSION_ID=41
VERSION_CODENAME=""
PLATFORM_ID="platform:f41"
PRETTY_NAME="Fedora Linux 41 (KDE Plasma Prerelease)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:41"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=rawhide
SUPPORT_END=2025-05-13
VARIANT="KDE Plasma"
VARIANT_ID=kde

plugins:

======Config-Start======

Config File: /home/john/.config/hypr/hyprlandd.orig.conf: Read Succeeded

# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################

debug:disable_logs = false

# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/

# Please note not all available settings / options are set here.
# For a full list, see the wiki

# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf

################
### MONITORS ###
################

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1, 1920x1080, 0x0, 1
monitor=HDMI-A-1, 1920x1080@60, -1920x-600, 1

###################
### MY PROGRAMS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/

# Set programs that you use
$terminal = alacritty
$fileManager = dolphin
$menu = wofi --show drun

#################
### AUTOSTART ###
#################

# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:

# exec-once = $terminal
# exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox

#############################
### ENVIRONMENT VARIABLES ###
#############################

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24

#####################
### LOOK AND FEEL ###
#####################

# Refer to https://wiki.hyprland.org/Configuring/Variables/

# https://wiki.hyprland.org/Configuring/Variables/#general
general {
    gaps_in = 5
    gaps_out = 20

    border_size = 2

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = false

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false

    layout = dwindle
}

# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
    rounding = 0
    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
        enabled = false
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
    enabled = false
}

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
    new_status = master
}

# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}

#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

    touchpad {
        natural_scroll = true
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = true
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
    name = epic-mouse-v1
    sensitivity = -0.5
}

####################
### KEYBINDINGSS ###
####################

# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Return, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

##############################
### WINDOWS AND WORKSPACES ###
##############################

# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

# Example windowrule v1
# windowrule = float, ^(kitty)$

# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

======Config-End========

Description
This is aquamarine specific.
The touch events are sent to the wrong workspace, in this example i have my laptop with a touch display attatched with a secondary monitor and all the touch screen touches are for some reason sent to the workspaces of the secondary monitor.
Something similar also seems to happen when using the laptop on its own but I am not sure if its related and if I should have it on its own special issue thread
How to reproduce
I am not sure if this is 100 % correct but:

launch applications on various workspaces, both on the primary and secondary display
touch the touch display
see the touches sent to the secondary monitor

Crash reports, logs, images, videos
hyprlandd.log

fixed in aquamarine-git