fetchMore and refetch don't fetch information at all

Just like in the title, I was wondering how to use fetchMore. I was trying a lot of different technics (like trying to do it with refetch) but I am not moving forward with this at all, it just doesn't pull the new information. Code below is what I'm stuck with now. This is meant to be my pagination attempt for my work project. I feel like I cannot find too much information on how to get this to work - it doesn't fetchMore results, the result.data doesn't get updated with newly fetched data - basically it doesn't work. Also, I don't really understand how to get the new Map (I would love for the new results to be merged into the old map) as a variable after previous result and new result are merged together - I would like it to be hopefully a smooth experience and for the data to show up right on the bottom and for the user to not be transported to the top of the list.
class Page extends StatefulWidget {
  const Page({Key? key}) : super(key: key);

  @override
  PageState createState() => PageState();
}

var howManyToFetch = 3;
var offset = 0;
List repositories = [];
bool refetched = false;

late String readRepositories = '''
          query MyQuery {
(*branch element*)(first: $howManyToFetch, offset: $offset, orderBy: "-published") {
(*I cannot show you the rest of the query*)
  ''';

class PageState extends State<Page> {

  var hasMore = true;
  final controller = ScrollController();

  Future fetch() async {
    if (hasMore) {
      offset = offset+3;
      print("How many to fetch?"+howManyToFetch.toString());
      refetched = true;
      setState(() {});
    } else {
      setState(() {});
    }
  }

