How to disconnect by bless

Describe the solution you'd like
I would like to disconnect by bless (i.e., by peripheral), not by central.
If I understand correctly,
BlessServer.stop() stops advertising but does not disconnect.
The destructor of BlessServer class also does not disconnect.
Therefore, unless disconnected by central, the connection keeps to remain even if the Python script that imports bless exits.
Describe alternatives you've considered
BleakClient class has disconnect() method.
But, BlessServer class does not have the disconnect() method.
Additional context
I use Windows 10.

My understanding is that what you're describing is inherent to how Central and Peripheral devices are intended to function. Peripherals serve data to Central devices, while central devices connect to and read/write to peripheral data. Peripherals control advertising, while clients control the connection.
Because multiple clients could be connected at one time, it would be difficult for the peripheral to know whether it should disconnect all or just a specific one. Even if you got a handle on the device you wanted to disconnect, attempting to close the connection would depend on whether the device has no other app connections (See here)
If you truly need to stop all connections, you could consider shutting down the bluetooth module.
You could also consider implementing a protocol, where the BlessServer notifies the BleakClient of some command that then tells the BleakClient to disconnect.
Let me know if I'm way off here or if there is more to this than I'm understanding.

Because multiple clients could be connected at one time, it would be difficult for the peripheral to know whether it should disconnect all or just a specific one. Even if you got a handle on the device you wanted to disconnect, attempting to close the connection would depend on whether the device has no other app connections (See here)

In my usage, the script by python-bless is the only application connected to the central device.
Is there a way to enumerate the devices connected in BlessServer ?
Furthermore, is there a way to call the BluetoothLEDevice.Close method in BlessServer ?

If you truly need to stop all connections, you could consider shutting down the bluetooth module.

Is there a way to implement shutting down and re-start the Bluetooth module in Bless?

You could also consider implementing a protocol, where the BlessServer notifies the BleakClient of some command that then tells the BleakClient to disconnect.

I use WIDI Master which is BLE-MIDI adapter as the central device.
It uses the BLE-MIDI protocol that has no disconnect command.

Is there a way to enumerate the devices connected in BlessServer ?

At the moment, it cannot enumerate connected central devices

is there a way to call the BluetoothLEDevice.Close method in BlessServer?

I'm assuming you're referring to this method on Microsoft's Bluetooth API? A quick search on their sample code shows that this method is typically used by client (central) devices, not peripheral devices.
So currently there isn't a way to call this from Bless because, to my knowledge, there's no clear way to call BluetoothLEDevice.close as a peripheral. Though I'm hoping to dive into this more.

Is there a way to implement shutting down and re-start the Bluetooth module in Bless?

Currently, no. Though I'm open to exploring this.

It uses the BLE-MIDI protocol that has no disconnect command.

Is your script attempting to control the standard bluetooth specification of the BLE-MIDI or are you attempting to use the BLE-MIDI specification to connect to your WIDI Master? From the BLE-MIDI Specification, it looks like the WIDI functions as a bluetooth peripheral device (aka server) which broadcasts its information.
If you're attempting to connect to the WIDI over python, you should be using Bleak as you pointed out earlier.
Since this doesn't seem to be a direct issue with bless. I'm converting this to a discussion so we can continue hashing out the problems you're having. If there really is a lack on the Bless side or a potential feature implementation, I'll open this back up as an issue.


Removed the DV4T GCCH and DoD exclusion

Dataverse for Teams has been released for GCCH and DoD.  Internal announcement: https://supportability.visualstudio.com/M365 Release Announcements/_wiki/wikis/M365-Product-Updates.wiki/497597/Dataverse-for-Teams-upgrades-and-teams-limits-increase

@goodjohnscott
Thanks for the notice. This was updated.


Commting version

Can you update this? I am wandering how to (I have following your YTB)
I suppose this is a this level in the top package.json
"bump-version": "rjp package.json version $VERSION && rjp projects/eui-table/package.json version $VERSION"

yes exactly. you run "bump-version" during the release. Therefore you have to add the following config to the semantic release config
 ["@semantic-release/exec", {
      "prepareCmd": "VERSION=${nextRelease.version} npm run bump-version"
    }]

Will it increment the version automatically?


undefined reference error with MinGW on W10

I get the following error when trying to compile using MinGW:
/mingw32/bin/ld.exe: ../lib/libopenblas.a(scopy.c.obj):scopy.c:(.text+0x87): undefined reference to 'scopy_k'
/mingw32/bin/ld.exe: ../lib/libopenblas.a(dcopy.c.obj):dcopy.c:(.text+0x87): undefined reference to 'dcopy_k'
/mingw32/bin/ld.exe: ../lib/libopenblas.a(ccopy.c.obj):ccopy.c:(.text+0x87): undefined reference to 'ccopy_k'
/mingw32/bin/ld.exe: ../lib/libopenblas.a(zcopy.c.obj):zcopy.c:(.text+0x87): undefined reference to 'zcopy_k'
/mingw32/bin/ld.exe: ../lib/libopenblas.a(srot.c.obj):srot.c:(.text+0xa9): undefined reference to 'srot_k'
/mingw32/bin/ld.exe: ../lib/libopenblas.a(drot.c.obj):drot.c:(.text+0xa9): undefined reference to 'drot_k'

It seems similar to https://github.com/xianyi/OpenBLAS/issues/1701 .
However, it seems this issue hasn't been resolved, or if so, I do not understand how.
I tried both v3.6.0 and the current devel.
Compiled using:
cmake .. -G "MSYS Makefiles"
make

nm finds that the symbol is there but undefined. Do I need to link against another library that is not automatically linked by make ?

