Upgrade to Julia 1.3+, use JLL package to provide FFTW

This is the first package where I've tried to mix JLL packages with more
custom installation procedures, but it seems to more-or-less work.

Appveyor 1.3 x86 failure will be fixed in rc5

Lookin' good! Would it be possible to use a BinaryBuilder-provided MKL upon request instead of using Conda?

Lookin' good! Would it be possible to use a BinaryBuilder-provided MKL upon request instead of using Conda?

https://github.com/JuliaBinaryWrappers/MKL_jll.jl/releases/tag/MKL-v2019.0.117%2B0

Yeah, I know it exists, I'm just not sure how one would restructure the provider choice since it's actually loading a package rather than just picking up an existing library.

I think just like how we do this:
https://github.com/JuliaMath/FFTW.jl/pull/122/files#diff-ed74277d7f2e98f12cf51e6b8be90705R44-R48
We could generate a few lines to load in MKL_jll.


release/1.3.x: Cumulative fixes for release/1.3.x

Apply patches which were fixed branch main to branch release/1.3.x:

aot debug: Fix a few NULL dereferences on errors (#3273)
aot debug: Fix a NULL dereference (#3274)
aot debug: Process lldb_function_to_function_dbi only for C (#3278)
Revert "lldb_function_to_function_dbi: A hack to avoid crashing on C++ methods (#3190)" (#3281)
Fix warnings/issues reported in Windows and by CodeQL/Coverity (#3275)
thread mgr: Free aux stack only when it was allocated (#3282)
interp: Restore context from prev_frame after tail calling a native f
unction (#3283)
Sync simd opcode definitions spec (#3290)
Add more checks in wasm loader (#3300)
Fix posix_fadvise error handling (#3323)
Fix readdir for posix (#3339)
wasm loader: Fix checks for opcode ref.func and opcode else (#3340)
Enhance wasm loader checks for opcode br_table (#3352)
CI: Use macos-13 instead of macos-latest (#3366)

LGTM


Sending too many files froze the Android app

Describe the bug
I have successfully used the android app to send 1k images over to my Windows computer.
I have selected the DCIM folder with 11k files in it. After a few seconds the files count and the total size of 85GB was shown (this supprized me as I cannot transfer this folder with an USB due to it hangs forever to show the files).
The app clearly froze, I have reset the app (force stop + delete data + cache) and retried.
It clearly hangs.
I was waiting for 10 minutes to see if it resolves, but not.
To define the frozen app:
Nothing happens if I touch any buttons including the Receive, or device list refresh,
I have tried to first press the device I wanted the files to be sent to.
I even tried long pressing emulating a simple press for a slow ui.
To reproduce

Open the android app
Select aa images folder to send with 10k+ files with 80GB+ content.
Wait a few seconds to see the selection ready on the screen.
Try to press any other button.

Expected behavior
To find some loading screen, or at least some "busy doing stuff" label, or some moving components to visualize it is not frozen.
It might be busy sending the metadata over.
Screenshots
No response
Desktop (please complete the following information)
No response
Smartphone (please complete the following information)
Pixel 6
Android 14
v1.8.0
Additional context
No response

Wow its a huge files to send over wifi

I could actually tether with the USB cable getting a wired connection. I do not mind the speed so I am using wifi. All types of the USB file transfers seems to fail at this file count.
Would it be possible to get past the frozen screen?
Do you have an idea why it hangs?
I can attach an adb if that would help. I do not know what to run, I use adb mostly to debug chrome.

I could actually tether with the USB cable getting a wired connection. I do not mind the speed so I am using wifi. All types of the USB file transfers seems to fail at this file count. Would it be possible to get past the frozen screen? Do you have an idea why it hangs? I can attach an adb if that would help. I do not know what to run, I use adb mostly to debug chrome.

To transfer hundreds of gigabytes, I personally use Syncthing. However, it's a synchronization application, so there are some drawbacks. You can temporarily synchronize the entire contents of the DCIM folder with your computer through it, so you don't have to copy all the necessary content to another folder strictly for synchronization. Because additional copying requires free memory for this content, and it also wears out the lifespan of your storage device.
Also, of course, it supports resumption of copying/synchronization, so in case of a connection loss, you can resume copying/synchronization without the need to start everything from the beginning.

I have added a hotfix apk to the newest v1.13.1 release. Please checkout if it can select a large number of files without freezing:
https://github.com/localsend/localsend/releases/download/v1.13.1/LocalSend-1.13.1--pick-many-files-fix.apk

I have added a hotfix apk to the newest v1.13.1 release. Please checkout if it can select a large number of files without freezing:
https://github.com/localsend/localsend/releases/download/v1.13.1/LocalSend-1.13.1--pick-many-files-fix.apk

This works. Thanks


TLSv1.3 requires a certificate before certificate callback is invoked

The following commit baa45c3e74e to pre9 made it a requirement that a certificate be specified in the SSL (either set before SSL_accept() or via SSL_CTX) before a TLSv1.3 connection can be established. This means that there must be a TLSv.1.3-capable certificate installed before the cert callback is invoked.
tls_early_post_process_client_hello() -> ssl_choose_server_version -> ssl_version_supported() -> is_tls13_capable()
is_tls13_capable() checks for PSK to be configured or a compatible certificate.
This is a significant problem if SNI is being used to select the certificate, since the certificate check (is_tls13_capable) is done before the certificate is selected.
The early client hello callbacks could be used to select the certificate, but that means the certificate callback is pointless.

Hmmm...perhaps the simplest thing to do is to update the is_tls13_capable function to return 1 if the certificate callback is present.

I wasn't sure of a solution; but that sounds reasonable. I could make a PR.
Thanks.

Already on it.


feat(server): Update JSONSchemaFaker not to create fake object properties

Updates the default settings for JSONSchemaFaker so the fillProperties setting is false. This prevents the schema faker from creating random properties in the result objects.

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

2 of 2 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.007%) to 82.931%

Totals

Change from base Build<PHONE_NUMBER>2:
0.007%

Covered Lines:
3282

Relevant Lines:
4057

💛  - Coveralls


Selected Channel for products get deselected after saving the product.

Framework Version: 0.1.6

Framework Version: 0.1.6

Fixed


Streaming Agent responses

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.

Example Code
from langchain.chat_models import ChatOpenAI
from langchain.tools import Tool
from src.utils.search import SearchUtil
from langchain.agents import AgentExecutor, create_openai_tools_agent, AgentExecutorIterator
from langchain.schema import SystemMessage
from langchain import hub

prompt = hub.pull("hwchase17/openai-tools-agent")
llm = ChatOpenAI()
multiply_tool = Tool(
    name="multiply",
    description="Multiply two numbers",
    func=lambda x, y: x * y,
)

tools = [multiply_tool]
agent = create_openai_tools_agent(llm, tools,  prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

async for chunk in agent_executor.astream({'input': 'write a long text'}):
    print(chunk, end="|", flush=True)

Error Message and Stack Trace (if applicable)
No response
Description
I am having an issue with streaming chunks from an instance of an AgentExecutor, Here is a very simple high level example of what I am doing
from langchain.chat_models import ChatOpenAI
from langchain.tools import Tool
from src.utils.search import SearchUtil
from langchain.agents import AgentExecutor, create_openai_tools_agent, AgentExecutorIterator
from langchain.schema import SystemMessage
from langchain import hub

prompt = hub.pull("hwchase17/openai-tools-agent")
llm = ChatOpenAI()
multiply_tool = Tool(
    name="multiply",
    description="Multiply two numbers",
    func=lambda x, y: x * y,
)

tools = [multiply_tool]
agent = create_openai_tools_agent(llm, tools,  prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

async for chunk in agent_executor.astream({'input': 'write a long text'}):
    print(chunk, end="|", flush=True)

When I apply the same chunk loop on a llm or a chain, their implementation of astream seems to be fine. but when I do it on an agent, I get everything back in an object such as:
{'output': 'llm response', intermediate_steps=[],  .. } |
I found some recent discussions with people facing the same issue and it seems to be a bug with the AgentExecutor implementation.
System Info
langchain==0.1.5
langchain-community==0.0.17
langchain-core==0.1.18
langchain-openai==0.0.5
langchainhub==0.1.14

Hi @yahyaakli, I'm not a maintainer but noticed that the agents/how_to/streaming documentation says:

Use the astream_events API in case the default behavior of stream does not work for your application (e.g., if you need to stream individual tokens from the agent or surface steps occuring within tools).

If streaming individual tokens in the final output is what you are after, you could implement something like the following:
async for event in agent_executor.astream_events({"input": input_string}, version="v1"):
    if event["event"] == "on_chat_model_stream":
        chunk = event["data"]["chunk"]
        print(chunk.content, end="")

Note that this is a beta API. Not sure if this is a robust or good solution.

Hi @ccurme thank you so much for your help, your suggestion worked for me !!

Not a bug, but arguably a bad API since it doesn't behave like folks expect it to. The stream api of agent executor is designed to stream action/observation pairs, and will NOT stream tokens. Use astream_events like @ccurme suggested.

Hi @yahyaakli, I'm not a maintainer but noticed that the agents/how_to/streaming documentation says:

Use the astream_events API in case the default behavior of stream does not work for your application (e.g., if you need to stream individual tokens from the agent or surface steps occuring within tools).

If streaming individual tokens in the final output is what you are after, you could implement something like the following:
async for event in agent_executor.astream_events({"input": input_string}, version="v1"):
    if event["event"] == "on_chat_model_stream":
        chunk = event["data"]["chunk"]
        print(chunk.content, end="")

Note that this is a beta API. Not sure if this is a robust or good solution.

thank you this helps a lot


Ignore config and just upload function code

As mentioned in #300.

Please, run make fmt and push the changes again.

Done, Sorry. Also, did you hear about just? I've replace all my Makefiles with that.


Change test files to be .luau

as the file extension .luau is now supported it only seems fitting to change the test files to reflect that
I did a quick test and this seems to work fine

please ignore the error it was reported in #171 but it shows that the file that errored is in fact luau 🥳
if you think I changed some code where I shouldn't have please suggest a change or if you have write access just remove it!
this change isn't exactly necessary but it helps to start building an ecosystem of .luau soon we could replace every .lua file in this repository with .luau
This shouldn't be a quick change please take time to ensure everything is working properly.

As mentioned on the relevant issue, we should take small steps to adopt the new extension. Right now merging this will mean that we lose syntax highlighting, language attribution on GitHub, quality of editor integration in various editors, etc., for all of these files.
Please be patient; we can take a look at renaming the internal files to use .luau extension once these change, but I don't think it's the right time yet.

ah I understand

I'm going to close this for now. We may come back to this in the future, but for now this change would result in some issues on our end and may get difficult to merge across the two repositories so it would be better if we handled this internally.

Heya, I believe it is possible to include syntax highlighting for a language on GitHub, by simply contributing to GitHub's syntax highlighting library, "linguist".
https://github.com/github/linguist/blob/master/CONTRIBUTING.md

Heya, I believe it is possible to include syntax highlighting for a language on GitHub, by simply contributing to GitHub's syntax highlighting library, "linguist".

That would be nice to add.
I'm not ready to make it myself right now (even though I have experience in TextMate grammars), so maybe some next time or someone else in the team/community.

An update on this, I think I'll be able to implement it myself, seems pretty trivial... But before I do so, I'd need to know:

What the preferred color for the language would be? (#00a2ff, perhaps?)
As for the group parameter, is luau considered a child language of lua?

# group                 - Name of the parent language. Languages in a group are counted
#                         in the statistics as the parent language.

Lastly, we would need to add luau's grammar to ace, which is the syntax highlighting library that linguist uses.

UPDATE: This would have to be put on hold for the timebeing as it looks like GitHub has temporarily changed the language criteria for eligible languages.
See https://github.com/github/linguist/issues/5756.


Large dataset -- issue with bootstrap repetitions

I get this error when running dabest on a large data set (>7k samples):
Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 = t0.o,  :
estimated adjustment 'a' is NA
A google search suggests this is because the number of bootstrap iterations needs to be increased.

Hi @signebray ,
You can adjust the bootstraps used with the reps argument:
your.tidy.data %>%
  dabest(xcol, ycol,
         idx = c("Control1", "Group1"),
         paired = FALSE) %>%
   mean_diff(reps = 10000)

The default value is 5000.


text/javascript is the "correct" Static Files MIME Type

I noticed this change when I got a warning while trying out Sonar. Apparently the standards bodies have changed their minds:

https://github.com/whatwg/html/pull/3096
https://github.com/bmeck/I-D/issues/2

This is a breaking change. I raised PR https://github.com/aspnet/StaticFiles/pull/220 but it was closed without a reason given for why.

This post from Sonarwhal which recommended text/javascript is what prompted my issue and PR:
https://github.com/webhintio/hint/issues/568#issuecomment-339945844


Ones and Zeroes

💥 Proposal
(A clear and concise description of what the proposal is.)
You are given an array of binary strings S and two integers M and N.
Print the size of the largest subset of S such that there are at most M 0's and N 1's in the subset.
Input: strs = ["10","0","1"], m = 1, n = 1
Output: 2
Have you read the Contributing Guidelines on Pull Requests?
Yes
(Write your answer here.)

/assign

Didn't get the clarity what exactly the problem is?

@ankitaggarwal23 Like in this problem we are given one array and value of M and N so we have to find a subset which should have maximum length such that the no of zeroes and no of ones in this subset should be less than or equal to N and M respectively. It is an DP based hard Problem.
Please reply that I can create a PR for this issue or not.


feat: add pretty printed moves

First of all, great job on engineering such a wonderful solver. I use it all the time.
Motivation
In adventure mode where time is really short, rapidly editing the board.txt, waiting for possible moves, identifying where the entire word lies on the GUI board, making the swaps necessary, and finally playing the move (hoping I remember where the entire word lied) can prove to be quite a challenge.
This can be really felt in levels where we are given very less time per move, especially if the board is shuffled after each round (if this happens, updating board.txt takes up valuable time).
While I am working on OCR to save time, I found that pretty printing the moves to be a valuable addition that helps save a lot of time.
Feature
For each move, a board is printed in the terminal. Letters that are to be swapped are in red. Letters that are not part of the solution are blocked out using filler characters. This helps to better visualize the board.
Before

After

For people who are not interested in this, they can easily turn it off in config.json

This is fantastic @shrihari1999, thank you so much :)
i've just set the config option to false by default fyi

Thank you :) I will quickly update the readme as well


Phrasing Q

I know there's 1,000+ other issues that are more important, but by "the original Windows console host," do you mean cmd.exe, or something else? Again, this isn't important, it's a least priority issue.
Thank you!

Sure! So, the black window that opens when you run cmd (and the blue one for Windows Powershell) or any other text-based application is actually provided by one program: “conhost”. It is the Windows CONsole HOST, and it actually makes all the console APIs work. It gives those applications a screen, and lets the user actually interact with them.
This repository contains that application in addition to Terminal (because they share code), and the version of it you can build (“OpenConsole”) is nearly identical to the one that comes with Windows (conhost.exe) (but much, much more up to date!)
Hope that helps! Feel free to ask any followups 😄

Ok! Thank you 😄!

(I'll close this one as an Answered Question, but don't let that stop you from bumping it if you want!)

@DHowett (This is off-topic but this is the perfect place to ask another question without creating a new issue)
Recently I believe clickable links were added to con host
But when I unzipped the latest preview msix and took out OpenConsole.exe, clickable links doesn't seem to work!

Clickable links were actually not added to conhost; the infrastructure for supporting both OSC8 and autodetected links was, because (for OSC8) conpty needs to be able to communicate them to Terminal/VSCode/wezterm/... and (for autodetection) the code for the text buffer is shared between conhost and terminal!

The “interactivity” layer in conhost was not hooked up for OSC8 links, and neither was the GDI renderer. The patten detector was not hooked up for autodetected links 😄


Thunderbolt not working

Hi Nick,
I have the exact same hardware (i9 9900k, Z390 Designare, Fenvi T 919, Radeon RX580) with you except the Graphics card which is a Radeon RX5 580.
I've recently installed Catalina using Opencore 0.6.0 everything seems to be working except Thunderbolt, which is the whole point of this build.
I followed the Opencore guide and created my custom SSDT's in windows and also tried to create my custom USBPorts.kext I used USBInjectall.kext with the needed patches but couldn't get it to find my SSP01 & SSP02 ports which are the same ports which Thunderbolt uses.
Then I tried your EFI folder with no luck, I also checked the info.plist in your USBPorts.kext and it doesn't seem to be configured at all HS11 and HS12 seems to be using USB3 ports and  SSP01 and SSP02 ports don't even show up. Did you check with hackintool or IORegistryexplorer if you those two ports are recognised and active in your system? I'm not sure actually if they need to be configured in order to Thunderbolt to be working.
I've also tried some other user's efi folder which had more SSDT's in his ACPI folder for the thunderbolt and when I boot with that, SSP01 and SSP02 ports did show up but as a part of the XHC5 bus.  I'm not sure how to proceed, do you have a suggestion?

Hey hypa,
Thanks for the issue. Actually, both of my TB3 ports seem to be working just fine, including hotswapping. I just tested it again right before typing this up.
You can take a look at my ports in my response to this closed issue. I'm actually not using SSP01 nor SSP02, and all of my IO ports are tested working :/
Can you go ahead and wipe a USB drive and throw my EFI on there and boot from there just so we can make sure we have a fresh try? I'm not OC expert, but I suppose that maybe one of your kexts or ACPI patches might be hanging on somehow...

Sure I can do it, I'm on windows now to update the Thunderbolt firmware with the link below, but maybe I shouldn't in order to be synced with you, have you done anything like that? Firmware update, I also read that some people are flashing the thunderbolt rom in order to get it work so I'm really confused.
https://www.gigabyte.com/Motherboard/GC-TITAN-RIDGE-rev-10/support#support-dl-utility
I don't know if it's going to help but

Turns out to be that update is for add in cards or maybe I'm missing some software. Switching to OSX now, I'll post some screenshots.

Here are some screenshots from my current state.

I booted with your EFI folder now and here are the same screenshots.

Honestly the only thing I've done is kept my BIOS up-to-date (currently on a pre-release version, though), and any updates that pop into the queue on Windows Update. I would definitely recommend updating your drivers to the latest though. Probably check the Device Manager in Windows to see when they were updated.
What tool did you use to get the IOService screenshot? I know I've seen it before but I think the last time I did was when I was originally building this EFI, and I don't remember what it is...
SS03 is my top USB-C port and SS04 is my lower-one. Neither one of yours is showing as active.
I noticed it appears that you have some PCIe TB3 cards. Just to clarify, neither those nor the built-in ones are working, right? No worries about the empty PCI and TB screens in System Information. Same thing here, and across 99% of Hackintoshes AFAIK.
What's your BIOS look like? If you recently flashed it to update it, most settings will be reverted to factory. Found that one out the hard way...

FYSA, as long as we're swapping screenshots, here are two. One with my lower and one with my upper TB3 ports in use.

Actually I do have the SS03 but not the SS04, I must have missed that.
I referred to this while I was creating it seems to be correct;
https://www.hackintosh-forum.de/attachment/120767-z390-designare-usb-ports-pdf/

Yeah maybe you grabbed the wrong screenshot or something? The one I looked at showed both the USB-C and USB3 SS)3 and SS04 ports not active:
You know I remember seeing that PDF when I was making the kexts and ACPI patches as well. I will actually probably add that PDF to this repo in for safe keeping.
You will notice that both the HS13 and HS07 ports show in use when the corresponding SS0X port does in the screenshots I provided.
That leads me to the next check that we shoudl double-check: the BIOS. What firmware version are you running, and what are your IO and TB3 settings?

I'll send the BIOS settings but the hardware you connect is actually recognized as a USB 3.0 Hub? It seems to be connected via Type-C connector but maybe you're using the hub with USB 3.0 protocol/speed? It seems like a multi-protocol HUB depending on the items you connect because it's also recognized as a USB 2.0 Hubon HS13 & HS08.
Do you have any thunderbolt devices connected to the hub?

The software you asked is IORegistry Explorer here's the link.
https://mac.softpedia.com/get/System-Utilities/IORegistryExplorer.shtml

Yes, sorry I should have clarified. I am using a 4-port USB 3.0 Hub that is connected via USB-C. I think I might have a USB-C cable I could use to plug in and Android phone around here. I'll see if I can find it.

Yes but that still doesn't mean that Thunderbolt will work, as far as I know although Thunderbolt 3 and USB 3.1 uses the same Type-C connector their controllers and drivers are different. I think the Android phones will also use USB 3.1 not TB.
You should check it with a thunderbolt device like a thunderbolt hard disk or a sound card like Apollo which is my case.

My BIOS is F9b and the thunderbolt configs are like this

Hmm that’s a good point. The Hackintool screenshots also show the same speed for both the front IO and for the USB-C hub connections.
I don’t have any native TB3 devices here. Any way you know of to check the protocol in use on a device plugged into the TB3 port? If not, do you know of a cheap TB3 native device I could buy on Amazon or something so that we’re on the same page?
My BIOS is currently F9h and slightly different configurations but nothing that should make any difference

I don't know any other TB devices other than the audio interfaces and hdd which aren't really cheap :)
I don't know if it's ok to post links to other forums on GitHub but there's a lot going on about Thunderbolt and Z390 designare, they say that there are 3 different firmware versions of TB chipset 23, 33 and 43. And 43 seems to be the latest and problematic. Also to enable Thunderbolt Local node a rom flash is needed.
There are some clover efis which are told  to be working but I want to stay in OC.

Can't seem to get TB working with your EFI on a similar setup either (Designare Z390, i7 9700, Radeon RX560, BIOS v F9g).
TB device is a UAD Apollo Twin X Duo

good news is that today i finally made it happen, apollo is connected and working, haven't tested it with pro tools or logic yet but seems to be working fine.
I don't know if it's ok to give links to the other forums here, but I found a very clean and fully working Opencore 0.6.0 EFI Folder.

Please post it! I’ll go through there myself and see if I can adapt my own EFI better

Here it is with many thanks to CaseySJ,
https://www.tonymacx86.com/threads/success-gigabyte-designare-z390-thunderbolt-3-i7-9700k-amd-rx-580.267551/post-2158315
It's important to boot with a USB stick first as it's described, I entered the SMBIOS settings in the config.plist with OpenCore configurator also I did reset the NVRAM and unlocked MSR 0xE2 (CFG-Lock) as described in this post before booting.
Also before connecting the apollo I installed the UAD software first granting access to all the requests of Catalina, then I followed these instructions, it looks a bit supersticious but it worked :)
https://www.tonymacx86.com/threads/success-gigabyte-designare-z390-thunderbolt-3-i7-9700k-amd-rx-580.267551/post-2065252

Ah, CaseySJ's build worked for me too. I'm able to hotplug my UAD Apollo Twin X DUO no problem

Closing for now. I will need to integrate some of CaseySJ's EFI into my own.

Hey @hypajumpa did you use the OpenCore version of CaseySJ's EFI, or the Clover version?

Hi Nick,
Opencore version 0.6.2 at the moment but i had an issue with the Pulse
Radeon RX 580,
it’s not even recognised even at the BIOS, maybe it’s a hardware issue, but
i can still use it with the onboard iGPU .
On 31 Oct 2020 Sat at 17:27 Nick Baughman<EMAIL_ADDRESS>wrote:

Hey @hypajumpa https://github.com/hypajumpa did you use the OpenCore
https://www.tonymacx86.com/threads/success-gigabyte-designare-z390-thunderbolt-3-i7-9700k-amd-rx-580.267551/page-2424#post-2158315
version of CaseySJ's EFI, or the Clover version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/baughmann/designaire-z390-intel-i9-9900k-opencore/issues/8#issuecomment-719941278,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQOFJZ3OOBQSPOZLJ5WAWXDSNQNDXANCNFSM4P65ONIA
.

I would check and see if there's a newer BIOS version, and also boot to Windows and update the GPU drivers


Fix Events::drain bug

Taken from #2145
On draining, Events did not reset it's internal event count members.

Thanks!

Good call. Looks like events.clear() also needs to reset its counters. I'll put together a follow up.

bors r+

bors r-

Hmm one issue to discuss that I discovered when putting together my followup:
Resetting event_count means that existing event readers will skip over newly sent events? The test looks like it should fail, so I need to understand why before merging :)

Good call. Looks like events.clear() also needs to reset its counters. I'll put together a follow up.

@cart do you want me to add this into this PR?

Resetting event_count means that existing event readers will skip over newly sent events? The test looks like it should fail, so I need to understand why it works before merging :)

Hmm yes this does seem to be incorrect...

This makes the test above pass, but it feels like I'm missing a corner case:

Yep adding this:
        events.send(E(1));
        let _ = events.drain();
        assert_eq!(reader.iter(&events).next(), None);

in the tests causes it to fail.

Yep adding this:

Is that with or without the "fix" above? Adding that passes with the fix for me.

@cart, a possible solution:
we might need to add a version field to Events and Event<Reader/Writer> and on calling clear/drain, update the version. So when the Reader/Writer calls .iter() check the versions and reset the Reader/Writer's internal count to 0 if the version has changed.

Is that with or without the "fix" above? Adding that passes with the fix for me.

With your change included.
here is the full test i have:
#[test]
    fn test_events_drain() {
        #[derive(PartialEq, Eq, Debug)]
        struct E(usize);

        let mut events = Events::<E>::default();
        let mut reader = events.get_reader();

        assert!(reader.iter(&events).next().is_none());

        events.send(E(0));
        assert_eq!(reader.iter(&events).next(), Some(&E(0)));
        assert_eq!(reader.iter(&events).next(), None);

        events.send(E(1));
        let _ = events.drain();
        assert_eq!(reader.iter(&events).next(), None);

        events.send(E(2));
        events.send(E(3));
        assert_eq!(reader.iter(&events).next(), Some(&E(2)));
        assert_eq!(reader.iter(&events).next(), Some(&E(3)));
        assert_eq!(reader.iter(&events).next(), None);
    }

Found another corner case. Adding an events.update() breaks it.
#[test]
fn test_events_drain() {
    #[derive(PartialEq, Eq, Debug)]
    struct E(usize);
    let mut events = Events::<E>::default();
    let mut reader = events.get_reader();

    assert!(reader.iter(&events).next().is_none());

    events.send(E(0));
    assert_eq!(*reader.iter(&events).next().unwrap(), E(0));
    assert_eq!(reader.iter(&events).next(), None);

    let _ = events.drain();
    assert!(reader.iter(&events).next().is_none());

    events.send(E(1));
    events.update();
    events.send(E(2));
    assert_eq!(*reader.iter(&events).next().unwrap(), E(1));
    assert_eq!(*reader.iter(&events).next().unwrap(), E(2));
}

I'm gonna keep working through my PR review queue. If you find a fix definitely do it for clear() too :smile:
I'll check back in later / help out if it hasn't been sorted out yet.

@cart it turns out our last #[test]s are actually invalid... haha
reader.iter(&events) returns an iterator over all events.
We were calling it multiple times expecting it to return a single value.
This is how the test should be structured...
#[test]
    fn test_events_drain() {
        #[derive(PartialEq, Eq, Debug)]
        struct E(usize);
        let mut events = Events::<E>::default();
        let mut reader = events.get_reader();

        assert!(reader.iter(&events).next().is_none());

        events.send(E(0));
        assert_eq!(*reader.iter(&events).next().unwrap(), E(0));
        assert_eq!(reader.iter(&events).next(), None);

        let _ = events.drain();
        assert!(reader.iter(&events).next().is_none());

        events.send(E(1));
        events.update();
        events.send(E(2));

        let mut iter = reader.iter(&events);
        assert_eq!(*iter.next().unwrap(), E(1));
        assert_eq!(*iter.next().unwrap(), E(2));
    }

Bahaha whoops. Nice catch!

@cart I have this current implementation which passed the failing test we set up.
I'm currently toying around with other potential failing tests, and please let me know if you can think of any :)

bors r+


API fallback does not keep previous page information

Bug description
When downloading from rule34.xxx if the amount of photos is over 200,000 files get skipped or are seemingly lost altogether as well as the page number changes from 1,000 to 42.
Steps to reproduce

Use any tag with over 200,000 images (with higher numbers it is easier to see and lasts longer) with the only source being rule34.xxx.
Click "Get all" and start download.
When the number of images downloaded reaches about 200,000 the bug occurs.

Expected behavior
Grabber would download all images with said tag instead of around 200,000.
Context

Provide your main.log file to see if any obvious error occured.
Providing your settings.ini file will greatly help maintainers reproduce your problem if it may be caused by your configuration.
If the bug occured during a download, make sure to provide said download as an .igl file that Grabber can generate by clicking the Save button of the Downloads tab.

main.log is 66MB. Github will not upload 10MB limit.
settings.txt
In downloads tab there is no "Save" button to get .igl file.
Note that both main.log and settings.ini files can be found in C:/Users/%USERNAME%/AppData/Local/Bionus/Grabber in Windows, and in the installation directory on Linux.
Screenshots
If applicable, add screenshots to help explain your problem.

System information

OS: Windows 10
Grabber version: 7.3.0

✔ Reproduced
Going from page 10,001 to 10,002 on rule34.xxx:
[12:34:02.531][Warning] [rule34.xxx][Xml] Search error: API limited due to abuse.
[12:34:02.532][Warning] [rule34.xxx] Loading using Xml failed. Retry using Html.
[12:34:02.533][Warning] [rule34.xxx][Html] You need valid previous page information to browse that far
[12:34:02.534][Warning] [rule34.xxx] No valid source of the site returned result.

Or from 1,001 to 1,002 on Gelbooru:
[12:36:55.223][Error] Error parsing XML file: error occurred while parsing element (1 - 1).
[12:36:55.224][Warning] [gelbooru.com][Xml] Uncaught exception at line 56: TypeError: Type error
[12:36:55.225][Warning] [gelbooru.com] Loading using Xml failed. Retry using Html.
[12:36:55.225][Warning] [gelbooru.com][Html] You need valid previous page information to browse that far
[12:36:55.226][Warning] [gelbooru.com] No valid source of the site returned result.

When fallbacking from the XML API to the HTML API, Grabber should pass the "previous page information" to the HTML API, so that it can build the proper page information.


Add ability to automatically fetch the IP Address

What does this one mean @jbeemster ?

Its quite difficult to get this value for the Subject class so it might be nice to have a utility function for this.

Are we thinking about the same thing? Our collectors can pick up the IP address of the user super-easily.

Oh yeah true.. at the Android side its hard but the collectors do get it easy!

Yep, this isn't a priority...


Can tsffs fuzz test VMs device (eg:Cisco ASA)?

Can tsffs fuzz test virtual machines device?eg:Citrix adc，Cisco ASA，and so on. if sure, Can you provide a example booting the vm platform in and running a special application on it.

Hi @madjohn698, thanks for the question. Any OS or software that runs on the supported x86_64 (and in the future, other) platform(s) is ostensibly supported. NetScaler and ADC are a bit outside the dev team's focus so it's not likely we'll add tutorials for those, but we do plan to add kernel and userspace fuzzing tutorials for Clear Linux (our supported Linux distribution) that should be applicable to other OS as well.
You're more than welcome to make a PR with your tutorial or example if you create one!

The goals from the maintainer side for this question will be fulfilled by #12, but please feel free to PR examples that fit other use cases.


Adds Investment Project's project_code to global search.

As in the title.

Codecov Report

Merging #589 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #589   +/-   ##
========================================
  Coverage    96.44%   96.44%
========================================
  Files          123      123
  Lines         3708     3708
  Branches       326      326
========================================
  Hits          3576     3576
  Misses          94       94
  Partials        38       38

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 cb96a11...fcd5a30. Read the comment docs.


obs: Update obs packages for ppc64le

Fedora versions 28 and 29 has come EOL, we should update the generation
of obs packages but now for Fedora 30.
Fixes #963
Signed-off-by: Gabriela Cervantes<EMAIL_ADDRESS>

/AzurePipelines run


--twofactor ignored under youtube:playlist and youtube:watchlater extractors

youtube:playlist & youtube:watchlater do not process two factor authentication codes when presented with the follow-up dialogue to signing in.
[debug] System config: []
[debug] User config: [u'--add-metadata', u'-o', u'%(upload_date)s - %(title)s.%(ext)s', u'-c', u'-f', u'bestvideo[ext=mp4][width<=1920]+bestaudio[ext=m4a]', u'--embed-thumbnail', u'--embed-subs', u'--exec', u'IFS=$n && j={} && k=`expr length $j` && l=`expr $k - 15` && notify-send "YouTube DL" --icon /usr/local/bin/icon.png "`expr substr $j 12 $l`"']
[debug] Command-line args: [u'https://www.youtube.com/playlist?list=PLARhCYccw3tb0ewDzW4eE28DNc9V_oIZE', u'-n', u'--twofactor', u'780848', u'-v', u'--write-pages']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.07.21
[debug] Python version 2.7.9 - Linux-3.19.0-23-generic-x86_64-with-Ubuntu-15.04-vivid
[debug] exe versions: ffmpeg N-73160-g2c77ca4, ffprobe N-73160-g2c77ca4
[debug] Proxy map: {}
[youtube:playlist] Downloading login page
[youtube:playlist] Saving request to None_https_-_accounts.google.com_ServiceLogin.dump
[youtube:playlist] Logging in
[youtube:playlist] Saving request to None_https_-_accounts.google.com_ServiceLogin.dump
[youtube:playlist] PLARhCYccw3tb0ewDzW4eE28DNc9V_oIZE: Downloading webpage
[youtube:playlist] Saving request to PLARhCYccw3tb0ewDzW4eE28DNc9V_oIZE_https_-_www.youtube.com_playlistlist=PLARhCYccw3tb0ewDzW4eE28DNc9V_oIZE.dump
ERROR: The playlist doesn't exist or is private, use --username or --netrc to access it.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 656, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 275, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1452, in _real_extract
    return self._extract_playlist(playlist_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1389, in _extract_playlist
    expected=True)
ExtractorError: The playlist doesn't exist or is private, use --username or --netrc to access it.

[debug] System config: []
[debug] User config: [u'--add-metadata', u'-o', u'%(upload_date)s - %(title)s.%(ext)s', u'-c', u'-f', u'bestvideo[ext=mp4][width<=1920]+bestaudio[ext=m4a]', u'--embed-thumbnail', u'--embed-subs', u'--exec', u'IFS=$n && j={} && k=`expr length $j` && l=`expr $k - 15` && notify-send "YouTube DL" --icon /usr/local/bin/icon.png "`expr substr $j 12 $l`"']
[debug] Command-line args: [u':ytwatchlater', u'-v', u'-n', u'--twofactor', u'630575']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.07.21
[debug] Python version 2.7.9 - Linux-3.19.0-23-generic-x86_64-with-Ubuntu-15.04-vivid
[debug] exe versions: ffmpeg N-73160-g2c77ca4, ffprobe N-73160-g2c77ca4
[debug] Proxy map: {}
[youtube:watchlater] Downloading login page
[youtube:watchlater] Logging in
[youtube:watchlater] WL: Downloading webpage
ERROR: The playlist doesn't exist or is private, use --username or --netrc to access it.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 656, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 275, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1765, in _real_extract
    return self._extract_playlist('WL')
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1389, in _extract_playlist
    expected=True)
ExtractorError: The playlist doesn't exist or is private, use --username or --netrc to access it.

I'm experiencing this problem as well. I temporarily turned off two-factor authentication and :ytwatchlater worked fine. After a little poking around youtube_dl/extractor/youtube.py, it looks like the page structure has indeed changed. I'm not really sure what I'm doing, but here's the diff including the changes I made. Sorry for the mess.
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index facd837..f07b4de 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -46,7 +46,7 @@ from ..utils import (
 class YoutubeBaseInfoExtractor(InfoExtractor):
     """Provide base functions for Youtube extractors"""
     _LOGIN_URL = 'https://accounts.google.com/ServiceLogin'
-    _TWOFACTOR_URL = 'https://accounts.google.com/SecondFactor'
+    _TWOFACTOR_URL = 'https://accounts.google.com/signin/challenge'
     _NETRC_MACHINE = 'youtube'
     # If True it will raise an error if no login info is provided
     _LOGIN_REQUIRED = False
@@ -128,7 +128,7 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
         # Two-Factor
         # TODO add SMS and phone call support - these require making a request and then prompting the user

-        if re.search(r'(?i)<form[^>]* id="gaia_secondfactorform"', login_results) is not None:
+        if re.search(r'(?i)<form[^>]* id="challenge"', login_results) is not None:
             tfa_code = self._get_tfa_info()

             if tfa_code is None:
@@ -136,31 +136,27 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
                 self._downloader.report_warning('(Note that only TOTP (Google Authenticator App) codes work at this time.)')
                 return False

-            # Unlike the first login form, secTok and timeStmp are both required for the TFA form
+            def find_value(id):
+                match = re.search(r'id="%s"\s+value="(.+)">' % id, login_results, re.M | re.U)
+                if match is None:
+                    self._downloader.report_warning('Failed to get %s - did the page structure change?' % id)
+                return match.group(1)

-            match = re.search(r'id="secTok"\n\s+value=\'(.+)\'/>', login_results, re.M | re.U)
-            if match is None:
-                self._downloader.report_warning('Failed to get secTok - did the page structure change?')
-            secTok = match.group(1)
-            match = re.search(r'id="timeStmp"\n\s+value=\'(.+)\'/>', login_results, re.M | re.U)
-            if match is None:
-                self._downloader.report_warning('Failed to get timeStmp - did the page structure change?')
-            timeStmp = match.group(1)
+            challengeId = find_value("challengeId")
+            challengeType = find_value("challengeType")
+            gxf = find_value("gxf")

             tfa_form_strs = {
                 'continue': 'https://www.youtube.com/signin?action_handle_signin=true&feature=sign_in_button&hl=en_US&nomobiletemp=1',
-                'smsToken': '',
-                'smsUserPin': tfa_code,
-                'smsVerifyPin': 'Verify',
-
-                'PersistentCookie': 'yes',
-                'checkConnection': '',
                 'checkedDomains': 'youtube',
-                'pstMsg': '1',
-                'secTok': secTok,
-                'timeStmp': timeStmp,
+                'pstMsg': '0',
                 'service': 'youtube',
                 'hl': 'en_US',
+                'challengeId': challengeId,
+                'challengeType': challengeType, # This doesn't appear to change
+                'gxf': gxf,
+                'Pin': tfa_code,
+                'TrustDevice': 'on',
             }
             tfa_form = dict((k.encode('utf-8'), v.encode('utf-8')) for k, v in tfa_form_strs.items())
             tfa_data = compat_urllib_parse.urlencode(tfa_form).encode('ascii')
@@ -173,7 +169,8 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
             if tfa_results is False:
                 return False

-            if re.search(r'(?i)<form[^>]* id="gaia_secondfactorform"', tfa_results) is not None:
+            # TODO What is the correct value for these?
+            if re.search(r'(?i)<form[^>]* id="challenge"', tfa_results) is not None:
                 self._downloader.report_warning('Two-factor code expired. Please try again, or use a one-use backup code instead.')
                 return False
             if re.search(r'(?i)<form[^>]* id="gaia_loginform"', tfa_results) is not None:

To be clear, that diff is not a fix, just where I got to so far by saving the received page and using Firefox's network monitor to see what happened when the form was manually submitted. Somebody with more of a clue may or may not find it useful.

Is this issue still unresolved? It could probably be closed.


Update the prow to latest levels

Currently, prow is at v20201020-a5b49bc903 level, it's almost 3moths old, lets update to the latest levels.

[ ] Build the pod-utilities
[ ] Update the prow spec

/assign @Rajalakshmi-Girish

/assign @Rajalakshmi-Girish

@Rajalakshmi-Girish can we close this now? please tag the PRs we delivered for this task.

Below are the PRs involved:
https://github.com/ppc64le-cloud/test-infra/pull/121
https://github.com/ppc64le-cloud/test-infra/pull/122
https://github.com/ppc64le-cloud/test-infra/pull/123
https://github.com/ppc64le-cloud/test-infra/pull/124
The prow infrastructure is updated to version v20210126-f0baa5f3d9.
The jobs are running fine with this upgraded version.

Let's close the task if it is done..


Simplified Docker setup using eosio_build.sh script

This PR simplifies the Docker setup by using the standard eosio_build.sh script. This makes the builder and dev images unnecessary so they have been removed.
This should help to avoid problems where the Dockerfiles become out of sync with the standard build scripts.
I've tested that this is working and starts a node that produces blocks with these commands:
cd eos/Docker
docker-compose build
docker-compose up

Thanks @erichim for the detailed response, that makes a lot of sense. I know @heifner has already closed this PR, but I was already working on some changes based on your feedback so I thought I'd share what I have.
Here are some changes I made:

Re-added the dev folder which has the Dockerfile that builds EOS
Changed the primary Dockerfile to use the dev image as a builder
Added an ENTRYPOINT and some default CMDs for the images
Added an example docker-compose-mongo.yml file (should be working with 1.1)

The entrypoint changes are kind of nice since they let users pass arguments to nodeos really easily. For example:
# Quickly startup a node that produces blocks, no other configuration necessary
docker run -it eosio/eos
# Print nodeos help test
docker run -it eosio/eos --help
# Print default config
docker run -it eosio/eos --print-default-config

This PR shouldn't be merged, but I'm hoping it could help inform some changes to these Dockerfiles eventually. I'm still concerned about maintaining/syncronizing two different build scripts (eosio_build.sh and the Docker files). I've seen issues before the 1.0 release where the Dockerfiles became outdated -- it's an easy thing to miss after all.
I think a good solution might be to break up the scripts/eosio_build_ubuntu.sh script into two pieces, one for building dependencies and one for building EOS. Then the eosio/builder image could use the Ubuntu dependency builder script, and the eosio/dev and eosio/eos images could use the EOS builder script.

@liamcurry We appreciate your work and would entertain a new PR.


Discussion 1895: Enhancing FluentDatePicker

Enhancement for selecting a different view, month or year, and a custom DateTimeFormat
Pull Request
📖 Description
FluentDatePicker is missing the possibility to select view like month or year which is available in FluentCalendar.
🎫 Issues
👩💻 Reviewer Notes

📑 Test Plan
Create a FluentDatePicker, set view to desired choice of Month or Year. Possibility to add custom DateTimeFormat
✅ Checklist
General

[ ] I have added tests for my changes.
[x] I have tested my changes.
[x] I have updated the project documentation to reflect my changes.
[X] I have read the CONTRIBUTING documentation and followed the standards for this project.

Component-specific

[ ] I have added a new component
[ ] I have added Unit Tests for my new compontent
[x] I have modified an existing component
[x] I have validated the Unit Tests for an existing component

⏭ Next Steps

@microsoft-github-policy-service agree [company="Veum"]

@microsoft-github-policy-service agree


Rework builds which were excluded and left behind

The following crates are excluded from the workspace so their build targets are not covered by any CI pipeline.
They seem to be unmaintained as they are unbuildable right now and the last commit was a year ago in each.
See Cargo.toml:
exclude = [
  "themis/client_ristretto",
  "themis/program_ristretto",
  "token/perf-monitor",
]

token/perf-monitor was fixed up in https://github.com/solana-labs/solana-program-library/pull/2586 and most likely we'll need to retire the themis parts, since they are impossible to build against the Solana 1.8.x sdk.


The box of Information on hover gets strange when there's nothing to show.

VSCode Version: 1.21.0
OS Version: macOS High Sierra

When you hover on something and the language server won't send any info you'll get something like this little shape:

Please file the issue against the go extension here. Thanks!


[Aesthetics] Bigger icons on Controller header

I've noticed that the icons in the other sidebar windows are slightly bigger than the Controller ones.
Here's a comparison:

From the editor, I saw that the Controller icon should be at ~135% to reach the same size.
This is not just an aesthetic thing; bigger icons would also improve the clickability.

Yeah, the Controller's header could be a little taller.
At least the top row, to accommodate the larger icons.

I've made them bigger. I've also moved to using the pi icons (https://www.primefaces.org/diamond/icons.xhtml) that Comfy, so they can be more consistently controlled; they don't have a gear one so I've used the caret-down (feel free to see if you think there's a better choice!)

@chrisgoringe I would replace it with one of the following:
(a gear one, but probably  this would be confused as a settings menu)

(this is my favorite)

Another couple of candidates could be:

The current icon makes sense to me, because it's like an arrow pointing down, and it makes the panel stack expand down the column.
I don't mind keeping it.
But, I think the bolt would look cool :)
This could mean the more "dangerous" settings, less user friendly, that you want to keep hidden, and used only when necessary.
You know, like these "high voltage" panels boxes, that you're not supposed to mess with.

It's not a perfect icon, but the other icons also have issues:

gear - used by ComfyUI. And also, it would mean all settings ( not just advanced settings )

sliders - Same issue. It would mean all settings. That's why it worked as the Controller icon in the Sidebar, but not here.

star - this would indicate "favorites", but the "advanced controls" would be less used ( it would be the opposite ).

list - Same issue. It would mean all settings.

@JorgeR81 I made these proposals because the caret-down icon doesn't feel as "advanced", and also it is smaller compared to the refresh icon.
There are not many options to choose from, I just picked the "best" candidates to me.

Gear: I agree with you, it means "settings". Forget about it.
List: Completely random, just because it's a big icon! 😆
Star: It's because they are "special" controls.
Sliders: Seems the more accurate and bigger icon to me.
Bolt: Can be a good alternative, it feels like a "power tools" option, but it's not the biggest icon.

@chrisgoringe What do you think?

For the time being, the bolt...
See the 1.1 branch!

I like it!
You've made the floating controller already?? That was fast!⚡


feat: Integrate OpenRouter as model provider

Don't think there's an issue open for openrouter, but this technically works. I'd like to clean it up a bit as I'm not certain it's priortizing correctly (character.json, .env, fallback to oai) at all steps and I haven't tested trying to change the small/med/large model at those steps, but thought I'd toss it up in case we wanted a 'fuck it, shove it in anyway' type beat lol

Relates to:

Risks

Background
What does this PR do?
What kind of change is this?

Documentation changes needed?

Testing
Where should a reviewer start?
Detailed testing steps

LGTM just --

rebase on new, run the prettier
delete the unnecessary files

LGTM just --

rebase on new, run the prettier
delete the unnecessary files

actually havent done a rebase berfore -- seems like it's walking through every commit on main since i opened the branch to check for conflicts, is there a way to mass-accept incoming rebase changes? otherwise 400+ 'approve me' steps
think i fixed git so its not adding my weird extra files tho

mk, not exaaactly sure what i did but i think that broke everything lol. thankfully still have the cursor convo, so will try to fix and then maybe try and pair with someone to finish


ENH: Convenience overloads for ImageBase Transform member functions

Added convenience overloads to the six ImageBase Transform member
functions, returning the result by value, instead of having an output
parameter:
TransformPhysicalPointToIndex
TransformPhysicalPointToContinuousIndex
TransformContinuousIndexToPhysicalPoint
TransformIndexToPhysicalPoint
TransformLocalVectorToPhysicalVector
TransformPhysicalVectorToLocalVector

These overloads allow users to have a more "functional" programming
style, or at least, place the transformation result in a const variable.
So instead of:
Bar bar;
image->TransformFooToBar(foo, bar);

It typically allows users to write:
const auto bar = image->TransformFooToBar(foo);

I have been annoyed by absence of these more than once!

Update: Still preparing an amend that should address the comment by @hjmjohnson and add at least a very little unit test. Hopefully tomorrow...  :-)

I approve the wording of the commit message.

The GTest that I added compiles well on ITK.Windows, but it fails on macOS and Linux, because I should have added a template keyword on various places. For example:
imageBase.TransformPhysicalPointToContinuousIndex<float>(PointType())

Should be:
imageBase.template TransformPhysicalPointToContinuousIndex<float>(PointType())

I'll try to fix it.

I think this pull request is OK now. CDash appears stuck "in progress" for no reason. It has succeeded at Linux, Windows and macOS. :-)


Spam detection

We can issue blacklists to detect spam in posts on the Facebook group.
Blacklist sites (feel free to update):

@Golpha : http://www.dnsbl.info/dnsbl-list.php
@Golpha : http://www.ahbl.org

Hello, this repository is now deprecated and will not be maintained anymore...
Thank you.


Android app

Hi
Your app looks great.
Do you make an apk file for android?

Did you try making an .apk file??
If not, can you try once since I am facing the same error for quite long??
@er2de2

Updated on README.md file.


codes-7b-merged load error

when i load model
model = AutoModelForCausalLM.from_pretrained(model_name, device_map = "auto", torch_dtype = torch.float16)

error

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/mnt/disk3/home/ls/miniconda3/envs/codes/lib/python3.8/site-packages/transformers/models/auto/auto_factory.py", line 561, in from_pretrained
    return model_class.from_pretrained(
  File "/mnt/disk3/home/ls/miniconda3/envs/codes/lib/python3.8/site-packages/transformers/modeling_utils.py", line 3118, in from_pretrained
    raise EnvironmentError(
OSError: Error no file named pytorch_model.bin, tf_model.h5, model.ckpt.index or flax_model.msgpack found in directory /mnt/disk3/home/ls/project/text2sql-demo/model/seeklhy/codes.

some of pip package:
torch              1.13.1+cu117
torchaudio         0.13.1
torchvision        0.14.1
tokenizers         0.15.2
transformers       4.38.2
flash-attn         2.5.6

what is wrongwith me?
and I found some related issues:
https://github.com/oobabooga/text-generation-webui/issues/122#issuecomment-1560104217

Hi!
Ensure you've downloaded all the files from codes-7b-merged and subsequently placed them into the /mnt/disk3/home/ls/project/text2sql-demo/model/seeklhy/codes directory.

ok，I redownloaded the model and now it works！but，I checked the SHA256 of the model I downloaded before and it is the same and Its location is no problem either。


Stop watch

Description
I have made stop watch using HTML,CSS and Java Script. I have added functionalities as to play,pause and to reset the timer.
I have even added a change theme button which on clicking changes the theme.
Checklist:

[*] My code follows the style guidelines(Clean Code) of this project
[*] I have performed a self-review of my own code
[*] I have commented my code, particularly in hard-to-understand areas
[*] I have created a helpful and easy to understand README.md
[*] I have made corresponding changes to the documentation
[*] My changes generate no new warnings
[*] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

@Antara25-10 Resolve Conflict

@Ayush7614  I'm sorry I did'nt get the conflict. Can you please tell me what is it?

What conflict is need to be resolved?  Sent from Mail for Windows 10 From: Ayush kumarSent: 28 June 2021 09:10To: Ayush7614/Bundli-FrontendCc: Antara Gupta; MentionSubject: Re: [Ayush7614/Bundli-Frontend] Stop watch (#101) @Antara25-10 Resolve Conflict—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.


Add perfect-numbers

I opted to return 'false here rather than use an error. A small handful of LFE exercises expect an error, but there's also the competing convention of returning false or nil on other Lisp tracks on Exercism so I leaned that way instead.


TLS Authentication by Hostname

I'm trying to get TLS working with the Papertrail logging service. They require authenticating by hostname. Currently the client.conf.erb template only allows for anonymous authentication. (https://github.com/saz/puppet-rsyslog/blob/55efaa5e8b3442bb118d301442657ff19ba22fad/templates/client.conf.erb#L39)
Would it be possible to add the ability to pass a different auth mode? For this example I'd need to pass x509/name, then also specify a value for $ActionSendStreamDriverPermittedPeer.
It would look like this:
$ActionSendStreamDriverAuthMode x509/name # authenticate by hostname
$ActionSendStreamDriverPermittedPeer *.papertrailapp.com

Feel free to open a pull request and I'll be happy to merge this change


Valid format options

Weeknum is represented via the last day of the week

Implements ISSUE#1565
Week number now is shown is based on the last day of the week (with the correction if SU or MO is the first day of week).
Preferable config is:
"format-calendar-weeks": "W{:%V}",

Thanks!


[NO-JIRA] Pin Bundler Version for Compatibility with Ruby 2.7.0

Running this action currently fails due to incompatibility between the latest bundler version and the version of ruby running.
Copying across the fix implemented on the forked repo which pins the bundler version.
We could look to bump the ruby version but I'm not sure I see the point for something as simple as this?

Is hardcoding this to 2.4.22 going to cause versioning issues in future?

unless the lib we used got bumped to no longer support the ruby version we support I don't see why it would.
If we do encounter them we can always evaluate bumping to ruby 3 then but I don't see the value in doing so now, especially when this is the approach taken on the forked repo?


Fix grammar in instructions.txt

I'm trying my darndest.

I am addressing the grammar based on issue #2


Merge nmirror to master

@DnlHarvey I have moved things around between TimeZone.cs and TimeZone.Win32.cs to fix Unix builds. Could you please take a look at the Fix Unix build commit?

@jkotas Thanks for the assist, is there a way to verify the Unix build on Windows?

I think the easiest route would be via Ubuntu on Windows. I have not tried it ... but if it does not work, it is something worth fixing. corefx builds and tests (some tests are failing) works there https://github.com/dotnet/corefx/issues/11057. corert build and tests should not be too far off.


Added metadata for Gemma-2 models

BFCL currently don't support gemma2-2b. Added handler to handler map using GemmaHandler.

Does the old Gemma handler still work for Gemma 2?

Yes, the format of the prompt is same across two versions.


MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList for Xamarin

Curious if a workaround can be made for: https://github.com/NLog/NLog.Extensions.Logging/issues/415
For some "strange" reason then even if using NetCore / NetStandard on Xamarin, then it insists on using the Xamarin-builds instead of the NetStandard-build (But only when using the linker)

Hurray it builds. Guess this will fix: NLog/NLog.Extensions.Logging#415

Actually surprised how much functionality is included for Xamari

What do you mean? On what  target Framework?

What do you mean?

I mean it is a good thing

On what target Framework?

Xamarin Framework

It has been confirmed that the PR is working. Think it should be included with NLog 4.7.1
NLog 5 will hopefully remove the Xamarin-Targets and only use NetStandard/NetFramework.

Thanks!


Support configurable limit on number of arguments processed

This is basically the same as pull request 2060, but adds automated tests.

Making reference to #2060

@jleproust @martinhsv - Since the configuration directive is just arbitrating on the number of JSON parameters, it would be fair to call it SecJSONArgumentsLimit or maybe other name that references the fact that such configuration is related to the JSON implementation?

The code in the pull request will limit the number of Arguments (within m_variableArgs) no matter how the elements are created.  E.g. if you set the configurable value to '5', and send a request like this:
GET /index.html?k1=v1&my_idd=aaa&z=1&y=2&x=3&w=4&aaa=hello HTTP/1.1

... then the argument 'aaa' will get omitted/skipped.
So, SecArgumentsLimit, is the right choice to go with the rest of the code.
(The JSON-specific portion of the pull request is a minor extra bit of functionality to stop json-parsing if the argument limit has been reached.)

@martinhsv Thanks a lot for adding the test! It would be really great if we could merge this.

Thank you guys @martinhsv @jleproust

Minor update, added: bad5892b93297d2f5284b8a6dc00026b91a57588.
secargumentslimit.json is now part of Makefile.am. Otherwise it won't run on make check.
https://github.com/SpiderLabs/ModSecurity/blob/bad5892b93297d2f5284b8a6dc00026b91a57588/Makefile.am#L187
The new version is on the build bots.

merged!

Yay thanks!

Hi,
I thought this change made it to v3.0.4 like the changelog in https://github.com/SpiderLabs/ModSecurity/blob/v3/master/CHANGES file suggest :
v3.0.4 - 2020-Jan-13
--------------------

 - Support configurable limit on number of arguments processed
   [@jleproust, @martinhsv]
<...>

Except that it didn't :-o
It's in master tree but definitely not in v3.0.4 release :-/
I tried to set SecArgumentsLimit and the directive was unknown.
Then I checked in the code :
~/modsecurity-master$ grep -ri CONFIG_DIR_ARGS_LIMIT * | wc -l
23

~/modsecurity-v3.0.4$ grep -ri CONFIG_DIR_ARGS_LIMIT * | wc -l
0

Am I missing something ?
Regards,

Hi @rdegez ,
You are correct, that code is not in v3.0.4, and the CHANGES file is incorrect.  Thanks for raising that.
I will correct it.

The CHANGES file has been corrected.

I'm fairly certain this issue is only partially fixed with this patch. I'm happy to reopen an issue or file a new one..
Confirmation the patch works when content-type == json:
time curl -d @test.json https://localhost -k  -H 'Content-Type: application/json'

<title>405 Not Allowed</title>

405 Not Allowed

nginx

real    1m31.949s
user    0m0.060s
sys     0m0.074s

Switch the feature on:
sed -i 's/#SecArgumentsLimit 6/SecArgumentsLimit 6/g' /etc/nginx/modsec/modsecurity.conf
systemctl restart nginx
time curl -d @test.json https://localhost -k  -H 'Content-Type: application/json'

<title>400 Bad Request</title>

400 Bad Request

nginx

real    0m0.200s
user    0m0.050s
sys     0m0.076s

But if you change the Content-Type to something other than json such as "application/x-www-form-urlencoded", the DDoS condition still exists and an nginx thread is consumed.

Hi @mlosapio ,
This configurable limit accomplishes two things:

Overall, it will stop adding key-value pairs to the relevant ModSecurity variables (e.g ARGS) when the configured limit has been reached and
For json content specifically, it will also stop json parsing once the limit has been reached.

The main performance issue being addressed here is the very large number of key-value pairs that might be processed by a large number of regular expressions in any sort of generic rule set (whether OWASP CRS or other).  Change 1 accomplishes that even for non-json content.  See the code changes in transaction.cc.
The second change, that applies only to json content, is a more minor benefit.
I'm fairly sure that Change 1 works correctly for a large set of application/x-www-form-urlencoded args.  And I do recall trying that while reviewing the change back in February.
Nevertheless, if you think the number of arguments added to ARGS (etc.) is not being limited for non-json content, feel free to submit a pull request, or otherwise outline what you think is going wrong.

I’ll spend some time looking at it. The issue I’m seeing is when you do something like this:
curl -d @test.json https://localhost -k  -H 'Content-Type: application/x-www-form-urlencoded'
While it may be technically incorrect, it still has pretty serious adverse effects.
My assumption is that it’s skipping json.cc but the thread is still getting bogged down

Hi @mlosapio ,
I have a suspicion as to what you are encountering.  Please contact me at the email address listed in https://github.com/SpiderLabs/ModSecurity under the 'Security issue' heading.


Error when executing " rasa x" command

Rasa version:
Rasa 1.10.16
Rasa SDK version (if used & relevant):
Rasa X version (if used & relevant):
0.32.x
Python version:
3.7.8
Operating system (windows, osx, ...):
windows 10
Issue:
hi guys, i built an end-to-end Conversational bot with UI, so i install dependencies for spacy and Rasa X without error.. after that i use the command "rasa init --no-prompt" to building the chatbot but when i use the command " rasa x" in order to starting chatting it failed with Error
Error (including full traceback):
(venv) C:\Users\Toumia Bessem\PycharmProjects\Chatbot-rasa>rasa x
Starting Rasa X in local mode... �

The server is running at http://localhost:5002/login?username=me&password=WrhGOPQb3Zhp

2020-10-15 17:18:55 WARNING  sanic.root  - Sanic tried to use loop.add_signal_handler but it is not implemented on this platform.
2020-10-15 17:18:55 WARNING  sanic.root  - Sanic tried to use loop.add_signal_handler but it is not implemented on this platform.
2020-10-15 17:18:58 ERROR    concurrent.futures  - exception calling callback for <Future at 0x20030ead508 state=finished raised gaierror>
Traceback (most recent call last):
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\concurrent\futures\thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\socket.py", line 752, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\concurrent\futures\_base.py", line 324, in _invoke_callbacks
    callback(self)
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\futures.py", line 365, in _call_set_state
    dest_loop.call_soon_threadsafe(_set_state, destination, source)
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 736, in call_soon_threadsafe
    self._check_closed()
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 479, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
2020-10-15 17:18:58 ERROR    concurrent.futures  - exception calling callback for <Future at 0x20030ea46c8 state=finished returned list>
Traceback (most recent call last):
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\concurrent\futures\_base.py", line 324, in _invoke_callbacks
    callback(self)
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\futures.py", line 365, in _call_set_state
    dest_loop.call_soon_threadsafe(_set_state, destination, source)
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 736, in call_soon_threadsafe
    self._check_closed()
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 479, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
2020-10-15 17:19:56 ERROR    sanic.root  - Exception occurred while handling uri: unknown
NoneType: None
2020-10-15 17:23:32 ERROR    asyncio  - Task was destroyed but it is pending!
task: <Task pending coro=<TCPConnector._resolve_host() running at c:\users\toumia bessem\pycharmprojects\chatbot-rasa\venv\lib\site-packages\aiohttp\connector
.py:830> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio
\futures.py:351, <TaskWakeupMethWrapper object at 0x0000020030ED9A98>()]>>
2020-10-15 17:23:32 ERROR    asyncio  - Task was destroyed but it is pending!
task: <Task pending coro=<TCPConnector._resolve_host() running at c:\users\toumia bessem\pycharmprojects\chatbot-rasa\venv\lib\site-packages\aiohttp\connector
.py:830> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio
\futures.py:351, <TaskWakeupMethWrapper object at 0x0000020030ED9D98>()]>>
Stopping event service.
[2020-10-15 17:33:44 +0100] [10732] [ERROR] Experienced exception while trying to serve
Traceback (most recent call last):
  File "c:\users\toumia bessem\pycharmprojects\chatbot-rasa\venv\lib\site-packages\sanic\app.py", line 1167, in run
    serve(**server_settings)
  File "c:\users\toumia bessem\pycharmprojects\chatbot-rasa\venv\lib\site-packages\sanic\server.py", line 920, in serve
    loop.run_forever()
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 541, in run_forever
    self._run_once()
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 1750, in _run_once
    event_list = self._selector.select(timeout)
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\selectors.py", line 323, in select
    r, w, _ = self._select(self._readers, self._writers, [], timeout)
  File "C:\Users\Toumia Bessem\AppData\Local\Programs\Python\Python37\lib\selectors.py", line 314, in _select
    r, w, x = select.select(r, w, w, timeout)
KeyboardInterrupt

**Command or request that led to error**:
```rasa x

Content of configuration file (config.yml) (if relevant):
Configuration for Rasa NLU.
https://rasa.com/docs/rasa/nlu/components/
language: en
pipeline:

name: WhitespaceTokenizer
name: RegexFeaturizer
name: LexicalSyntacticFeaturizer
name: CountVectorsFeaturizer
name: CountVectorsFeaturizer
analyzer: "char_wb"
min_ngram: 1
max_ngram: 4
name: DIETClassifier
epochs: 100
name: EntitySynonymMapper
name: ResponseSelector
epochs: 100

Configuration for Rasa Core.
https://rasa.com/docs/rasa/core/policies/
policies:

name: MemoizationPolicy
name: TEDPolicy
max_history: 5
epochs: 100
name: MappingPolicy

**Content of domain file (domain.yml)** (if relevant):
session_config:
  session_expiration_time: 60
  carry_over_slots_to_new_session: true
intents:
- greet
- goodbye
- affirm
- deny
- mood_great
- mood_unhappy
- bot_challenge
responses:
  utter_greet:
  - text: Hey! How are you?
  utter_cheer_up:
  - image: https://i.imgur.com/nGF1K8f.jpg
    text: 'Here is something to cheer you up:'
  utter_did_that_help:
  - text: Did that help you?
  utter_happy:
  - text: Great, carry on!
  utter_goodbye:
  - text: Bye
  utter_iamabot:
  - text: I am a bot, powered by Rasa.

Thanks for the issue, @b-quachtran will get back to you about it soon!
You may find help in the docs and the forum, too 🤗

Looks like host issue .Please set enviroment variable for http_proxy and https_proxy it might solve the problem

worked for me

@bessem1992 are you still experiencing the issue? Did the suggestion above help you? Can we close this ticket?

Closing this one for now 😄  Please reach out on the forum if you're encountering this issue again!

same issue in windows 10

I also have this issue. Is there a solution? Why is it closed?

it looks like this is an environment issue rather than a rasa issue (cf. this comment). Can you post on the forum with as much details on your setup as possible so that someone can help if you're still stuck? Thanks!

thanks I posted on the forum.
https://forum.rasa.com/t/rasa-x-task-was-destroyed/49408/9
"Note: You will see the Event Loop Close error in the terminal, you can ignore that, its an persistent issue with Rasa X and team is working on it."


numpy future warning when using 'fill' in a vectorize environment

integer values will be cast to int64; we should make sure to impose the float datatype

is there an obvious unit test we can write?


resolves roslaunch error "stdoutstderr is not a valid standard output…

fixes launch error
root@5936450f21ef:~/fmc/workspace/ws_rovs# ros2 launch schilling_rovs_bringup gemini.launch.py
[INFO] [launch]: All log files can be found below /root/.ros/log/2022-05-05-17-53-12-628434-5936450f21ef-268262
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): stdoutstderr is not a valid standard output config i.e. "screen", "log" or "both"

Hey @destogl I think this might be outdated, so I'm just gonna close it but feel free to reopen if you think otherwise!


Regarding training details in the paper

In table 2 of your paper, can I assume all of your training is based on ground truth 2D joint locations?
If this is true, why the last row number "60.52" in table 1 does not appear in any row in table 3?
If this is not true, could you explain why you don't use ground truth 2D data for training? Since the major contribution of your work focuses on the 2D-to-3D mapping.
Best,
Jiahao

Hi @jiahaoLjh!

In table 2 of your paper, can I assume all of your training is based on ground truth 2D joint locations?

Yes, you can assume that.

If this is true, why the last row number "60.52" in table 1 does not appear in any row in table 3?

Because most previous work does not consider training on 2d gt and testing on a detector. Only the paper by Moreno-Noguer, which we compare against in Table 2, does.
Cheers,

Thanks for your fast reply 👍
If I understand it correctly, the result of table 2 is trained on GT and tested on SH detections (last 2~4 rows) and GT (last row), while the result of table 3 is trained on SH detections and tested on SH detections as well. Right?
Best,
Jiahao

Oh wait! You said Table 2! (I thought you were referring to Table 1). Please ignore my first response.
In Tables 2 and 3 both the training and testing are from the same set.
Eg. In Table 2 -- attaching for reference:

We are training (and testing) on SH detections,  SH detections, SH finetuned detections, and Ground truth detections respectively.
In Table 3 -- attaching again for reference:

We are training (and testing) on SH detections,  SH detections, SH finetuned detections, and SH detections respectively.

Great! Now it gets totally clear.
I understand it is because previous works all follow this way (train and test on the same data source, either GT or SH), and you have to make it a fair comparison. I'm just wondering why people don't train on GT and test on SH. By doing so, we will give the model the best (here I mean noise-free) supervision, while still doing evaluation in a practical setting. This is the goal of doing pose estimation (to apply the best model on real-world data), isn't it?
Really appreciate your help. :D

I understand it is because previous works all follow this way (train and test on the same data source, either GT or SH), and you have to make it a fair comparison.

Correct.

I'm just wondering why people don't train on GT and test on SH. By doing so, we will give the model the best (here I mean noise-free) supervision, while still doing evaluation in a practical setting.

Empirically, our model does better when trained and tested detections, rather than trained on GT and tested on detections. The models may have a problem with the domain shift.

This is the goal of doing pose estimation (to apply the best model on real-world data), isn't it?

The goals of pose estimation are outlined in the paper.
If you have questions unrelated to the original topic of this issue, please open another issue.


Profiling for speed-up

Did some profiling before and after implementing my optimization. Here is a notebook. Note that the argument in Sel_BW(..., Ziqi=True/False) indicates whether using my speed-up or not.
Take a fixed gaussian example
Before:
From line profiler: 1) The iwls() takes 70.3% of total runtime with 1494 ns per hit. 2) Returning GWRResults class takes 19.1% of total runtime. So basically those two are the most heaviest. Total runtime is 185.313 s.

Total time: 185.313 s
File: /Users/Ziqi/Desktop/developer/gwr/gwr/gwr.py
Function: fit at line 229

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
   229                                               def fit(self, ini_params=None, tol=1.0e-5, max_iter=20, solve='iwls'):
   230                                                   """
   231                                                   Method that fits a model with a particular estimation routine.
   232
   233                                                   Parameters
   234                                                   ----------
   235
   236                                                   ini_betas     : array
   237                                                                   k*1, initial coefficient values, including constant.
   238                                                                   Default is None, which calculates initial values during
   239                                                                   estimation
   240                                                   tol:            float
   241                                                                   Tolerence for estimation convergence
   242                                                   max_iter      : integer
   243                                                                   Maximum number of iterations if convergence not
   244                                                                   achieved
   245                                                   solve         : string
   246                                                                   Technique to solve MLE equations.
   247                                                                   'iwls' = iteratively (re)weighted least squares (default)
   248                                                   """
   249        31          131      4.2      0.0          self.fit_params['ini_params'] = ini_params
   250        31           39      1.3      0.0          self.fit_params['tol'] = tol
   251        31           32      1.0      0.0          self.fit_params['max_iter'] = max_iter
   252        31           29      0.9      0.0          self.fit_params['solve']= solve
   253        31          104      3.4      0.0          if solve.lower() == 'iwls':
   254        31          100      3.2      0.0              m = self.W.shape[0]
   255        31          853     27.5      0.0              params = np.zeros((m, self.k))
   256        31          162      5.2      0.0              predy = np.zeros((m, 1))
   257        31          158      5.1      0.0              v = np.zeros((m, 1))
   258        31          147      4.7      0.0              w = np.zeros((m, 1))
   259        31       420474  13563.7      0.2              z = np.zeros((m, self.n))
   260        31       427699  13796.7      0.2              S = np.zeros((m, self.n))
   261        31       408756  13185.7      0.2              R = np.zeros((m, self.n))
   262        31         1291     41.6      0.0              CCT = np.zeros((m, self.k))
   263                                                       #f = np.zeros((n, n))
   264        31          293      9.5      0.0              p = np.zeros((m, 1))
   265     87234       125547      1.4      0.1              for i in range(m):
   266     87203       328111      3.8      0.2                  wi = self.W[i].reshape((-1,1))
   267     87203       144996      1.7      0.1                  rslt = iwls(self.y, self.X, self.family, self.offset, None,
   268     87203    130337171   1494.6     70.3                  ini_params, tol, max_iter, wi=wi)
   269     87203       754817      8.7      0.4                  params[i,:] = rslt[0].T
   270     87203       250628      2.9      0.1                  predy[i] = rslt[1][i]
   271     87203       175738      2.0      0.1                  v[i] = rslt[2][i]
   272     87203       175021      2.0      0.1                  w[i] = rslt[3][i]
   273     87203      1065945     12.2      0.6                  z[i] = rslt[4].flatten()
   274     87203      2158717     24.8      1.2                  R[i] = np.dot(self.X[i], rslt[5])
   275     87203      1562018     17.9      0.8                  ri = np.dot(self.X[i], rslt[5])
   276     87203      2709734     31.1      1.5                  S[i] = ri*np.reshape(rslt[4].flatten(), (1,-1))
   277                                                           #dont need unless f is explicitly passed for
   278                                                           #prediction of non-sampled points
   279                                                           #cf = rslt[5] - np.dot(rslt[5], f)
   280                                                           #CCT[i] = np.diag(np.dot(cf, cf.T/rslt[3]))
   281     87203      7677708     88.0      4.1                  CCT[i] = np.diag(np.dot(rslt[5], rslt[5].T))
   282        31      1244227  40136.4      0.7              S = S * (1.0/z)
   283        31     35342666 1140086.0     19.1          return GWRResults(self, params, predy, S, CCT, w)

After implementing my optimization:
Calling _compute_betas_gwr directly takes 280.6 per hit, which is one fifth of iwls(). Total runtime is 26.9759 s, which is a 6x speed-up in this case.
Timer unit: 1e-06 s

Total time: 26.9759 s
File: /Users/Ziqi/Desktop/developer/gwr/gwr/gwr.py
Function: _fast_search at line 285

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
   285                                               def _fast_search(self, ini_params=None, tol=1.0e-5, max_iter=20, solve='iwls'):
   286        31          105      3.4      0.0          trS = 0 #trace of S
   287        31           45      1.5      0.0          RSS = 0
   288        31           29      0.9      0.0          dev = 0
   289        31           31      1.0      0.0          CV_score = 0
   290        31           40      1.3      0.0          n = self.n
   291     87234        90185      1.0      0.3          for i in range(n):
   292     87203       148537      1.7      0.6              if self.kernel == 'bisquare': #Truncated kernel, taking out none-zero weights observations
   293                                                           nonzero_i = np.nonzero(self.W[i])
   294                                                           wi = self.W[i,nonzero_i].reshape((-1,1))
   295                                                           X_new = self.X[nonzero_i]
   296                                                           Y_new = self.y[nonzero_i]
   297                                                           offset_new = self.offset[nonzero_i]
   298                                                           current_i = np.where(wi==1)[0][0] #index of current regression point
   299
   300                                                       else: #non-truncated kernel
   301     87203       288208      3.3      1.1                  wi = self.W[i].reshape((-1,1))
   302     87203        85832      1.0      0.3                  X_new = self.X
   303     87203        83646      1.0      0.3                  Y_new = self.y
   304     87203        82309      0.9      0.3                  offset_new = self.offset
   305     87203        75867      0.9      0.3                  current_i = i
   306
   307     87203       141917      1.6      0.5              if isinstance(self.family, Gaussian):
   308     87203     24466433    280.6     90.7                  betas, inv_xtx_xt = _compute_betas_gwr(Y_new,X_new,wi)
   309     87203       543991      6.2      2.0                  hat = np.dot(X_new[current_i],inv_xtx_xt[:,current_i]) #influ
   310     87203       235841      2.7      0.9                  yhat = np.dot(X_new[current_i],betas)[0] #yhat
   311     87203       182077      2.1      0.7                  err = Y_new[current_i][0]-yhat #residual
   312     87203       130966      1.5      0.5                  RSS += err*err
   313     87203        94273      1.1      0.3                  trS += hat
   314     87203       324563      3.7      1.2                  CV_score += (err/(1-hat))**2
   315
   316                                                       elif isinstance(self.family, (Poisson, Binomial)):
   317                                                           rslt = iwls(Y_new, X_new, self.family, offset_new, None, ini_params, tol, max_iter, wi=wi)
   318                                                           inv_xtx_xt = rslt[5]
   319                                                           hat = np.dot(X_new[current_i],inv_xtx_xt[:,current_i])*rslt[3][current_i][0]
   320                                                           yhat = rslt[1][current_i][0]
   321                                                           err = Y_new[current_i][0]-yhat
   322                                                           trS += hat
   323                                                           dev += self.family.resid_dev(Y_new[current_i][0], yhat)**2
   324
   325        31           56      1.8      0.0          if isinstance(self.family, Gaussian):
   326        31          520     16.8      0.0              ll = -np.log(RSS)*n/2 - (1+np.log(np.pi/n*2))*n/2 #log likelihood
   327        31           76      2.5      0.0              aic = -2*ll + 2.0 * (trS + 1)
   328        31           75      2.4      0.0              aicc = -2.0*ll + 2.0*n*(trS + 1.0)/(n - trS - 2.0)
   329        31          201      6.5      0.0              bic = -2*ll + (trS+1) * np.log(n)
   330        31           40      1.3      0.0              cv = CV_score/n
   331                                                   elif isinstance(self.family, (Poisson, Binomial)):
   332                                                       aic = dev + 2.0 * trS
   333                                                       aicc = aic + 2.0 * trS * (trS + 1.0)/(n - trS - 1.0)
   334                                                       bic = dev + trS * np.log(n)
   335                                                       cv = None
   336
   337        31           58      1.9      0.0          return {'AICc': aicc,'AIC':aic, 'BIC': bic,'CV': cv}

Here are two plots showing the time to calculate AICc against BW.  The speed-up for fixed gaussian is pretty consistent.

For adaptive bi-sqaure, since my logic is pulling out non-zero weighted observations, the pulling itself takes longer time if the BW is global. But still, at global BW, there is a still significant speed-up.

Killer, this is exactly what I wanted to see!
So, regardless, the "hard" part is that iteration on the new estimates. Yours hits that just as many times, but you're only computing a subset of the iwls results, so it's much faster.
Great, good, looks good to me!
I think that, in other places, we stylistically use a dispatch table (e.g. getDiag), but I don't think that's necessary for just branching between Gaussian vs. Poisson-Binomial.

I think this is addressed in #25  and #20