  @override
  void initState() {
    super.initState();
    controller.addListener(() {
      if (controller.position.maxScrollExtent == controller.offset) {
        fetch();
      }
    });
  }

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(`
        backgroundColor: Colors.white60,
        appBar: PreferredSize(
          preferredSize:
          Size.fromHeight(MediaQuery.of(context).size.height * 0.07),
          child: Stack(
            children: [
              AppBar(),
              Container(
                alignment: Alignment.bottomCenter,
                child: Image.asset(
                  assetName,
                  fit: BoxFit.contain,
                  height: MediaQuery.of(context).size.height * 0.07,
                ),
              )
            ],
          ),
        ),

       body: Query(
          options: QueryOptions(document: gql(readRepositories)),
          builder:
              (QueryResult result, {
            VoidCallback? refetch,
            FetchMore? fetchMore,
          }) {
            if (result.hasException) {
              return Text(result.exception.toString());
            }

            if (result.isLoading) {
              return const Center(
                child: CircularProgressIndicator(),
              );
            }

            if (repositories.isEmpty) {
              repositories = result.data?(*Rest of the path to edges*);
              print("Empty "+(result.data?(*Rest of the path to edges*).length).toString());
            }
            else {
              if (refetched) {
                refetch!();
                fetchMore!(FetchMoreOptions(updateQuery: (prev, fetched) => prev = deeplyMergeLeft(
                  [prev, fetched],
                ), variables: {"offset":offset, "first":howManyToFetch}));
                print("Not empty "+(result.data?[(*Rest of the path to edges*).length).toString());
                List repositories1 = result.data?(*Rest of the path to edges*);
                print(repositories1.length);
                // List newRepositories = result.data?(*Rest of the path to edges*);
                // for (int i=0;i<newRepositories.length;i++) {
                //   repositories.add(newRepositories[i]);
                // }
                refetched = false;
              }
            }

            hasMore = (result.data?(*Rest of the path to hasNextPage*));

            if (repositories == null) {
              return const Text('No repositories');
            }

            return ListView.builder(
              controller: controller,
                itemCount: repositories.length+1,
                itemBuilder: (context, index) {
                  if (index < repositories.length){
                    final repository = repositories[index];

(*List elements' variables*)

                    (*Component for creating list elements*) {
                      onTap: () {
                        Navigator.push(
                          context,
                          MaterialPageRoute(
                              builder: (context) => (*Builder function*)
                        );
                      },
                    );
                  } else {
                    return Padding(padding: const EdgeInsets.only(top: 10.0, bottom: 10.0), child: Center(child: hasMore ? const CircularProgressIndicator() : const Text("No more information", style: TextStyle(color: Colors.grey),),),);
                  }
                });
          },
        )
    );
  }
}

UPDATE
It seems as if it couldn't take new variable values or even the query itself because when I wanted to check if variables update they did but the result was still the same, but after I added a part where if it refetches/fetches more it has to clear the result data from the map and it now shows null, doesn't add new data to it.
The code is now (I am constantly commenting and uncommenting different parts of it):
if (repositories.isEmpty) {
              repositories = result.data?(*path*)?['edges'];
              print("Empty "+(result.data?(*path*)?['edges'].length).toString());
            }
            else {
              if (refetched) {
                result.data?.clear();
                refetch!();
                // var opts = FetchMoreOptions.partialUpdater((prev, fetched) => deeplyMergeLeft([prev, fetched]));
                // fetchMore!(FetchMoreOptions(updateQuery: opts, variables: {"offset": offset, "first":howManyToFetch}));
                // fetchMore!(FetchMoreOptions(updateQuery: (prev, fetched) => deeplyMergeLeft(
                //   [prev, fetched],
                //   ), variables: {"offset":offset, "first":howManyToFetch}));
                print("offset "+offset.toString());
                print("How many to fetch? "+howManyToFetch.toString());
                print("Not empty "+(result.data?(*path*).length).toString());
                // List newRepositories = result.data?(*path*);
                // for (int i=0;i<newRepositories.length;i++) {
                //   repositories.add(newRepositories[i]);
                // }
                refetched = false;
              }
            }

TBH I'm having a hard time following your question here.
Are you wondering how you can merge the result? - Then look at the updateQuery: argument to your FetchOptions. The deeplyMergeLeft function doesn't concat arrays so you'll need to implement your own logic.

I am also having serious issue while using the fetchMore method and there are scare resources on the web to help with this. I'll appreciate it if a clearer example of how this method can be used is provided.

@majorsigma please describe your issue in more detail and we can help.

@majorsigma please describe your issue in more detail and we can help.

Here is a method I created to fetch latest ads
`Future<QueryResult> fetchMoreLatestAds({
int? adLocationId,
String? sortOrder,
String? adCondition,
String? adType,
int? limit,
int? offset,
}) async {
FetchMoreOptions fetchMoreOptions = FetchMoreOptions(
document: gql(
"""
query FetchLatestAds(
${sortOrder == null ? '' : '$sortOrder: order_by,'}
${adCondition == null ? '' : '$adCondition: String,'}
${adType == null ? '' : '$adType: String,'}
${adLocationId == null ? '' : '$adLocationId: Int,'}
${limit == null ? '' : '$limit: Int,'}
${offset == null ? '' : '$offset: Int,'}
) {
Adverts(
where: {
status: {_eq: LIVE}
condition: ${adCondition == null ? '{}' : '{_eq: $adCondition}'},
type: ${adType == null ? '{}' : '{_eq: $adType}'}
local_government: {
id: ${adLocationId == null ? '{}' : '{_eq: $adLocationId}'}
}
},
${sortOrder == null ? '' : 'order_by: {createdAt: $sortOrder}'}
${limit == null ? '' : 'limit: $limit'}
${offset == null ? '' : 'offset: $offset'}
) {
promotion {
status
expiry
transaction {
promotion_package {
name
type
}
}
}
ID
category_id
condition
createdAt
discountPrice
isNegotiable
name_of_store
priceAndOthers {
ads_id
discountPrice
id
jobMaxSalary
jobRole
jobSalary
maxPrice
jobType
rentPeriod
reservePrice
standardPrice
startPrice
yearsOfExperience
}
user {
userProfiles {
first_name
last_name
display_name
}
}
standardPrice
state
status
sub_category_id
title
termsAndCondition
type
user_id
phone
LGA
adds_category {
title
}
Images {
thumbnail
}
AddsReviews {
id
}
views {
id
}
ads_state {
id
name
}
local_government {
id
name
}
AddsReviews_aggregate {
aggregate {
avg {
rating
}
}
}
}
}
"""
),
variables: determineQueryVariablesForLatestAdsPage(
sortOrder: sortOrder,
adCondition: adCondition,
adLocationId: adLocationId,
adType: adType,
limit: limit,
),
updateQuery: (
Map<String, dynamic>? previousResultData,
Map<String, dynamic>? fetchMoreResultData,
) {
final List adverts = [
// ...previousResultData?['Adverts'],
...fetchMoreResultData?['Adverts'],
];
      // _logger.d("Fetch more adverts: $adverts");
      return {"Adverts": adverts};
    });`

TBH I'm having a hard time following your question here.
Are you wondering how you can merge the result? - Then look at the updateQuery: argument to your FetchOptions. The deeplyMergeLeft function doesn't concat arrays so you'll need to implement your own logic.

Yes but there is a more important issue which is that neither fetchMore nor refetch work - fetchMore doesn't fetch any data as to my understanding while refetch doesn't refresh the values of variables used in the query.
Could you help me understand what I'm doing wrong?

Help me help you. I understand that it's frustrating that you don't feel that this works and is properly documented. We're always open to PRs! For me to understand your question and help you, can you please write a minimal reproducible example with an explanation on what you're expecting and what you're seeing. I can't reproduce screenshots.

Help me help you. I understand that it's frustrating that you don't feel that this works and is properly documented. We're always open to PRs! For me to understand your question and help you, can you please write a minimal reproducible example with an explanation on what you're expecting and what you're seeing. I can't reproduce screenshots.

My file is responsible for showing cards with data fetched from database. Here is a fragment of the Scaffold body with Query widget.
body: Query(
          options: QueryOptions(document: gql(readRepositories)),
          builder:
              (QueryResult result, {
            VoidCallback? refetch,
            FetchMore? fetchMore,
          }) {
            if (result.hasException) {
              return Text(result.exception.toString());
            }

            if (result.isLoading) {
              return const Center(
                child: CircularProgressIndicator(),
              );
            }

            if (repositories.isEmpty) {
              repositories = result.data?['allNews']?['edges'];
              print("Empty "+(result.data?['allNews']?['edges'].length).toString());
            }
            else {
              if (refetched) {

                //result.data?.clear();
                //refetch!();
                Map<String,dynamic> newMap = {};
                // var opts = FetchMoreOptions.partialUpdater((prev, fetched) => newMap = {
                //   ...?prev,
                //   ...?fetched,
                // });
                fetchMore!(FetchMoreOptions(updateQuery: (prev, fetched) => newMap = {
                  ...?prev,
                  ...?fetched,
                }, variables: {"offset": offset, "first":howManyToFetch}));
                // fetchMore!(FetchMoreOptions(updateQuery: (prev, fetched) => deeplyMergeLeft(
                //  [prev, fetched],
                //  ), variables: {"offset":offset, "first":howManyToFetch}));
                print("offset "+offset.toString());
                print("How many to fetch? "+howManyToFetch.toString());
                print("Not empty "+(newMap.length).toString());
                List newRepositories = result.data?['allNews']?['edges'];
                for (int i=0;i<newRepositories.length;i++) {
                  repositories.add(newRepositories[i]);
                }
                refetched = false;
              }
            }

If you need me to I can send you the whole code that is in the dart file.

You should be able to reproduce your problem in a clean repository or a simple query, we are preparing a debug API that you can do for this job https://api.chat.graphql-flutter.dev/graphql
P.S: This process is always required to give us the possibility to debug it with a monkey example, and debug it. Most of the issue can be cause from other stuff that is going on your code, so it is useful also to you this to avoid waste time to catch bugs that may not exit.
Have fun!
Sorry if I jump in the conversation

You should be able to reproduce your problem in a clean repository or a simple query, we are preparing a debug API that you can do for this job https://api.chat.graphql-flutter.dev/graphql
P.S: This process is always required to give us the possibility to debug it with a monkey example, and debug it. Most of the issue can be cause from other stuff that is going on your code, so it is useful also to you this to avoid waste time to catch bugs that may not exit.
Have fun!
Sorry if I jump in the conversation

Ok, I'll post the whole code if it helps but I'm not sure if it does. I don't really know how to give you the example so you could reproduce it.
import 'package:flutter/material.dart';
import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:graphql/src/utilities/helpers.dart';
import 'package:intl/intl.dart';

import '../tile_widget/article_tile_big_photo.dart';
import 'informacje_page_inside.dart';

class InformacjePage extends StatefulWidget {
  const InformacjePage({Key? key}) : super(key: key);

  @override
  _InformacjePageState createState() => _InformacjePageState();
}

var howManyToFetch = 3;
var offset = 0;
List repositories = [];
bool refetched = false;

late String readRepositories = '''
          query MyQuery {
            allNews(first: $howManyToFetch, offset: $offset, orderBy: "-published") {
              edges {
                node {
                  name
                  id
                  published
                  newsPhotos {
                    edges {
                      node {
                        file
                      }
                    }
                  }
                }
              }
              pageInfo {
                hasNextPage
              }
            }
          }
  ''';

class _InformacjePageState extends State<InformacjePage> {

  var korekta = 0;

  var hasMore = true;
  final controller = ScrollController();

  Future fetch() async {
    if (hasMore) {
      offset = offset+3;
      refetched = true;
      setState(() {});
    } else {
      setState(() {});
    }
  }

  @override
  void initState() {
    super.initState();
    controller.addListener(() {
      if (controller.position.maxScrollExtent == controller.offset) {
        fetch();
      }
    });
  }

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Colors.white60,
        appBar: PreferredSize(
          preferredSize:
          Size.fromHeight(MediaQuery.of(context).size.height * 0.07),
          child: Stack(
            children: [
              AppBar(),
              Container(
                alignment: Alignment.bottomCenter,
                child: Image.asset(
                  'assets/logo_herb_poziom_sww_kolor.png',
                  fit: BoxFit.contain,
                  height: MediaQuery.of(context).size.height * 0.07,
                ),
              )
            ],
          ),
        ),
        body: Query(
          options: QueryOptions(document: gql(readRepositories)),
          builder:
              (QueryResult result, {
            VoidCallback? refetch,
            FetchMore? fetchMore,
          }) {
            if (result.hasException) {
              return Text(result.exception.toString());
            }

            if (result.isLoading) {
              return const Center(
                child: CircularProgressIndicator(),
              );
            }

            if (repositories.isEmpty) {
              repositories = result.data?['allNews']?['edges'];
              print("Empty "+(result.data?['allNews']?['edges'].length).toString());
            }
            else {
              if (refetched) {

                //result.data?.clear();
                //refetch!();
                Map<String,dynamic> newMap = {};
                // var opts = FetchMoreOptions.partialUpdater((prev, fetched) => newMap = {
                //   ...?prev,
                //   ...?fetched,
                // });
                fetchMore!(FetchMoreOptions(updateQuery: (prev, fetched) => newMap = {
                  ...?prev,
                  ...?fetched,
                }, variables: {"offset": offset, "first":howManyToFetch}));
                // fetchMore!(FetchMoreOptions(updateQuery: (prev, fetched) => deeplyMergeLeft(
                //  [prev, fetched],
                //  ), variables: {"offset":offset, "first":howManyToFetch}));
                print("offset "+offset.toString());
                print("How many to fetch? "+howManyToFetch.toString());
                print("Not empty "+(newMap.length).toString());
                List newRepositories = result.data?['allNews']?['edges'];
                for (int i=0;i<newRepositories.length;i++) {
                  repositories.add(newRepositories[i]);
                }
                refetched = false;
              }
            }

            hasMore = (result.data?['allNews']?['pageInfo']?['hasNextPage']);

            if (repositories == null) {
              return const Text('No repositories');
            }

            return ListView.builder(
              controller: controller,
                itemCount: repositories.length+1,
                itemBuilder: (context, index) {
                  if (index < repositories.length){
                    final repository = repositories[index];

                    var title = (repository['node']?['name'] ?? "Brak danych");

                    final List photos =
                        repository['node']?['newsPhotos']?['edges'];
                    var photo = "Brak zdjecia";
                    if (photos.isNotEmpty) {
                      photo = (photos[0]?['node']?['file'] ?? "Brak zdjecia");
                    }
                    var photoLink =
                        "http://ns31200045.ip-51-83-143.eu:25001/media/" +
                            photo;

                    DateTime dt =
                        DateTime.parse(repository['node']?['published']);
                    final createdDay =
                        DateFormat('dd.MM.yyyy, kk:mm').format(dt);

                    var city = "";

                    if (index > 3) {
                      korekta = index ~/ 4;
                    } else {
                      korekta = 0;
                    }
                    var newColor = index - korekta * 4;

                    return ArticleTileBigPhoto(
                      thumbnail: NetworkImage(photoLink),
                      title: title,
                      publishDate: createdDay,
                      city: city,
                      colorInt: newColor,
                      onTap: () {
                        Navigator.push(
                          context,
                          MaterialPageRoute(
                              builder: (context) => ArticlePageInside(
                                  id: repository['node']?['id'], name: title,photoLink: photoLink,),),
                        );
                      },
                    );
                  } else {
                    return Padding(padding: const EdgeInsets.only(top: 10.0, bottom: 10.0), child: Center(child: hasMore ? const CircularProgressIndicator() : const Text("Brak informacji do pobrania", style: TextStyle(color: Colors.grey),),),);
                  }
                });
          },
        )
    );
  }
}

Cheers, now please explain what you're seeing and what you're expecting in a way you'd explain it to a junior dev on your team

Cheers, now please explain what you're seeing and what you're expecting in a way you'd explain it to a junior dev on your team

Well, what I'm seeing is something like that:

The problem is that it seems like the fetchMore function doesn't work or I simply cannot use it. After it's called my new results (if they even exist because I cannot work out whether fetchMore works or not but it may work because when it runs it reloads the list) are not merged into one map with previous results which is shown by the "Not empty 0" debug message which is responsible for showing merged results map. What I need is to update my list of news objects (being title, photo and publication date) with newly downloaded data, for now 3 at a time. I am trying to use pagination because I simply don't want to download all the data at the same time. I would like it to also not take the user to the top of the list when it fetches more data.
I hope I explained it good enough. Sorry if anything is unclear.

I've changed the fetchMore part in the Query builder to:

The result I'm getting is all the same results as I got previously so prev = fetched even tho I have the variables listed. And also, the fetchMore function is done after all the other things in the function placed after it.

Alright, so I think I know what's going on here. It's pretty hard to follow your code but I understand that you're having problems propagating your variables because this is how you build your query:
late String readRepositories = '''
          query MyQuery {
            allNews(first: $howManyToFetch, offset: $offset, orderBy: "-published") {
              edges {
                node {
                  name
                  id
                  published
                  newsPhotos {
                    edges {
                      node {
                        file
                      }
                    }
                  }
                }
              }
              pageInfo {
                hasNextPage
              }
            }
          }
  ''';

Your query should never change. It should be constant. So injecting your variables like this will fail.
const String readRepositories = r'''
          query MyQuery($first: Int!, $offset: Int!) {
            allNews(first: $first, offset: $offset, orderBy: "-published") {
              edges {
                node {
                  name
                  id
                  published
                  newsPhotos {
                    edges {
                      node {
                        file
                      }
                    }
                  }
                }
              }
              pageInfo {
                hasNextPage
              }
            }
          }
  ''';

now you can correctly pass new variables when calling fetch more.

(first: $first, offset: $offset, orderBy: "-published")

I get an error that constant variables can't be assigned a value. I know that but I need to assign offset with new value for it to change

you are missing the r in front of the string, otherwise this error make no sense to me, the query look sane

The error states that you're missing a variable. Check that you're providing the variable in your query

The error states that you're missing a variable. Check that you're providing the variable in your query

Ok, sorry, it was my mistake. Thank you, everythings working. Still, don't really know how to connect both results into one.

That depends on your use case. You have the new and the old data and you need to return whatever you expect to be the result.

That depends on your use case. You have the new and the old data and you need to return whatever you expect to be the result.

Ok, somehow I understood how to do this. Could you please tell me how can I prevent the app from going to the top of my ListView after fetchMore?

You mean scrolling to the top?

You mean scrolling to the top?

Right now when my app fetches more data it automatically scrolls to the top by itself. What I would like is for it to stay in the same place the user scrolled to.

I can't help you with this because it's highly dependent on your setup and out of scope of this library, I.e. the behaviour would probably be the same if you had any other method of fetching data.
Take a look at scroll controllers and scroll behaviour of your widget? I suspect that you're not storing scroll state in the shape of a scroll controller outside of your build method and thus any re build of your widget will yield a new instance of the scrollable widget being mounted and thus reset. Maybe you can solve this by adding a key to the scrollable view or wrap the query widget inside the scroll view.

I can't help you with this because it's highly dependent on your setup and out of scope of this library, I.e. the behaviour would probably be the same if you had any other method of fetching data.
Take a look at scroll controllers and scroll behaviour of your widget? I suspect that you're not storing scroll state in the shape of a scroll controller outside of your build method and thus any re build of your widget will yield a new instance of the scrollable widget being mounted and thus reset. Maybe you can solve this by adding a key to the scrollable view or wrap the query widget inside the scroll view.

Oh, ok. Thank you so much for all your help!

No worries. You can also try and reach out on our discord (link should be in the readme) for quicker answers from the whole community


crates/core: track transactions when delegating writes

External libraries (e.g. javascript stuff) depend on is_autocommit returning if we're in transaction. With write delegation the code no longer worked, because we didn't track that information. Now we do, in a slightly hacky way, by detecting when somebody creates a transaction with BEGIN, or finalizes it with COMMIT/ROLLBACK.
This is not sufficient to make https://github.com/aqrln/libsql-tx-repro work -- we also need to apply some hacks/creative ways around preparing statements. This code: https://github.com/libsql/libsql-client-ts/blob/7071e0f87d7f650023efbb918b5add3dd99189e8/src/sqlite3.ts#L235-L241 relies on being able to prepare statements locally, while in write delegation we generally don't do that. It's solvable, but I haven't gotten around it yet

Obsoleted by 51de01145e7fdf2ab6769f0616d50e58fb132b5f


fetching collection where field=value

Hi,
I have a collection with the field section.
this is how I access it: http://dev-site.test:8085/!/Fetch/collection/navigation
this is the result:
https://gist.github.com/fatnjazzy/64deff97475569acee150ab2f802b3eb#file-navigation-L73
How can I search for this: "section": "Header",
Im new to statamic
Thanks

Hi @fatnjazzy! Thanks for getting in touch and welcome to the Statamic community.
Unfortunately, Fetch doesn't support querying data in the way you describe, it's mostly an all or nothing situation at the moment. I'll tag this as a FR and can hopefully add support for this in the future.

HI, @fatnjazzy. Try to filter it using taxonomy param. But the value should be in lowercase.
&taxonomy=section/header


Bjs/merge/2.2 onto develop

Pick up fixes:
Remove index reformatting
Add release notes from 2.1/2.2 line
Update node_package to 4.0.1 and update script to use alias for NODETOOL
Add support for locked-deps

+1


[WIP] Attempt to add broken test to mimic transformers use case

Attempt to add broken test to mimic transformers use case

Hello @sshleifer! Thanks for opening this PR.

In the file tests/models/test_amp.py:

Line 70:9: E265 block comment should start with '# '

Do see the Hitchhiker's guide to code style

@sshleifer it seems that the test are passing, what else would you like to add?


Add workflow for tests

See:

https://www.testmo.com/guides/github-actions-selenium
https://www.blazemeter.com/blog/selenium-github

Add badges for tests status and code coverage. Consider https://github.com/marketplace/actions/dynamic-badges


Is there a doc about restful API?

I want to use restful API to automatic training, but I can not find any doc

found https://github.com/microsoft/pai/blob/master/src/rest-server/docs/swagger.yaml


Very Slow VSCode, Lags

Issue Type: Performance Issue
Running 64bit Raspberry Pi OS on 4GB Raspberry Pi. It looks like I am seeing a 5-10 second delay after every action in vscode. Every other app responds instantly, just vscode is super slow. Scrolling down through small 100 line python scripts is a nightmare, with the same lag. This makes fixing typos madness. Updating and rebooting does not fix the problem.Typing this up took 10 minutes and still some of the typos just weren't worth the effort of fixing.
VS Code version: Code 1.63.2 (899d46d82c4c95423fb7e10e68eba52050e30ba3, 2021-12-15T09:37:55.286Z)
OS version: Linux arm64 5.10.63-v8+
Restricted Mode: No

System Info

Item
Value

CPUs
unknown (4 x 1800)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
1, 0, 0

Memory (System)
3.71GB (1.00GB free)

Process Argv
--crash-reporter-id cb557db1-d84e-418b-b3c5-c41cfe835447

Screen Reader
no

VM
0%

DESKTOP_SESSION
LXDE-pi

XDG_CURRENT_DESKTOP
LXDE

XDG_SESSION_DESKTOP
lightdm-xsession

XDG_SESSION_TYPE
x11

Process Info
CPU %	Mem MB	   PID	Process
    2	   148	254563	code main
    0	    38	254566	   zygote
    2	   140	254595	     gpu-process
    0	    23	254615	       broker
    0	    38	254567	   zygote
    0	     8	254569	     zygote
    3	    83	383866	       issue-reporter
    0	    53	254606	   utility-network-service
    0	   129	254640	   shared-process
    0	    65	254674	     ptyHost
    0	     4	255020	       /usr/bin/bash
    0	    61	254824	     watcherServiceParcelSharedProcess
    0	     0	383883	     /bin/sh -c /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    0	     0	383884	       /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    0	   224	254778	   window (scrape_antenna.py - Botcheck - Visual Studio Code)
    0	   190	254808	   extensionHost
    0	   186	254903	     /usr/share/code/code --ms-enable-electron-run-as-node /home/pi/.vscode/extensions/ms-python.vscode-pylance-2021.12.2/dist/server.bundle.js --cancellationReceive=file:57d94d1a20eb7c72c90fff98c487ba2c9c3751c4ff --node-ipc --clientProcessId=254808

Workspace Info
|  Window (scrape_antenna.py - Botcheck - Visual Studio Code)
|      Error: Unable to collect workspace stats for folder /home/pi/projects/Botcheck (TypeError: t is not iterable);

Extensions (26)

Extension
Author (truncated)
Version

gitignore
cod
0.7.0

code-runner
for
0.11.6

pythonsnippets
frh
1.0.2

copilot
Git
1.7.4421

vscode-pull-request-github
Git
0.34.2

gc-excelviewer
Gra
4.0.45

terraform
has
2.17.0

latex-workshop
Jam
8.22.0

dotenv
mik
1.0.1

vscode-docker
ms-
1.18.0

python
ms-
2021.12.1559732655

vscode-pylance
ms-
2021.12.2

jupyter
ms-
2021.11.1001550889

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.4

remote-containers
ms-
0.209.6

remote-wsl
ms-
0.63.13

cpptools
ms-
1.7.1

vscode-yaml
red
1.2.2

python-template-snippets
Ric
1.2.0

jinjahtml
sam
0.16.0

ayu
tea
1.0.5

vsfire
tob
1.4.1

pdf
tom
1.2.0

vscodeintellicode
Vis
1.2.15

snippet
vsc
0.8.1

(2 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonvspyt551:30345470
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263cf:30335440
vscoreces:30384385
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
vscop804:30404766
vs360cf:30404996
vsrem710:30416614
py55gd98:30411514
vscexrecpromp3c:30407761

@justinbarak can you try running VS Code with GPU disabled? code --disable-gpu and see if you can reproduce?

I do confirm this is more of an Electron issue and a workaround is to disable using acceleration, for instructions see https://ratticon.com/how-to-fix-slow-visual-studio-code-on-raspberry-pi-4/
I would be great this is addressed in https://code.visualstudio.com/docs/setup/raspberry-pi (I will try to do so)

https://github.com/microsoft/vscode-docs/pull/5085

In your RPi, how much memory do you have dedicated to the GPU? (For reference: https://peppe8o.com/manage-raspberry-pi-gpu-memory-split/ )

mine was at 64 and changing to maximum of 256 made no difference

@rebornix Running --disable-gpu did help. I eventually implemented the fixes linked by @ondruska and it works great now. Thanks so much!!
@ItalyPaleAle I can confirm, changing from 64 to maximum 256 made no difference.


Pt 161616592 base64 encoding

https://www.pivotaltracker.com/story/show/161616592
The base58 encoding/decoding is hopelessly slow for large byte arrays.

Switch to base64 encoding for all binary data but identifiers
Use a checked base64 encoding analogous to the base58c checksum (i.e., add the first 4 bytes of the twice sha256 hashed binary to the end of the byte array before base64 encoding the binary)
Move the aec_base58c module to the aehttp application and rename it to aehttp_api_encoder

Protocol PR: https://github.com/aeternity/protocol/pull/261

I just wanted to comment that base64 is not URL-safe per se, sth we got hinted to by @davidyuk while implementing a sync-scheme for AirGap.
See: https://en.wikipedia.org/wiki/Base64#URL_applications
Not sure how this would impact you, but when supplying TXs for example as a parameter in URLs, developers would need to be aware that they have to properly URL-Encode them.


Not receiving my ETH to myetherwallet from Bitstamp.

Hi! I have sent 1.6 ETH the 23rd of December 2017 from Bitstamp to myetherwallet. Today I have sent 0.46 and 0.24 ETH as well and NONE of these got to mytherwallet.
I am trying to contact bitstamp but they are not replying. Perhaps you could tell me what is happening or tell me what to do because i am desperate and i don`t know what to do. Perhaps is your problem and i am blaming bitstamp.
I am not an expert but i always do transactions from one place to another and i have never had a problem, is the first time i have a problem like this.
This is my address 0x8cd144FBB602a61E729bFAF3ABcE4912A5f1d0E3 .
I much appreciate your help in advance! Hernán.

Closing this issue. Don't hesitate to reopen if needed.


target-gen: Fix incorrect URL formatting

This PR fixes #1859.
The target-gen utility downloads the CMSIS packs correctly now.

Sure! I'll apply the suggestions :)

Oh, actually, the changelog has a new system.
We're trying a new way to handle the changelog, since there were loads of merge conflicts with everybody editing CHANGELOG.md.
The idea is that you can now create a file in changelogs/, e.g. fixed-very-annoying-bug.md, describing the changes in the PR and the actual changelog will be generated at release time.
See https://github.com/probe-rs/probe-rs/blob/master/CONTRIBUTING.md#changelog-entries

My fault, I didn't see that. Now everything should be ready.


Large host RAM allocation when using full gpu offloading

What is the issue?
Ollama allocates same size of host (CPU) RAM to what the model requires in VRAM when loading the model. If my understanding is correct, it's not actuallly using these RAM. (Perhaps these are just mapped memory to write VRAM? I'm not expert in these...) And when the model is fully loaded, the buffered RAM usage goes back to normal.
See picture below:

I do have enough VRAM, but If host RAM is not big enough, it exits with this error:
Error: llama runner process has terminated: error loading model: unable to allocate backend buffer

Is this expected behavior? Is it possible to optimize host memory requirement when loading model?
I'm asking this because I'm running a passthroughed GPU in a VM, and I want to save some host RAM by only allocating 8GiB RAM to a VM with 24GiB VRAM.
Thanks!
OS
Windows
GPU
Nvidia
CPU
AMD
Ollama version
0.4.2

Hi @rick-github
Sorry for late reply. I upgraded to Ollama 0.4.7 and tested with ollama run qwen2.5:32b. Here are server logs with 32GiB and 8GiB host RAM respectively, the GPU is the same: 1x RTX A5000 24GiB.
server-32GiB-host-RAM.txt
server-8GiB-host-RAM.txt
With 8 GiB host RAM, Ollama failed to load the model, despite VRAM is sufficient.

The VRAM is only just sufficient - there's 22.7 GiB available and ollama wants to use 21.5 GiB which looks likes it fits, so ollama tells llama.cpp to load the whole model into VRAM.  From the alloc failure this would seem to be not accurate.  The Windows Nvidia driver uses fallback memory when there's not enough VRAM, so I speculate (again, Windows not my field of expertise) that in the 8GiB case, the driver is trying to use fallback memory and there's not enough to satisfy the alloc requirement.   There are some mitigations you can try:

Set OLLAMA_NUM_PARALLEL=1. Currently ollama is using a default of 4, and it's allocating more context buffer than it needs to.
Set OLLAMA_FLASH_ATTENTION=1.  FA is a more efficient use of context space and may reduce memory pressure.
Set OLLAMA_GPU_OVERHEAD to give llama.cpp a buffer to grow in to (eg, OLLAMA_GPU_OVERHEAD=536870912 to reserve 512M)
Reduce the number layers that ollama thinks it can offload to the GPU, see here.  Ollama is currently offloading 65 layers, try setting num_gpu to 60.
Free up system RAM so that more fallback memory is available. You can force programs into swap by running this script.

I think the problem is not about VRAM - Even if I load qwen2.5:14b, it will report the same failure.
I observed how the RAM usage grows: The allocated host RAM keeps going high when loading the model to VRAM,. Once the load is complete, the host memory usage suddenly drop by almost the size of the model. This may suggests llama.cpp is using host RAM as an staging buffer before sending data to VRAM. If so, it basically means it has to be more host RAM than VRAM to fully utilize the VRAM.

Logs for the qwen2.5:14b failure would be helpful.

Logs for the qwen2.5:14b failure:
server.txt

The model load failed at the point where llama.cpp was allocating space for the mode weights.
ggml_backend_cuda_buffer_type_alloc_buffer: allocating 8148.38 MiB on device 0: cudaMalloc failed: out of memory

ollama thought it had 22.7G available and only need 10.8G in total:
time=2024-12-15T23:36:37.528+08:00 level=INFO source=memory.go:356
  msg="offload to cuda" layers.requested=-1 layers.model=49 layers.offload=49 layers.split=""
  memory.available="[22.7 GiB]" memory.gpu_overhead="0 B" memory.required.full="10.8 GiB"
  memory.required.partial="10.8 GiB" memory.required.kv="1.5 GiB" memory.required.allocations="[10.8 GiB]"
  memory.weights.total="8.9 GiB" memory.weights.repeating="8.3 GiB" memo ry.weights.nonrepeating="609.1 MiB"
 memory.graph.full="676.0 MiB" memory.graph.partial="916.1 MiB"

I'm not a CUDA programmer but there a couple of ways this can happen.  Another process could have swooped in between the time ollama computed requirements and llama.cpp requested memory, or there's not enough contiguous memory to satisfy the 8G request.  What's the output of nvidia-smi?  Do you have other processes on the system that allocate/free GPU memory?

no, ollama is the only process using GPU. I'm not even using the GPU for display output, and it shows 0 VRAM usage in task manager.

What's the output of nvidia-smi?

It should be pretty easy to reproduce this: prepare an Windows machine that has RAM < VRAM, then trying to load an model that fits into VRAM but larger than RAM. It fails in my case.
Here's output of nvidia-smi:

So there are processes using the GPU.  Try closing them, then running ollama and loading the model.
I don't have access to a Windows machine, but a test with a docker container constrained to 8G loading a 15G model into a 16G GPU worked fine.

These are Windows services / core apps that cannot be closed, and as you can see the GPU memory usage is N/A.

I don't have access to a Windows machine, but a test with a docker container constrained to 8G loading a 15G model into a 16G GPU worked fine.

Then maybe it's an windows specific issue

What's the output of nvidia-smi -q?


Fix build issues in metadata

author is not an array  - move back to a string value
remove azure-purview as it is not yet an allowed value by the build pipeline

@ckittel : Thanks for your contribution! The author(s) have been notified to review your proposed change. @pdevito3

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ckittel Thanks for this pull request


Question: Apply CSS to and svg while zooming

Good morning,
I have and svg and some strokes have the following css rule applied.
stroke-width: 0.1%
The rule will be rendered correctly - but not while zooming or after the zoom ends.
It will be applied afterwards only when I drag the svg.
Let me describe it somehow:
You have the svg and zoom in, the strokes will be bigger and bigger. You stop zooming - nothing happends.
Pan the canvas a tick and the strokes' width is correct.
Do someone have an idea how to "apply" the css while zooming?
I changed it from setting the stroke-width programatically which worked good - but with "unnecessary" code in the case that it could be done by css.

I think the reason for this is browser optimization. You can try the css rule will-change. Maybe it makes a difference

Hey @Fuzzyma,
thanks for that answer,
I tried this before and now again but it didnt work.
I tried instead a different approach which seems unintuitive:
stroke-width: 0.5px;     vector-effect: non-scaling-stroke;
It seems that vector-effect do exactly what I wanted to achieve.
So instead binding the stroke-width to the viewport by the relative argument it is fixed but ignores any zooming effect.

Oh yeah I used that before as well. Should have thought about that!

Yeah, no problem :) There are so many thing to know, sometimes something is gone^^


This is great!

I can't wait to try this!    I've been wanting to order a GPS collar for our dog, and as soon as this popped up on HACS, it's a win-win!   Ordered today! --- I know this is for reporting issues, but hey, I wanted to congratulate you on the the work for the integration.   Feel free to delete.

Let me know if you have any feedback! Have fun with the new collar @bkvargyas

Didn't want to spam anywhere else but also wanted to say, this is awesome! Thank you so much for making this integration!


Added Machine Learning Blogs

Added 3 of my Machine Learning Blogs with required Jupyter Notebooks

Hi @Rishit-dagli :wave:
This looks good, I'll go ahead and merge this. Thanks a lot for the contribution! :100:


2nd order data atomicity failure

If a system failure occurs during writing of the 2nd order data (e.g out of memory/space), then upon resume the 2nd order data is skipped due to the tip update not rolling back.

Should we roll back the block if the 2nd order data fails?
Its the only sane solution at this point...

Alternatively,  and this would support other use cases... we maintain two tips,  one for 1st order data which can be directly imported in a fast-dat-parser run,  and the other tip,  for the 2nd order data...

Closing in favour of #26


Tag the source

Could you please tag the source again? Otherwise I would require that all package maintainers have to update to PyPI if they were using GitHub releases in the past.
Thanks

Done


Add antismash

This PR adds antiSMASH.
Installation sequence for tool-installers

[ ] Test using @galaxybot test this
[ ] Inspect CI output for expected changes
[ ] Deploy using @galaxybot deploy this if test install was successful
[ ] Merge this PR

@galaxybot test this

@galaxybot deploy this


fix: prevent signed token from being deleted during authentication

And update single token auth to send tokenId instead of the full token in the request.

@nicktaras I've also upgraded attestation library to support newer EAS attestation format.


[Android] Move dummy/dummy.cc to a reasonable location, rename.

A top-level directory called "dummy" is a terrible choice that confuses
pretty much anyone that looks at it -- there is only a single-line
explanation in the only file there giving a hint that it is something
Android-specific.
Move the directory to runtime/android and call it "dummy_lib" instead;
this way, the association with Android is clear and people can at least
know that it is a library.

ping @darktears @lincsoon @halton @d0ngjun

LGTM.

LGTM

LGTM


Donejs add

Needs a test. Maybe create a dummy project like donejs-foo or something that can be used in the test.


Alt-click to move cursor in Git Bash terminal not working

When using the Git Bash terminal in VS Code, alt-clicking often moves the cursor between the beginning and end of the line instead of to my cursor location. It works with cmd just not Git Bash.
Video: https://www.screencast.com/t/s1nbUZAu
I found this issue on initially implementing cursor movement with the mouse, but not sure if Git Bash is unsupported or this is a bug.
Does this issue occur when all extensions are disabled?: Yes
Version: 1.57.0 (system setup)
Commit: b4c1bd0a9b03c749ea011b06c6d2676c8091a70c
Date: 2021-06-09T17:18:42.354Z
Electron: 12.0.9
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19042

I am not able to replicate this on W10 Stable or Insiders.

Can you try Stable v1.57 to see if it still doesn't work for you.  And try disabling all extensions first too.
Version: 1.57.0 (user setup)
Commit: b4c1bd0a9b03c749ea011b06c6d2676c8091a70c
Date: 2021-06-09T17:18:42.354Z
Electron: 12.0.9
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.21390

@ArturoDent I updated to the latest release and disabled all extensions, it still happens. I edited my post with new details and video. I also reinstalled Git Bash with the latest version and default settings, here are the settings https://imgur.com/a/O5rW0Pa

It's working fine for me, note that the alt+click feature is a little unreliable by design though as we're just sending over a bunch of arrow key presses


With windows 10

today is my first day with handsome. I am trying to run it from windows 10 with command
handsome-master>docker-compose build
Then got following message
Building handsome_ui
Step 1/10 : FROM node:8.7
8.7: Pulling from library/node
ERROR: Service 'handsome_ui' failed to build: no matching manifest for windows/amd64 in the manifest list entries

Am I missing any thing?

I've not used docker on windows before, but from the looks of things the
base node image is not available for Windows containers. You should be able
to get docker to use Linux containers instead, but you'll have to look that
up yourself as I'm not familiar with the process.
On Mon., May 28, 2018, 01:30 Debmalya Jash<EMAIL_ADDRESS>wrote:

today is my first day with handsome. I am trying to run it from windows 10
with command
handsome-master>docker-compose build
Then got following message
Building handsome_ui
Step 1/10 : FROM node:8.7
8.7: Pulling from library/node
ERROR: Service 'handsome_ui' failed to build: no matching manifest for windows/amd64 in the manifest list entries
Am I missing any thing?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/davefp/handsome/issues/22, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASNReUsWAQcrBtrZ-wOyv3aA-_5xzOhks5t24tqgaJpZM4UPplD
.

@davefp , Thanks for your comment and looking into this. I will check more .

Closing this issue for now, feel free to re-open it if you're still having problems.


Support changing configuration file path of tfsec and tflint

https://github.com/suzuki-shunsuke/github-action-tfsec

https://aquasecurity.github.io/tfsec/v1.28.4/

https://github.com/suzuki-shunsuke/github-action-tflint

https://github.com/terraform-linters/tflint

https://github.com/suzuki-shunsuke/trivy-config-action

https://aquasecurity.github.io/trivy/v0.47/docs/references/configuration/cli/trivy_config/
https://aquasecurity.github.io/trivy/v0.47/docs/references/configuration/config-file/
https://aquasecurity.github.io/trivy/v0.47/docs/configuration/filtering/#trivyignoreyaml

+1 for this feature.
Also, support for .tfdocs-config.yml  would be nice.

Also, support for .tfdocs-config.yml would be nice.

Do you mean .terraform-docs.yml?
https://terraform-docs.io/user-guide/configuration/

@suzuki-shunsuke
Yes, I mean .terraform-docs.yml 🙏


[HUDI-3884] Support archival beyond savepoint commits

What is the purpose of the pull request
This PR builds on top of #5350

So far, archival will stop at the first savepoint commit and will not proceed further. For users who may not be interested in incremental queries, but just "as of instant", we can let them proceed further by skipping just the savepoint commit. This opens up new opportunities for Hudi users. For eg, one can retain commits for years, by adding one savepoint per day for older commits (say > 30 days old).  And they can query hudi using "as of instant" for very old data. If not, one has to retain every commit and let archival stop at the first commit which may not be a good experience for users.
Had to fix one the core methods in HoodieTimeline with this change boolean isBeforeTimelineStarts(String instant). Please do check the changes here. Prior to this patch, we don't allow any holes in the timeline. An instant is considered committed if it's part of the active timeline or if it's < first entry in the active timeline. But since we are letting archival go beyond savepoints, there could be holes in the active timeline.
For eg; C1, C2, C3, Savepoint_C3, C4, C5, Savepoint_C5, C6, C7, C8, C9.
Let's say, C1, C2, C4, and C6 are archived (with the fix in this patch, otherwise, archival will not proceed after C2).

So, the active timeline is C3, savepoint_C3, C5, Savepoint_C5, C7, C8, C9.
If a filegroup committed with C4 is checked for isBeforeTimelineStarts(String instant), we might return false. So, the fix is to find the first non-savepoint commit in the active timeline and treat that as the first entry in the active timeline. Any instant < this first non-savepoint commit will be considered a valid instant time.
So, in the above case, it's C7, isBeforeTimelineStarts(C4) will return true.
Brief change log

Added a new config named hoodie.archive.beyond.savepoint which will guard this behaviour. Have set the default value to false to retain the old behaviour.
Changes in HoodieTimelineArchiver to honour the config.
Fixed implementation of isBeforeTimelineStarts(String instant) to cater to holes in the active timeline to deduce valid completed commits.

Verify this pull request
This change added tests and can be verified as follows:

TestHoodieTimelineArchiver#testSavepointsWithArchival
TestHoodieActiveTimeline#testTimelineWithSavepointAndHoles
TestHoodieFileGroup#testCommittedFileSlicesWithSavepointAndHoles

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Is there any additional change that what I had in my initial patch ?

lets sync up on this. restore to older savepoints in active timeline may not  work. we can only support restore to latest savepoint.

for eg,
C3, savepoint_C3, C5, Savepoint_C5, C7, C8, C9.
restore to C3:
ideally we need to rollback, C9, C8, C7, C6, C5 and C4.
but active timeline may not have C4 and C6. So, we may need to fetch from archive timeline and then trigger rollback.

for eg,
C3, savepoint_C3, C5, Savepoint_C5, C7, C8, C9.
restore to C3: ideally we need to rollback, C9, C8, C7, C6, C5 and C4. but active timeline may not have C4 and C6. So, we may need to fetch from archive timeline and then trigger rollback.

Do we want to support such a use case?

@codope @yihua : whats the consensus here on supporting restore when this config is enabled?

@codope @yihua : whats the consensus here on supporting restore when this config is enabled?

We should support it. Punted on it due to time constraints for the release. But i can take it up now.
As discussed, we need to stitch together active and archive timeline (since the given restore instant) while generating the restore plan. With the plan having both active and archive instants, we need to change the restore and rollback executors to consider archive instants as well.

but atleast don't we need to fail fast? i.e. when someone tries to do a restore when this config is enabled, throw an exception saying that "restore is not supported when this config is enabled" ?


Email verification link of a deleted account enables automatic login

Steps

Visit https://staging.apinf.io  (version 0.39.0)
Create account 1 (eg. with email address<EMAIL_ADDRESS>Open email and click on account 1 verification link
Visit https://staging.apinf.io
Login as admin and delete the above added account
Logout
Create another account 2 (eg. with email address<EMAIL_ADDRESS>Open email and click on account 2 verification link
Repeat step 3

Findings

Click on email verification link of a deleted account, enables automatic login to the latest active account.
Displays error message 'Verify email link Expired'

Screenshot

Interested.

This issue was moved to apinf/platform#2031


Support for Docker and Vagrant

To further simplify the installation steps, I can write Docker files which does the job. Vagrant can be used with these Dockerfiles too.
What do you think and which server stack should it be?

nice, would be a great addition and allow us to easily switch between different set ups like running the app with mongo db adapter or Doctrine DBAL adapter :+1: .
As soon as one of the "todo deadline" tasks is in progress (ping @theDisco ;)) we will also integrate the async message producers available for prooph/service-bus so we will need to install for example zeromq, amqp, a redis backend and so on.
server stack? Well, choose the one you prefer most. Installing PHP extensions and up-to-date versions of the listed systems above should be possible.

I've started the work in branch vagrant-docker.

@sandrokeil :+1: looking forward to the docker integration. FYI I've created a prooph account at docker hub.

Already merged


Casting a vote of one user leads to reset of ballot for other users

Describe the bug
While in autopilot, casting a vote (submitting the ballot) in an election leads to a refresh that resets the checkboxes of other users that are in the process of filling out that ballot.
How to Reproduce

Create an election
Start voting with multiple users
Fill out ballot with one user
Cast a vote with different user
See ballot of first user to clear out

Expected behavior
Filling out the ballot without it getting reset multiple times in the process.
System information

OpenSlides-Version: 3.3
Browser: Tested with uptodate Firefox, Chrome and Safari with fresh profiles without any addons

Also have a Video to document the issue, if needed. Here it is: https://www.youtube.com/watch?v=EVpNVP32lRk
But basically you just see the ballot being reset before sending it.
When doing this with 10 or more users, it becomes close to impossible to cast your vote, because the reset happens every couple of seconds, until most users have managed to submit their ballot.

This issue has been identified and fixed by @jwinzer before in https://github.com/OpenSlides/OpenSlides/pull/5673
please add your exact commit hash.

I will gladly add my commit hash if you tell where to find it.
The ticket you linked to does not sound related to the issue to me, but I would gladly test it. I run the most up to date version of OpenSlides through the official docker-compose. How can I verfiy that this is supposed to be the fixed version?

from: https://github.com/OpenSlides/OpenSlides/pull/5673

When a (...) poll is active and a delegate makes a vote selection and then wants to send the vote, his selection is cancelled and he needs to start again as soon as another delegate sends his vote.

Sounds about like what you did experience.
How did you install OpenSlides and when was the list time you did update your installation?
If you downloaded the version from GitHub you can extract the commit has using
git rev-parse HEAD

You were right. That does sound like our problem.
Git commit hash was:
06044e81c07d3029dea489e63e238dff0fca6bf4
Updated it. New commit hash is:
2943c969abb68cc48bd2db448af41e68289b57f8
Tested it again, Problem is fixed. Thank you for the help.


No longer maintained

This repo appears to no longer be maintained?

Is there an issue you need resolved?

No, thanks!
I just was reading the documentation, I find this repository very interesting. But then i noticed that there is no commits/issues/pr in the last year, and it's risky for me to start using an unmantained project, keep working with unittest.mock seems like a more secure election.

It seems that PRs are still being merged.

@thedrow are you sure? The last merged PR that I can see is in September 2016

Pretty sure https://github.com/uber/doubles/commit/e3814d2ff924b76e4db972c755da4baa250ef941


Round off error in balance command

Describe the bug
There appears to be a round off error with the balance command. 31,500 NIM (at a price of ~ 0.0016 $USDT) is showing as a total of $0
Steps To Reproduce
No trading config necessary, kucoin exchange, NIM token
Type balance command. Hit Enter.
Screenshots

Release version
version: 1.3.0
Comments
I have a hunch it's rounding off two decimals before multiplying, so I'd be curious if it's NIM / kucoin specifically or any token < 0.01$ per coin

I found the source of the error, and a workaround. Looks like the rate oracle source is default to binance. I switched this to coingecko, with better results. I guess intuitively, I would've expected the asset prices to be retrieved from the exchange source that the assets are held on.

Closing, since the issue turned out not to be as stated in the title.


Broken "Download the PDF" link

The "Download the PDF" link at the top of the page is broken. It seems that the '.../raw/live/...' part of the URL should be '.../raw/public/...' instead.

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

ID: f56a7c7c-1b7d-dd7a-684e-df2cdf991582
Version Independent ID: 7bb3885c-77bc-fee9-a705-b3054d31bf0a
Content: Create guidelines for site usage - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/sites-usage-guidelines.md
Service: sharepoint-online
GitHub Login: @jhendr
Microsoft Alias: jhendr

Thanks for your feedback!


fix cpu docker

fix #115

Please rebase first since the CI was broken before.

Could you please take a look of the above comments?

@wyzero Sorry for the late reply, I have updated this PR and passed the CI, please review again, thx.


use ‘self’ rather than ‘this’ to reference global object

Closes #26
Can I get a :thumbsup: from you, @michaelficarra?

Tests would be nice, but :+1: regardless.

Automated browser tests would be nice, certainly, but they're a pain to set up and maintain. This project scarcely changes from one year to the next, so although I dislike the "just be careful" approach in general, I'm okay with it in this case.


SDK Updated with Documentation

We are using this SDK and wanted to know if all the methods mentioned in the documentation by way of curl or javascript API's will be implemented. There are several things missing which are in documentation but not yet appearing in the SDK. I can understand this is a RC3 candidate as yet. But if your plan is to keep all features across SDKS in line, alongside curl examples, please let us know.
And if yes, what is the expected timeline ? We would be then using the .Net Core SDK instead of writing our own using Http Client within .Net Core.

Hi Prashant,
We've created a few client libraries that provide core functionality.
We're keen on spending efforts in providing the best possible experience in the most used client libraries but so far we haven't seen a big pick up in the .NET one.
One way we tried to compensate for the potential lack of investment was to make these open-source, making them easier to approach and modify if needed. We'll always appreciate contributions.
If you reach out to<EMAIL_ADDRESS>with your organisation ID we can help further with supporting your integration.


No Null Check on endpoint key retrieved based on cookie obtained from client request

Since we are using hashing algorithm to generate cookie, it won't be a problem.
But, null check is added, just in case.
https://github.com/Venkat2811/product-http-load-balancer/commit/109f9bf984890de8f8c25e4c17e6b97ee7b447db


Typeface fonts not working

I followed the steps in the "How to add custom fonts" video.
But when I run npm i typeface-prata I get the following error:
 ERROR

The above error occurred in the <StoreStateProvider> component:
    in StoreStateProvider
    in App

React will try to recreate this component tree from scratch using the error boundary you provided, App.

 ERROR

Warning: App: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.

 ERROR

UNHANDLED REJECTION Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.

  Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
  1. You might have mismatching versions of React and the renderer (such as React DOM)
  2. You might be breaking the Rules of Hooks
  3. You might have more than one copy of React in the same app
  See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.

  - react.development.js:1465 resolveDispatcher
    [site]/[gatsby]/[react]/cjs/react.development.js:1465:13

  - react.development.js:1496 useState
    [site]/[gatsby]/[react]/cjs/react.development.js:1496:20

  - context.js:21 StoreStateProvider
    [site]/[gatsby]/[gatsby-cli]/lib/reporter/loggers/ink/context.js:21:49

  - react-reconciler.development.js:6036 renderWithHooks
    [site]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:6036:18

  - react-reconciler.development.js:8570 mountIndeterminateComponent
    [site]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:8570:13

  - react-reconciler.development.js:9938 beginWork$1
    [site]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:9938:16

  - react-reconciler.development.js:11563 Object.invokeGuardedCallbackImpl
    [site]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:11563:10

  - react-reconciler.development.js:11740 invokeGuardedCallback
    [site]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:11740:31

  - react-reconciler.development.js:15778 beginWork$$1
    [site]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:15778:7

  - react-reconciler.development.js:14696 performUnitOfWork
    [site]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:14696:12

Any idea how I can get it to work?

Seems to be a common issue: https://github.com/gatsbyjs/gatsby/issues/19827

Delete node_modules directory.
Remove package-lock.json.
Reinstall: npm i

Can you try this and see if it works?

I actually ran yarn add typeface-prata and it worked.


Burn NixOS minimal into a USB stick using windows

Some days ago I got a working laptop only with Windows.
I ended up having to download A linux-based OS just to be able to burn the image using the README.
I'd be nice to add a short guide on how to burn the image using powershell, CMD or usb burning tool. I personally think CMD or powershell are better because they do not require additional software.

My go-to tool is: https://rufus.ie/en/
I'll add some docs

Thanks for pointing this out, I have added my preferred tool for burning it on Windows. I have also used it before, so I know it works well by experience


[Tooling] Auto completion does not work within existing code block

Description:
Please consider the below ballerina query snippet. It does not provide any completion suggestion.
type Student record {
    readonly id;
    string firstName;
    string lastName;
    int intakeYear;
    float gpa;
};

type Report record {
    readonly id;
    string name;
    string degree;
    int graduationYear;
};
type ReportTable table<Report> key(id);

type FullName record {|
    string firstName;
    string lastName;
|};

public function main() {

}

auto completion does not work within the existing code block. It works only in the top and bottom of bal file.

Checked in latest master, and could not observe the issue. If the issue is still reproducible, please reopen

Checked in latest master, and could not observe the issue. If the issue is still reproducible, please reopen


This model's maximum context length is 4097 tokens, however you requested 5762 tokens (5506 in your prompt; 256 for the completion). Please reduce your prompt; or completion length.

input : Chinese short article(6000 words)
Ask any question,  follow Error:
This model's maximum context length is 4097 tokens, however you requested 5762 tokens (5506 in your prompt; 256 for the completion). Please reduce your prompt; or completion length.

Glad you pointed this out. Out of curiosity, how big was the input question?

Glad you pointed this out. Out of curiosity, how big was the input question?

Just 8~20 words.
eg: Can you tell me about the main characters included in this article

I'll look into this. It'll be super helpful if you can give me a link to this article so that I repro the error.

Having the same problem too.
I'm asking "what is this content mainly about?"
Error msg:
This model's maximum context length is 4097 tokens, however you requested 4812 tokens (4556 in your prompt; 256 for the completion). Please reduce your prompt; or completion length.

@elisa-chou The context length is the prompt size + the requested number of tokens. The issue seems to be that I'm splitting the document according to number of characters, however, it should be split according to the number of tokens. I'll fix this soon.


Race condition within CFE_ES_AppCreate

When starting an application, CFE ES calls "CFE_ES_UnlockSharedData()" before OS_TaskCreate(), then calls CFE_ES_LockSharedData() again to perform several more updates to the global table after the task ID is obtained.
This unlock-relock opens up an opportunity for the child thread to read the shared table data before it is fully populated.  This can cause many problems.  One specific one is that CFE_ES_GetAppID() (which many tasks call very early in their init procedures) will fail, which can have a serious snowball effect.
Note that the initial core app creation (CFE_ES_CreateObjects) and child tasks (CFE_ES_CreateChildTask) keeps the global lock for the entire procedure, so these are safe.

Trac comment by jphickey on 2015-05-08 13:38:15:
Pushed commit [changeset:702bdcb] for review
This simply removes the unlock/relock and makes it the same as other areas where tasks are spawned.

Imported from trac issue 41.  Created by jphickey on 2015-05-06T16:24:39, last modified: 2016-08-11T15:35:20

Trac comment by sstrege on 2015-05-15 16:42:31:
Approve

Trac comment by jwilmot on 2015-05-19 10:14:00:
Approve

Trac comment by acudmore on 2015-05-18 12:56:38:
Approve - This is exactly what I was going to propose.
In an earlier version of the cFE Core, the AppCreate function had a lock for the entire duration of the function, so this startup race did not occur. LADEE encountered a problem where loading an app at Runtime caused a currently running app to miss a watchdog servicing deadline. In response to that, I tried to make the function lock only when necessary, but I should have kept the lock during the App create.
I think having the uncompress and dynamic load operations outside of the lock are good enough. Most likely that is what was taking all of the time.

Trac comment by sduran on 2015-05-19 13:46:07:
approve

Trac comment by glimes on 2015-05-22 10:46:37:
Commit [changeset:504729d] has this fix, backported to master.

Trac comment by wmoleski on 2015-06-16 13:36:55:
cFE <IP_ADDRESS> was tested using an MCP750 running vxworks 6.4. All build verification tests normally executed on a cFE release were successfully executed. An additional test was performed in an attempt to verify that the race conditions identified did not appear. The UART (minicom) output for the test is attached to trac #81.

Trac comment by sstrege on 2016-08-11 15:34:55:
Merged to development on  Wed May 20 09:39:24 2015 -0400


Bug: user progress with contentId null

Description
For some reason in the user progress data, the content id is null.
First clear the database table where this occurs and check if it still happens.
Acceptance Criteria

[ ] wrong data deleted
[ ] checked whether bug is still there and possibly fixed

@LG1401 @myluki2000 This is done IMO, the fields are no longer nullable in the Database, and if the service tries to insert them again (which was probably happening before due to a race condition), they will just be overritten

2 SP is okay I think, Lukas and I spent time on that on friday


Channel & Consumer endpoints

Relates to #5

Possible duplicate code warning in generated code can be ignored easily.


Enable GH issues for API docs

Done. We can turn that off and leave just the anonymous feedback for the API reference if it’s not adding value or generating too many comments.

I'm not being able .to see this on the review site. Probably because of the warning we're getting. I've logged an issue for our engineering team.


Include sourcefiles in the WriteFileCallback for .d.ts emit

Fixes #7438

Hi @alexeagle, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Note, I just emailed my signed CLA to Riya.

:+1:


Provide possibility to define custom scan identiier in SecHub configuration file

Situation
Currently when a web scan is running, SecHub sends an header X-SECHUB-DAST with the job uuid inside.
It is also possible to define a custom header with an explicit value.
Why is this interesting? Because this is a good way to identify if the web site is really under attack or it is a web scan by SecHub...
Problem
When it comes to triage (is this from SecHub or a real attack) it is currently not easy to automate this. An attacker could generate some random uuids and it could look like a valid SecHub scan.
Wanted
As a SecHub project I want to be able to define my own (internal known) identifier for X-SECHUB-DAST which can be used for automated triage
Solution
Inside the SecHub configuration file the users are able to define their own sechub-identifier
{
   "apiVersion" : "1.0",
   "identifier" : "this-is-my-internal-identifier",
   // ...
}

If the identifier is defined inside the configuration file, at a web scan the header X-SECHUB-DAST  will be set with the custom scan identifier. If it is not set, X-SECHUB-DAST will contain as a fallback the SecHub jobuuid (as before)

Will be closed in favor of

#3649


feat: Prover interface and L1 interface crates

tl;dr:

Removes crypto stuff from zksync_types (this was a primary goal for this PR)
Reduces public API surface for general-purpose crates
Introduces l1_contract_interface crate for stuff related to interacting with our main L1 contract.
Introduces prover_interface crate as a point of interaction between prover and core subsystems.

❕Note: this is not a complete refactoring, there is still a lot of stuff that can be moved to either of these two crates, this will be worked on iteratively. This PR is meant to be just an improvement over what we currently have.
Rationale: l1_contract_interface and prover_interface are currently scattered across several crates (zksync_types, most notably) while actually being used only by few. Encapsulating them both reduces the public API surface plus reduces the number of (transitive) dependencies, including getting rid of some heavyweight stuff.

We've discussed with @EmilLuta that some of the feedback will be addressed in follow-up  PRs, and some will be tackled by him during the prover segregation project.


[FLINK-3677] Remove Guava dependency from flink-core

Removed Guava dependency from flink-core as discussed here: https://github.com/apache/flink/pull/2109

[x] General

The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message (including the JIRA id)

[x] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[x] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

Thanks for removing Guava from the test scope as requested by the community. Merging this.

Merged with 7a539c05a4a7239801f4fa9bc7313e6f30ff85f5. Could you close the PR, forgot to include the auto-close message to your commit :)

@mxm Sure :)