This issue has not been resolved, and I have no idea yet what could be causing it. (Unless something went wrong while building these cpu-specific files - do you see any warnings for the "kernel.dir" parts of the build during the make phase ? (You will probably need to run cmake with -DCMAKE_VERBOSE_MAKEFILE=1 to see them)
And do you have a file srot_k.S (or srot_k.c, depending on your cpu) in kernel\CMakeFiles ? This should look something like
#define ASMNAME srot_k
#define ASMFNAME srot_k_
#define NAME srot_k_
#define CNAME srot_k
#define CHAR_NAME "srot_k_"
#define CHAR_CNAME "srot_k"
#include ..."

(with the source file name on the include line again depending on your target cpu)

I do have srot_k.S looking as described.
I will try to catch if I see any warning, so far I didn't see anything weird looking at the log.
Note that I just successfully compiled it by not using cmake and directly using MSYS make instead in the main dir:
make CC=gcc FC=gfortran BINARY=64 USE_THREADS=1 NUM_THREADS=64 TARGET=SANDYBRIDGE

The output linked well in my other project without any undefined reference error.

Could you attach /not paste text/ cmake log (as detailed as possible) ?
It looks like some big part of openblas did not get built. There is no error if cmake does not emit makefile.

Where is the log or how do I generate it ? (Sorry I'm a beginner)
Are you talking about the command line output ? Or is there a way to get a
log with more details ?
On Sun, 16 Jun 2019 at 04:29, Andrew<EMAIL_ADDRESS>wrote:

Could you attach /not paste text/ cmake log (as detailed as possible) ?
It looks like some big part of openblas did not get built. There is no
error if cmake does not emit makefile.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xianyi/OpenBLAS/issues/2163?email_source=notifications&email_token=AANMUW3A5N5WHL4HLIEXLPTP2X2XVA5CNFSM4HYPPZU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZIDBA#issuecomment-502432132,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANMUW5U4WG5BCGOEOBXKCLP2X2XVANCNFSM4HYPPZUQ
.

Just the command line output - you will probably need to redirect it to a file by adding something like > makelog 2>&1 to the end of your make line. (The 2>&1 is to redirect error messages from stderr to the same file, I am not entirely sure if this works in the msys shell Windows)

The problem is that cmake did not emit Makefile or its parts to build those _k files, or those come out of order later than other files depending on the,
Probably
cmake --trace .. 2>&1 | tee cmake_log.txt

Does it work when you tell cmake to generate "MinGW Makefiles" rather than MSYS ? I tried adding a cmake/mingw build to our Appveyor CI setup and the build appeared to work fine with those

I did not mention but I intentionally did not specify generator so that cmake picks first working one.

"MSYS Makefiles" build just passed on Appveyor as well, so it does not appear to be a general problem.
(autodetected TARGET was HASWELL however, and from the "mingw32" in the first message here the problem may be with 32bit builds (?)

"MinGW Makefiles" didn't work either. I tried this before trying the MSYS option actually.
makelog.txt

Could you , please, post the log of cmake invocation? Damage is done there.

msys/cmake build with TARGET=SANDYBRIDGE BINARY=32 passed on Appveyor as well, suggesting nothing wrong with our cmake configuration files. Do you happen to have several versions of mingw installed on your W10 system, or something like that which might lead to mixups ?

This is the result of
'''
\build> cmake .. -G "MSYS Makefiles" > cmakelog 2>&1
'''
cmakelog.txt
I only have one version on MinGW, that I used to compile most of my other libraries without issues so far.
I am trying to think what could cause a mixup, but nothing comes to mind so far.

Now examine likewise captured output of make for scopy_k being compiled (or not)
Also try cmake without specifying generator, so that cmake uses its internal logic to determine generator type. It might be some small thing is missing so that it goes and detects makefile generators as not viable.
OpenBLAS also compiles without issues unless you get into experimental cmake world... Though we intend to keep it working well for everybody.

What I find interesting in the cmakelog is that it reads part of the configuration from KERNEL.PENRYN,  in what must be an automatic fallback to 32bit mode due to a 32bit compiler environment. When -DBINARY=32 is specified as a cmake argument, dedicated code in system.cmake switches the target to NEHALEM and the compilation works in my Appveyor tests.
So there could be a problem with our fallback logic, although in the end the x86 KERNEL.HASWELL and KERNEL.NEHALEM configurations are absolutely identical (each just forwarding to KERNEL.PENRYN) - the difference must be either the implied NO_AVX=1 or something in the cpu-specific settings from param.h
On the other hand, your successful make based compilation had BINARY=64 and a SANDYBRIDGE cpu - did that actually use the same compiler (or was it on a completely different computer), and do you want to build for 32 or 64 bit ?

It was the same compiler on the same computer indeed.
Concerning the 32 vs 64 bits, I would rather have it 64 but I am not sure the preference is justified with my current usage.

I think you are quite fine with whatever MINGW provided GNU make did.
The way you have cmake it builds half of library 32bit another 64bit so nothing works.

Reproduced the problem on Appveyor with 32bit mingw now but do not understand it. Somehow it does not even link the cpuid function from cpuid.S although it appears to process that file correctly.
A less severe problem exists on 32bit Linux as well, in cpu autodetection mode the fallback for x86_64 cpus gets confused about USE_TRMM. (Fixing this has no bearing on the mingw case)

Dumped nm output of the library on Appveyor, seems the functions get called with a leading underscore on mingw32


Add more text in the game

Add more text in the game

Add more text in the game

Add more text in the game


Make ArmOperationHelpers conditionally included

Not all generated projects needs them

Closing as duplicate of https://github.com/Azure/azure-sdk-for-net/issues/32006


File upload support is currently partially/incorrectly documented

Hi,
Would a PR adding (very brief) documentation for the file upload support be welcomed?
At the moment:

The README.md still points the user to Swashbuckle.AspNetCore.Filters for file upload support, but in fact (on looking through the commit histories and issues of both projects - but unfortunately not the current README.md of either) file upload support has been in this project since 4.0, and hence has been removed from Swashbuckle.AspNetCore.Filters.

It would simplify tracking down how to use file uploads if that small piece of text in the README was removed.

IFormFile is indeed now supported by this project, with a clean file upload button, but this does not work if the IFormFile is marked [FromForm], which is counterintuitive (to me, at least!)

With IformFile file parameter:

With [FromForm]IFormFile file parameter:

It would be helpful if the requirement not to tag IFormFile with [FromForm] was documented, since I guess (?!) that this is something that maybe not just I am going to try by mistake. (At the same time, having this info, very briefly, would serve the additional purpose of clarifying what the user has to do to get a file upload up and running, right in the README.)
Does that sound sensible? Thanks!

@MikeBeaton makes sense. If you want to go ahead and create a PR for the docs update I'll be happy to merge. Thx

Is this really just a documentation issue and not a bug? I was stuck on this problem for two days now and i was only to solve it by "trial-and-error", when i eventually removed the [FromForm] attribute from the IFormFile parameter.
Since the ASP app works fine WITH this attribute and i thus consider it "legal" to do, i rather consider this a bug. It should also work with this attribute...

@dernop - while it may not prevent your API from working, it's technically incorrect to decorate IFormFile parameters with the [FromForm] attribute. If you take a look at the official MS docs on file uploads you'll see there's absolutely no mention of the attribute.
While the type and the attribute sound related, they're actually expressing two different concepts. The IFormFile type  indicates to the ASP.NET Core model binder that the parameter should be deserialized from binary data in the request payload. However, when you decorate it with the [FromForm] attribute, you're indicating that it's indidividual properties should be populated from corresponding form fields in the request payload.
This distinction is aptly captured in the ApiParameterDescription.Source property, which is part of the metadata that's surfaced by ASP.NET Core to Swashbuckle. For binary data, this property should have the value FormFile, whereas for form fields, it should have the value Form. When you decorate the parameter with the [FromForm] attribute, ASP.NET Core assigns the value Form which is semantically incorrect, causing downstream problems for libraries like Swashbuckle.
The fact that the API still behaves as you expect, even with the incorrect use of the attribute, is an issue you should take up with ASP.NET Core team. Swashbuckle depends heavily on the metadata that's surfaced from ASP.NET Core, and if that metadata states that the model is deserialized from form-fields as opposed to binary data, then that's how Swashbuckle will describe it.


Image-Copy: add support for sources backup by vhd files and snapshots

This enables the extension to copy images that were originally created with blob vhds (addresses #193 ) or from snapshots (like the ones created by this extension).

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/tamirkamara/azure-cli-extensions.git@master#subdirectory=src/$EXT&egg=$EXT"

@williexu thanks. when will this be merged?

@tamirkamara I'll merge this this afternoon :)


v0.44

Version 0.44
Released March 4, 2024

Update Ethiopia holidays (#1704 by @KJhellico)
Update RELEASE.rst (#1698 by @arkid15r)
Update Ukrainian translations (proper apostrophe) (#1714 by @KJhellico)
Update make clean action: delete docs autosummary (#1711 by @arkid15r)
Update snapshots: Portugal holidays (#1709 by @PPsyrius)
Update test coverage to 100% (#1715 by @KJhellico)
Add AUTHORS file (#1700 by @arkid15r)
Add UNOFFICIAL category for the United States. (#1669 by @PPsyrius)
Rename repository branches (#1699 by @arkid15r)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

67 of 67 (100.0%)  changed or added relevant lines in 10 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
10596

Relevant Lines:
10596

💛  - Coveralls


[Performance] Optimize setting initial state in functional components

What performance issue do we need to solve?
Setting initial state in functional components in a way that is running calculation only once
What is the impact of this on end-users?
Slightly more loading time/memory usage of multiple components (e.g parsing HTML multiple times)
List any benchmarks that show the severity of the issue
Gains may be minor, but new approach is following best practices (also discussed on slack with Expensify team )
Proposed solution (if any)
Using initializer function to useState calls. That will ensure calculations are run only once.
List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)
It's not optimal to collect those benchmark in this case.
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Version Number:
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:

Issue created for tracking purposes.
PR already open for review (proposal approved by engineers on slack) : https://github.com/Expensify/App/pull/29630

Adding this to the performance project and assigning myself

PR merged! thanks @sebryu


[Event Request] Codeunit 99000813

we Need new Eventtrigger in codeunit 99000813
PROCEDURE ProdOrderChgAndReshedule
...
IF "Planning Level" = 0 THEN
IF ProdOrder.GET("Ref. Order Status","Ref. Order No.") THEN BEGIN
ProdOrder.Quantity := Quantity;
ProdOrder."Starting Time" := "Starting Time";
ProdOrder."Starting Date" := "Starting Date";
ProdOrder."Ending Time" := "Ending Time";
ProdOrder."Ending Date" := "Ending Date";
ProdOrder."Due Date" := "Due Date";
OnBeforeModifyandResheduleProdOrder(VAR ProdOrder;ProdOrderLine);  <-- New Eventtrigger
ProdOrder.MODIFY;
    FinalizeOrderHeader(ProdOrder);
  END;

Please add "Requisition Line" as a Parameter!

Please add another Event in this function:

Thanks!

@AndreBreitenbach MS does not consider any requirements added later. You will need to create a new Issue in order to get your parameter added.

@NKarolak Thanks!!


Column header alignment

When the column definition contains type: 'text', only the header is right-aligned. Because 'text' is default, left-aligned would be expected. When I leave out the 'type: text' line it is left-aligned.

why is only the column header responding to this, and not all rows?
could 'text' be set to left-aligned as would be expected as it is the default setting?
despite this; how could I set 'right-aligned' for 'text' columns if I wanted to?

It could be related to this function? But that would not explain item 1)
      getDataStyle(index, type) {
        var classString = '';
        switch (this.columns[index].type) {
          case 'number':
          case 'percentage':
          case 'decimal':
          case 'date':
          case 'text':
            classString += 'right-align ';
          break;
          default:
            classString += 'left-align ';
            break;
        }
        if (typeof type !== 'undefined' && this.columns[index].hasOwnProperty(type + 'Class')) {
          classString += ' ';
          classString = this.columns[index][type + 'Class'];
        }
        return classString;
      },

@focussing ... yeah that's definitely a bug. text should be left-aligned. thank you for identifying it. it seemed to have been introduced in this commit:
https://github.com/xaksis/vue-good-table/commit/5773f32538b644a9e8531e2be92c8d0f7b6441c2
will fix tonight.

@focussing v1.15.2 now has the fix for this.


grid-row-height recipe doesn't show accompanying CSS file

https://cookbook.vaadin.com/grid-row-height includes a CSS import, but that is not displayed in the recipe.

still relevant

still relevant


Scroll down a long listview very fast, some widgets in the front will disappear

Steps to Reproduce
maxScrollExtent is wrong in some case when use listview.builder
In the demo, use ListView.builder to display 50 pictures downloaded from the network
As soon as you enter the page, keep listview rolling up，do not stop until the last picture is displayed，only the last image was shown，
If enter the page， wait for the picture to appear and slowly slide the page up, there will be 50 pictures on the page.
Poor performance iphone (e.g. iphone 5c) prone to this problem
The demo code :
import 'package:flutter/material.dart';

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

import 'package:flutter/material.dart';

List<String> getImageUrls(){
  return <String>[
    "http://img.alicdn.com/bao/uploaded/i1/6000000000730/TB2vC8VnaagSKJjy0FhXXcrbFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000002915/TB2S4NTbvL85uJjSZFyXXa93XXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000000147/TB2biPurbsTMeJjy1zcXXXAgXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000002376/TB24gWWrN3IL1JjSZPfXXcrUVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000001490/TB2sFdmmbsTMeJjSszdXXcEupXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000007544/TB21IKHriFTMKJjSZFAXXckJpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000004811/TB2W0LFjLMTUeJjSZFKXXagopXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000004412/TB2ZYZuhWigSKJjSsppXXabnpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000000540/TB2A4g3aJPJ3eJjSZFLXXab3FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000006707/TB2PAL1qbtlpuFjSspoXXbcDpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000004601/TB2mznhtrxmpuFjSZJiXXXauVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000006277/TB2DdTOk88lpuFjy0FnXXcZyXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000004446/TB2l9W0k30kpuFjSspdXXX4YXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000001664/TB2JgDTg4RDOuFjSZFzXXcIipXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000001697/TB2QYC_k9BjpuFjSsplXXa5MVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000000388/TB2ut6tk84lpuFjy1zjXXcAKpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000000096/TB2ij_ik3xlpuFjSszgXXcJdpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000000328/TB2c1Lek80kpuFjSsziXXa.oVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000008090/TB2eDYdk80lpuFjSszdXXcdxFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000000657/TB2MWvLk3JlpuFjSspjXXcT.pXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000006209/TB2jpztk3xlpuFjSszbXXcSVpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000001931/TB2qYECrY4npuFjSZFmXXXl4FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000002203/TB2eIaws4lmpuFjSZPfXXc9iXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000006941/TB25hM4b9B0XKJjSZFsXXaxfpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003228/TB2H6JleUFWMKJjSZFvXXaenFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000002965/TB2B9vucYsTMeJjy1zbXXchlVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000007448/TB25dmJXEvMR1JjSZPcXXc1tFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000005599/TB2huHBc5ERMeJjy0FcXXc7opXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000005082/TB2duiJXEvMR1JjSZPcXXc1tFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000007939/TB27PN8fnAKL1JjSZFCXXXFspXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000003415/TB2o4VPfXcJL1JjSZFOXXcWlXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000004988/TB2vhyvXlfkJKJjSspeXXbgPFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000004694/TB2Q86SXr9GJuJjSZFNXXaIkXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000005031/TB2irM1XbCFJuJjy0FoXXbxpXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000005331/TB264rQXD1GJuJjSZFKXXaQtpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000001675/TB2HhnRXrSGJuJjSZFqXXXo2pXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000001998/TB2dgmvXlTkJKJjSspkXXaGQXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000000424/TB2siwZbU.jyKJjy0FpXXX2wVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000004282/TB2Cbk_dHglyKJjSZFuXXaE6FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000006092/TB2JyZcdnIlyKJjSZFrXXXn2VXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003712/TB2_I3WbP7jyKJjy1XaXXblnFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000000092/TB2zIz0dholyKJjSZPfXXawNpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003296/TB2ek8pb7.OyuJjSszeXXXY.VXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000001370/TB2Ru0UbWAPyuJjy1XcXXXdjFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000000015/TB230ZwbKZkyKJjSszbXXblwFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000003943/TB2R4UdddsmyKJjSZFvXXcE.FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000000382/TB260gBbLAkyKJjy0FfXXaxhpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003513/TB27DheXdbJ8KJjy1zjXXaqapXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000002921/TB2QcpfXnvI8KJjSspjXXcgjXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000003809/TB2sWFhXf2H8KJjy0FcXXaDlFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000007969/TB2idNfXnnI8KJjy0FfXXcdoVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000006058/TB28FWmXvTM8KJjSZFDXXaltXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000002376/TB24gWWrN3IL1JjSZPfXXcrUVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000001490/TB2sFdmmbsTMeJjSszdXXcEupXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000007544/TB21IKHriFTMKJjSZFAXXckJpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000004811/TB2W0LFjLMTUeJjSZFKXXagopXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000004412/TB2ZYZuhWigSKJjSsppXXabnpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000000540/TB2A4g3aJPJ3eJjSZFLXXab3FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000006707/TB2PAL1qbtlpuFjSspoXXbcDpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000004601/TB2mznhtrxmpuFjSZJiXXXauVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000006277/TB2DdTOk88lpuFjy0FnXXcZyXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000004446/TB2l9W0k30kpuFjSspdXXX4YXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000001664/TB2JgDTg4RDOuFjSZFzXXcIipXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000001697/TB2QYC_k9BjpuFjSsplXXa5MVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000000388/TB2ut6tk84lpuFjy1zjXXcAKpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000000096/TB2ij_ik3xlpuFjSszgXXcJdpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000000328/TB2c1Lek80kpuFjSsziXXa.oVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000008090/TB2eDYdk80lpuFjSszdXXcdxFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000000657/TB2MWvLk3JlpuFjSspjXXcT.pXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000006209/TB2jpztk3xlpuFjSszbXXcSVpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000001931/TB2qYECrY4npuFjSZFmXXXl4FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000002203/TB2eIaws4lmpuFjSZPfXXc9iXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000006941/TB25hM4b9B0XKJjSZFsXXaxfpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003228/TB2H6JleUFWMKJjSZFvXXaenFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000002965/TB2B9vucYsTMeJjy1zbXXchlVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000007448/TB25dmJXEvMR1JjSZPcXXc1tFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000005599/TB2huHBc5ERMeJjy0FcXXc7opXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000005082/TB2duiJXEvMR1JjSZPcXXc1tFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000007939/TB27PN8fnAKL1JjSZFCXXXFspXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000003415/TB2o4VPfXcJL1JjSZFOXXcWlXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000004988/TB2vhyvXlfkJKJjSspeXXbgPFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000004694/TB2Q86SXr9GJuJjSZFNXXaIkXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000005031/TB2irM1XbCFJuJjy0FoXXbxpXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000005331/TB264rQXD1GJuJjSZFKXXaQtpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000001675/TB2HhnRXrSGJuJjSZFqXXXo2pXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000001998/TB2dgmvXlTkJKJjSspkXXaGQXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000000424/TB2siwZbU.jyKJjy0FpXXX2wVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000004282/TB2Cbk_dHglyKJjSZFuXXaE6FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000006092/TB2JyZcdnIlyKJjSZFrXXXn2VXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003712/TB2_I3WbP7jyKJjy1XaXXblnFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000000092/TB2zIz0dholyKJjSZPfXXawNpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003296/TB2ek8pb7.OyuJjSszeXXXY.VXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000001370/TB2Ru0UbWAPyuJjy1XcXXXdjFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000000015/TB230ZwbKZkyKJjSszbXXblwFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000003943/TB2R4UdddsmyKJjSZFvXXcE.FXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000000382/TB260gBbLAkyKJjy0FfXXaxhpXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i3/6000000003513/TB27DheXdbJ8KJjy1zjXXaqapXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i4/6000000002921/TB2QcpfXnvI8KJjSspjXXcgjXXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000003809/TB2sWFhXf2H8KJjy0FcXXaDlFXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i1/6000000007969/TB2idNfXnnI8KJjy0FfXXcdoVXa_!!0-fleamarket.jpg",
    "http://img.alicdn.com/bao/uploaded/i2/6000000006058/TB28FWmXvTM8KJjSZFDXXaltXXa_!!0-fleamarket.jpg",
  ];
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or press Run > Flutter Hot Reload in IntelliJ). Notice that the
        // counter didn't reset back to zero; the application is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return new Scaffold(
      appBar: new AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: new Text(widget.title),
      ),
      body: new ListView.builder(
        itemCount: getImageUrls().length,
          itemBuilder: (BuildContext buildContext, int index){
            return new Image.network(getImageUrls()[index]);
          }
      ),
      floatingActionButton: new FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: new Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Logs
Flutter Doctor
[✓] Flutter (Channel beta, v0.2.8, on Mac OS X 10.13.4 17E199, locale zh-Hans-CN)
• Flutter version 0.2.8 at /Users/chaokong/flutter
• Framework revision b397406561 (3 weeks ago), 2018-04-02 13:53:20 -0700
• Engine revision c903c217a1
• Dart version 2.0.0-dev.43.0.flutter-52afcba357
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /Users/chaokong/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.3, Build version 9E145
• ios-deploy 1.9.2
• CocoaPods version 1.2.0
[✓] Android Studio (version 3.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
[✓] IntelliJ IDEA Community Edition (version 2017.3.5)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 23.2.2
• Dart plugin version 173.4548.30
[!] Connected devices
! No devices available
! Doctor found issues in 1 category.

+1, when I'm using a CustomScrollView the max extent is also wrong.
return new Scaffold(
    body: new CustomScrollView(
        slivers: [
            new SliverAppBar(...),
            new SliverList(...) // With SliverChildListDelegate()
        ]
    )
);

@Hixie is this just a framework bug? I don't see how it could be related to the speed of the phone, but maybe to the size of the screen?

weird. dunno what could cause it. probably a race condition somewhere, or some skia issue maybe.

@eseidelGoogle @Hixie Can you reproduce this phenomenon?

Is it still an issue with current stable v1.9.1+hotfix.6?

Hi,
I have the same problem. However it has nothing to do with scrolling fast.
In my case, there's a very specific scrolling point in which the maxScrollExtent changes.
 _scrollController.addListener(() {
      print(_scrollController.position.maxScrollExtent);
    });

I/flutter (31738): 1040.2171870263717
I/flutter (31738): 2765.9343740527434

Above that apparant threshold I have following notable widgets:

A horizontal listview
Image with dragtargets

Persists with current master 1.21.0-6.0.pre.129

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-6.0.pre.129, on Mac OS X 10.15.6 19G73, locale en-GB)
    • Flutter version 1.21.0-6.0.pre.129 at /Users/nevercode/dev/flutter
    • Framework revision 30aef0a3b9 (14 hours ago), 2020-07-30 14:20:21 -0700
    • Engine revision a9910e409c
    • Dart version 2.10.0 (build 2.10.0-1.0.dev 24c7666def)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/nevercode/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.47.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

[✓] Connected device (6 available)
    • Redmi Note 7 (mobile)       • 6345c469                                 • android-arm64  • Android 9 (API 28)
    • Nevercode’s iPhone (mobile) • b668e524315069f3db3661ac11ff1f66afafebdb • ios            • iOS 13.6
    • iPhone 11 Pro Max (mobile)  • 55C8466B-5367-492B-8EFE-EC45D980571F     • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-6 (simulator)
    • macOS (desktop)             • macos                                    • darwin-x64     • Mac OS X 10.15.6 19G73
    • Web Server (web)            • web-server                               • web-javascript • Flutter Tools
    • Chrome (web)                • chrome                                   • web-javascript • Google Chrome 84.0.4147.105

• No issues found!

oh, I'm using an iPhone 12mini, and when I swipe through a long list, the page zips toward the top or bottom. It feels out of control

oh, I'm using an iPhone 12mini, and when I swipe through a long list, the page zips toward the top or bottom. It feels out of control

has anybody solved this ? Having the same problem

issue still exist on flutfer 2.2.2

issue still exists on flutter  2.2.3

same on 3.0.5 ?!

I verified this issue using code sample provided in original description, ran it on latest stable version (3.16.7) on iPhone 6s device in which I didn't observe the reported behavior.  Attached is the video:
I replaced original images (as they were not accessible, with https://docs.flutter.dev/cookbook/images/network-image).
All images loaded properly while scrolling fast down the screen and all the way to the top as well.
https://github.com/flutter/flutter/assets/67046386/bf8e25e1-bd44-4ff0-9b98-252abb6a5c0d
Since the originally reported issue is not reproducible in latest version, I'll close this optimisitcally as resolved. If anybody in this thread still can replicate the issue using latest version, I suggest to file a new issue with all relevant details so that we can take a look.
Closing this issue as not reproducible.


fix: update BLOCK_PRODUCE_TIME of mainnet config

Changed
To change the configuration of BLOCK_PRODUCE_TIME on the mainnet to accommodate the changes in block_interval_seconds for Godwoken
Related Plan

https://github.com/godwokenrises/godwoken/discussions/1087

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@c2bb39c). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##             develop     #319   +/-   ##
==========================================
  Coverage           ?   65.35%
==========================================
  Files              ?       39
  Lines              ?     6179
  Branches           ?      238
==========================================
  Hits               ?     4038
  Misses             ?     2140
  Partials           ?        1

Continue to review full report in Codecov by Sentry.

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

Thanks!
The branch GitOfJason:update-mainnet-config didn't rebase origin/develop, and the deployments were failed.
So I do the git rebase work and create a new PR:

https://github.com/godwokenrises/light-godwoken/pull/320


Drygore axe not working from bank

Unequipped and enabled, /chop only allows 8x multiplier for Dwarven axe . Had to equip drygore axe to make it work. Says on the invention it should work from bank. Thanks 🙏

Unequipped and enabled, /chop only allows 8x multiplier for Dwarven axe . Had to equip drygore axe to make it work. Says on the invention it should work from bank. Thanks 🙏

its coded to work from bank.

Unequipped and enabled, /chop only allows 8x multiplier for Dwarven axe . Had to equip drygore axe to make it work. Says on the invention it should work from bank. Thanks 🙏

#5804

This definitely should be working from bank, if you're sure it isn't, posting a screenshot or something would be helpful.


Set up CI with Travis

Since we want this project to build with both GHC and GHCJS we should set up Travis so it builds with both of those.  That way contributors don't have to remember to test with both.  I'm not sure of the best way for getting Travis to work with GHCJS, so this ticket might take a little research.

I  just pushed something I've been using to the travis-test branch. I don't seem to have access on travis-ci.org to turn on testing for this repository - could you hit the switch for me @mightybyte?

I haven't looked at @imalsogreg's stuff, yet, but I have set up stuff to build with stack for both GHCJS and GHC. If you want that, I'd be happy to do it.

I just turned Travis on for this repo.  See if it works for you now.  If you've both got something in mind, maybe negotiate between yourselves the best option?

Hi @spl! How do you like to test? My script installs reflex-platform, which lets us use the cached ghcjs stuff. If the stack script handles caching too, that may work. Are there some other advantages of testing via stack, like maybe building against different stackage snapshots?

@imalsogreg: I think what you have is mostly fine. A couple of comments:
By “cached ghcjs stuff,” do you mean the Travis CI cache of the build of GHCJS? You can also do that with stack by caching the ~/.ghcjs directory.
The advantage of stack might be allowing you to use different snapshots, compiler versions, and dependency versions (e.g. by using a different stack.yaml for each). At this point, I don't think it's necessary. It might useful later to test multiple versions of GHCJS, GHC, ghcjs-dom, etc.
I'm not sure what the BENCH, TEST, ENCRYPTION_LABEL, and COMMIT_AUTHOR_EMAIL env vars are for.
One thing I've found helpful in catching errors in the cabal packaging process is to test the sdist rather than the repository itself. (During development, I think people regularly run the tests in the repository, but they rarely run the tests of the package as it would be uploaded to Hackage.) See, for example, spl/dlist@ea94dc70aa110ba493ee0b3354c1fb7d894644f2. The basic idea is to do cabal sdist, cabal unpack, cd into the unpackaged package, and do the build and test there. I used git tags to determine the version, but maybe there's another way to do it if you're not using tags. (Though I think it's a good idea to use tags anyway for release referencing.)

👍 to testing the sdist.  sdist problems have bitten me in the past.

@spl: +1 on the sdist build, and thanks for the example from dlist. I'll try to bring that over now. I see hvr's multi-ghc-travis does a: cabal info . | awk '{print $2; exit}', which will give us the the versioned sdist build directory until we make a git tag.
By "cached ghcjs stuff" I only meant the nix cache from reflex-frp.org.
The environment variables you mentioned are old cruft that indeed don't make sense in this file :)


Add code comments to for internal documentation for validateSignature()

I thinks it's significant to note that:

This is used both for top-level XML and assertions
Where in the XML we expect to find the signature (for this who don't immediately recognize Xpath syntax)
What happens in case there happen to be multiple signatures
What the return value is (which is obscured because control flow is passed to checkSignature.

Thanks :)


Create salt from the user identifier.

Create a class that will build and return a salt value based upon the value of the user ID.

Set up configuration for a number of iterations for Base64 encoding.

Completed.


Add GMD workaround

Codecov Report

Merging #81 (f535686) into main (1f47355) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #81   +/-   ##
=========================================
  Coverage     54.27%   54.27%
  Complexity       64       64
=========================================
  Files            22       22
  Lines          1229     1229
  Branches        163      163
=========================================
  Hits            667      667
  Misses          530      530
  Partials         32       32

Continue to review full report at Codecov.

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


Provider: add onOpen/onClose callbacks

Interesting! I didn't see any use case but looks worth including. Thanks! @kesha-antonov.


Fixed updating multiple files with /api/update

Seems like /__api__/update handling simultaneous updates of multiple files incorrectly. If options.filesToUpdate contains several files that are newer than lastFlush, it zippes only the last one and drops all other files.
May be I'm missing something, but what is the point of lastUpdatedIndex? Since filesToUpdate is always sorted by timestamps, if it contains any file that is newer than lastFlush, lastUpdatedIndex will always be equal to filesToUpdate.length-1. Sounds like break is missing in the original code. But variable name sounds strange if so, and the default value that is set before for loop should be changed also.
This problem was masking another one: same file names can appear in filesToUpdate multiple times and we should guard against repeatedly appending same file to resulting zip or PhoneGap Developer app will fail to extract it.
Background:
My dev environment consists of webpack --watch producing output files into www folder which is served by phonegap serve. And it is very annoying that phonegap's autoreloading were almost never able to send updates to the PhoneGap Developer app: when I change source files, app restarts content, but still uses old version of the code. The problem was because of webpack is writing all output files at once and PhoneGap's broken /__api__/update was unable to deliver all the updates to the app.

Hi @IlyaSkriblovsky
Thanks for the pr. I can't quite remember the reasoning for lastUpdatedIndex but if your code works better than what's there, I am more than happy to merge it in :)
The PhoneGap Developer App and connect-phonegap were made before the days of webpack so they aren't exactly the most compatible tools.
In any case, I think I should have these changes merged in by Monday or Tuesday. I'll have to test this pr thoroughly since /__api__/update is a critical part of connect-phonegap.
Thanks again!

The PhoneGap Developer App and connect-phonegap were made before the days of webpack so they aren't exactly the most compatible tools.

I can assure that they are working perfectly together except this autoreloading issue :)

Hrmm, I'm getting some strange behavior with this pr. I can confirm it works fine in android but for some reason my ios device isn't receiving the updates.
I can't quite figure out why right now, but it seems very strange that the android one works and not the ios. Furthermore, after reviewing the pr's code - it does seem like it should operate the update functionality better.
I'll have to dig more but I'm guessing the ios updates are being sent but not overwriting the file on device.
Just wanted to give a status update!

Thanks! I'll test it with iOS today too.
чт, 10 авг. 2017 г., 0:45 Tim Kim<EMAIL_ADDRESS>
Hrmm, I'm getting some strange behavior with this pr. I can confirm it
works fine in android but for some reason my ios device isn't receiving the
updates.
I can't quite figure out why right now, but it seems very strange that the
android one works and not the ios. Furthermore, after reviewing the pr's
code - it does seem like it should operate the update functionality better.
I'll have to dig more but I'm guessing the ios updates are being sent
but not overwriting the file on device.
Just wanted to give a status update!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/phonegap/connect-phonegap/pull/207#issuecomment-321390301,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3hRp6WTl-KmH9r4uJkOyGSg3d8n8Feks5sWihxgaJpZM4OtXxi
.

I confirm that updating doesn't work with iOS, but it isn't caused by this PR.
For some reason PhoneGap Developer on iOS sends HEAD request to /__api__/update just before normal GET request. Server updates req.session.lastFlush on HEAD request and when the application sends the second GET request it seems to the server that there is no pending changes and it responds with an empty zip archive. Simple != 'HEAD' check fixes autoupdating on iOS for me.
Seems like Android app doesn't send this HEAD preflight request, hence the difference in working.
Could you please give it a try now?

Ahh right - the ios content sync plugin likes to make sure the server is alive before making an actual call. I forgot about that haha.
Well, it all looks good on my end now. Thanks for the pr!

Thanks!


How trigger remove node functionality from inside custom node?

I could not find anything related inside docs and thought it's better to ask this as a question here!
I am designing a custom node, which has a button to remove a node from canvas, and wondering if there is any callback method that I can invoke on delete node operation. Here is the basic structure which I am after:

My question is how can I remove the node while triggering the removal operation from inside of the custom button?

You need to alter your elements array and remove the node for example by filtering it via its id. The onElementsRemove is just a callback that is fired when you select a node and press Backspace.

@mumairofficial  did you get it. since useState is asynchronous its hard to get last element. how did you find it?

@ananddoesembed I did not get your question but here is what I did, each node has a unique id and I have that id available inside my custom node element. I already had redux-store in my application and I synchronize it with the react-flow state. Then I simply dispatch remove the action and add node id as payload and synchronize react-flow and private context.

Can you share an example @mumairofficial?
Thanks.

@benobab now you could use the   useReactFlow() across your custom nodes to add, delete and get your nodes and edges. To delete a node, you simply need to get the nodes and filter by id.

I get now you can just do a filter to delete the node, but what about the edges that are connected to it? A filter on nodes state does not trigger onEdgesChange, so how can I delete edges that are connected to the node in the state?

I get now you can just do a filter to delete the node, but what about the edges that are connected to it? A filter on nodes state does not trigger onEdgesChange, so how can I delete edges that are connected to the node in the state?

You can import getConnectedEdges from reactflow, filter out edges that are connected, and update with setEdges.
Below is a code snippet that demonstrates the idea.
const handleDeleteOnClick = useCallback(() => {
      let nodeToDelete = null;
      const newNodes = nodes.reduce((acc, node) => {
        if (node.id === id) {
          nodeToDelete = node;
        } else {
          acc.push(node);
        }
        return acc;
      }, [] as Node[]);

      if (nodeToDelete !== null) {
        setNodes(newNodes);
        const connectedEdges = getConnectedEdges([nodeToDelete], edges);
        const newEdges = edges.filter((edge) => !connectedEdges.includes(edge));
        setEdges(newEdges);
      }
    }, [id, nodes, edges, setNodes, setEdges]);


Error on missing key

The issue is on config/initializers/rails_i18nterface/missing_translation.rb line 5
The blank validation from active record sends to i18n symbol key instead of string and key.split is crashing
Suggested fix:
use key.to_s.split

Good catch, I will release a new version with your fix. Thanks! :+1:

You are welcome


Adding NIP-07 compatibility

I'd like to take a stab at adding NIP-07 to this tool.
First, I'd like to plan out the work and make sure i've got a good understanding of what's needed. I'm still learning the nostr protocol, so please point out any mistakes or flaws that I may have made below!
The current flow for this tool is as follows (simplified and left some things out):

User adds their private/public nostr keys
User adds a delegatee private key and any restrictions
User clicks Sign delegation which sends all above info to the /nip26/sign route in app.py where it is signed and returned.
User can then create an event and click Sign event w/delegatee which sends the delegatee's private key and the delegation tag (and the rest of the event data) to the /event/sign route where it is signed by the delegatee's private key.

It looks like we would need to modify step 3 so that the the delegation token is generated/signed by the extension, which would enable the user to skip step 1 and leave their private key safely within the NIP-07 extension.

Yes, though to be clear there are (at least) two separate NIP-07 use cases possible:
Use Case A: (as you describe above) Sign a NIP-26 delegation token with the main identity key safely kept within the extension.
Use Case B: Load the delegatee PK into the extension and store its already-authorized delegation tag(s) in order to sign delegated events using the extension (in this scenario the main identity key would no longer be kept in the extension).

Limiting ourselves to just Use Case A for now:

Have some configuration option: if a NIP-07 extension is detected, select whether or not it should be used as the main identity. Probably a nice-to-have for the browser to request the delegator's pubkey (aka the main identity) from the extension in order to display it in the UI.
Same as above.
Pass the delegation token to the extension for the main identity key to sign and return.
Same as above.

Ok cool, makes sense. I think this may also require a PR to NIP-07 to add a new signDelegation function to window.nostr.
I'll first focus on adding that to NIP-07 and implementing it in nos2x, and then we can call that new function from within nostrtool to generate the delegation token.

As I mentioned in the NIP-07 issue discussion, I'm less sure NIP-07 needs to support the Use Case A here.
Certainly I could see a flow:

User has their main identity PK hot in the NIP-07 extension.
They go to a new Nostr web client and generate a brand new "hot" PK in the client.
User creates a NIP-26 authorization for that "hot" PK and signs it w/the NIP-07 extension.
User interacts with the web client using only their delegated "hot" PK.
User can then clear their main identity PK from their NIP-07 extension.

So basically a kind of imperfect way to bootstrap their way to keeping their main identity key more offline.
Hmm. Gahh, I keep see-sawing! This does seem like the most likely scenario for people to migrate off their main identity PKs.

Yeah I think saving a hot delegated key in each client sounds like they way to go. The user can then use the NIP-07 extension to sign the delegation, like the flow you describe above.
Leveraging events and a dedicated identity manager client, as described in https://github.com/nostr-protocol/nips/issues/247, also sounds like a great approach. I like the idea of using events to communicate between the relevant components, and it would help keep things more composable I suppose.
One thing I'd like to try is to create a "temp" event within nostrtool that has the hash of the unsigned delegation token as its id. This event can then be given to the NIP-07 extension to sign, resulting in the signed event having the 64-byte sig of the event id (which is the hash of the delegation token). It sounds a bit hacky and not the way NIP-07 is meant to be used, but i'm thinking it may result in a usable signature that can be used within the delegation tag.

Looks like this is blocked because NIP-07 doesn't yet support signing events with delegation tags, and also doesn't support signing delegation tokens.
In the meantime, I will fork nos2x and implement these two missing functions.

I've got this all working locally (haven't tested the actual delegation tag yet), going to clean up some things and open some PRs ⚡
https://user-images.githubusercontent.com/14062229/219693557-4e96a544-b9a4-465f-a425-ffce381bfc37.mov


.WHEN

Just to brainstorm.
Would it be possible to fill out the .WHAT, .WHERE, .WHY, .HOW, with a .WHEN?
.WHEN would store the DateTime when the variable was last defined.
Would this incur a significant amount of change in CORE.setting?
How much of a performance penalty would this incur?
How much more memory would this use?
Does this really need a use-case define? If so, I can provide a simple one:
User is tracking entries via a hash. Wants to only consider entries made within the last 5
minutes. Instead of creating ANOTHER hash entry, can always use %h<Entry>.WHEN

Is this enough to jumpstart a conversation?

$ time perl6 -e 'class Foo { }; for 1..1000000 { Foo.new }'

real	0m0.585s
user	0m0.629s
sys	0m0.051s

$ time perl6 -e 'class Foo { has $.WHEN = now; }; for 1..1000000 { Foo.new }'

real	1m12.477s
user	1m8.057s
sys	0m4.085s

This is a bit of a naive example, but the performance implications are pronounced enough to make me think its impractical.

What about creating a module “WHEN::Hash” for those who need it instead of imposing the overhead on everyone?
BTW, @jnthn can you publish your document about language design principles?

$ time perl6 -e 'class Foo { }; for 1..1000000 { Foo.new }'

real	0m0.585s
user	0m0.629s
sys	0m0.051s

$ time perl6 -e 'class Foo { has $.WHEN = now; }; for 1..1000000 { Foo.new }'

real	1m12.477s
user	1m8.057s
sys	0m4.085s

This is a bit of a naive example, but the performance implications are pronounced enough to make me think its impractical.

Yes. Yes, that is. I think I will do as AlexDaniel suggests and come up with a module.
Thanks for the discussion.

Well, this is unexpected!
$ time perl6 -e 'use nqp; class Foo { }; for 1..1000000 { Foo.new }'
real    0m0.863s
user    0m0.944s
sys     0m0.061s

$ time perl6 -e 'use nqp; class Foo { has $.WHEN = nqp::time_n(); }; for 1..1000000 { Foo.new }'

real    0m0.770s
user    0m0.832s
sys     0m0.081s

Of course, it really isn't that simple. This would occur at STORE, not new()

A DateTime or Instant is going to take longer to create than a Num

A DateTime or Instant is going to take longer to create than a Num

Yes, but all I really need is a num. Yes, the original message was about DateTime, but posix_t is good enough and still accomplishes the goal.

$ time perl6 -e 'use nqp; class Foo { }; for 1..1000000 { Foo.new }'

real	0m0.675s
user	0m0.700s
sys	0m0.056s

$ time perl6 -e 'use nqp; class Foo { has $.WHEN = nqp::time_n(); }; for 1..1000000 { Foo.new }'

real	0m5.542s
user	0m2.810s
sys	0m2.790s

We could do this all day. I guess I need to reboot and do this outside a VM, because this just doesn't  make sense!
$ time perl6 -e 'use nqp; class Foo { }; for 1..10000000 { Foo.new }'
real    0m5.941s
user    0m6.019s
sys     0m0.052s

$ time perl6 -e 'use nqp; class Foo { has $.WHEN = nqp::time_n(); }; for 1..10000000 { Foo.new }'

real    0m4.874s
user    0m4.980s
sys     0m0.040s

First, about the discrepancy: it turns out there's a performance bug lurking here. For an object with attributes, we would generate a BUILDALL. When the object had no attributes, we should have generated an empty, shared, one, but due to a bug did not do so. I've fixed that now.
The dynamic optimizer is getting increasingly sophisticated, and benchmarks like these are liable to prove little. Having fixed the BUILDALL production bug above, it turns out that:
class Foo { }; for 1..10000000 { Foo.new }

Has the object allocation optimized out completely thanks to escape analysis and resultant optimizations, meaning after optimization it turns into an empty loop body. It's not yet sophisticated enough to do the same trick for an object with an attribute that is initialized but then never read, but that's only a matter of time; it already knows that floor_n is pure if unused, so once the escape analyzer is smart enough, that'll turn into another benchmark proving nothing. :-)
As to the WHEN feature, I think that belongs in module space; getting the current timestamp is certainly not free, and storing it is not in the slightest bit free either. Imagine an array with a million elements; that's 8 megabytes worth of storage on timestamps for all of the elements, and it's difficult to optimize such things out. With ordinary lexicals it's easier, but that's also the case where it has the least storage cost. So it's not just a time issue (though that is an issue), but also a memory one.
All the same, I'm glad you opened the issue, because it led to a performance bug being fixed.
@AlexDaniel I can look into cleaning up and publishing such a document, but I'm not immediately sure where to put it; any suggestions?

@AlexDaniel I can look into cleaning up and publishing such a document, but I'm not immediately sure where to put it; any suggestions?

roast/docs/, and please take a look at this existing document: Policy For Implementation of New Features

To clarify, we will of course link to it from this repo too (from the issue template), but roast seems to be a more fitting place for it right now.

And to clarify even more, yes, such documents can be added to this repo too (by going through the whole process), but currently I don't see any good reason to do that. @jnthn if you feel like waiting for all reviewers to approve what's written in that upcoming document, then surely feel free to follow the process in this repo. Otherwise you can have a document that you'd be able to tweak at any time, which IMO makes more sense.

Well, module sapce it is. Thanks, everyone!


Hbase-28030: Adding unit test for FileNotFoundException when split a wal in SplitLogWorker

Basically, we add a unit test for reproducing the FileNotFoundException encountered in SplitLogWorker.java in case [HBase-20583].
Here is the workflow of reproducing that. First of all, the WAL file directory will be renamed to a new directory with “-splitting” postfix by the SplitLogManager at the Master. Then the SpitLogWorker at the region server would grab the task to finish it and after finishing ZkWatcher at master would first delete the WAL file and then delete the corresponding zknode.
When an IOException happening in between deleting WAL and deleting zknode, there would be condition check to decide whether to schedule that task again. If the regionerServer that executed that task dead when the resubmit check was being performed, (needs a very special crash time: after the task is finished but before the resubmitting is checked ), the task would be resubmitted but at the new round, because the WAL is deleted, we would encounter the FileNotFoundException as described in [HBase-20583].
To reproduce the unit test, we added a new HBaseFaultInjector class to inject the IOException and regionerserver shutdown after finishing the task but before the resubmitting check.

Thanks for opening a PR. In HBase, we usually first open a PR against the master branch, and then cherry-pick to other branches.
So please open a PR against master branch? Or does this only affect branch-2.3?


Optionally avoid formulas

Formulas are used so that the spreadsheet can be updated and maintain integrity but for most purposes the sheet will not need to be updated so let's just do the sums and right the results.

-safe


Do not change zoom when "Send to back" is applied

I've tried to use this feature to have a large card "group" other cards on the canvas by sending it behind them.
But each time I apply it, the view zooms all the way back out, and I have to zoom back in to where I was working.  This is definitely not a desirable behavior!  I'm trying to organize a very large canvas, and having to lose and re-find my place in the very process of organizing it, well, that doesn't work!
Any chance you can update the plug-in so either it simply doesn't do that, or that it's a toggleable option.
Thanks!

Fixed in 0.0.4, thanks for the report!


[Feature] GGUF support

Checklist

[X] 1. If the issue you raised is not a feature but a question, please raise a discussion at https://github.com/sgl-project/sglang/discussions/new/choose Otherwise, it will be closed.
[X] 2. Please use English, otherwise it will be closed.

Motivation
Hi! Since .gguf format is already supported by vLLM, is it be possible to add support for it in SGLang server?
Related resources
No response

It should be easy. Could you give us an example command you want to try?

python -m sglang.launch_server --model-path /path/to/model.gguf

@remixer-dec @merrymercy
How to serve a gguf model? VLLM provided a tutorial for that like this https://docs.vllm.ai/en/latest/getting_started/examples/gguf_inference.html
But how to inference with sglang?  @merrymercy  could you please provide a command to do that?
example for this model: TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF

python -m sglang.launch_server --model-path /path/to/model.gguf

If you haven't tried it, please don't reply.. This doesn't work at all.
python -m sglang.launch_server --model-path /home/xyzliang/data/project/oil/gguf/v3_merge_Q4_K_M.gguf --port 30000 --mem-fraction-static 0.8
WARNING 11-08 15:09:00 cuda.py:22] You are using a deprecated `pynvml` package. Please install `nvidia-ml-py` instead, and make sure to uninstall `pynvml`. When both of them are installed, `pynvml` will take precedence and cause errors. See https://pypi.org/project/pynvml for more information.
[2024-11-08 15:09:08] server_args=ServerArgs(model_path='/home/xyzliang/data/project/oil/gguf/v3_merge_Q4_K_M.gguf', tokenizer_path='/home/xyzliang/data/project/oil/gguf/v3_merge_Q4_K_M.gguf', tokenizer_mode='auto', skip_tokenizer_init=False, load_format='auto', trust_remote_code=False, dtype='auto', kv_cache_dtype='auto', quantization=None, context_length=None, device='cuda', served_model_name='/home/xyzliang/data/project/oil/gguf/v3_merge_Q4_K_M.gguf', chat_template=None, is_embedding=False, host='<IP_ADDRESS>', port=30000, mem_fraction_static=0.8, max_running_requests=None, max_total_tokens=None, chunked_prefill_size=8192, max_prefill_tokens=16384, schedule_policy='lpm', schedule_conservativeness=1.0, tp_size=1, stream_interval=1, random_seed=879353602, constrained_json_whitespace_pattern=None, decode_log_interval=40, log_level='info', log_level_http=None, log_requests=False, show_time_cost=False, api_key=None, file_storage_pth='SGLang_storage', enable_cache_report=False, watchdog_timeout=600, dp_size=1, load_balance_method='round_robin', dist_init_addr=None, nnodes=1, node_rank=0, json_model_override_args='{}', enable_double_sparsity=False, ds_channel_config_path=None, ds_heavy_channel_num=32, ds_heavy_token_num=256, ds_heavy_channel_type='qk', ds_sparse_decode_threshold=4096, lora_paths=None, max_loras_per_batch=8, attention_backend='flashinfer', sampling_backend='flashinfer', grammar_backend='outlines', disable_flashinfer=False, disable_flashinfer_sampling=False, disable_radix_cache=False, disable_regex_jump_forward=False, disable_cuda_graph=False, disable_cuda_graph_padding=False, disable_disk_cache=False, disable_custom_all_reduce=False, disable_mla=False, disable_penalizer=False, disable_nan_detection=False, enable_overlap_schedule=False, enable_mixed_chunk=False, enable_torch_compile=False, torch_compile_max_bs=32, cuda_graph_max_bs=160, torchao_config='', enable_p2p_check=False, triton_attention_reduce_in_fp32=False, num_continuous_decode_steps=1)
WARNING 11-08 15:09:14 cuda.py:22] You are using a deprecated `pynvml` package. Please install `nvidia-ml-py` instead, and make sure to uninstall `pynvml`. When both of them are installed, `pynvml` will take precedence and cause errors. See https://pypi.org/project/pynvml for more information.
WARNING 11-08 15:09:14 cuda.py:22] You are using a deprecated `pynvml` package. Please install `nvidia-ml-py` instead, and make sure to uninstall `pynvml`. When both of them are installed, `pynvml` will take precedence and cause errors. See https://pypi.org/project/pynvml for more information.
[2024-11-08 15:09:22] Traceback (most recent call last):
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/transformers/utils/hub.py", line 403, in cached_file
    resolved_file = hf_hub_download(
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/huggingface_hub/utils/_deprecation.py", line 101, in inner_f
    return f(*args, **kwargs)
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 106, in _inner_fn
    validate_repo_id(arg_value)
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 154, in validate_repo_id
    raise HFValidationError(
huggingface_hub.errors.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/home/xyzliang/data/project/oil/gguf/v3_merge_Q4_K_M.gguf'. Use `repo_type` argument if needed.

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

Traceback (most recent call last):
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/sglang/srt/managers/detokenizer_manager.py", line 216, in run_detokenizer_process
    manager = DetokenizerManager(server_args, port_args)
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/sglang/srt/managers/detokenizer_manager.py", line 72, in __init__
    self.tokenizer = get_tokenizer(
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/sglang/srt/hf_transformers_utils.py", line 129, in get_tokenizer
    tokenizer = AutoTokenizer.from_pretrained(
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py", line 844, in from_pretrained
    tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py", line 676, in get_tokenizer_config
    resolved_config_file = cached_file(
  File "/opt/anaconda3/envs/BDCI2024/lib/python3.10/site-packages/transformers/utils/hub.py", line 469, in cached_file
    raise EnvironmentError(
OSError: Incorrect path_or_model_id: '/home/xyzliang/data/project/oil/gguf/v3_merge_Q4_K_M.gguf'. Please provide either the path to a local folder or the repo_id of a model on the Hub.

@XYZliang maybe read the previous comment?  It's not supposed to be working, I replied the command that I was asked for

@XYZliang maybe read the previous comment? It's not supposed to be working, I replied the command that I was asked for

Sorry, I didn't pay attention to the users who commented...

not work. error is:
(python311) wanghaikuan@VM-2-13-ubuntu:~/code/qwen25-3b$ python -m sglang.launch_server --model-path Qwen2.5-3B-Instruct-q5_k_m.gguf  --port 8075 --host <IP_ADDRESS> --mem-fraction-static 0.2 --chat-template template.json
[2024-11-14 11:42:24] server_args=ServerArgs(model_path='Qwen2.5-3B-Instruct-q5_k_m.gguf', tokenizer_path='Qwen2.5-3B-Instruct-q5_k_m.gguf', tokenizer_mode='auto', skip_tokenizer_init=False, load_format='auto', trust_remote_code=False, dtype='auto', kv_cache_dtype='auto', quantization=None, context_length=None, device='cuda', served_model_name='Qwen2.5-3B-Instruct-q5_k_m.gguf', chat_template='template.json', is_embedding=False, host='<IP_ADDRESS>', port=8075, mem_fraction_static=0.2, max_running_requests=None, max_total_tokens=None, chunked_prefill_size=8192, max_prefill_tokens=16384, schedule_policy='lpm', schedule_conservativeness=1.0, tp_size=1, stream_interval=1, random_seed=995653076, constrained_json_whitespace_pattern=None, watchdog_timeout=300, log_level='info', log_level_http=None, log_requests=False, show_time_cost=False, enable_metrics=False, decode_log_interval=40, api_key=None, file_storage_pth='SGLang_storage', enable_cache_report=False, dp_size=1, load_balance_method='round_robin', dist_init_addr=None, nnodes=1, node_rank=0, json_model_override_args='{}', enable_double_sparsity=False, ds_channel_config_path=None, ds_heavy_channel_num=32, ds_heavy_token_num=256, ds_heavy_channel_type='qk', ds_sparse_decode_threshold=4096, lora_paths=None, max_loras_per_batch=8, attention_backend='flashinfer', sampling_backend='flashinfer', grammar_backend='outlines', disable_flashinfer=False, disable_flashinfer_sampling=False, disable_radix_cache=False, disable_jump_forward=False, disable_cuda_graph=False, disable_cuda_graph_padding=False, disable_disk_cache=False, disable_custom_all_reduce=False, disable_mla=False, disable_penalizer=False, disable_nan_detection=False, enable_overlap_schedule=False, enable_mixed_chunk=False, enable_torch_compile=False, torch_compile_max_bs=32, cuda_graph_max_bs=160, torchao_config='', enable_p2p_check=False, triton_attention_reduce_in_fp32=False, num_continuous_decode_steps=1, delete_ckpt_after_loading=False)
Traceback (most recent call last):
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/transformers/configuration_utils.py", line 668, in _get_config_dict
config_dict = cls._dict_from_json_file(resolved_config_file)
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/transformers/configuration_utils.py", line 771, in _dict_from_json_file
text = reader.read()
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 8: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/sglang/launch_server.py", line 16, in
raise e
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/sglang/launch_server.py", line 14, in
launch_server(server_args)
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/sglang/srt/server.py", line 457, in launch_server
launch_engine(server_args=server_args)
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/sglang/srt/server.py", line 429, in launch_engine
tokenizer_manager = TokenizerManager(server_args, port_args)
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/sglang/srt/managers/tokenizer_manager.py", line 103, in init
self.model_config = ModelConfig(
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/sglang/srt/configs/model_config.py", line 46, in init
self.hf_config = get_config(
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/sglang/srt/hf_transformers_utils.py", line 66, in get_config
config = AutoConfig.from_pretrained(
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/transformers/models/auto/configuration_auto.py", line 1017, in from_pretrained
config_dict, unused_kwargs = PretrainedConfig.get_config_dict(pretrained_model_name_or_path, **kwargs)
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/transformers/configuration_utils.py", line 574, in get_config_dict
config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs)
File "/home/wanghaikuan/anaconda3/envs/python311/lib/python3.10/site-packages/transformers/configuration_utils.py", line 672, in _get_config_dict
raise EnvironmentError(
OSError: It looks like the config file at 'Qwen2.5-3B-Instruct-q5_k_m.gguf' is not a valid JSON file.

It should be easy to support. Contributions are welcome! Or you can convert that to HF format.

Please take a look at this PR: https://github.com/sgl-project/sglang/pull/2215

supported by https://github.com/sgl-project/sglang/pull/2215

Let's go! Thank you!

The output quality differs a lot from llama.cpp with the same model. It just kees outputting nonsense.

The same model loaded in vLLM works totally fine as well

Just updated SGLang and tried to load GGUF models: The output quality differs a lot from llama.cpp with the same model. It just kees outputting nonsense in SGLang.

@remixer-dec
Applying this patch should be good

@zhengy001 it is better (at least no collapse), but it keeps generating text without ever stopping

@zhengy001 it is better (at least no collapse), but it keeps generating text without ever stopping (by default)  P.S. if you manually pass stop sequence

in each request, it does stop correctly, but such information should be loaded from model metadata and, if specified, from --chat-template template.
Currently when custom chat template is specified: for GPTQ model:  vs GGUF:

Model EOS is not loaded correctly.
Pls check this PR
https://github.com/sgl-project/sglang/pull/2475/files


Can't purge Dead Letter Queue Messages (and maybe not normal Messages)

Version 5.0.2
Connect to service bus in Azure
Expand Topics
Find topic with Dead letters
Right-click and select Purge Dead Letter Queue Messages
This pop-ups in the log:
<15:54:13> Exception: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I have recently got a new computer, where I have just copied over my folder with Service Bus Explorer. Don't know if that has anything to do with it.

It might also be that some required assembly is missing. A log from FusLogVw should tell us.

Is it correctly understood, that I need to install Visual Studio in order to get FusLogVw or can I do something smaller than VS?

I hope not. There is an solution mentioned at https://stackoverflow.com/a/34075957/6850500. Most likely you need to update the path for newer Windows and .NET Versions. On my machine it is located in C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64.
In case it requires that Windows SDK is installed it is described further down on that StackOverflow page how to configure assembly load logging without fuslogvw.

You might want to take a look at https://github.com/awaescher/Fusion also, which seems a good alternative, but it might not solve potential SDK setup needs.

@2ndcahl did you solve your problem? Did you miss any assembly? Did you find the root cause?

I have not had time to look at the problem yet, but I have it on my to-do list. I will keep you posted.

Hi. I have now got some more logging, using FusLogViwer
*** Assembly Binder Log Entry  (01-06-2021 @ 11:29:35) ***
The operation failed.
Bind result: hr = 0x80131040. No description available.
Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  C:\Tools\Service Bus Explorer\ServiceBusExplorer.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
LOG: Appbase = file:///C:/Tools/Service Bus Explorer/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = ServiceBusExplorer.exe
Calling assembly : System.Threading.Tasks.Extensions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51.
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Tools\Service Bus Explorer\ServiceBusExplorer.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Tools/Service Bus Explorer/System.Runtime.CompilerServices.Unsafe.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\Tools\Service Bus Explorer\System.Runtime.CompilerServices.Unsafe.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Run-from-source setup phase failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

I logged a purge using v5.0.2 on my computer and I see similar complaints about that assembly in the log. However, the purge works and there is no exception in the Service Bus window log.
Perhaps your Windows/.NET or anti-virus has some kind of policy which does not accept loading mismatched assemblies. There was an automatic warning about one of the Nuget packages that needed upgrading due to a security issue, which was done. Please try 5.0.3 and see if that makes a difference. If 5.0.4 has been released, try that one instead.

Just tried some more and I got it working. Seems like I might be doing something wrong when I update SBE as I have just downloaded a fresh 5.0.3 without copying any configuration files into the new version. Maybe a breaking difference of the configuration files from SBE 4 to 5?
I copy Properties.xml and ServiceBusExplorer.exe.Config, but should I only copy Properties.xml ?

@2ndcahl, good thing you found it. Do not copy servicebusExplorer.exe.config, only extract the  section and copy it to the new one. You know that since a version 4.x release you can store the namespace settings and other things in a file in your user profile?

@ErikMogensen I have been looking at option to store the configuration in my User Profile and might change to that. The reason I have not is that I have SBE on my OneDrive so the configuration is shared between my computers and backed up if anything happened to my computer. Not very important information, just nice that it is setup from the get-go.
I will close this issue as an Error 40 ;-)

I'd fixed the original problem in version 5.0.18 by adding the section below into the C:\ProgramData\chocolatey\lib\servicebusexplorer\tools\ServiceBusExplorer.exe.config file.  I'd say that this is a bug that should be fixed.
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>

I'd fixed the original problem in version 5.0.18 by adding the section below into the C:\ProgramData\chocolatey\lib\servicebusexplorer\tools\ServiceBusExplorer.exe.config file. I'd say that this is a bug that should be fixed.
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>

For maximum compatibility you should set the upper version bound appropriately:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
  </dependentAssembly>
</assemblyBinding>

I did the change @IanKemp suggested, thanks very much!

I checked the 5.0.18 and the 6.0.0 releases on GitHub and they have:
<dependentAssembly>
    <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
</dependentAssembly>

and:
<dependentAssembly>
   <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
   <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
</dependentAssembly>

respectively. Therefore, I assume you were using a config file from an older release which may cause problems. We haven't provided any update instructions so this is a common issue. I recommend that you configure the tool to store settings and connection string in the User Configuration File. That way those settings are kept between upgrades.


feat: add rubocop support

Fix #2699

Thank you!
The solution implemented did not quite work for me, some of us rubyists are not using bundler.
It works if I configure it to omit the bundle command:
require'lspconfig'.rubocop.setup{
  cmd = { 'rubocop', '--lsp' }
}

oh . I just see this in your linked pr . it's emacs elgot start server command . so I just copy this if not work could you make a pr for it ?
(add-to-list 'eglot-server-programs '(ruby-mode . ("bundle" "exec" "rubocop" "--lsp")))

https://github.com/neovim/nvim-lspconfig/pull/2706


Fix code scanning alert - Server-side request forgery

Tracking issue for:

[x] https://github.com/marck283/EventManager/security/code-scanning/27

This issue is being closed because a fix has already been released.


Ronit Thomas Debugging Event

Prove It!!!   Localhost frontend to backend debugging on your project.  This will be scored with one of the following.
2.0:  A more valuable debugging session according to your project and data structures
1.8:  Completing example below, but adapted to your software
1.4:  Completing the example below using Teacher software, but your hardware
1.1:  Failure to complete this task on your hardware
Create an Issue capturing frontend to backend debugging/code tracing running your CPT project.  Teacher will illustrate, but you will need to do this on your own code and check out with Seed Review.
Trace the following...
Start backend using Debugging
Set break point at the beginning of endpoint code
Start in frontend with split screen loading source for an API fetch using GET.
Set break point on fetch, inside .then, inside .fetch
Run frontend, screen capture break at fetch while examining Body
Press play on frontend, observe stop inside of backend
Press step over on backend until you have obtained data from database, screen capture Python Object
Press play button to end backend debugging session.
Return to frontend debug session
Step in until you see data, screen capture capturing break point and Data.

Start backend using Debugging:

Set break point at the beginning of endpoint code:

Start in frontend with split screen loading source for an API fetch using GET:

Set break point on fetch, inside .then, inside .fetch:

Run frontend, screen capture break at fetch while examining Body:

Press play on frontend, observe stop inside of backend:

Press step over on backend until you have obtained data from database, screen capture Python Object:

Press play button to end backend debugging session:

Return to frontend debug session:

Step in until you see data, screen capture capturing break point and Data:


createReplica not downloading any result

I am trying to create replica using ArcREST version 3.5_Release. The script works well, but the only problem is that it won't download the filegdb directly (this means nothing will be downloaded in out_path folder). I need to manually copy the url from result and download zip file. I am wondering if there is a way to download the filegdb directly. The script and result are shown below.
Script:
result = fs.createReplica(replicaName='Demo',
layers=[0],
layerQueries={"0":{"where": "COUNTY_LAB = 'Ocean County'" }},
returnAttachments=True,
attachmentsSyncDirection='bidirectional',
dataFormat="filegdb",
out_path=outDir)
Result:
{u'replicaID': u'', u'responseUrl': u'http://services1.arcgis.com/QWdNfRs7lkPq4g4Q/ArcGIS/rest/services/Envr_admin_public_access_3857/replicafiles/9dcab46019a045cbbcb4612c44eaf89.zip', u'transportType': u'esriTransportTypeUrl', u'replicaName': u'Demo'}

I too am having the same problem. The only difference is I am using v3.0.1. If I run the following code:
result = fs.createReplica(replicaName='Demo', layers='0', keep_replica=False,
                          layerQueries=None,
                          geometryFilter=None,
                          returnAttachments=False,
                          returnAttachmentDatabyURL=False,
                          returnAsFeatureClass=True,
                          out_path='C:\\temp')

print result

Result:
[]
The result is an empty list object. Setting returnAsFeatureClass=False, the result object is the same as the user above, the url to the zip file.

issue resolve with latest commit for v3.5.4 in dev.  Thank you for bringing this to our attention.
See commit 6a0cea9c71a5738542fa3636a1ed1c79eacd52d4

@achapkowski Do you know why the create replica function doesn't return replicaID? Thanks!


The NewChatMembersCommand.php does not work

Required Information

Operating system: Debian GNU/Linux 8.6 (jessie)
PHP version: PHP 5.6.26-0+deb8u1 (cli) (built: Sep 21 2016 12:37:50)
PHP Telegram Bot version:  Version 0.45.0
Using MySQL database: no
MySQL version:
Update Method: Webhook
Self-signed certificate:  no
RAW update (if available):
{"update_id":4005401xx, "message":{"message_id":114,"from":{"id":32264xxxx,"first_name":"_","last_name":"xxxx","username":"txxyi","language_code":"en-US"},"chat":{"id":-20152xxxx,"title":"Test Group","type":"group","all_members_are_administrators":true},"date":1502760641,"new_chat_participant":{"id":108xxxx62,"first_name":"xx","last_name":"xxx"},"new_chat_member":{"id":1083xxxx2,"first_name":"xx","last_name":"xxx"},"new_chat_members":[{"id":1083xxxx2,"first_name":"xx","last_name":"xxx"}]}}

Expected behaviour

Send welcome message exactly like NewChatMembersCommand.php  do.
Actual behaviour

Not message sent
Extra details

Other commands like /whoami work fine.
Try to enable or disable bot privacy but problem still there.
Extra
Thanks for providing this great code.
Really appreciate any suggestions.

Update to Version 0.47.1 but still no luck to get it work

I've updated the example-bot commands, so please give this one a try:
https://github.com/php-telegram-bot/example-bot/blob/master/Commands/NewchatmembersCommand.php
It works perfectly for me.

@noplanman  Thanks a lot!
It works perfectly now!
Best regards!


BUG - Video is unavailable

Script version
5.6
Describe the bug
Videos on the Formula 1 channel are unable to view because youtube thinks the video is not open on youtube but somewhere else.
Expected behavior
The video should play normally.
Screenshots

Desktop (please complete the following information):

OS: [W11Pro]
Browser [chrome]
Version [125.0.6422.142]

Additional context

Viral
### 📺📱Watch👉Click to Access the Link (Viral Video)
### 📺📱Watch👉Click to Access the Link (Viral Video)

Viral
### 📺📱Watch👉Click to Access the Link (Viral Video)
### 📺📱Watch👉Click to Access the Link (Viral Video)

Viral
### 📺📱Watch👉Click to Access the Link (Viral Video)
### 📺📱Watch👉Click to Access the Link (Viral Video)

Viral
### 📺📱Watch👉Click to Access the Link (Viral Video)
### 📺📱Watch👉Click to Access the Link (Viral Video)

Viral
### 📺📱Watch👉Click to Access the Link (Viral Video)
### 📺📱Watch👉Click to Access the Link (Viral Video)

➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭
➭


While generating cert for host, can we set Common Name to host

Right now, the Common Name  is "rcgen self signed cert", can we change to the host to which we are generating cert?

cert_params.distinguished_name = {
    let mut dn = DistinguishedName::new();
    dn.push(DnType::CommonName, host); // Set "Issued To" to the hostname
    dn
};

Thanks