Build and test using script written on repo home

Now there is 0-Test.sh script file that used to run tests.
What is needed?

To make another file to contain build steps and run script instead of 0-Test.sh.
Suggested file type is to be yaml or toml.
Suggested name 0-CI

Done on:
branch: vm _ci
commit: 149b119811ad4e14eded3184c2c885197816e0d8


Support for running two instances simultaneously

If doing testing of netcode, which requires two instances of the game to be run, the current workflow involves starting one, then tabbing back to the editor to start another once compile of the first is finished (quickly starting two results in errors, I assume concurrent read/write of files). Ideally if there was a configuration option to automatically run 2 (or X) instances on press of a hotkey, that would save time.
Additionally, right now I have to run without reusing the output window (to see the output of both instances), which means manually closing the output windows to not clog the editor. As part of the same feature, this could be resolved by having the outputs of the concurrent instances merged into one and qualifying each line with some identifier of which instance it came from.

Hello!
As of v0.17.0, if you disable the preference to re-use tabs, you can hit F5 repeatedly and it will spawn multiple Run jobs. This isn't as ideal as I'd like and could stand to have better ergonomics, but hopefully this tides things over and is a lot less cumbersome than waiting for a job to finish compilation before starting a companion one.

Appreciated, it will certainly make quick testing a bit less arduous. In the interim I had put together an AutoHotKey script (bound to F6) that would run two instances and place them side-by-side for quicker testing. Posting it here in case it's of use to anyone finding this issue who has a similar set up:
#If WinActive("ahk_exe GMEdit.exe")
	F6::
		Send {F5}
		loops := 0
		; Wait for the game to be active (meaning it's compiled)
		while (loops < 100) {
			WinGet, winPName, ProcessName, A
			if (winPName == "Runner.exe") {
				break
			}
			loops += 1
			Sleep, 100
		}

		; Sent it to the left
		Sleep, 500
		Send {LWin down}
		Send {Left}
		Send {LWin up}
		Sleep, 500
		Send {Escape}
		Sleep, 500

		; Alt tab back to GMEdit
		Send {Alt down}
		Send {Tab}
		Send {Alt up}

		; Wait for GMEdit to be active
		loops = 0
		while (loops < 100) {
			WinGet, winPName, ProcessName, A
			if (winPName == "GMEdit.exe") {
				break
			}
			loops += 1
			Sleep, 100
		}
		Sleep, 500

		Send {F5}
		loops = 0
		; Wait for the game to be active (meaning it's compiled)
		while (loops < 100) {
			WinGet, winPName, ProcessName, A
			if (winPName == "Runner.exe") {
				break
			}
			loops += 1
			Sleep, 100
		}
		; Send it to the right
		Sleep, 500
		Send {LWin down}
		Send {Right}
		Send {LWin up}
		Sleep, 500
		Send {Escape}
		Sleep, 500

		; Alt tab back to the first game window
		Send {Alt down}
		Send {Tab}
		Sleep, 100
		Send {Tab}
		Send {Alt up}
	return
#If


Write ATS for TG requirement 13

Coupled Resource shall be mapped to the elements of the Layer elements of the service capabilities. If linkage to the data sets or series on which the service operates are available, then the linkage to these resources shall be provided as stated by the INSPIRE Metadata Technical Guidance INS MDTG.

The ATS is clear to me


publish<EMAIL_ADDRESS>

Requested by: @marandaneto
Merge target: (default)
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave the #retract comment under this issue to retract the release (original issuer only).
Targets

[ ] pub-dev
[ ] github

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

https://github.com/getsentry/sentry-dart-plugin/compare/1.0.0-beta.5...refs/heads/release/1.0.0-RC.1


ponyc: 0.22.6 -> 0.23.0

Motivation for this change
https://github.com/ponylang/ponyc/issues/2764
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg  build ponyc ponyc-stable

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: ponyc, ponyc-stable
Partial log (click to expand)
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Cannot nix-instantiate `ponyc-stable' because:
error: attribute 'ponyc-stable' in selection path 'ponyc-stable' not found

Success on x86_64-darwin (full log)
Attempted: ponyc
The following builds were skipped because they don't evaluate on x86_64-darwin: ponyc-stable
Partial log (click to expand)
 Data types
 Function prototypes
 Functions
 Descriptors
Writing examples/yield/yield.o
Linking examples/yield/yield
installing
post-installation fixup
patching script interpreter paths in /nix/store/9f39vhyp9xyqyc4sx32yw8qa0n4cf1zp-ponyc-0.23.0
/nix/store/9f39vhyp9xyqyc4sx32yw8qa0n4cf1zp-ponyc-0.23.0

Success on x86_64-linux (full log)
Attempted: ponyc
The following builds were skipped because they don't evaluate on x86_64-linux: ponyc-stable
Partial log (click to expand)
 Descriptors
Writing examples/yield/yield.o
Linking examples/yield/yield
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/08xl05w4b3svvw6k6xhvk4nxxc69q4rz-ponyc-0.23.0
shrinking /nix/store/08xl05w4b3svvw6k6xhvk4nxxc69q4rz-ponyc-0.23.0/lib/pony/0.23.0/bin/ponyc
patching script interpreter paths in /nix/store/08xl05w4b3svvw6k6xhvk4nxxc69q4rz-ponyc-0.23.0
checking for references to /build in /nix/store/08xl05w4b3svvw6k6xhvk4nxxc69q4rz-ponyc-0.23.0...
/nix/store/08xl05w4b3svvw6k6xhvk4nxxc69q4rz-ponyc-0.23.0


Add hpx/future.hpp header

This is in the include module because it requires pulling in headers from quite a few different modules.
I've also added a little unit test/example that is roughly what I was thinking we could include alongside the public API listings in #4695.

In the last commit I changed all the hpx/modules/assertion.hpp includes to hpx/assert.hpp because the latter is part of the public API. This is a bit of an artifact from our inspect tool only allowing one header for a given symbol (it makes sense). I wouldn't actually mind including hpx/modules/assertion.hpp internally and only use hpx/assert.hpp in e.g. examples, but inspect will not allow that without changes. Does anybody mind this change?


Meal Plan page crashes if bookmarks is empty

Attempting to access the meal plan page before adding bookmarks results in the frontend crashing.
This is likely caused by the meal plan page attempting to access a field of bookmarks, but the bookmarks object does not exist yet for that user

The previously assumed cause of this bug was correct.  A check was added to ensure the bookmarks field existed before attempting to access the field

Resolved in pull request #35


Update distutils-legacy.rst

fix some small capitalization typos

Command is a class and named that way and not command.
@artificial-intelligence Could you explain your change?

In addition to this change being mistaken, it's also found originally in distutils, so any changes to this doc should go there, but probably there should be no changes.


[Bug]: Comment box on Git commit overlaps with other UI elements when box is expanded

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Comment box on Git commit tab overlaps as seen in the video when the box is expanded.

Steps To Reproduce

Try to enlargen the comment box on Git pop-up and observe the elements overlap

Environment
Release
Version
Cloud

I cannot reproduce it on linux on firefox and chrome.
It can be because of spell-check, or grammarly extension. But those things didn't affect the view on linux, in both the browsers.
Linux, chrome:

Linux, firefox:

This needs more investigation.

Reproducible on Mac.
Mac, chrome:
https://user-images.githubusercontent.com/1573771/155090011-aef34c2c-042e-4720-88f2-2b277b6cdde1.mov
Mac, firefox:
https://user-images.githubusercontent.com/1573771/155091047-3b0cf8e7-ac27-45cb-87e2-0d009dafc586.mov

Looks like Windows and Mac systems have this issue


one2many

Hi, is there support for one2many relationships?
e.g.
type User struct {}
type Book struct {
  Authors []User
}

Hi. Thanks for your question!
No, it isn't supported. This library isn't an ORM, it knows nothing about your relations. It just helps to scan data from rows into structs in a flat manner.
Maybe I should update the readme to better describe that.

Closing due to inactivity. Feel free to reopen if needed.


Add the documentation for the Instancio's property-based testing experimental engine

Add the documentation for the Instancio's property-based testing experimental engine

@reta thanks for updating the docs! We can merge this PR when the quickcheck module is released to Maven central. I haven't released it yet as I wasn't sure if you had any other changes planned. Let me know when you prefer to do it and I'll create a release.

I haven't released it yet as I wasn't sure if you had any other changes planned. Let me know when you prefer to do it and I'll create a

@armandino oh sure, thank you, I think we could give it a try (since all experimental stamps are there) and continue to improve it along the way, what do you think? Thanks a lot!

@reta sure, sounds good. I'll include it in 3.6.0.

@reta the quickcheck module should be available now from Maven central under 3.6.0. Thank you again for your contribution!

@reta the quickcheck module should be available now from Maven central under 3.6.0. Thank you again for your contribution!

Thanks a mill @armandino !


MWPW-142290: Reverting Libs Stage Updates

Updating our current libs patterns to match Milo College.
Removing the stage logic and tests as they are not needed

Resolves: MWPW-142290

Test URLs:

Before: https://main--bacom--adobecom.hlx.live/?martech=off
After: https://revert-stage-libs-updates--bacom--adobecom.hlx.live/?martech=off

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (45c418d) 95.62% compared to head (b3014ed) 95.61%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #175      +/-   ##
==========================================
- Coverage   95.62%   95.61%   -0.01%
==========================================
  Files          11       11
  Lines         937      936       -1
==========================================
- Hits          896      895       -1
  Misses         41       41

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


fix: new config to support #547

Added new config so that it can be decided wether a comments are stripped from script (of identity providers and attribute providers) before execuition.
Default configuration is that comments are stripped from scripts (security-by-default).

Also please add a test file verifying the successful execution of:

scripts with valid comments with default config (ENABLED)
scripts with strings containing //  in it with the config DISABLED

Also please add a test file verifying the successful execution of:

scripts with valid comments with default config (ENABLED)
scripts with strings containing //  in it with the config DISABLED

Added required automated tests.
Feel free to comment if the new test are not properly well defined, not sufficient, or more tests are necessary.


Update policy validation to also check that violations.result includes 'message' and 'pass'

Currently the validation checks to see that a pass block and violations block returning a result object exists.
Confirm that the result block also contains a pass key and message key

Could this also include an id key? I'm using it to ensure that each violation is unique.

I think this was addressed in #59


Hi, can you pleaese release the pre-extracted TGIF feature?

much appreciated!

Hi, you can obtain them from VGT. The features are similar and can help you reproduce a close results.


M89 release manifest

Were the Analytics updates already bumped?

Yes, they were - https://github.com/firebase/firebase-ios-sdk/pull/7436/files


Feature/llama kernel

📌 Checklist before creating the PR

[ ] I have created an issue for this PR for traceability
[ ] The title follows the standard format: [doc/gemini/tensor/...]: A concise description
[ ] I have added relevant tags if possible for us to better distinguish different PRs

🚨 Issue number

Link this PR to your issue with words like fixed to automatically close the linked issue upon merge
e.g. fixed #1234, closed #1234, resolved #1234

📝 What does this PR do?
This PR is used to add llama useful cuda kernels for inference.
💥 Checklist before requesting a review

[x] I have linked my PR to an issue (instruction)
[x] My issue clearly describes the problem/feature/proposal, with diagrams/charts/table/code if possible
[x] I have performed a self-review of my code
[x] I have added thorough tests.
[x] I have added docstrings for all the functions/methods I implemented

⭐ Do you enjoy contributing to Colossal-AI?

[x] 🌝 Yes, I do.
[ ] 🌚 No, I don't.

Tell us more if you don't enjoy contributing to Colossal-AI.

Any differece from the original codes? For example, I quickly checked pos_encoding & layernorm kernels but they seem exactly the same as the codes in vllm's repository. If this is just integrating some external codes into our project, I recommend just to add the external tool as a dependency and import the necessary API for our needs.
There is some minor changes. I only integrate useful parts which will be integrated into our llama-inference attention over here.

Any differece from the original codes? For example, I quickly checked pos_encoding & layernorm kernels but they seem exactly the same as the codes in vllm's repository. If this is just integrating some external codes into our project, I recommend just to add the external tool as a dependency and import the necessary API for our needs.

There is some minor changes. I only integrate useful parts which will be integrated into our llama-inference attention over here.

Adding llama shardformer demo, try to directly import third-party useful ops @kurisusnowdeng

temporarily closed this.


Multiple videos playing at the same time

I have noticed that multiple videos can be played at the same time and they all have sound at the same time. Is there a way to stop multiple videos playing at the same time.

The library does not support concurrent video playback in multiple PlayerView instances. If your application has multiple PlayerView instances, a recommended best practice is to pause or stop playback in any existing instances before starting playback in a different instance. In the example application that ships with the project, the ViewControllers make use of NSNotificationCenter to dispatch notifications that playback is about to begin. Other ViewControllers are notified and will pause playback in their PlayerView instances.


Safe check for possible non-existing object

Wouldn't it be enough to do d3_transitionInheritId != undefined?

No because d3_transitionInheritId does not exist anywhere in the code.  http://stackoverflow.com/questions/11380283/how-can-i-compare-a-non-existing-javascript-object-to-undefined-without-getting

I see. In that case this will never evaluate as true, will it? So the if statement can just be removed and we leave only the else branch?
Or we could bring in the transition object definition from d3. Either would be fine with me.
Context: This is a copy of d3's internal brush code and I just did the minimum to get it working. That didn't include looking at transition functionality.

I wasn't sure if bringing in the definition might override it.
This will evaluate to true if d3_transitionInheritId is defined, which in my use case, it will always be false but perhaps for others it may be true.

It will never be true unless we copy it into the library. It's an object that is only ever defined internal to d3.
Personally, I don't need the transitions and won't be able to test them, so if you want to update this pull request to just remove the whole statement, just leaving the contents of the else clause, I'll merge it.
Thanks!

I lost track of this. Was this completed? Thanks!

Yes this was completed. Just waiting to get merged.

Sorry to drop the ball. Will merge now. Thanks!


Adding support for squash: interface.

Porting the upstream PR https://github.com/mitchellh/mapstructure/pull/325 that fixes the upstream issue https://github.com/mitchellh/mapstructure/issues/186.

@m1k1o thanks for the contribution!
Would you mind fixing the lint error?
Thanks!

Fixed and resolved merge conflist with main branch.

Thanks!


Fixed spelling errors

I've fixed a number of typos that were in various docstrings and comments.

Haha thanks for this.


Port to macOS

Hey, I recently switched back to macOS and want to keep my custom cool logo, Could you please add a macOS.dmg file? Maybe an ARM dmg?

This is an UEFI application, it should be OS independent. Unknown if macOS respects the BGRT however.

I don't have a Mac. Maybe you can fix that?
Otherwise, try to copy the files manually (maybe not necessary if you didn't wipe it when switching OS) and add the boot entry manually woth some tool such as bootoption.

From what I can tell, Macs do not use the UEFI to boot computer. I am afraid it is not easy to port HGRT things.

The x86-based Macs do. No idea if the ARM64 ones do however.

Yes, you. are. right. The x86 Macs just work like a general PC. And this
the reason why Hackintosh works.
But the aarch64 based Macs do not have UEFI.
Charles Milette @.***> 于 2024年3月24日周日 下午3:46写道：

The x86-based Macs do. No idea if the ARM64 ones do however.
—
Reply to this email directly, view it on GitHub
https://github.com/Metabolix/HackBGRT/issues/150#issuecomment-2016724292,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACO4PHO6JQEDMS7Q5DUOXFLYZ2AF7AVCNFSM6AAAAAA6HTCA4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJWG4ZDIMRZGI
.
You are receiving this because you commented.Message ID:
@.***>

Don't x86 macs use their own boot logo instead of the one in BGRT?

Don't x86 macs use their own boot logo instead of the one in BGRT?

Could someone check this out on a Mac which dual-boots to either Windows or Linux (with plymouth splash screen)?

From the source code of BootXChanger (later borrowed into DarkBoot), looks like BGRT is not involved and it's simply a matter of adding a PNG path into /Library/Preferences/SystemConfiguration/com.apple.Boot.plist.
<key>Boot Logo</key>
<string>\System\Library\CoreServices\BootLogo.png</string>

I will close this issue for now.


Add basic functionality of leapp report analyzer

Introduce script to analyze and group multiple leapp report JSON files into a single JSON output and an HTML tables output.
The scripts takes a list of input files, merges their data, and groups the hostnames by severity.
Output is sorted by severity.
Add support for checking the 'groups' field if the 'flags' field is not present in the leapp report entry. So we can parse multiple versions of leapp report schemas.
The script seems to work for both python2.7 and 3+ versions.
Usage: leapp-report-analyzer.py [-h] -o OUTPUT_JSON -t OUTPUT_HTML input_file [input_file ...]
leapp-report-analyzer leapp-report1.json leapp-report2.json -o output.json -t output.html

Ok, so after discussion, just leaving a comment to include README.md with description (+license), basic usage. Just make it representative as standalone tool.

@andywaltlova Updated the readme.

I updated the script and html output with remediations, feel free to review @andywaltlova


"Character Counter" Missing

Description
While setting up SimpleMDE, it appears that while a character counter is mentioned (and a style class is added for it in 1.10.0 / 6318fc1b193fc419a0aede13738b2be07355b16a), it was never actually implemented into the editor.
Attempting to add "characters" to status's array properly adds "characters: " to the status bar, however does not actually have any functionality associated with it, thus does not display numbers nor increase/decrease with input.
Example:

Setup:
var simplemde = new SimpleMDE({
  autosave: "enabled",
  toolbar: ["bold", "italic", "|", "link", "|", "preview"],
  status: ["characters"],
});

Yes, the actual code seems to be missing. Fortunately it is relatively easy to add it yourself.
status: ["autosave", "lines", "words", "cursor", {
		className: "characters",
		defaultValue: function(el) {
			this.characters = 0;
			el.innerHTML = "0";
		},
		onUpdate: function(el) {
			el.innerHTML = simplemde.value().length;
		}
	}]

Not able to get reference to simplemde variable in this code ? Anything, I am missing?

Not able to get reference to simplemde variable in this code ? Anything, I am missing?
@mobeendude
I actually have to select the div element to make this work:

 onUpdate: function (el) {
                el.innerHTML = document.querySelector(
                  "div.CodeMirror.cm-s-paper.CodeMirror-wrap").innerText.length;
              }


SystemMessage are not considered while creating AgentExecutor with OPENAI_FUNCTIONS

System Info
Langchain version 0.352
SystemMessage is ignored when I invoke AgentExecutor.run function. the code looks as below.
from typing import Tuple, Dict

from langchain.agents import initialize_agent, AgentType
from langchain.agents.agent import AgentExecutor
from langchain.agents.format_scratchpad.openai_functions import format_to_openai_function_messages
from langchain.agents.output_parsers import OpenAIFunctionsAgentOutputParser
from langchain.memory import ConversationBufferMemory
from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain.tools.render import format_tool_to_openai_function
from langchain_core.messages import SystemMessage

from elasticsearch_agent.config import cfg
from elasticsearch_agent.tools.index_data_tool import IndexShowDataTool
from elasticsearch_agent.tools.index_details_tool import IndexDetailsTool
from elasticsearch_agent.tools.index_search_tool import create_search_tool
from elasticsearch_agent.tools.list_indices_tool import ListIndicesTool

tools = [
    ListIndicesTool(),
    IndexShowDataTool(),
    IndexDetailsTool(),
    create_search_tool(),
]

def elastic_agent_factory() -> AgentExecutor:
    system_msg = """
        You are a helpful AI ElasticSearch Expert Assistant
        **Always you will get the field names of the ElasticSearch index from the Elasticsearch DB as a first step.
        You are provided with various tools to help the user to get information from an ElasticSearch index.
        you will get the index name from the question. If not provided, show the list of available indices and  ask the user to choose it.
        You will generate required aggregation queries for any analytical questions asked.
        You will use 'aggregations' field in response object for answering analytical queries.
        Dont's:
         Never assume index names or field names.
        """

    agent_kwargs, memory = setup_memory()
    agent_kwargs["system_message"] = SystemMessage(content=system_msg)

    return initialize_agent(
        tools,
        cfg.llm,
        agent=AgentType.OPENAI_FUNCTIONS,
        verbose=False,
        agent_kwargs=agent_kwargs,
        memory=memory
    )

def setup_memory() -> Tuple[Dict, ConversationBufferMemory]:
    """
    Sets up memory for the open ai functions agent.
    :return a tuple with the agent keyword pairs and the conversation memory.
    """
    agent_kwargs = {
        "extra_prompt_messages": [MessagesPlaceholder(variable_name="memory")],
    }
    memory = ConversationBufferMemory(memory_key="memory", return_messages=True)

    return agent_kwargs, memory

if __name__ == "__main__":
    agent_executor = elastic_agent_factory()
    prompt = agent_executor.agent.prompt
    print(prompt)
    print(type(agent_executor.agent.prompt))

Who can help?
No response
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[X] Chains
[ ] Callbacks/Tracing
[X] Async

Reproduction
run the given code
Expected behavior
The chain agent should consider using the system message and extra prompt message provided to it.

@dosu-bot as you see, I am already doing the same as you suggested. but looks like system messages are not coming into effect.

@dosu-bot here is the code.
when I invoke agentExecutor, it is supposed to first fetch the field details, map the fields for the given question and then run the aggregation query. but it is directly trying to query the elk with its own field names.
agent invocation code:
agentExecutor.run("""get top 3 department, occurrences and top 3 users in each department in the past 30 days
filed names = event.actor.departement.keyword, event.actor.mail.keyword
index=kibana_telemetry""")

agent code:
def elastic_agent_factory() -> AgentExecutor:
    system_msg = """
        You are a helpful AI ElasticSearch Expert Assistant
        **Always you will get the field names of the ElasticSearch index from the Elasticsearch DB as a first step.
        You are provided with various tools to help the user to get information from an ElasticSearch index.
        you will get the index name from the question. If not provided, show the list of available indices and  ask the user to choose it.
        You will generate required aggregation queries for any analytical questions asked.
        You will use 'aggregations' field in response object for answering analytical queries.
        Dont's:
         Never assume index names or field names.
        """

    agent_kwargs, memory = setup_memory()
    agent_kwargs["system_message"] = SystemMessage(content=system_msg)

    return initialize_agent(
        tools,
        cfg.llm,
        agent=AgentType.OPENAI_FUNCTIONS,
        verbose=False,
        agent_kwargs=agent_kwargs,
        memory=memory
    )


add erc-7509

It is migrated from https://github.com/ethereum/EIPs/pull/7651

Hey @SamWilsn , your comments has been fixed and all checks have passed. Please do a final check. Thank you very much.

@SamWilsn I have addressed all required feedback and ready for a review.

@SamWilsn  The merge was interrupted because of this issue https://github.com/ethereum/ERCs/issues/110


Some cht tests failed for 32-bit MIPS and ARMv5TE targets

For v0.7.2, we copied some source files of the concurrent hash table (cht) from moka-cht crate and removed moka-cht from the dependencies. When we enabled tests for the cht in Moka, we saw some tests failed for 32-bit MIPS and ARMv5TE targets. We disabled these failing tests and released v0.7.2. https://github.com/moka-rs/moka/pull/86#issuecomment-1030570127
Since then, I have done some investigation, and came to the following conclusion:

Those failures were likely due to some incomplete parallelism supports in QEMU user space emulator.

This is confirmed by running the same tests on QEMU system emulator. (It was able to run the tests with no failures)

Therefore, we can safely ignore these failing tests.

Here is a summary of my investigation:
The issue
Some cht tests failed for 32-bit MIPS and ARMv5TE targets. These platforms are used by the some users of aliyundrive-webdav because SoC chips with these architectures are still common in home Wi-Fi routers and NAS models.
Failing tests
mips-unknown-linux-musl and mipsel-unknown-linux-musl targets

concurrent_growth
concurrent_growth_and_removal
concurrent_insert_with_or_modify
concurrent_insertion
concurrent_insertion_and_removal
concurrent_overlapped_insertion
concurrent_overlapped_removal
concurrent_removal

Error
memory allocation of 1052 bytes failed. signal: 6, SIGABRT: process abort signal.

armv5te-unknown-linux-musleabi target

concurrent_overlapped_growth

Error
signal: 4, SIGILL: illegal instruction

Some backgrounds

Moka uses cross-rs/cross for testing with cross compilation.
For these platforms with failing tests, cross uses QEMU's user space emulator.
Unlike QEMU system emulator (virtual machines), the user space emulator is not very mature and has some limitations and issues:

From cross's README:

"Testing support (cross test) is more complicated. It relies on QEMU emulation, so testing may fail due to QEMU bugs rather than bugs in your crate."

From the "User space emulator" chapter of QEMU manual:

"Threading: ... Note that not all targets currently emulate atomic operations correctly."

Investigation: Running the tests on a VM instead of the user space emulator
To check whether or not those failures are caused by the issues with the user space emulator, I ran the same tests using the system emulator with a MIPS-based emulated CPU (qemu-system-mips -M malta).
OpenWrt project distributes firmware (embedded Linux) files that can run on QEMU system emulators. One of these firmware files is for MIPS architecture: "OpenWrt in QEMU MIPS"
Steps

Ran tests using cross => It failed as expected.
Started qemu-system-mips (a virtual machine) using the OpenWrt firmware.
On the VM, copied the testing binary built at step 1.
Ran the binary on the VM.

Result (MIPS)
I verified that all cht tests succeeded on the MIPS system emulator. I concluded the failures were due to some issues in the user space emulator and we can safely ignore them.
root@OpenWrt:~# uname -a
Linux OpenWrt 5.4.154 #0 SMP Sun Oct 24 09:01:35 2021 mips GNU/Linux

root@OpenWrt:~# ./moka-tests --test-threads 1 cht

running 18 tests
test cht::segment::map::tests::concurrent_growth ... ok
test cht::segment::map::tests::concurrent_growth_and_removal ... ok
test cht::segment::map::tests::concurrent_insert_with_or_modify ... ok
test cht::segment::map::tests::concurrent_insertion ... ok
test cht::segment::map::tests::concurrent_insertion_and_removal ... ok
test cht::segment::map::tests::concurrent_overlapped_growth ... ok
test cht::segment::map::tests::concurrent_overlapped_insertion ... ok
test cht::segment::map::tests::concurrent_overlapped_removal ... ok
test cht::segment::map::tests::concurrent_removal ... ok
test cht::segment::map::tests::drop_many_values ... ok
test cht::segment::map::tests::drop_many_values_concurrent ... ok
test cht::segment::map::tests::drop_value ... ok
test cht::segment::map::tests::growth ... ok
test cht::segment::map::tests::insert_with_or_modify ... ok
test cht::segment::map::tests::insertion ... ok
test cht::segment::map::tests::removal ... ok
test cht::segment::map::tests::remove_if ... ok
test cht::segment::map::tests::single_segment ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 43 filtered out; finished in 2145.54s

A note on ARMv5TE architecture
I could not do the same test for ARMv5TE.

OpenWrt distributes firmware file for ARM architecture on QEMU.

However it seems the firmware is for ARMv7 architecture.

I also could not find a way to run the system emulator with ARMv5TE-based CPU.

It seems Versatile boards (versatileab, versatilepb) emulate ARMv5TE-base SoCs:

https://qemu.readthedocs.io/en/latest/system/arm/versatile.html
https://www.elinux.org/ARM_Versatile

However, I could not run it on my QEMU installation.

Maybe because I use a wrong OpenWrt firmware? I guess I have to build the firmware by myself.

Terminal log from the testing (MIPS)
On the host
$ cross test --target mips-unknown-linux-musl --no-default-features
    Finished test [unoptimized + debuginfo] target(s) in 0.34s
     Running unittests (/target/mips-unknown-linux-musl/debug/deps/moka-a8b7658fdc5b39d9)

running 61 tests
test cht::segment::map::tests::concurrent_growth ... memory allocation of 1052 bytes failed
error: test failed, to rerun pass '--lib'

Caused by:
  process didn't exit successfully: `qemu-mips /target/mips-unknown-linux-musl/debug/deps/moka-a8b7658fdc5b39d9` (signal: 6, SIGABRT: process abort signal)
^C

$ file ./target/mips-unknown-linux-musl/debug/deps/moka-a8b7658fdc5b39d9
./target/mips-unknown-linux-musl/debug/deps/moka-a8b7658fdc5b39d9:
  ELF 32-bit MSB shared object, MIPS, MIPS32 rel2 version 1,
  dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0xf676e75,
  with unknown capability 0x10000 = 0x70403, not stripped

In the VM (MIPS)
$ qemu-system-mips -version
QEMU emulator version 6.1.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

$ qemu-system-mips -M malta \
    -hda openwrt-21.02.1-malta-be-rootfs-ext4.img \
    -kernel openwrt-21.02.1-malta-be-vmlinux.elf \
    -nographic -append "root=/dev/sda console ttyS0"

 ...
 OpenWrt 21.02.1, r16325-88151b8303

root@OpenWrt:~# uname -a
Linux OpenWrt 5.4.154 #0 SMP Sun Oct 24 09:01:35 2021 mips GNU/Linux

root@OpenWrt:~# scp -p $REMOTE_HOST:moka/target/mips-unknown-linux-musl/debug/deps/moka-a8b7658fdc5b39d9 moka-tests

root@OpenWrt:~# ls -l
-rwxr-xr-x    1 root     root      68371460 Feb  7 00:53 moka-tests

root@OpenWrt:~# ./moka-tests --test-threads 1 cht

running 18 tests
test cht::segment::map::tests::concurrent_growth ... ok
test cht::segment::map::tests::concurrent_growth_and_removal ... ok
test cht::segment::map::tests::concurrent_insert_with_or_modify ... ok
test cht::segment::map::tests::concurrent_insertion ... ok
test cht::segment::map::tests::concurrent_insertion_and_removal ... ok
test cht::segment::map::tests::concurrent_overlapped_growth ... ok
test cht::segment::map::tests::concurrent_overlapped_insertion ... ok
test cht::segment::map::tests::concurrent_overlapped_removal ... ok
test cht::segment::map::tests::concurrent_removal ... ok
test cht::segment::map::tests::drop_many_values ... ok
test cht::segment::map::tests::drop_many_values_concurrent ... ok
test cht::segment::map::tests::drop_value ... ok
test cht::segment::map::tests::growth ... ok
test cht::segment::map::tests::insert_with_or_modify ... ok
test cht::segment::map::tests::insertion ... ok
test cht::segment::map::tests::removal ... ok
test cht::segment::map::tests::remove_if ... ok
test cht::segment::map::tests::single_segment ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 43 filtered out; finished in 2145.54s

root@OpenWrt:~# poweroff

Closing this issue for now without confirming the one failing test on ARMv5TE. I will reopen if necessary.


support different certificate key type

Key type to use for private keys. Supported: rsa2048, rsa4096, rsa8192, ec256, ec384.
default rsa2048

fix the issue #9


simple-cipher: ambiguous instructions and conflicting files

simple-cipher bundles two .go files - cipher.go which defines an interface and simple_cipher.go which holds a package definition. It is unclear what the purpose of cipher.go is - in fact, I didn't even see it there when I started the exercise.
Following on, there is no indication outside of cipher.go that the exercise is intended to teach/demonstrate interfaces. This should be clear in the instructions, or the content of cipher.go should be moved into simple_cipher.go so that people opening the exercise will see what's intended.
The bigger picture would include tags on exercises that showed the concepts to be practiced, but that's probably worth a separate discussion.

It seems this is still an issue? If you follow the instructions ("If someone doesn't submit a key at all, generate a truly random key of at least 100 lowercase characters in length.") your code will fail the test ("Argument for NewVigenere must consist of lower case letters a-z only. Values consisting entirely of the letter 'a' are disallowed. For invalid arguments NewVigenere returns nil.") I believe this is the test:
func TestVigenereWrongKey(t *testing.T) {
	for _, k := range []string{"", "a", "aa", "no way", "CAT", "3", "and,"} {
		if NewVigenere(k) != nil {
			t.Errorf("NewVigenere(%q): got non-nil, want nil", k)
		}
	}
}

@4rc0s If you think there's still an issue with this, please open a new forum post in the Go section: https://forum.exercism.org/c/programming/go/19
In your post, please include an example of code that you think should pass the tests, but fails that particular one.


console log has improper formatting of non-ascii urls

With werkzeug 0.14.1, the console log for a non-ascii url (e.g. AjudaNaFormatação) looked like:
2019-04-10 12:17:28,493 INFO werkzeug:88 <IP_ADDRESS> - - [10/Apr/2019 12:17:28] "GET /AjudaNaFormata%C3%A7%C3%A3o HTTP/1.1" 200 -

With werkzeug 0.15.x, it now looks like:
2019-04-10 12:13:19,315 INFO werkzeug:122 <IP_ADDRESS> - - [10/Apr/2019 12:13:19] "GET /AjudaNaFormata+º+úo HTTP/1.1" 200 -

The problem seems to be a change to the incoming self.address_string() in serving,py near line 381:
def log(self, type, message, *args):
    _log(type, '%s - - [%s] %s\n' % (self.address_string(),
                                     self.log_date_time_string(),
                                     message % args))

BTW, why show the date and time twice? A better format:
2019-04-10 12:22:44,301 INFO werkzeug:88 <IP_ADDRESS> "GET /AjudaNaFormata%C3%A7%C3%A3o HTTP/1.1" 200 -

This was deliberate, we want to show the unquoted URLs because it's easier for non-English devs to understand what requests the dev server is receiving. See #1115. The example shown there worked as expected in my terminal. Perhaps your terminal encoding doesn't match your Python encoding?

why show the date and time twice?

We don't, you've done something to change Python's logger format for that logger.

I just tried the example you've shown, and my output looks correct.

I was on Windows (sigh), works as you say on Ubuntu.
Thanks for rapid response.


feat(expr): streaming generate_series ends with now()

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
It's been requested that we support continuously generating timestamp with a given interval into a materialized view. This PR achieves this by support now() as the stop of generate_series. It converts such generate_series call to a NowExecutor with a new mode called Mode::GenerateSeries. The old behavior of NowExecutor is not under Mode::UpdateCurrent.
Resolves #15830.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[x] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[x] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note

Support continuous timestamp generation in streaming mode. Syntax:CREATE MATERIALIZED VIEW mv AS
SELECT * FROM generate_series(
  '2020-01-01 00:00:00', -- start, must be a constant expression of type `timestamptz`
  now(), -- stop, must be `now()`
  interval '1 hour' -- step, must be a constant expression of type `interval`
);

support now() as the stop of generate_series.

Just FYI 'infinity'::timestamptz is a valid value in PostgreSQL but we have not supported it yet #4515. Stopping at infinity is less ambiguous than stopping at now - we can support that in addition to now() once #4515 is done.

Just FYI 'infinity'::timestamptz is a valid value in PostgreSQL but we have not supported it yet https://github.com/risingwavelabs/risingwave/issues/4515. Stopping at infinity is less ambiguous than stopping at now - we can support that in addition to now() once https://github.com/risingwavelabs/risingwave/issues/4515 is done.

I believe this does not fully convey the semantics we need, because we only want to emit the timestamps we need at the corresponding times, that is, gradually emit records that are less than or equal to the current now()'s value as the global time increases. However, the following definition does not have such meaning.
generate_series(
      '2024-06-21 17:36:00'::timestamp,
      'infinity'::timestamp,
      interval '1 hour'
    );


"Test 23" failed - can we have better names / error messaging?

This error is super informative.
I assume this is Property DDS. It would be great to at least given some names that are easy to find, but also provide reasonable reason for failure. Please note that I'm changing parts of runtime that have close to zero chance to impact DDS tests, so that also likely points to instability in those tests. But naming / better pointers for developers to know where to find these tests would be primary concern
https://dev.azure.com/fluidframework/public/_build/results?buildId=35966&view=ms.vss-test-web.build-test-results-tab&runId=663502&resultId=101640&paneView=debug:

I changed the tests to a) have a describe() with the suite name and b) show the PRNG seed used for generating the case.
It's still not great, but it helps a bit.


Revert severity fix and adjust test

This PR subsumes #600.

Revert "Fix severity tests"
Adjusted unitNameMinSeverity test

bors r+
Thank you a lot, @coot !

bors r+


loop_offset of AudioStreamOGGVorbis not precise enough in editor

Godot version:
3.2.1 stable
Issue description:
Setting the loop_offset of an ogg audio resource in the editor's import panel causes it to be clamped to the nearest millisecond. This is not precise enough for seamless looping on standard 44.1/48khz audio, and can cause audible clicking when the audio loops, especially if the audio has loud upper bass/low mids.
Instead, it should have at least a hundredth of a millisecond of precision. At least then it would be possible to tweak it until it's pointing at the right sample for standard 44.1/48khz audio.
If other importable audio stream source types have the same problem they should be fixed too.
If the code that controls looping for OGG streams isn't precise enough for this rounding to matter then that would have to get fixed too.

Duplicate of https://github.com/godotengine/godot-proposals/issues/84.


elf2cfetbl internal filename/path length dependency on OSAL questionable

Originated by abrown4 (68 on babelfish):
The internal filename/path length for the table files produced do NOT have to depend upon the OSAL. The OSAL OS_MAX_FILE_NAME limit is too restrictive. Need to use the PATH_MAX from linux/limits.h that is appropriate for the host.
JH - Suggest possibly checking size against OSAL and notify user when limit exceeded (but still allow to run as long as it meets PATH_MAX).

I can do this.


Updated NMI Payment Retrieval Logic

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description
This pull request addresses an issue in the NMI payment retrieval logic. Changed the implementation of the TryFrom trait to use the hyperswitch connector request reference id instead of the connector transaction id.
Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Checklist

[ ] I formatted the code cargo +nightly fmt --all
[ ] I addressed lints thrown by cargo clippy
[ ] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

Hey @mohit07dec 👋,
Can you change the tittle by following the conventions as mentioned in this doc  regarding the commits. PR title should follow the same conventions.

Hello @mohit07dec ,
Please resolve conflicts from your branch.

Hey @mohit07dec ,
your pr contains 0 lines changes?
Can you please update this if you are still working on it.


transpose op is deleted when i use tf.lite.TFLiteConverter.from_keras_model to convert tflite model.

1. System information

OS Platform and Distribution (Linux Ubuntu 16.04):
TensorFlow installation (pip package):
TensorFlow library (2.0.0-rc0):

2. Code
...
output = tf.transpose(output, [0, 3, 1, 2])
output_shape = output.shape
output = Reshape([output_shape[1] * output_shape[3], output_shape[2]])(tf.transpose(output, [0, 1, 3, 2]))
output = tf.transpose(output, [0, 2, 1]) # if output shape is [1, 64, 1], the transpose op is deleted, when i convert keras to tflite. If the output shape is [1, 64, 2], the transpose op is reserved.
bn_w = state_dict[bn_name+'.weight'].numpy()
bn_b = state_dict[bn_name+'.bias'].numpy()
bn_mean = state_dict[bn_name+'.running_mean'].numpy()
bn_var = state_dict[bn_name+'.running_var'].numpy()
output = tf.add(tf.multiply(
tf.divide(tf.subtract(output, bn_mean), tf.sqrt(bn_var+1e-05)), bn_w), bn_b)
output = tf.transpose(output, [0, 2, 1])
output = tf.transpose(Reshape([output_shape[1], output_shape[3],  output_shape[2]])(output), [0, 1, 3, 2])
...
converter = tf.lite.TFLiteConverter.from_keras_model(model)
3. Failure after conversion
The conversion is successful, but the generated model is wrong:

transpose op is deleted in tflite model, which leads to the dimension mismatch after the transpose.

@fhahaha could you provide minimal, reproducible steps as a format of gist to reproduce your problem at our end?

Could you try your conversion with the recent TF version? There is possibility that the issue has been fixed in the recent TF version already.

@abattery Thanks, the issue has been fixed in recent TF version 2.4.1.

Thanks @fhahaha for the confirmation. Closed this issue since the recent TF version can resolve this issue.


Introduce snapshot testing for all the serialized results

Currently, borsh tests only ensure that serialization is reversible if used with exactly the same version of borsh on the same system:
https://github.com/near/borsh-rs/blob/4f8f985a316c0d6c06d0e393a207ee8d6537f01a/borsh/tests/test_primitives.rs#L8-L10
This won't catch if the format suddenly changes on both the serialization and deserialization sides.
I have really great experience with insta crate, which helps to set up snapshot testing in no time.
Basically, I suggest we add an extra line in almost every test:
insta::assert_debug_snapshot!(buf);

This will allow us to instantly spot if the underlying format gets changed.

Taking this issue for trial and error and resolution


regression: A subDB may not be deleted (may be still accessible) if there are no other update operations in a write transaction

Thanks @vorot93 for reporting.

Due to partially (i.e. incomplete) micro-optimization.


Improve batching of coordinate conversion requests

Each GeoConverter has its own independent request queue and cache of previously-converted points. Some callers to GeoServices.getConverter like RealityTileTree obtain a single GeoConverter and reuse it throughout their own lifetime. Therefore they benefit from both batching and caching, and the cache gets deleted once the RealityTileTree becomes disused.
Other callers like IModelConnection.spatialToCartographic obtain a new GeoConverter every time they need one, use it to convert a single point(!), and then discard the converter. This entirely prevents batching - e.g., calling spatialToCartographic 20 times in one frame results in 20 http requests.
To address that, we cache each GeoConverter returned by getConverter by its datum until it has converted at least one point and has no further outstanding conversion requests. If another call to getConverter requests the same datum, we reuse the converter from the cache.
In this way, the converter lives for as long as (and no longer than) any caller is awaiting conversion to/from its datum - it and its cache are deleted once it becomes disused. This makes the coordinate caching generally less useful, but at least bounded - and maximizes batching of requests.
TODO

[ ] There's lots of horribly inefficient code that does p1 = await spatialToCartographic(...); p2 = await spatialToCartographic(...); because that's what the current API encourages. Add versions of these APIs like IModelConnection.spatialToCartographic that take an array of points instead of a single point, to encourage people to batch their requests. Delete or deprecate the existing single-point ones based on their release tags.
[ ] Tests

@mdastous-bentley

There is still an await in  IModelConnection.cartographicToSpatialFromGcs() :
const coordResponse = await geoConverter.getIModelCoordinatesFromGeoCoordinates([geoCoord]);
Is this a problem?

@mdastous-bentley PR is still in draft, please wait.

ImageTests has timed out twice with output truncated as follows:
...
2023-04-03 14:30:49  Virago.bim  [EDL 10 stadium zoom]
2023-04-03 14:30:57  Virago.bim  [EDL 11 stadium zoom wht]
2023-04-03 14:31:04  Virago.bim  [EDL 12 multiple]
2023-04-03 14:31:13  Virago.bim  [EDL 13 paddywagon]
2023-04-03 14:31:20  Geolocated/tpbmaps.bim  [EDL 14 riverside wht]
2023-04-03 14:31:32  Geolocated/tpbmaps.bim  [EDL 15 riverside]

@pmconne anything holding this up?

@pmconne anything holding this up?

Yes, the ImageTests regressions noted above.

@pmconne anything holding this up?

Yes, the ImageTests regressions noted above.

@pmconne just want to confirm this is still an issue, and you are ok deferring this to after 4.0 ?

@aruniverse yes, still need to investigate the image differences. No reason to delay 4.0 because of it. FYI @mdastous-bentley.

@pmconne I assume you re-ran image tests and the delta was acceptable?

@aruniverse ImageTests was hanging. That's fixed. No image differences.


Feature request: field_behavior support

We are using tonic in a service handling user commands. These commands are used later in our business logic and have required Message field which is generated by prost  as Optional as stated in the proto3 specs.
Google has a workaround for having required fields while still respecting the proto3 specs, they are using field_behavior.
The syntax looks like this.
message Foo {
  Bar bar = 1 [(google.api.field_behavior) = REQUIRED];
}

message Bar {
  string s = 1;
}

They are using it a lot, for instance in pubsub proto.
The idea is not to make the field optional if its "tagged" with  [(google.api.field_behavior) = REQUIRED];.
Related to https://github.com/tokio-rs/prost/issues/521

Chiming in from OneSignal - we have found that across engineering we burn a non-trivial amount of time writing conversions simply to get all of the Option handling out of our business code. It's been extensively discussed elsewhere on the issue tracker how tedious and time consuming this can be, so I'll just leave it at that.
We would love to see a mechanism for the code gen to obviate the need for this Option-eliminating boilerplate that comes with every new RPC endpoint. The field_behavior attributes are generally a great solution to this.


question about data generation

In line 341, I got a problem called 'MultiPolygon' object is not iterable, Is it a code problem?

@CHEN-H01 Hi, could you please tell me the version of Shapely you are using? It seems that this method (convert to list) is deprecated in the latest Shapely.

@CHEN-H01 Hi, could you please tell me the version of Shapely you are using? It seems that this method (convert to list) is deprecated in the latest Shapely.

Hi, thanks for the reply. I use the 2.0.1 version


Add Polymer2 support, add visual tests

Fixes #27
Fixes #28

This change is

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

test/visual/default.html, line 1 at r1 (raw file):

<!DOCTYPE html>

Committed this by accident?

Comments from Reviewable

Review status: 0 of 12 files reviewed at latest revision, 1 unresolved discussion.

test/visual/default.html, line 1 at r1 (raw file):
Previously, tomivirkki (Tomi Virkki) wrote…
Committed this by accident?

oops :) Thanks for catching, removed.

Comments from Reviewable

Reviewed 6 of 13 files at r1, 3 of 3 files at r2, 4 of 4 files at r3.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

.travis.yml, line 12 at r3 (raw file):

install:
  - npm install
  - npm install -g bower

IMO bower should be a dev dependency in the  package.json so as the first npm run installs it without having to lose time in a second run.
It implies that we take advantage of bower installation being cached.

package.json, line 28 at r3 (raw file):

    "gulp-modify": "latest",
    "gulp-concat": "latest",
    "polymer-cli": "0.18.0-pre.13"

why not use "next" instead as @platosha suggested? so as we check against the latest pre release

Comments from Reviewable

Review status: 10 of 12 files reviewed at latest revision, 3 unresolved discussions.

.travis.yml, line 12 at r3 (raw file):
Previously, manolo (Manuel Carrasco Moñino) wrote…
IMO bower should be a dev dependency in the  package.json so as the first npm run installs it without having to lose time in a second run.
It implies that we take advantage of bower installation being cached.

Agree, done.

package.json, line 28 at r3 (raw file):
Previously, manolo (Manuel Carrasco Moñino) wrote…
why not use "next" instead as @platosha suggested? so as we check against the latest pre release

Done, thanks!

Comments from Reviewable

Reviewed 4 of 13 files at r1, 3 of 3 files at r2, 4 of 4 files at r3, 2 of 2 files at r4.
Review status: all files reviewed at latest revision, 10 unresolved discussions.

.gitignore, line 3 at r4 (raw file):

bower_components*
node_modules
bower-*.json

Probably not needed, since having setup variants in multiple bower-smth.json config files is not the chosen way.

.travis.yml, line 21 at r4 (raw file):

  - rm -rf bower_components
  - cp bower-polymer2.json bower.json
  - bower install --quiet --no-color

polymer install --variants should produce two bower_component-... directories. We should either swap the directories here, or run polymer serve to serve both variants on different ports, and change the port number in gemini rootUrl somehow.
Btw, bower-polymer2.json missing from this PR now. I guess, now it is actually testing against 1.0 polymer twice.

vaadin-icons.html, line 7 at r4 (raw file):

 -->

 <link rel="import" href="../polymer/polymer.html">

Polymer is never used in this file. Meaningfully, it is should not be a requirement then.

vaadin-icons.html, line 18 at r4 (raw file):

 use:
 ```html
     <link rel="import" href="/bower_components/vaadin-icons/vaadin-icons.html">

Please use components, as required by polymer CLI environment.

demo/index.html, line 19 at r4 (raw file):

        text-align: center;
        width: 130px;
        display: inline-block;

This was in a flex layout before, why change to inline blocks?

demo/index.html, line 24 at r4 (raw file):

      }

      .icon-container span {

Please add some spacing above the icon name. Having zero vertical space between the icon and it’s title looks bad.
The spacing should be small enough, though. iron-icons use .5em, something like that should be fine.

demo/index.html, line 39 at r4 (raw file):

      .icon-container iron-icon {
        display: inline-block;
        width: 48px;

Too big. Perhaps we should not override default size here. It makes sense that the demo look matches the default <iron-icon> look, including its size.

Comments from Reviewable

Review status: 5 of 12 files reviewed at latest revision, 10 unresolved discussions.

.gitignore, line 3 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
Probably not needed, since having setup variants in multiple bower-smth.json config files is not the chosen way.

Needed. polymer install --variants automatically generates bower-*.json files, e.g. bower-polymer2.json. Those files should not end up in the repo.

.travis.yml, line 21 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
polymer install --variants should produce two bower_component-... directories. We should either swap the directories here, or run polymer serve to serve both variants on different ports, and change the port number in gemini rootUrl somehow.
Btw, bower-polymer2.json missing from this PR now. I guess, now it is actually testing against 1.0 polymer twice.

Done with swapping directories.

vaadin-icons.html, line 7 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
Polymer is never used in this file. Meaningfully, it is should not be a requirement then.

Done.

vaadin-icons.html, line 18 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
Please use components, as required by polymer CLI environment.

Done.

demo/index.html, line 19 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
This was in a flex layout before, why change to inline blocks?

The same result with fewer dependencies and less code.

demo/index.html, line 24 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
Please add some spacing above the icon name. Having zero vertical space between the icon and it’s title looks bad.
The spacing should be small enough, though. iron-icons use .5em, something like that should be fine.

Done.

demo/index.html, line 39 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
Too big. Perhaps we should not override default size here. It makes sense that the demo look matches the default <iron-icon> look, including its size.

Removed.

Comments from Reviewable

Reviewed 8 of 8 files at r5.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

demo/index.html, line 19 at r4 (raw file):
Previously, limonte (Limon Monte) wrote…
The same result with fewer dependencies and less code.

It is not required to use iron-flex-layout to define a flex layout. The same result with less tricky code, no need of font-size: 0;

Comments from Reviewable

Review status: 10 of 12 files reviewed at latest revision, 1 unresolved discussion.

demo/index.html, line 19 at r4 (raw file):
Previously, platosha (Anton Platonov) wrote…
It is not required to use iron-flex-layout to define a flex layout. The same result with less tricky code, no need of font-size: 0;

You're right. Done, thanks!

Comments from Reviewable

Reviewed 2 of 2 files at r6.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Nucleo F401RE Target: Ticker BUG - Device freezes after 72 minutes

Used online IDE/compiler (so I assume that this will be the latest mbed version). It is definitely the problem described and commented by me in the following link:
http://developer.mbed.org/questions/5291/Timeouts-stop-working-at-desired-rate-af/

It will only be the latest mbed version if you update it manually! (Or create a new program with default settings). This is because you do not want code mysteriously breaking when a new mbed version is released which changes some things.
If you click on your mbed lib you can see which version it is, and at the right side there will be an update button if you don't have the latest one.

This function seems too unobvious to me. Please think about redesigning. I can't remember reading about this in the manual.
My version was from Oct 2014. Now I updated and hope...


--run as alternative to --run-shell

Currently telepresence is not amenable to automated running, since it starts a new interactive shell. It would be good to have a --run command that just runs the given arguments:
Old way:
$ telepresence ... --run-shell
@minikube|$ python app.py

New way:
$ telepresence ... --run python app.py

Requested by @rhs.


Build script that creates necessary directories / files instead of platform-dependent Makefile

We recently added support for building and running Wagi on Windows (#60) -- but because of the platform-dependent Makefile, you cannot make run on Windows.
We should either add a separate target for Windows, or move the logic to create the directories and certificates in a build.rs script.
Note that setting the log environment variables still needs to be in the Makefile, and that is going to have to be platform dependent.

I am not wading into the waters on Windows and Make. It's nearly impossible to keep a Makefile functional for Windows without making it a nightmare for everyone else.
So a build.rs is fine with me, or we could go back to using Just and Justfiles (which are explicitly tooled for running unixy commands on Windows). In fact, it might be worth trying to run just -f Makefile run to see if it even comes close to working as-is.

Makefiles have never really had a great cross-platform story, unfortunately. Same for justfiles. Have a look at krustlet's justfile/justfile-windows story for example: https://github.com/deislabs/krustlet/blob/main/justfile-windows

@bacongobbler pointed to this for Krustlet. We could do the same for Wagi: https://github.com/deislabs/krustlet/blob/main/justfile-windows

LOL... and that comment showed up right after I posted, even though you commented a day ago. Browsers...

So we seem to have a few options on the table:

a build.rs
a completely separate build script for Windows
a generic Makefile that somehow works for UNIXy and Windows
find another build system


fix: automerge first enable, then approve

Current dependencies on/for this PR:

main

PR #151   👈

This comment was auto-generated by Graphite.


Add files via upload

@ballw430506 student.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@ballw430506 student.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@ballw430506 I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for the understanding!


Allow nil values

Object#present? is part of ActiveSupport, which isn't a dependency of Omniauth. This should probably check for not Object#blank?, instead.

right, thanks


illegal hardware instruction | installation

Issue description
illegal hardware instruction
Expected Behavior
it should start a chat
Actual Behavior
drops an error:  illegal hardware instruction
Steps to reproduce
Apple M2 Max Chip, macos 13.2.1 (22D68), node 23.3.0
My Environment

Dependency
Version

Operating System

CPU
/ Apple M2

Node.js version
x.y.zzz

Typescript version
x.y.zzz

node-llama-cpp version
x.y.zzz

npx --yes node-llama-cpp inspect gpu output:
npx --yes node-llama-cpp inspect gpu
(node:46471) ExperimentalWarning: CommonJS module /Users/r2d2/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/r2d2/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
OS: macOS 22.3.0 (x64)
Node: 23.3.0 (x64)
TypeScript: 5.6.3
node-llama-cpp: 3.1.1

Metal: not supported by llama.cpp on Intel Macs
[1]    46471 illegal hardware instruction  npx --yes node-llama-cpp inspect gpu

Additional Context
npx -y node-llama-cpp chat
(node:45584) ExperimentalWarning: CommonJS module /Users/r2d2/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/r2d2/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use node --trace-warnings ... to show where the warning was created)
[1]    45584 illegal hardware instruction  npx -y node-llama-cpp chat
Relevant Features Used

[X] Metal support
[ ] CUDA support
[ ] Vulkan support
[ ] Grammar
[ ] Function calling

Are you willing to resolve this issue by submitting a Pull Request?
Yes, I have the time, and I know how to start.

This error happens when running nodejs through Resetta on macOS: https://node-llama-cpp.withcat.ai/guide/troubleshooting#crashes-with-an-illegal-hardware-instruction-error-or-a-sigill-signal
You can see the the output of the inspect gpu command you attached that the node binary is x64.


Is it possible to make tabs optionally dismissible/closable?

Is it possible to make the tabs optionally dismissible/closable just like the dismissible alerts? Thanks. -Elgs

https://github.com/angular-ui/bootstrap#support


snIT isn't showed as a group

This isn't relevant to hubbIT. There's a deeper problem within LDAP :)


pre color test fail from numpy 1.21

🐛 Bug
Our pre-tests are currently failing - it's a fairly innocuous fail, so no need to rush a release, but we should fix them. The test is passing an intentionally invalid  color = ('a', 1, 1, 1) which is now raising a warning that didn't used to happen.  In the future, code such as `np.concatenate((['string'], [0]))` will raise an error, while `np.asarray(['string', 0])` will return an array with `dtype=object`.  To avoid the warning while retaining a string result use `dtype='U'` (or 'S').  To get an array of Python objects use `dtype=object`. (Warning added in NumPy 1.21)

I decided to fix this by explicitly providing dtype if any of the elements are strings, as effectively suggested by the associated numpy release note.
Some other ideas I had with reasons against them.

Filter the warning in the test using pytest.mark.filterwarnings. The user may still see the FutureWarning, which may distract from the custom warning/error that we want to show.
Filter the warning in the implementation using with warnings.catch_warnings() and warning.simplefilter(...). Unless we match the message exactly or with a regex, we may also suppress other potentially important FutureWarnings in the future.
Raise an exception if the list-like is not homogeneous. This may prevent desired upcasting if mixing ints/floats is allowed. Even if it doesn't we'd need a new translated string for the message, and the existing one for this test case seems fine ("Invalid color found: a at index 0.").

Feel free to comment if you think something else is preferred.

I decided to fix this by explicitly providing dtype if any of the elements are strings

That sounds reasonable, but I'm trying to remember here what normal usage looks like - I know people can pass strings for colors, like 'k' for black etc, but an input like  colors = ('a', 1, 1, 1) doesn't make any sense. It might come back to me when I review PR, but this sounds like a fine thing to try

Just to confirm, the current test verifies that an exception is raised with ('a', 1, 1, 1). I assumed the test was written to check that we both stop execution for that input and provide a hopefully useful error message to the user. If we really don't ever expect that input, we should probably just remove the test case.

I assumed the test was written to check that we both stop execution for that input and provide a hopefully useful error message to the user.

We have this fairly long list of invalid colors - see https://github.com/napari/napari/blob/102a7e8f845893c874d2b86f9371d41130100b89/napari/utils/colormaps/_tests/colors_data.py#L105-L121 none of which we'd really expect as inputs, but agreed we should raise a more helpful error message for all of those as i could see someone typing one in by mistake. If your PR gets us to that more helpful error message than i think it's probably the right call. I'll take a look now


Problem with contexts in Windows.

The follow program will not work in windows:
#lang at-exp racket/base

(provide video-canvas%)
(require opengl
         racket/class
         racket/gui/base)

(define video-canvas%
  (class canvas%
    (super-new [style '(gl no-autoclear)])
    (send this with-gl-context
          (λ ()
            (glGetString GL_VERSION)))))

(define f (new frame% [label "test"]))
(define c (new video-canvas%
               [parent f]))

I get the error:
OpenGL procedure not available: glGetString
  context...:
   C:\Users\Leif Andersen\AppData\Roaming\Racket\snapshot\pkgs\opengl\opengl\main.rkt:74:7
   C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\contract\private\arrow-val-first.rkt:357:18
   C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\private\class-internal.rkt:3553:0: continue-make-object
   C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\private\class-internal.rkt:3507:0: do-make-object
   C:\Users\Leif Andersen\Documents\GitHub\video\video\private\video-canvas.rkt: [running body]

However, when I switch the (require opengl) line to (require sgl/gl), it now works. And I when I display the resulting version I get:
4.5.0 NVIDIA 382.05

This makes me think it is a problem with the opengl bindings in this package, rather than a bug in the context created by Racket.

Hi Leigh,
This is because you are getting a core context
(See https://www.khronos.org/opengl/wiki/Core_And_Compatibility_in_Contexts)
glGetString is not available in core contexts.
Basically, the code as it stands today doesn't work in core contexts.
It would need to be adapted to work with that.
Stephan
2017-08-04 5:19 GMT+02:00 Leif Andersen<EMAIL_ADDRESS>
The follow program will not work in windows:
#lang at-exp racket/base
#|
Copyright 2016-2017 Leif Andersen
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
|#
(provide video-canvas%)
(require opengl
racket/class
racket/gui/base)
(define video-canvas%
(class canvas%
(super-new [style '(gl no-autoclear)])
(send this with-gl-context
(λ ()
(glGetString GL_VERSION)))))
(define f (new frame% [label "test"]))
(define c (new video-canvas%
[parent f]))
I get the error:
OpenGL procedure not available: glGetString
context...:
C:\Users\Leif Andersen\AppData\Roaming\Racket\snapshot\pkgs\opengl\opengl\main.rkt:74:7
C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\contract\private\arrow-val-first.rkt:357:18
C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\private\class-internal.rkt:3553:0: continue-make-object
C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\private\class-internal.rkt:3507:0: do-make-object
C:\Users\Leif Andersen\Documents\GitHub\video\video\private\video-canvas.rkt: [running body]
However, when I switch the (require opengl) line to (require sgl/gl), it
now works. And I when I display the resulting version I get:
4.5.0 NVIDIA 382.05
This makes me think it is a problem with the opengl bindings in this
package, rather than a bug in the context created by Racket.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stephanh42/RacketGL/issues/20, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAsR3ktvBtlSZMJfc7JD8YFh52htTqhqks5sUo3NgaJpZM4OtOxC
.

2017-08-04 12:32 GMT+02:00 Stephan Houben<EMAIL_ADDRESS>
Hi Leigh,

Sorry, my apologies:
"Hi Leif," of course.
Stephan

This is because you are getting a core context
(See https://www.khronos.org/opengl/wiki/Core_And_
Compatibility_in_Contexts)
glGetString is not available in core contexts.
Basically, the code as it stands today doesn't work in core contexts.
It would need to be adapted to work with that.
Stephan
2017-08-04 5:19 GMT+02:00 Leif Andersen<EMAIL_ADDRESS>
The follow program will not work in windows:
#lang at-exp racket/base
#|
Copyright 2016-2017 Leif Andersen
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
|#
(provide video-canvas%)
(require opengl
racket/class
racket/gui/base)
(define video-canvas%
(class canvas%
(super-new [style '(gl no-autoclear)])
(send this with-gl-context
(λ ()
(glGetString GL_VERSION)))))
(define f (new frame% [label "test"]))
(define c (new video-canvas%
[parent f]))
I get the error:
OpenGL procedure not available: glGetString
context...:
C:\Users\Leif Andersen\AppData\Roaming\Racket\snapshot\pkgs\opengl\opengl\main.rkt:74:7
C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\contract\private\arrow-val-first.rkt:357:18
C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\private\class-internal.rkt:3553:0: continue-make-object
C:\Program Files\Racket-<IP_ADDRESS>\collects\racket\private\class-internal.rkt:3507:0: do-make-object
C:\Users\Leif Andersen\Documents\GitHub\video\video\private\video-canvas.rkt: [running body]
However, when I switch the (require opengl) line to (require sgl/gl), it
now works. And I when I display the resulting version I get:
4.5.0 NVIDIA 382.05
This makes me think it is a problem with the opengl bindings in this
package, rather than a bug in the context created by Racket.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stephanh42/RacketGL/issues/20, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAsR3ktvBtlSZMJfc7JD8YFh52htTqhqks5sUo3NgaJpZM4OtOxC
.

Sorry, my apologies:
"Hi Leif," of course.

No worries. :)

This is because you are getting a core context
(See https://www.khronos.org/opengl/wiki/Core_And_Compatibility_in_Contexts)

Interesting. In that case how would I get a compatibility context in Racket? (I was under the impression that Racket's OpenGL context in windows were always compatibility ones.)

Hi Leif,
2017-08-04 15:18 GMT+02:00 Leif Andersen<EMAIL_ADDRESS>Interesting. In that case how would I get a compatibility context in

Racket? (I was under the impression that Racket's OpenGL context in windows
were always compatibility ones.)

I think you need to create an appropriate gl-config object and pass it to
the canvas constructor:
https://docs.racket-lang.org/draw/gl-config_.html
(send
https://docs.racket-lang.org/reference/ivaraccess.html#(form._((lib._racket%2Fprivate%2Fclass-internal..rkt)._send))
a-gl-config set-legacy?
https://docs.racket-lang.org/draw/gl-config_.html#(meth._(((lib._racket%2Fdraw..rkt)._gl-config~25)._set-legacy~3f))
legacy?) → void?
https://docs.racket-lang.org/reference/void.html#(def._((quote._~23~25kernel)._void~3f))
I should however point out that an OpenGL driver is under no obligation to
provide the legacy functionality.
So it is possible that your driver does not support legacy profiles at all.
Stephan

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/stephanh42/RacketGL/issues/20#issuecomment-320246676,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAsR3krP_6u6bIfRORr1C8AVsL_g_dCgks5sUxo3gaJpZM4OtOxC
.

AH, okay, that explains it. Thank you.
Basically, iirc, Racket's context default to compatibility, and you have to explicitly ask for core. And depending on your OS and drivers, it may still give you a compatibility one anyway. (Or at least try to).
Anyway, that makes sense. Do you have any recommendations on how one could go about making these opengl bindings work with core contexts?

Hi Leif,
In retrospect I am now not even sure if the core/compatibilty context is
indeed the issue.
It may be that the function loading on Windows is incorrect.
The page at
https://www.khronos.org/opengl/wiki/Load_OpenGL_Functions
says one needs to try GetProcAddress if wglGetProcAddress fails.
(Frankly, some time ago I have decided for myself that the whole OpenGL API
is completely insane and not worth my time.
Case in point, this whole function loading madness.
Why can't they just provide a normal .dll/.so/dylib with normal names like
any other
library in the world?)
Stephan
2017-08-04 16:46 GMT+02:00 Leif Andersen<EMAIL_ADDRESS>
AH, okay, that explains it. Thank you.
Basically, iirc, Racket's context default to compatibility, and you have
to explicitly ask for core. And depending on your OS and drivers, it may
still give you a compatibility one anyway. (Or at least try to).
Anyway, that makes sense. Do you have any recommendations on how one could
go about making these opengl bindings work with core contexts?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/stephanh42/RacketGL/issues/20#issuecomment-320268011,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAsR3mkYTYep1H9uaqnS9qGCzR_K0VBrks5sUy6vgaJpZM4OtOxC
.

When I saw the issue, I assumed it was the function loading problem too, but IIRC the opengl module already deals with this correctly. glGetString is available in the most recent OpenGL versions, so core/compat shouldn't matter: http://docs.gl/gl4/glGetString

True. And if it was just a context issue, I wouldn't expect the exact same code but using sgl/gl to work.

(Frankly, some time ago I have decided for myself that the whole OpenGL API is completely insane and not worth my time. Case in point, this whole function loading madness. Why can't they just provide a normal .dll/.so/dylib with normal names like any other library in the world?)

Ha, fair. Sadly I don't know of a better (portable) way to display a bunch of rgb24 pixels to the screen. Cairo kind of works, but ist much more limited in what it can display, and is also much slower. SDL would work, but you can only make an sdl context (so to speak), in a new window, which makes it hard to have non SDL gui elements in the same window.


Chunked uploads do not deduplicate the Host header field when provided by the user

resquests.Session() adds extra Host field to the header dictionary passed as argument even if that field is already specified in the dictionary. This happens when transfer-encoding is specified in the header dictionary. Having duplicate host field in the header confuses apache traffic server.

Requests should not send an extra Host header field. I can't reproduce this bug at all. Can you provide reproduction code?

`import gevent
import socket
import requests
import os
from threading import Thread
import sys
bSTOP = False
def handleResponse(response,*args, **kwargs):
print(response.status_code)
def gen():
yield 'pforpersia,champaignurbana'.encode('utf-8')
yield 'there'.encode('utf-8')
def txn_replay():
try:
request_session = requests.Session()
hostname = "<IP_ADDRESS>"
port = "8080"
request_session.proxies =  {"http": "http://{0}:{1}".format(hostname, port)}
hdr = {'Host':'www.blabla.com','content-type': 'application/json',
, 'Content-MD5':'5f4308e950ab4d7188e96ddf740855ec', 'Transfer-Encoding':'Chunked'}
body=gen()
response = request_session.get('http://blabla.com/blabla', headers=hdr, stream=True, data=body)
#response = request_session.post('http://blabla.com/blabla', headers=hdr, stream=True, data=body)
except UnicodeEncodeError as e:
print("UnicodeEncodeError exception")
except requests.exceptions.ContentDecodingError as e:
    print("ContentDecodingError",e)
except:
    e=sys.exc_info()
    print("ERROR in requests: ",e)

def main():
txn_replay()
if name == 'main':
main()`

wireshark:
`1a
pforpersia,champaignurbana
5
there
GET http://blabla.com/blabla HTTP/1.1
Host: blabla.com
Accept: /
User-Agent: YMobile/1.0 (com.yahoo.mobile.client.android.mail/5.7.1; Android/6.0.1; MMB29K; zenltetmo; samsung; SM-G928T; 5.0; 2560x1440;)
Accept-Encoding: gzip, deflate
Connection: keep-alive
content-type: application/json
Transfer-Encoding: chunked
Content-MD5: 5f4308e950ab4d7188e96ddf740855ec
Host: www.blabla.com
1a
pforpersia,champaignurbana
5
there
0
HTTP/1.1 400 Invalid HTTP Request
Date: Tue, 25 Oct 2016 20:25:16 GMT
Connection: keep-alive
Server: ATS/7.1.0
Cache-Control: no-store
Content-Type: text/html
Content-Language: en
Content-Length: 220`

There are two host fields in the request block now.

Some notes on your code:

Please don't provide the Host header, especially as you're just providing the header Requests would set.
Doubly, don't provide the Transfer-Encoding header under any circumstances. Requests will not obey it, so it's better to let Requests set its own.
Where is that User-Agent coming from?

I continue to be unable to reproduce this locally. Can you tell me more about what your environment is? Requests version, Python version, OS.

Please ignore the user agent field. I am gathering data from apache traffic server log. The logged requests have all those fields and I am replaying those requests using the python requests library. I have requests 2.10.0 installed. I am running on Ubuntu with python3.5

So, we should stop for a moment.
If your goal is to replay a log as accurately as possible, Requests is a bad choice for you. Requests will try to do a lot of things to be helpful, and all of those things have the potential to change the framing of the request. In particular, you cannot just set the Transfer-Encoding field and expect Requests to obey you: that's not how Requests works.
Regardless, there is a bug here: it's to do with how Requests sends generators. Right now requests has its own code for doing chunked uploads, and that code is clearly not hitting the "deduplicate Host header" path that it should. Probably this means we should start using request_chunked from urllib3, except that also doesn't strip the Host header. So, two bugs really.

The urllib3 issue is tracked in shazow/urllib3#1009.

@Lukasa, it looks like this was wrapped up in shazow/urllib3#1018. Are there any outstanding pieces left here?

I don't think so!


How should the extensions be added?

Hello! This is probably a noob question, but I referred a few issues here and didn't get any solution. I want to add the segmentation extension, with the tools to my implementation of the viewer.
I've referred this issue & this code snippet, but haven't got any luck.
Where exactly should the extension be mentioned to apply while running the viewer?
Thanks in advance! :)

Also added this to the root of the project, but the tools didn't show up. I might be missing something, I'm not sure. Any help would be greatly appreciated! :)

same question here

It's mentioned here that the segmentation extension is added by default in the viewer, so closing this issue


Fix up #10851 to be golang 1.3 compatible.

See also #11016

Local unit tests passed for me.

Looks like shippable is busted now because of some missing GA beacons in md files.  But 1.3 built just fine.

Cool, and the other fmt errors were just symptoms of the same for range cause?

Do we need TLs? Does Joe count? :-) @alex-mohr @roberthbailey

I don't count :)  Better for someone with more context to OK things.  gofmt looks clean, I think.

LGTM, ping @dchen1107 @thockin

Since it is breaking us, I'll merge on green. Preferably with a TL LGTM :)

LGTM, ok

LGTM
ok to merge

I've got to run and pick up the kids -- I'll check back in a bit.  Looks like the build works so I don't anticipate any issues.

Thanks for the fix @jbeda!

@k8s-bot please test this


Code needs moved out of MCExtended.java

Ruby code needs to be moved to its own file inside Minerals
I need a new file called minerals which registers the Minerals and is used by MCExtended.java
I need the same thing for Foods, Armor, Tools, and Villagers.

I am presently working on this.

Armor and Tools down

And Villagers

Foods and Minerals down


2 bugfixes for Simple-cookie-policy-notice

The following bugs should be fixed for Simple-cookie-policy-notice:
File admin/controller/extension/module/cookie_notice.php line 62:
Replace
                    'module_id' => $this->request->get['module_id'] ?? null
with
                    'module_id' => empty($this->request->get['module_id']) ? null : $this->request->get['module_id']
File catalog/controller/extension/module/cookie_notice.php line 7:
Replace
        $data['cookie_consent'] = $this->request->cookie['cookie_consent'] ?? false;
with
        $data['cookie_consent'] = empty($this->request->cookie['cookie_consent']) ? false : true;
Otherwise, it will complain on some PHP versions!
Juergen

Thanks, but it’s unlikely to be called a bug, it’s rather an enhancement for compatibility with earlier php versions.