Already merged. Closing.


Support S3 bucket ownership validation on the S3 sink

Is your feature request related to a problem? Please describe.
The s3 source supports S3's bucket ownership verification to protect against reading from buckets in unexpected accounts.
The s3 sink does not have this feature.
Describe the solution you'd like
Provide the same configurations for S3 bucket ownership as are provided in the s3 source. Use those to define the ExpectedBucketOwner parameter when writing to S3.
sink:
  - s3:
      default_bucket_owner:<PHONE_NUMBER>00
      bucket_owners:
        my-bucket-01:<PHONE_NUMBER>12
        my-bucket-02:<PHONE_NUMBER>99

Conceptual PutObjectRequest:
PutObjectRequest.builder().bucket(defaultBucket).key(objectKey).expectedBucketOwner(buckerOwner).build()

Additionally, this check should occur based on either of those fields being set. If they are not set, then there is no check. This is the current default and this will not break anything. As a result, I don't see any need to have a disable flag.
Additional context
Issue to add these configurations to the s3 source: #2012.
Original PR adding the check to the s3 source: #1526

Hello @dlvenable,
Wanted to check, if someone is actively working on this, or not. If not, can I work on this ?


fix: 1115 readout items are broken in storybook

Resolves #1115
Proposed Changes

rename readout styled components to be more descriptive
move the custom styled props into styled components for readout items
fix props being passed to readout.stories.  currently we are not displaying sparklines as part of readout items.   this will be changed in the future.

How to Test

npm run storybook
check Readout section and confirm that readout components are rendering correctly

It looks better in storybook, but I'm not sure if I agree about removing custom style props. Before we had it so that the one outlier case (SettingsGrid) could override a couple default styles. Now Readout has a super specific prop and no way to customize for other use cases. We would have to add another custom prop if we needed to reuse this and that can start to get crazy. The custom style props pattern that is currently in place was modeled off of material UI: http://www.material-ui.com/#/components/card

Can I propose a different solution?
The only reason we need different styling on the settings cache readout, as far as I can tell, is that it contains a button. It looks to me like all we'd have to do is support the layout of a button in a ReadoutItem for any readout, and then we wouldn't need either the dangerous style prop or the overly-specific cacheCard prop.

My thought was if readoutItem won't have custom styles after we implement button module for cache card, we can just get rid of custom props cachecard from readout after button work is done.

It was also because the cache readout needed to override the default flex property. We have a media query for widths < 1000px applying to all Readout containers, which didn't make sense for that use case.

Metrics cache card doesn't look pixel perfect reusing readout component.  I can revert the containerStyle back if we are going down the path of reusing readout function to render all card-like items.

We are going to disconnect the cache display from the readout component, as they are not really related.  This will be done in a separate issue.


Add submenuIcon property to override the default SubmenuButton arrow icon

Fixes https://github.com/flutter/flutter/issues/132898
Code sample

expand to view the code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: SafeArea(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: [
              MenuBar(
                children: [
                  SubmenuButton(
                    menuChildren: <Widget>[
                      SubmenuButton(
                        menuChildren: <Widget>[
                          MenuItemButton(
                            onPressed: () {},
                            child: const Text('Menu '),
                          ),
                        ],
                        child:
                            const Text('SubmenuButton with default arrow icon'),
                      ),
                      SubmenuButton(
                        submenuIcon: const WidgetStateProperty<Widget?>.fromMap(
                          <WidgetStatesConstraint, Widget?>{
                            WidgetState.disabled: Icon(Icons.close),
                            WidgetState.hovered: Icon(Icons.favorite),
                            WidgetState.focused: Icon(Icons.add),
                            WidgetState.any: Icon(Icons.arrow_forward_ios),
                          },
                        ),
                        menuChildren: <Widget>[
                          MenuItemButton(
                            onPressed: () {},
                            child: const Text('Menu '),
                          ),
                        ],
                        child:
                            const Text('SubmenuButton with custom Icon widget'),
                      ),
                      SubmenuButton(
                        submenuIcon: WidgetStatePropertyAll(Image.network(
                            'https://i.imgur.com/SF3mSOY.png',
                            width: 28,
                            height: 28)),
                        menuChildren: <Widget>[
                          MenuItemButton(
                            onPressed: () {},
                            child: const Text('Menu '),
                          ),
                        ],
                        child:
                            const Text('SubmenuButton with network image icon'),
                      ),
                    ],
                    child: const Text('Menu'),
                  ),
                ],
              )
            ],
          ),
        ),
      ),
    );
  }
}

Preview

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@gspencergoog
This PR adds submenuIcon  property to the MenuThemeData based on your feedback and discussion in this

Thanks so much for the quick review!

@davidhicks980 Sorry to ping you again. This is a change that will impact the RawMenuAnchor PR. Let me know if you have time to include it.


Can't flash entire 43kb hex image to redox-w keyboard. Only 16kb writes.

I was having range issues (unreliable transmission within just a few feet) with my redox-w so I set out to change the tx power to 4dB. I updated the main.c to add that change and subsequently bricked my keyboard (mine came from Falbatech as partially assembled so I never had to flash anything other than qmk). Here is the output from program_left.sh. I am running Arch Linux for what it's worth.
=============================== MAKING ================================
rm -rf _build
echo  Makefile
Makefile
mkdir _build
Compiling file: system_nrf51.c
Compiling file: main.c
Compiling file: nrf_delay.c
Compiling file: nrf_drv_clock.c
Compiling file: app_util_platform.c
Compiling file: nrf_drv_common.c
Compiling file: nrf_drv_rtc.c
Assembly file: gcc_startup_nrf51.s
Linking target: nrf51822_xxac-keyboard-left.out
make[1]: Entering directory '/home/wrose/git/nRF5_SDK_11/redox-w-firmware/redox-w-keyboard-basic/custom/armgcc'
Preparing: nrf51822_xxac-keyboard-left.bin
Preparing: nrf51822_xxac-keyboard-left.hex

   text	   data	    bss	    dec	    hex	filename
  15424	    140	   1280	  16844	   41cc	_build/nrf51822_xxac-keyboard-left.out

make[1]: Leaving directory '/home/wrose/git/nRF5_SDK_11/redox-w-firmware/redox-w-keyboard-basic/custom/armgcc'
43824	/home/wrose/git/nRF5_SDK_11/redox-w-firmware/redox-w-keyboard-basic/custom/armgcc/_build/nrf51822_xxac-keyboard-left.hex

============================= PROGRAMMING =============================
Trying ::1...
Connection failed: Connection refused
Trying <IP_ADDRESS>...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> reset halt
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0x00000d78 msp: 0x20004000
> flash write_image erase /home/wrose/git/nRF5_SDK_11/redox-w-firmware/redox-w-keyboard-basic/custom/armgcc/_build/nrf51822_xxac-keyboard-left.hex
auto erase enabled
Unknown device (HWID 0x00000138)
using fast async flash loader. This is currently supported
only with ST-Link and CMSIS-DAP. If you have issues, add
"set WORKAREASIZE 0" before sourcing nrf51.cfg to disable it
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000001e msp: 0x20004000
wrote 16384 bytes from file /home/wrose/git/nRF5_SDK_11/redox-w-firmware/redox-w-keyboard-basic/custom/armgcc/_build/nrf51822_xxac-keyboard-left.hex in 0.764241s (20.936 KiB/s)
> reset
> Connection closed by foreign host.

I have tried setting WORKAREASIZE to 0, and to 0x10000 (64k), but no matter what it always says "wrote 16384 bytes." Is that correct? My hex file is like 43kb - shouldn't it be writing that many bytes (43832 to be exact) to the nRF51?
It seems like the answer to this is yes. Unfortunately I can't seem to find anyone talking about this problem when I search.
Any ideas?

Apparently I'm mistaken. It would seem the numbers are correct.
So that just means I've bricked my keyboard in some other way? I've tried flashing the precompiled hex files that come with the latest version of the repo but still the keyboard apparently sends nothing to the receiver.
Is there a chance I need to flash the receiver also? I'm a little worried about doing that now because I've already got 2 broken things, do I really want 3 broken things? But maybe that's the solution, to flash all 3 with the latest.

Aaaaand it turns out that was my problem. Seems all 3 needed to be updating. Closing.


Error is not returned from otelfiber.Middleware() handler

The middleware returned from otelfiber.Middleware() always returns nil, even if the next middleware in the stack returned an error.
When using multiple middlewares together, this can prevent a middleware earlier in the stack from also having access to the error. This is undesirable, for example, if an earlier-added logging middleware should also log the error (and which is outside of the fiber application's configured ErrorHandler).

@eko can you help here

I've just noticed that my PR introduces a regression in the test (line 146 if fiber_test.go

I suppose it is by design that this middleware catches any errors from middleware up the stack and directly invoke's the app's error handler? I see from the code comments that this is required to get the HTTP response status code to add into the tracing.
If that is the intended design, I don't see a way to make this compatible with other middlewares lower in the stack receiving access to the error additionally.
In that case, perhaps can we document that the tracing middleware should be the first one added to the stack?

After working quite some time trying to combine the use of fiberzap and otelfiber, I've come to the conclusion that these two package middlewares are simply not 100% compatible with one another. As both of them call the app's error handler, it is necessary to return a nil error in each package.
I have an idea of how they could be made compatible, but it would require changes in each package as well as in fiber itself, which seems unlikely to be an accepted change.
The idea itself would be to introduce a new type, HandledError. This would represent an error that has already been passed to the app's error handler.
Any middleware that needs to call the app's error handler (and usually return a nil error), would have to check if the error is a HandledError. In that case, the middleware knows that the app's error handler was already called, and can get the response code and use the error for logging/tracing/etc.. In the case that an error is not a HandledError, the middleware is free to call the app's error handler, but must then return a HandledError (wrapping the original error) to signal to other middlewares that the error handler was already called for it.
Fiber itself would also have to take part in this scheme, and avoid calling the app's error handler when a middleware returns a HandledError.
I doubt that the payoff would be worth it here, but it would definitely extend the ability of multiple middlewares to react to an error up the stack without the fear of accidentally running side-effects from the error handler multiple times.


Building 2nd Web App for SharePoint using Azure Script

Kudos for creating this script to build a single-server SharePoint 2016 test farm in Azure.  Saved me a lot of time.  One of the nicest features is how it opens up a public IP address for the web server and main portal web app, so that I can run SharePoint from my PC without a VPN.  However, this creates an issue -- how to build a second web app for Personal OneDrive sites like we normally do, and have a public IP address for that web app as well.  There may be more than 1 way to do this, I am not sure which is the "best" way.  Do you have a script addition that would allow me to create a new "Mysites" host web app in this scenario?
Thanks,
Larry Tenison

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

ID: 0e02c018-709f-3fc6-becd-a92793ecc0b7
Version Independent ID: fa10d53d-30c1-2087-fabf-86d2c0e232f2
Content: SharePoint Server 2016 dev/test environment in Azure
Content Source: SharePoint/SharePointServer/administration/sharepoint-server-2016-dev-test-environment-in-azure.md
Product: sharepoint-server-itpro
GitHub Login: @JoeDavies-MSFT
Microsoft Alias: josephd

You would just create a second web app with the same IP:Port binding (it will be "" and hopefully you're using SSL, so ":433"). This is very common practice.

Trevor, thanks for the quick feedback and suggestion.  I'm sorry, but I think things are a bit more foggy than I may have implied in my OP.  Yes, for sure -- in a "normal" production farm build, we always procure valid certs and use them for SSL binding on all our web apps.  However, this instance is the result of a script I used to build a small dev/test SP2019 preview farm in Azure and it did things a certain way.  For example:

created a VNET
put some firewall rules on the VNET to allow http from the Internet and RDP traffic
created a public IP for the web front end
created a NIC w/ a static IP internally from the VNET
associated the PIP to the NIC
built the VM on the VNET w/ the ipconfig of the NIC and the PIP associated (all in one move)

So the single server farm came up w/ all port 80 traffic routed through from the  westus cloudapp Internet PIP to the internal NIC static IP address.  Meaning I have the ability to log into the farm from my PC or anywhere else using proper domain credentials, which is convenient.  There is (apparently) a DNS host record someplace in Azure for my main web app that points to my VNET and to that particular NIC IP address.  What I'd like to be able to do is create a 2nd DNS host record for "-my.westus.cloudapp.azure.com" and then set an AAM to the "-my" web app mysite host, like I did for the main web app.  Maybe there's no way to do that, but that's what I was hoping to do.
I'd like to leverage what I have built so far, if that's possible, so as not to defeat the purpose of the handy build script I used.

@ltenison - this is amazing what you are putting together. I could see it being very valuable for other SharePoint experts as well. I don't know the answer to your question but will loop in @JoeDavies-MSFT who I believe created the scripts. I am going to set this to closed since I don't have an answer but just replying will re-open this issue. I am not sure if Joe has time to look into this but he is just down the hall from me and I will ping him about it. Thanks for taking the time on this and providing the detail information too!


"Shields" Wiki link throws permission error

Cannot reach the "Shields" page of the wiki. Whenever it is clicked the error "You do not have permission to update this wiki." shows.

The entire wiki needs to be redone. The enchantments section doesn't even lead anywhere.


feat(api-client): use combobox for auth dropdown

https://github.com/user-attachments/assets/55b0fd78-0c9b-464d-a022-69a82220de58

Wow great work!
Should we add a placeholder - could just be "Search"
Also it seems like the search input is taking up too much vertical space - can we tighten that?

Wow great work!
Should we add a placeholder - could just be "Search"
Also it seems like the search input is taking up too much vertical space - can we tighten that?


Support for rubygems

E.g.: https://github.com/jekyll/jekyll/blob/master/Gemfile
FYI @rayshan @thoroc @soberstadt

https://twitter.com/Octo_Linker/status/718220067184492546

rubygems support landed in the latest version see https://github.com/OctoLinker/browser-extension/releases

:tada:


Open/Close fold on specific line using api

Feature description
I want to use a keymap to open/close a fold on a specific line (there is also a fold sign on that line as well) via an api
Describe the solution you'd like
Add an api to get the specific fold on that line to allow user open/close fold using keymap
Additional context
No response

:h :foldopen and :h :foldclose


add new theme nano-hugo-theme

Please see: https://github.com/gohugoio/hugoThemesSiteBuilder#media.

i totally forgot about that, thank you.


[demo] add vtable demo

What problem does this feature solve?
vtable website demo organization
What does the proposed API look like?
vtable website demo organization

6.15
add demo from ae-fe usage scene
add demo for merge function【 at meanwhile find some problems on textStick function， I am refactorting it by now  】

fixed some problems on textStick function
add demo temperature-trend


Parse markdown comments into ocamldoc.

Problem We want all the tooling to support markdown comments for Reason modules.
This includes merlin, odoc, and reason-vscode and any others.

Here's  for odoc.

Approach one: Have each tool support markdown (merlin, odoc) for Reason syntax. This issue explores doing so in odoc.
Approach two (this github issue): Explore parsing markdown comments into ocamldoc syntax on the way in.
Approach:

In the Reason parser, for each docblock comment (which is modeled as a ppx attribute) /**, on the way in  into the AST, parse some subset of markdown, then convert it back into a string in the ocamldoc form. For example, if you've parsed SingleBacktickCode(str) - then in the AST store it as [str] which is the ocamldoc syntax. Do the same thing for links, and others. A large set of ocamldoc's features have no markdown equivalent and that's okay, we can still use those too. For example {!ModuleName} would just be perceived as plain text in markdown, it won't parse, but then all the other ocamldoc based tools will make sense of it.

Make sure the text is printed in refmt in its exact original form, not performing the substitutions.

[ ] Explore if approach two is the right one (poke holes in it).

[ ] Propose a mapping from markdown-light to ocamldoc syntax. (Comment on this task with your own ideas/observations).

[ ] Implement this in the parser.

[ ] Make sure the approach doesn't slow things down too much when compiling (heuristics like looking for any markdown token at the beginning of any newline or backtick throughout would work pretty well).

[ ] Make sure that markdown parsing failures never crash the parser.

If you do use the ocaml omd parser, we'd appreciate you using the trunk version which is a big rewrite that is compatible with CommonMark that we're currently preparing for release.   contributions welcome, e.g. https://github.com/ocaml/omd/issues/181

Thanks for the suggestion, I'll make a note of it on the other task.


When I load the Cityscapes using the api there is a error

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOS Big Sur 11.5.1
FiftyOne installed from (pip or source): pip
FiftyOne version (run fiftyone --version): fiftyone v0.11.2, Voxel51, Inc.
Python version: 3.7.10

Commands to reproduce
My python script as below:
import fiftyone as fo
import fiftyone.zoo as foz

# The path to the source files that you manually downloaded
source_dir = ".../Developer/Dg/OD/Datasets/Cityscapes"

dataset = foz.load_zoo_dataset(
    "cityscapes",
    source_dir=source_dir,
)

session = fo.launch_app(dataset)
session.wait()

Describe the problem
When I run the script to load the citycrapes dataset it goes wrong and the command output as below
Preparing split 'train' in '.../fiftyone/cityscapes/train'
Parsing fine annotations for split 'train'...
100% |█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2975/2975 [26.0s elapsed, 0s remaining, 133.4 samples/s]
Finalizing split 'train'...
Uncaught exception
Traceback (most recent call last):
File "ReadCityscapes.py", line 9, in
source_dir=source_dir,
File "/Applications/anaconda3/envs/fiftyone/lib/python3.7/site-packages/fiftyone/zoo/datasets/init.py", line 201, in load_zoo_dataset
**download_kwargs,
File "/Applications/anaconda3/envs/fiftyone/lib/python3.7/site-packages/fiftyone/zoo/datasets/init.py", line 121, in download_zoo_dataset
cleanup=cleanup,
File "/Applications/anaconda3/envs/fiftyone/lib/python3.7/site-packages/fiftyone/zoo/datasets/init.py", line 1022, in download_and_prepare
) = self._download_and_prepare(split_dir, scratch_dir, split)
File "/Applications/anaconda3/envs/fiftyone/lib/python3.7/site-packages/fiftyone/zoo/datasets/base.py", line 412, in _download_and_prepare
person_annos=self.person_annos,
File "/Applications/anaconda3/envs/fiftyone/lib/python3.7/site-packages/fiftyone/utils/cityscapes.py", line 112, in parse_cityscapes_dataset
person_annos_dir,
File "/Applications/anaconda3/envs/fiftyone/lib/python3.7/site-packages/fiftyone/utils/cityscapes.py", line 269, in _export_split
exporter = foud.FiftyOneDatasetExporter(split_dir, move_media=False)
TypeError: init() got an unexpected keyword argument 'move_media'
What areas of FiftyOne does this bug affect?

[√ ] Core: Core fiftyone Python library issue

Willingness to contribute
The FiftyOne Community encourages bug fix contributions. Would you or another
member of your organization be willing to contribute a fix for this bug to the
FiftyOne codebase?

[√] No. I cannot contribute a bug fix at this time.

Hi @wxr5899 thanks for reporting this. This patch should fix it https://github.com/voxel51/fiftyone/pull/1147.
You can use this patch yourself by doing a source install like so:
git clone https://github.com/voxel51/fiftyone
cd fiftyone
git checkout --track origin/iss-1146
bash install.bash

Hi @wxr5899  👋 This is fixed in fiftyone==<IP_ADDRESS> and you can upgrade like so:
pip install --upgrade fiftyone

Thank you，fiftyone really helps me a lot in my research. I’m willing to report the errors and bugs to help fiftyone become better!
发自我的iPhone
------------------ Original ------------------
From: Brian Moore @.>
Date: Sun,Aug 1,2021 0:42 AM
To: voxel51/fiftyone @.>
Cc: Xinran Wang @.>, Mention @.>
Subject: Re: [voxel51/fiftyone] When I load the Cityscapes using the api there is a error (#1146)