PR: Update Quansight logo in Readme

Description of Changes
Use new Quansight logo in Readme.
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @ccordoba12

Merging because this shouldn't affect the installers.


control-api: launch app & force stop app

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[ ] documentation is changed or added

The LaunchApp seems to be introduced at #53, is this a dependence of #53?

The LaunchApp seems to be introduced at #53, is this a dependence of #53?

I'd like this PR be merged firstly to introduce control api to runtime to enable dev tools.


Enable mocking a trait which has a final method

I did this because currently, attempting to mock a class or trait which has a final method results in a compilation failure.  I think it's better to say that you simply can't mock the final method itself, but you can still mock other methods.  This pull request just filters final methods out from the methods that the mock attempts to implement.

The trade-off this PR makes is that trying to stub/mock a final method no longer gives you a compile error. Instead, it throws a NoSuchMethodError at runtime. I think this is fine for the time being, and we've merged a slightly modified version of this PR here: https://github.com/paulbutcher/ScalaMock/pull/142.


Add Share Counts

We can use this API to grab them. We'd have to have handling for an "over api limit" response, and allow a sharedcount_api_key option for if the free tier runs out as well.

+1

:+1:


ServerSideEvents (SSE) - using inside of phantomjs/mongoose

Hello. I trying to use SSE inside phantomjs.
var system = require('system');
var server = require('webserver').create();
var $listenPort = 8081;

var $service = server.listen($listenPort, function (request, response)
{
	response.statusCode = 200;
	response.setHeader('Content-Type', 'text/event-stream; charset=utf-8');
	response.setHeader('Access-Control-Allow-Origin', 'http://SomeWebSite.abc');
	response.setHeader('Access-Control-Allow-Credentials', 'true');
	response.setHeader('Connection', 'keep-alive');

	var $time = new Date().toLocaleTimeString();

	setInterval(function() //we send a chunks, for example, every 5 seconds
	{
		response.write('data: ' + $time + '\n\n');
	}, 5000);
});

Client-side script:
<script>
var EventSource = new EventSource("http://phantomJShost:8081/sse.htm", { withCredentials: true });
	EventSource.onopen = function(e) { console.log ('connection opened'); };
	EventSource.onerror = function(e) { console.log ('error : ' + + this.readyState); };
	EventSource.onmessage = function(e) { console.log(e); };
	//... other code
</script>

So.. Expect to got a data:
message { target: EventSource, isTrusted: true, data: "5:28:17 AM GMT+08:00", origin: "http://phantomJShost:8081", lastEventId: "", currentTarget: EventSource, eventPhase: 2, bubbles: false, cancelable: false, defaultPrevented: false, timeStamp:<PHONE_NUMBER>899000 }
But.. Where is the problem?
The problem is next: browser (firefox) can receive a data chunk ONLY after i stop the script completely (phantomjs with CTRL+C in console) or ONLY if i send response.close right after response.write.
But connection must be opened.
How should be ? I think, there are missed mechanism to send a chunk. Maybe i need something like
response.send? or response.flush? But there are no these methods in API.
Example from ASP is below ( ref.: http://www.w3schools.com/html/html5_serversentevents.asp ) :
<%
Response.ContentType = "text/event-stream"
Response.Expires = -1
Response.Write("data: The server time is: " & now())
Response.Flush()
%>

phantomjs --version : 2.1.1 \ debian linux (downloaded binary)

Anybody tried to use SSE in phantomJS ?

I'm also wondering if SSE works with PhantomJS.  I'm using selenium to test my webapp but PhantomJS fails to load the app if webpack hot module reloading is enabled (which uses SSE)

Temporary solution:
	var $timeNow = new Date().toLocaleTimeString();
	response.write('data: ' + $timeNow + '\n\n');
	response.write('retry: ' + 1000 + '\n\n'); // reconnect time, msec
	response.close(); // should close it each time to trigger reconnect on client side


ReshuffleTest: replace Iterable equal tests with matchers.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @tgroh

Changes Unknown when pulling 6823936b0aa2d4027bdb35ab649703fb0bff3b7a on peihe:reshuffle-tests into ** on apache:master**.

Reason of this PR:
Iterables produced by GroupByKey in JStorm runner are not List. It is not equal to the expected List, even though they contain the same contents.
AssertThatHasExpectedContents is ContainsKVsInAnyOrderAndWithIterableValueInAnyOrder. It is more specific than ContainsKVs.

That's a reasonable reason.
However, I assert that the latter part of your claim is largely untrue. The matchers that are constructed within both SerializableFunctions appear identical, as all iterables are matched with containsInAnyOrder

Thanks Thomas
Filed https://issues.apache.org/jira/browse/BEAM-2663
merging


Windows compatibility

This PR will enable the following features for turbulence on windows:

fill-disk
stress (CPU, RAM & IO)

The following blobs are needed for this PR to work:

stress/stress-windows-1.0.4.zip blob was compiled using cygwin (https://www.pivotaltracker.com/file_attachments/72576699/download?inline=true)
https://www.pivotaltracker.com/story/show/133341955
golang-windows/go1.7.4.windows-amd64.zip can be downloaded from (https://storage.googleapis.com/golang/go1.7.4.windows-amd64.zi)

nice, will try to pull this in later today.
Sent from my iPhone

On Jan 26, 2017, at 11:29 AM, Amin Jamali<EMAIL_ADDRESS>wrote:
This PR will enable the following features for turbulence on windows:
fill-disk
stress (CPU, RAM & IO)
The following blobs are needed for this PR to work:
stress/stress-windows-1.0.4.zip blob was compiled using cygwin (https://www.pivotaltracker.com/file_attachments/72576699/download?inline=true)
https://www.pivotaltracker.com/story/show/133341955
golang-windows/go1.7.4.windows-amd64.zip can be downloaded from (https://storage.googleapis.com/golang/go1.7.4.windows-amd64.zi)
You can view, comment on, or merge this pull request online at:
https://github.com/cppforlife/turbulence-release/pull/12
Commit Summary
Fix pre-start script for windows jobs
Add turbulence_agent_windows job
File Changes
M config/blobs.yml (6)
A jobs/turbulence_agent_windows/monit (9)
A jobs/turbulence_agent_windows/spec (20)
A jobs/turbulence_agent_windows/templates/ca_cert.erb (1)
A jobs/turbulence_agent_windows/templates/config.json.erb (17)
A jobs/turbulence_agent_windows/templates/pre-start.ps1.erb (26)
A packages/golang-windows/packaging (17)
A packages/golang-windows/spec (7)
A packages/stress-windows/packaging (16)
A packages/stress-windows/spec (5)
A packages/turbulence-windows/packaging (32)
A packages/turbulence-windows/spec     (10)
M src/github.com/cppforlife/turbulence/agentreqs/control_net_task.go (2)
A src/github.com/cppforlife/turbulence/agentreqs/control_net_task_windows.go     (39)
M src/github.com/cppforlife/turbulence/agentreqs/fill_disk_task.go (26)
A src/github.com/cppforlife/turbulence/agentreqs/fill_disk_task_unix.go (30)
A src/github.com/cppforlife/turbulence/agentreqs/fill_disk_task_windows.go (41)
M src/github.com/cppforlife/turbulence/agentreqs/firewall_task.go (2)
A src/github.com/cppforlife/turbulence/agentreqs/firewall_task_windows.go (42)
M src/github.com/cppforlife/turbulence/agentreqs/kill_process_task.go (78)
M src/github.com/cppforlife/turbulence/agentreqs/monit/client.go (83)
A src/github.com/cppforlife/turbulence/agentreqs/monit/client_unix.go (89)
A src/github.com/cppforlife/turbulence/agentreqs/monit/client_windows.go (41)
M src/github.com/cppforlife/turbulence/agentreqs/monit/provider.go (5)
M src/github.com/cppforlife/turbulence/agentreqs/shutdown_task.go (59)
Patch Links:
https://github.com/cppforlife/turbulence-release/pull/12.patch
https://github.com/cppforlife/turbulence-release/pull/12.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@aminjam im planning to do a little clean up before merging. i want to move compiled time windows separation to be a runtime check just like in shutdown_task.go for example. is there a particular reason that some agent tasks were picked to be split off at compile time?

@cppforlife runtime.GOOS could probably work. Some of the code paths were drastically different so it made sense to have a separate implementation. @sunjayBhatia @charlievieth Thoughts?

@cppforlife @aminjam both options sound ok to me

I'm ok with either, whatever leads to cleaner code.
If I remember correctly, we tried to get turbulence working on Windows in a hurry so some type definitions are duplicated in both *Nix and Windows code, which isn't great.  There are also Windows specific functions, which places a burden on future devs to call the correct function based on the current OS.
Personally, I prefer to separate OS functionality by file as this leads to compile time errors when interfaces aren't satisfied or functionality is missing.
Also, both approaches are decided at compile time, (if runtime.GOOS == "OSNAME' {...} is a constant expression).  The only difference is that the former results in a compile time error (i.e. function foo is missing on Windows), whereas lack of support in the latter won't be realized until runtime.

damn we missed the two year anniversary of this pull request

@benmoss so many fond memories of working on this.


Orders graph zero should be slightly higher than the baseline so it still shows the holographic line

This graph looks bad with data in it, if we go above the baseline with a holographic line for 0 instead of baseline it might look better

Cannot seem to reproduce this anymore.


Change amount of cards per pack?

Is there any option to change the amount of cards given by each pack bought?
Thanks in advance!

Never mind just found it!
Replace the “pack_card_num” value on the Shop.JSON file :)
Great job on this, thank you so much!


Ufw rules are not cleaned when host restarts

Since the solution (implemented in branch  ufw-update-onrestart) uses a different approach from #7. This is why it needs it's own issue.
For more information see comments comment1 and comment2 posted in #7.

After implementing ufw-threads I have a bug in stop.py script. All rules are not cleared.

The branch is up to date with ufw-comment idea. It was tested on debian 10.8 docker 20.10.5.
One can argue that ufw-docker-automated is quite slow to keep up if docker containers restart at a fast pace.
This delay depends on the number of ufw rules and spawned containers.
But there is a stability in the long run (could be in minutes if you spawn 50/100 containers).
This could be tested more when spawning a huge number of containers.
If the hosts shutdown unexpectedly and the stop script doesn't do it's job.
It's possible to clean 'ghosts' ufw rules with : service ufw-docker restart.
Another idea would be to check at boot if ufw rules are present using the comment prefix, and clean them before doing the start script. In this scenario most of the time ufw rules are cleaned during shutdown, but in case of failure the start script will also check ufw rules and cleaned them.

Same with your Go version. Any chance to get this fixed. I need to clear old rules on a server restart manually right now ;)

Just implemented this logic on program startup, now ufw-docker-automated will go through existing ufw rules and delete 'ghost' rules if container is either not running or not found.


SAA-716: new patch endpoint to update allocations

Codecov Report
Patch coverage: 96.87% and project coverage change: +0.04 :tada:

Comparison is base (06837ce) 85.29% compared to head (3c0a99d) 85.33%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #360      +/-   ##
============================================
+ Coverage     85.29%   85.33%   +0.04%
- Complexity     1887     1897      +10
============================================
  Files           264      265       +1
  Lines          7268     7296      +28
  Branches        366      366
============================================
+ Hits           6199     6226      +27
- Misses          875      876       +1
  Partials        194      194

Impacted Files
Coverage Δ

...tiesmanagementapi/resource/AllocationController.kt
60.00% <0.00%> (-15.00%)
:arrow_down:

...s/hmppsactivitiesmanagementapi/model/Allocation.kt
95.34% <100.00%> (ø)

...gementapi/model/request/AllocationUpdateRequest.kt
100.00% <100.00%> (ø)

...ivitiesmanagementapi/service/AllocationsService.kt
96.15% <100.00%> (+8.65%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Translate emails based on users preferred language

Currently all emails are send out in English. We should translate the emails based on the users preferred language.

Done. Currently the language selection is static based on what the user selected. In the future we should add a preferred language to the user profile.


Detailed introduction document

Dear author, hello! Your work is excellent. May I ask if there are detailed introduction materials?

Thank you for the compliment! I apologize, but I am not sure that I fully understand your question regarding introduction materials. The README is the most documentation that I have made for this repo. Can you please rephrase the question?


Attempting Reconnection, but always soft reconnect is failing and full reconnect disconnect all members

Describe the bug
When on a call, switching between wifi and cellular data, or turning off and then on wifi, disconnects the participants from the room, unlike the behavior of the iOS sdk.
To Reproduce
Steps to reproduce the behavior:
1 - Issue a call between 2 users
2 - Switch between wifi and cellular data or turn off and on the wifi
3 - Observe the behavior.
Expected behavior
When the user turns off and on his wifi or switching between cellular data to wifi, we expect a seemless reconnect and the call to continue normally same as the iOS sdk.
Device Info:
Any device

Could we get some eyes on this please? This is a blocker for us.


Recipes to use forge tags.

Description
Maybe small improvement, but looking from the way to get "Cobalt" its a byproduct of Blasting Nickel ore, you might want to use the forge tag for nickel ore as its currently forced to use Nickel ore from ThoriumReactors only which is slightly annoying if you try to build a pack that unifies ore's.

Not sure if there are other recipe's like this, but might be worth looking into.
Links
No response

Hey! Thanks for you report, normally that should already be implemented. I will take a second look at it soon!

Hey! Thanks for you report, normally that should already be implemented. I will take a second look at it soon!

Ran into the issue with Thermal's Nickel ore specifically if you wanted to give that a test.

@UnhappyCodings
Hi! Not sure if it is the same issue, but it seems like I can't use forge aluminum nugget to craft items using thorium crafting table. For example here nickel nugget is replaceable:

Alumin(i)um is not:


JmDNS and Cellular Data issue

Hello. I have some problem using JmDNS on my Huawei Nexus 6P - Android 7.1
When Wifi (connected to the printer) and Cellular Data is turned on , discovery does not work.
If I turn off Cellular Data everything starts working.

This issue is not very specific because it's not clear how you use JmDNS.
As you usually have to pass the InetAddress (by which the interface is selected) to JmDNS it is very probaly related to the selection of the interface / InetAddress.

Thanks to @CobaCity I confirmed this behaviour in a Google Pixel and a Nexus 5x (both Android 8.0.0) - disabling mobile data seems to impact service discovery. Strangely, the OnePlus One that I just upgraded to LineageOS Android 8.0.0 works perfectly.
I'm testing this through 2 interfaces: cordova-plugin-zeroconf and a native Android app that I mashed together using some examples. Both use JmDNS, and both apps have the same results. I can post the Android app code if anyone is interested, but for now here is the Cordova plugin code. Note that it is indeed binding to each available InetAddress.

After much more testing I have confirmed that mobile data is indeed the source of the problem.  The OnePlus One on Android 8 exhibits this issue as well.
Network architecture is similar to the original description, but instead of a printer I am using a proprietary AP:
<IP_ADDRESS>                                   some IP
----------------------      ---------      ---------------
| AP w/ mdns service |______| Phone |______| Mobile Data |
| no internet        |      |       |      | w/ internet |
----------------------      ---------      ---------------

Until mobile data is disabled and the cell network IP goes away, I can't even ping or talk to the <IP_ADDRESS> host. As soon as mobile data is disabled, the Wifi AP works and I can receive mDNS scan results and open websockets again.
If the Wifi AP actually has internet access, scanning works fine. It's like the OS is forcing my app to use the network interface that has an internet connection. What really confuses me is that this behaviour exists even when a WifiManager is specified and locked... what do I care about the state of mobile data when I am only working with Wifi?! Crazy.
I have only experienced this in Android 8 - haven't tested at all in 7, and haven't had this issue at all in 6.

Same here.
JmDNS can't discover when both LTE and Wifi(no internet access) is enabled.

@emcniece You might want to change cordova-plugin-zeroconf to use the JmDNS master branch since it includes the fix https://github.com/jmdns/jmdns/pull/150

Thanks @ViToni, I'll be testing this over the next 4 days to confirm.


Docker run having issue with param "env"

Hi,
When doing the docker run with the following command :
docker run -p 8080:8080 --rm kbhargava/kafka-visuals --zookeeper=<IP_ADDRESS>:2181 --kafka=<IP_ADDRESS>:9092 --env=DEV
...
I have this issue :
(...)
Caused by: co.quisk.karan.kafkavisualizer.util.exception.DefectException: Failed to find app environment with name []. Allowed values are [[DEV, QA, UAT, PROD]].
(...)
Thanks for your help.
Id really like to use your kafka  visualizer.
Vincent

@karan1525 Could you please help out @vteyssier resolve his problem?

I solved by run the following
docker run -p 8080:8080 --rm kbhargava/kafka-visuals <IP_ADDRESS>:2181 <IP_ADDRESS>:9093 DEV


Add UA to GA4 section

Proposed changes
We've been getting a lot of questions and appetite for general GA4 best practices, especially in light of Universal Analytics being deprecated next summer. This section attempts to answer some of those questions. There may be opportunity to add to this section, but this is a good starting place.
There's a lot of content and links added so would love a thorough review to make sure I didn't mess anything up 😄
Merge timing

ASAP once approved

Related issues (optional)
JIRA: https://segment.atlassian.net/browse/STRATCONN-1279

Out of curiosity, is there a way to hide the fields within each Action by default? When they are fully expanded, the page becomes very long because there are tons of actions. Would love if we could keep the fields collapsed like this:

Out of curiosity, is there a way to hide the fields within each Action by default? When they are fully expanded, the page becomes very long because there are tons of actions. Would love if we could keep the fields collapsed like this:

We used to have them collapsed by default, but we got a request to have them open because people were missing the button. Let me have a think about this to figure out a better solution.


ProcessException: Process exited abnormally

flutter upgrade
ProcessException: Process exited abnormally:
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/flutter/flutter.git/'
  Command: git fetch --tags

why auto direct to GitLab ?

@VNAPNIC
What issue are you reporting exactly ?
ProcessException: Process exited abnormally: remote: HTTP Basic: Access denied or the link direct to gitlab ?


Update index.md

Summary
The point of this file change is to improve readablilty and clarity for more efficient comprehension.

 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.:x: riddletd sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @mairaw I'd missed the update.

Thanks for making those additional updates @riddletd
I'll :shipit: this PR now. You should see the updates on the live site in the next day or two, on our regular publishing cycle.
Thanks again for contributing. 🎆

Thanks Bill! I'm excited I was able to contribute!


make go code run on background?

Is there any way to make go bind module run in background?

Yes, this is how to do it: https://github.com/coronanet/rn-coronanet/pull/5


API Response: 104 while calling sendImage

When calling sendImage this is the Response from the API:
{ "api:statuscode": 104,
  "api:duration": "0.004s",
  "api:message":
   "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
  "api:timestamp": "2019-03-02T21:16:55Z" }

(changed the quotes from ' to ")

Was a local developing bug, not a libary bug.
but we should add a warning if there is a 0-byte image trying to be sent.


Download path

… to serialize model
*Issue #126
Description of changes:
Add an example to show how models can be serialized, also set a path to download datasets and models that is independent of where scripts are run (similar to what gluoncv or gluonnlp do).
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-143/1 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-143/1/index.html

Codecov Report

Merging #143 into master will increase coverage by 0.01%.
The diff coverage is 71.42%.

@@            Coverage Diff             @@
##           master     #143      +/-   ##
==========================================
+ Coverage   79.12%   79.14%   +0.01%
==========================================
  Files         110      110
  Lines        6401     6406       +5
==========================================
+ Hits         5065     5070       +5
  Misses       1336     1336

Impacted Files
Coverage Δ

src/gluonts/model/predictor.py
81.91% <0%> (ø)
:arrow_up:

src/gluonts/support/util.py
69.36% <100%> (+0.85%)
:arrow_up:

src/gluonts/dataset/repository/datasets.py
58.06% <66.66%> (+2.89%)
:arrow_up:

Job PR-143/2 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-143/2/index.html


[line chart] I made an event listener on dotPoints. Need testers

Hi,
I fork Chart.js and made an event listener for the dot point of line charts.
It's working well and there is no performance issue. I only added 77 lines and modified 1.
I tried with Chrome and Firefox and there is not bug. It must be compatible with all browsers including old IE.
Please try it here : http://yappli.github.io/Chart.js/
Check the code modifications here : https://github.com/Yappli/Chart.js/compare/nnnick:master...event_point_match
I need your feedback !
If other people confirmed that it's good, I will pull request to the master.
With the argument received by the callback function you can provide tooltips to your graph or any other things.
enjoy !

Closing per @fulldecent


Add simulations for 27-interchain-accounts app

Summary
Please support Cosmos-SDK simulation

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

Hey @alpe, do you have a specific use case in mind? What sort of support are you looking for?
We haven't added simulation to IBC application before because we have previously deemed such changes too complex to implement for two simapps connecting to each other (simulating handshakes, client/connection/channel creation) and we deemed simulation support unnecessary. Simulations have historically been used to catch math bugs (staking, distribution etc), but the IBC applications thus far haven't not been very math heavy.
We do have the testing package, but perhaps this is not sufficient for your use case?
I'd love to see IBC testing expanded to include full integration tests and fuzz testing, but want to make sure we put our efforts towards the right solutions

Thanks for the feedback! I found simulations very helpful to detect integration issues in the past. Personally, I see them also as a mechanism to plug in test sets from different modules to the app, where they can add value without requiring people to have deeper knowledge of the module.
I do understand your point though, that ibc requires state which makes things more complicated.
If this makes sense for you, I can do a spike with one or two messages to get this started

Hey guys, any ETA on when this will be merged?
/cc @alessio

Sorry for the late reply... We're going to try to work on this in the coming 2 or 3 weeks. We will try to keep you all updated!


New version: libLLVM_assert_jll v12.0.1+4

Autogenerated JLL package registration

Registering JLL package libLLVM_assert_jll.jl
Repository: https://github.com/JuliaBinaryWrappers/libLLVM_assert_jll.jl
Version: v12.0.1+4
Commit: c0b2bea1f24237b221d165021b88951d8e815a6a
Revision on Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/commit/b9ae00428b844a7b3ca1fabf1e8381eea7060d42
Created by: @vchuravy

@vchuravy Should we also add this to the code owners file? Who should the owners be?

Yes please, also me and Elliot


Increase height of content_results ListView

The content_results ListView's height needs to be increased.

Fixed with commit 13188f936f2f7c77f12ff39f3af5546a80063c04


Update to new datasets urls and model data

Proposed change

SSIA
Additional information

This PR fixes or closes issue: fixes #

Checklist

[ ] I have updated the documentation if needed.
[ ] I have updated the tests if needed.

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

Project coverage is 100.00%. Comparing base (3380f25) to head (abf7a37).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #464   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines           89        90    +1
  Branches        12        13    +1
=========================================
+ Hits            89        90    +1

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


Change placeholder text color for Select

The placeholder-shown data attribute should have the text color of text-neutral-11 to meet color contrast..
https://github.com/spear-ai/ui/blob/a062066d9ee1268674b0e59b97c24049888fedfe/packages/ui/src/components/select.tsx#L134

This is an example where I think it's a mistake to follow the contrast color report. IMO those are warnings that should be followed up with an investigation rather than hard and fast rules. It's OK if we don't get a 100%.
Radix Colors says to use color step 9 for placeholder values.

However, Radix breaks this rule in the playground. Instead, they consistently use step-10. I suspect they just failed to update their color documentation after a recent update.
In my opinion, step-11 has too much contrast for a placeholder value and so step-10 is better. It might technically be a little harder to see, but on net it's probably worse to assign placeholders a color that will be confused with real values.
As always, @eakbulut can override me. The only thing that I want to insist on is that we don't dogmatically follow these accessibility scores. I've seen lots of great (accessible) websites break these rules all the time.

I do think following the guidelines lighthouse follows is important for accessibility issues, as lighthouse follows the Web Content Accessibility Guidelines (WCAG).
Here is the WCAG section on placeholders: https://www.w3.org/WAI/tutorials/forms/instructions/#placeholder-text


Bug 1829833: Fix performance issues when deploying Metering on Ansible 2.9.6+ versions.

Overview
In 2.9.6, changes were made to how the template caching mechanism works. In previous versions, all variables (i.e. jinja2 expressions) were being cached, instead of the intended behavior which is a single variable gets cached. This was obviously problematic, especially in the case where you're trying to generate a password a couple of times, which meant the first password result gets cached, and any subsequent calls to generating passwords would result in the value of the first, cached password being assigned to the corresponding variable.
Changes

Replaced all instances of the depreciated k8s_facts module with the k8s_info module.
Stored the result of the meteringconfig_default_values variable locally.
Stored the result of the meteringconfig_spec variable locally.
Removed all of the ansible_failed_task block/rescue references.
Fixed misspelledcreatSecret error messages.
Updated the metering-ansible-operator's Dockerfile to stop pinning against the 2.8 Ansible release.

Replacing k8s_facts module with k8s_info
In 2.9, the k8s_facts module was deprecated in favor of the k8s_info module. The usage was the same so this essentially just silences the Ansible warning message.
Storing the result of the meteringconfig_default_values variable locally
In the case of Metering, our Ansible role heavily relies on the notion of lazy evaluation - Ansible evaluates any variables at the last possible second. When this change to 2.9.6 was made, Metering saw a significant performance degradation, going from an average of 3-7 minutes to finish role execution, to 45+ minutes.
 In our current implementation, we pass a variable to the name field of the module. This meant that this module needed to make a filesystem lookup call many, many times for a particular value stored in this meteringconfig_spec variable, which is a large value dictionary and essentially serves as the single source of truth that Metering references.
A more concrete example:
ASK [meteringconfig : Check for the existence of the Presto TLS secret] *******
task path: /opt/ansible/roles/meteringconfig/tasks/configure_presto_tls.yml:15

Wednesday 29 April 2020  21:43:56 +0000 (0:00:00.380)       0:00:38.695 *******
File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file

File lookup using /opt/ansible/charts/openshift-metering/values.yaml as file
...

That variable in turn also relies on the value of the meteringconfig_default_values, which is a dictionary containing the default helm chart values. Previously, the result of that expression was cached.  The workaround is to cache or finalize, for a lack of a better phrase, the resultant of this meteringconfig_default_values expression. This would help performance as we're no longer re-evaluating this variable every time we want to template something, and all changes made go through the meteringconfig_spec dictionary so there's no risk of creating this variable early in the role.
Storing the result of the meteringconfig variable locally
At that point in the role, we've finished overriding any variables that reference this meteringconfig_spec variable, which is a giant dictionary containing all of the overridden MeteringConfig default values, and we can safely store this result locally.
Before this change, we copied this variable to a tmp file that the reconcile_* task files reference to deploy metering-related resources:
- name: Store MeteringConfig spec into values file
  copy: content="{{ meteringconfig_spec }}" dest=/tmp/metering-values.yaml

- include_tasks: "{{ item }}"
  loop:
    - reconcile_metering.yml
    - reconcile_monitoring.yml
    - reconcile_hdfs.yml
    - reconcile_hive.yml
    - reconcile_presto.yml
    - reconcile_reporting_operator.yml
    - reconcile_reporting.yml

The problem, however, is that we still use this meteringconfig_spec variable under-the-hood to determine whether or not to create a resource:
- name: Deploy presto resources
  include_tasks: deploy_resources.yml
  vars:
    values_file: /tmp/metering-values.yaml
    resources:
    ...
      - template_file: templates/presto/presto-auth-secrets.yaml
        apis: [ {kind: secret} ]
        prune_label_value: presto-auth-secrets
        create: "{{ meteringconfig_create_presto_auth_secrets }}"

Here, the meteringconfig_create_presto_auth_secrets variable is defined in the role's defaults/main.yml as the following:
meteringconfig_create_presto_auth_secrets: "{{ _presto_spec.config.auth.enabled and _presto_spec.config.auth.createSecret | default(false) }}"

Where the value of this _presto_spec dictionary is pulled out of the result of meteringconfig_spec.presto.spec.
If we instead store the value of this variable locally before reconciling resources, role execution is greatly improved as we no longer need to template these variables (due to lazy evaluation) every time we're looping over this list of resource definitions.
Removing all of the ansible_failed_task block/rescue references.
Like the other items mentioned above, this change has to do with the template caching changes. If a task wrapped in a block/rescue fails (e.g. a configuration failed our validation), then we attempt to update the MeteringConfig custom resource with this information. The problem, however, is that most of the failed tasks that get dropped to the rescue portion of the block use lazily evaluated variables, which means that it has to re-evaluate the contents of the task again and significantly slows down the role execution. That said, we use the ansible_failed_task solely for debuggability purposes, and that variable provides pretty low value in helping users or developers debug what went wrong with their Metering installation.
As long as we still have access to the ansible_failed_result, which is essentially the registered version of that failed task (and does not get affected by the template cache changes), we should have all the information we need to be able to produce better, more actionable errors.

/lgtm

Upstream bug testing is blocked on other unrelated problems. Overriding bugzilla flags.

/retest


Adds an option to customize the left-hand nav.

Should this be updated or closed?

I think closed, since we're looking to move away from Topdoc.


aria-describedby character escaping (with fix suggstion)

ref #1269
When using non label error elements with asp.net web forms the $ character is used in element IDs/names. This causes an error from sizzlejs on the second form submit (dues to the $ in the aria-describedby value).
core.js line 773 needs $ adding to the escape characters ;
- errorID = error.attr( "id" ).replace( /(:|\.|\[|\])/g, "\\$1");
+ errorID = error.attr( "id" ).replace( /(:|\.|\[|\]|\$)/g, "\\$1");
'''

Error Id in aria-describedby that contain escape character () are duplicate each time the field is validate.
Those escape characters need to be escape too.
Try this on line 788 in core.js:
!describedBy.match( new RegExp( "\\b" + errorID.replace( /(\\)/g, "\\\\$1" ) + "\\b" ) )


encoding/xml: marshaller panics in reflect.Value.CanInterface

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

$ go version
go version go1.15.6 darwin/amd64

Does this issue reproduce with the latest release?
YES
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/d-neal/Library/Caches/go-build"
GOENV="/Users/d-neal/Library/Application Support/go/env"
GOEXE=""
GOFLAGS="-mod=vendor"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/d-neal/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/d-neal/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.15.6/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.15.6/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/d-neal/repos/goroute/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/0d/6gm66r353ynfl6d90m65tlmr0000gn/T/go-build360898696=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
https://play.golang.org/p/1txISuTviPw
The problem is not reproducible with golang 1.14
It is also not reproducible if I just remove the XML tags from Foo/Bar attributes
What did you expect to see?
<Bar b="b"></Bar>
What did you see instead?

panic: reflect: call of reflect.Value.CanInterface on zero Value

goroutine 1 [running]:
reflect.Value.CanInterface(...)
	/usr/local/go-faketime/src/reflect/value.go:1005
encoding/xml.(*printer).marshalAttr(0xc00010e000, 0xc000068dd0, 0x0, 0x0, 0x4bec8b, 0x1, 0x0, 0x0, 0x0, 0xc000068d78, ...)
	/usr/local/go-faketime/src/encoding/xml/marshal.go:551 +0x1465
encoding/xml.(*printer).marshalValue(0xc00010e000, 0x4c0aa0, 0xc00000c0e0, 0x16, 0x0, 0x0, 0x90, 0x4cb820)
	/usr/local/go-faketime/src/encoding/xml/marshal.go:517 +0x5f0
encoding/xml.(*Encoder).Encode(0xc00010e000, 0x4c0aa0, 0xc00000c0e0, 0xc00007e000, 0x20)
	/usr/local/go-faketime/src/encoding/xml/marshal.go:162 +0xb6
encoding/xml.MarshalIndent(0x4c0aa0, 0xc00000c0e0, 0x0, 0x0, 0x4e0092, 0x2, 0xc000032778, 0xc000068f78, 0x4060e5, 0xc00005e058, ...)
	/usr/local/go-faketime/src/encoding/xml/marshal.go:129 +0x159
main.main()
	/tmp/sandbox825762527/prog.go:22 +0x7b

I ran into this same issue. Interestingly enough, if you remove the pointer on the embedded Foo field, it works:
type Bar struct {
	Foo
	...

https://play.golang.org/p/e561Lk2yaM8
It also works if Foo (pointer) is populated with an empty instance (non-nil pointer):
	bar := &Bar{
		Foo: &Foo{},
		...

https://play.golang.org/p/Ar2OZfBapRw
With just a quick scan I didn't see anything in the docs for encoding/xml that mentions embedded structs either way. But I think it's reasonable to assume that if it works as field Foo then *Foo should work as well and have the same behavior as if Foo had a zero value.  Most likely somewhere in the internals it is reading the value of each field and expecting to get a zero value for a struct and try to recursively traverse it, and instead gets a nil pointer and chokes on that.  (That's just a guess, but a reasonable one.  The error reflect.Value.CanInterface on zero Value is exactly what would be encountered after calling https://golang.org/pkg/reflect/#Value.Elem on a nil pointer and then trying to use the resulting reflect.Value.)

I think this issue is the same as issue #50164, and should be closed by CL https://go.dev/cl/385514.

Already fixed.


Simplify attachment-related Cucumber steps

This simplifies the attachment-related steps used in features/edition-attachments.feature and defined in features/step_definitions/attachment_steps.rb. These no longer need to support the legacy template version of the pages.
Note that there are still some other similar attachment-related steps which are used in features/consultations.feature and defined in features/step_definitions/consultation_steps.rb. These need to remain, because consultation responses still support both design system and legacy template versions of the pages.
See individual commit notes for more details.
Note that the final stage of moving the standard admin attachments index page to the design system appears to have been implemented in 7d4dd7a77ef9b90ea0688cc3d633dc27623d7d8b as part of #7219.
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.

@ollietreend Can you double-check my 2nd commit when you have time? Thanks.


Eliminate comparisons between size_t and int, different signs in unittest code

With "-Wsign-compare" build option, errors are found:
error: comparison of integers of different signs: 'const unsigned long'
and 'const int' [-Werror,-Wsign-compare]
error: comparison of integers of different signs: 'const int' and
'const unsigned int' [-Werror,-Wsign-compare]

@rakuco  Please have a review, Thanks.

lgtm, thank you!


OpenNebula::Document document_type instance method returns static value

Description
The current document_type instance method references a class constant. This method should be a class method, it shouldn't actually exist since it is just the constant. However the problem is if changing the code, the validation logic on the parent classes tries to access a constant DOCUMENT_TYPE that is defined on the child classes and then this problem would follow
 ~/P/O/one-ee   *$  ruby /tmp/asdf.rb                                                                                1s
/tmp/asdf.rb:4:in `initialize': uninitialized constant Parent::DOCUMENT_TYPE (NameError)

        puts DOCUMENT_TYPE
             ^^^^^^^^^^^^^
        from /tmp/asdf.rb:13:in `initialize'
        from /tmp/asdf.rb:18:in `new'
        from /tmp/asdf.rb:18:in `<main>'

There is also the problem that each document (and its children) instance has an actual DOCUMENT_TYPE value on their body. Which should be the value that the instance method document_type gathers, instead of the constant.
Expected behavior

A document_type instance method that returns the value DOCUMENT_TYPE hash value of the Pool Element body
The use of self.class::DOCUMENT_TYPE to refer to the DOCUMENT_TYPE constant of children classes on the validation logic.

Additional context
Current features implemented with document handling logic

oneflow
oneprovision
https://github.com/SovereignEdgeEU-COGNIT/provisioning-engine

Progress Status

[x] Code committed
[x] Testing - QA
[x] Documentation (Release notes - resolved issues, compatibility, known issues)

needs entry in whats new

This was actually the expected behavior, commit reverted


Allow real aliasing

jspm and Webpack both offer the ability to create aliases (called maps in jspm). This feature is useful for accessing file in the current app without resorting to relative paths. Fuxebox offers the root path ~/feature/code.js, but this is not interoperable and it also only works on one folder. One of the benefits of defining your own aliases is that you can have multiples, and they can point to arbitrary locations.
This issue originally requested the feature, but was satisfied with a module require. This does not work if the aliases is intended to be a path into the current code. It will recurse infinitely if the required module will contain aliases to itself.

Fair enough, let's define the specs.

@tyrsius this is really on the road map, stay tuned it will be there :)

Really do need aliasing for using things like preact-compat with modules that normally depend on react and react-dom.
The other thing is, there's a crapload of packages that have this browser property in their package.json that has an alias mapping (which I think is either a browserify or webpack convention) to provide a different module when bundling for the browser.
An example of a package that uses this is asap:
...
"browser": {
  "./asap": "./browser-asap.js",
  "./asap.js": "./browser-asap.js",
  "./raw": "./browser-raw.js",
  "./raw.js": "./browser-raw.js",
  "./test/domain.js": "./test/browser-domain.js"
},
...

Because fuse-box doesn't support this, I cannot use packages such as aphrodite, which depend on asap.

I understand.
Can you require them explicitly ?

Not that I know of.  I'm attempting to import and use aphrodite (for creating inline styles for react components), which depends internally on asap.  asap is relying upon the bundler to know about the browser field on whether to make aphrodite import asap.js or browser-asap.js file when it calls require('asap') -- the non-browser version gets imported, which throws a runtime TypeError error because of a missing function that asap is trying to use from raw.js (not browser-raw.js, etc).

Hm, that does not help?

no, because in the package.json of asap, "main" === "./asap.js".
typeof json.browser === "object" && json.browser[json.main]

Sorry, I misread... yeah this should work

Essentially, the runtime error I get is:
Uncaught TypeError: rawAsap.makeRequestCallFromTimer is not a function

After investigation, aphrodite (in lib/inject.js) calls:
var _asap = require('asap');

Both asap/asap.js and asap/browser-asap.js call:
var rawAsap = require("./raw");

However, makeRequestCallFromTimer is only defined in browser-raw.js.  The fact that it's not being found is because the raw.js file is being loaded instead.

Do you think you can propose a fix for the PathMaster.ts ?

I actually don't know.  browser-asap.js is in fact getting loaded, but it's dependent, browser-raw.js (from require('./raw')), is not.  I'm not sure how to deal with this, because the './raw' module is internal to asap, it's not an entry point.

Essentially, you'd need to generalize readMainFile() for any require(), not just json.main.  This may actually involve resolving module names because of relative paths, and so-on.

Right, yeah... I see the problem. So when you do require('./raw') it should require browser-raw.js instead? Cuz package.json said so, right?

I suppose that's how it's supposed to work.

But what about server version then?

Well, if we're bundling for the server, it would not read the browser field in the package json to resolve the module.

So would specify a target for bundling then?

I think this may be better fixed in the upstream package.  There's this issue here: https://github.com/kriskowal/asap/issues/50 in which they brought it into it's current state; however, it seems pretty flaky to me.  It seems the pkg author doesn't even quite understand why it works for webpack.

Yep, but we are not Webpack. We need to solve it elegantly ;-)

Lol I know.  I will never use webpack again

Here’s some details about how the browser field is supposed to be interpreted https://github.com/defunctzombie/package-browser-field-spec

Aliases are coming in the next release as an experimental feature for you guys to play with it
alias: {
      utils: "~/hello/foo/"
 }

@nchanged do you want a separate ticket for the browser directive of the package?

@alloy oh yes please!

👍 Added #258

@xdave I just hit the same issue you describe in https://github.com/fuse-box/fuse-box/issues/111#issuecomment-281015956
Do you remember how you solved it? I'm not even sure how I triggered it.

@guillaume86 target : "browser"


Semantic highlighting unusable with unicodes in Neovim

Describe the bug
In Neovim (LazyVim dist), semantic highlighting does not work with documents with unicodes.
Here is an asciinema cast of editing a short Typst document with ℘ character:

Turning off semantic highlighting "resolves" the issue, but completely disables syntax highlighting.
Package/Software version:
Neovim version:
𝝺 nvim --version
NVIM v0.10.2
Build type: Release
LuaJIT 2.1.1727870382
Run "nvim -V1 -v" for more info

OS version:
macOS 15.0.1 (24A348)

tinymist extension version: v0.11.0. Get it by tinymist --version in terminal.
𝝺 /Users/jay/.local/share/nvim/mason/bin/tinymist --version
tinymist
Build Timestamp:     2024-10-19T17:12:03.217404000Z
Build Git Describe:  v0.12.0
Commit SHA:          4437b3bffb5f01f06bd64e4e424480ba72a88619
Commit Date:         None
Commit Branch:       None
Cargo Target Triple: aarch64-apple-darwin
Typst Version:       0.12.0
Typst Source:        git+https://github.com/Myriad-Dreamin/typst.git?tag=tinymist-v0.12.0#58426a90a7ef721738a01be09793d33e55eb75a9

Logs:
tinymist server log(:LspLog):
[START][2024-10-27 14:41:36] LSP logging initiated
[ERROR][2024-10-27 14:41:36] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	'[2024-10-27T05:41:36Z INFO  tinymist] tinymist LSP version information: [["Build Timestamp", "2024-10-19T17:12:03.217404000Z"], ["Build Git Describe", "v0.12.0"], ["Commit SHA", "4437b3bffb5f01f06bd64e4e424480ba72a88619"], ["Commit Date", "None"], ["Commit Branch", "None"], ["Cargo Target Triple", "aarch64-apple-darwin"], ["Typst Version", "0.12.0"], ["Typst Source", "git+https://github.com/Myriad-Dreamin/typst.git?tag=tinymist-v0.12.0#58426a90a7ef721738a01be09793d33e55eb75a9"]]\n[2024-10-27T05:41:36Z INFO  tinymist] starting LSP server: LspArgs {\n        mirror: MirrorArgs {\n            mirror: "",\n            replay: "",\n        },\n        font: CompileFontArgs {\n            font_paths: [],\n            ignore_system_fonts: false,\n        },\n    }\n[2024-10-27T05:41:36Z INFO  sync_lsp] handling initialize - (1) at Instant { tv_sec: 198289, tv_nsec: 835520583 }\n[2024-10-27T05:41:36Z INFO  tinymist::init] preferred theme: None {}\n[2024-10-27T05:41:36Z INFO  tinymist::server] LanguageState: initialized with config Config { const_config: ConstConfig { position_encoding: Utf16, cfg_change_registration: true, notify_will_rename_files: true, tokens_dynamic_registration: false, tokens_overlapping_token_support: true, tokens_multiline_token_support: false, doc_line_folding_only: true, doc_fmt_dynamic_registration: true }, compile: CompileConfig { roots: ["/Users/jay/Documents/error"], output_path: PathPattern(""), export_pdf: Never, root_path: None, font_opts: CompileFontArgs { font_paths: [], ignore_system_fonts: false }, system_fonts: None, font_paths: [], fonts: OnceCell(Uninit), notify_status: false, periscope_args: None, typst_extra_args: Some(CompileExtraOpts { root_dir: None, entry: None, inputs: {}, font: CompileFontArgs { font_paths: [], ignore_system_fonts: false }, creation_timestamp: None, cert: None }), preferred_theme: None, has_default_entry_path: false, lsp_inputs: {"x-preview": "{\\"version\\":1,\\"theme\\":\\"\\"}"} }, semantic_tokens: Enable, formatter_mode: Disable, formatter_print_width: None }\n[2024-10-27T05:41:36Z INFO  tinymist::actor] TypstActor: creating server for primary, entry: EntryState { rooted: true, root: Some("/Users/jay/Documents/error"), main: None }, inputs: {"x-preview": "{\\"version\\":1,\\"theme\\":\\"\\"}"}\n[2024-10-27T05:41:36Z INFO  tinymist::init] creating SharedFontResolver with CompileFontArgs { font_paths: [], ignore_system_fonts: false }\n[2024-10-27T05:41:36Z INFO  sync_lsp] handled  initialize - (1) in 430.71µs\n'
[ERROR][2024-10-27 14:41:36] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	'[2024-10-27T05:41:36Z INFO  sync_lsp] notifying initialized - at Instant { tv_sec: 198289, tv_nsec: 844317166 }\n[2024-10-27T05:41:36Z INFO  tinymist::server] server initialized\n[2024-10-27T05:41:36Z INFO  sync_lsp] notifing initialized succeeded in 21.79µs\n[2024-10-27T05:41:36Z INFO  sync_lsp] notifying workspace/didChangeConfiguration - at Instant { tv_sec: 198289, tv_nsec: 844377583 }\n[2024-10-27T05:41:36Z INFO  tinymist::init] preferred theme: None {"exportPdf": String("onType")}\n[2024-10-27T05:41:36Z INFO  tinymist::server] new settings applied\n[2024-10-27T05:41:36Z INFO  sync_lsp] notifing workspace/didChangeConfiguration succeeded in 36.83µs\n[2024-10-27T05:41:36Z INFO  sync_lsp] notifying textDocument/didOpen - at Instant { tv_sec: 198289, tv_nsec: 844440250 }\n[2024-10-27T05:41:36Z INFO  tinymist::server] did open Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/Users/jay/Documents/error/error.typ", query: None, fragment: None }\n[2024-10-27T05:41:36Z INFO  tinymist::server] create source: "/Users/jay/Documents/error/error.typ"\n[2024-10-27T05:41:36Z INFO  tinymist::actor::typ_client] the entry file of TypstActor(primary) is changing to EntryState { rooted: true, root: Some("/Users/jay/Documents/error"), main: Some(/error.typ) }\n[2024-10-27T05:41:36Z INFO  tinymist::server] file focused[implicit,o]: Some("/Users/jay/Documents/error/error.typ")\n[2024-10-27T05:41:36Z INFO  sync_lsp] notifing textDocument/didOpen succeeded in 77.25µs\n[2024-10-27T05:41:36Z INFO  sync_lsp] handling textDocument/documentSymbol - (2) at Instant { tv_sec: 198289, tv_nsec: 844627625 }\n[2024-10-27T05:41:36Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 4.791µs\n[2024-10-27T05:41:36Z INFO  sync_lsp] handled  textDocument/documentSymbol - (2) in 47.58µs\n[2024-10-27T05:41:36Z INFO  sync_lsp] handling textDocument/inlayHint - (3) at Instant { tv_sec: 198289, tv_nsec: 845401125 }\n'
[ERROR][2024-10-27 14:41:36] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:36Z INFO  sync_lsp] handling textDocument/documentSymbol - (4) at Instant { tv_sec: 198289, tv_nsec: 867579458 }\n[2024-10-27T05:41:36Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 12.042µs\n[2024-10-27T05:41:36Z INFO  sync_lsp] handled  textDocument/documentSymbol - (4) in 57.46µs\n"
[ERROR][2024-10-27 14:41:36] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:36Z INFO  sync_lsp] handling textDocument/inlayHint - (5) at Instant { tv_sec: 198289, tv_nsec: 887044833 }\n"
[WARN][2024-10-27 14:41:36] ...lsp/handlers.lua:135	"The language server tinymist triggers a registerCapability handler for workspace/didChangeConfiguration despite dynamicRegistration set to false. Report upstream, this warning is harmless"
[ERROR][2024-10-27 14:41:36] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:36Z INFO  sync_lsp] handling textDocument/semanticTokens/full - (6) at Instant { tv_sec: 198289, tv_nsec: 887672833 }\n[2024-10-27T05:41:36Z INFO  sync_lsp] handled  textDocument/semanticTokens/full - (6) in 68.00µs\n"
[ERROR][2024-10-27 14:41:37] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	'[2024-10-27T05:41:37Z INFO  tinymist::actor::editor] received status request(primary) Compiling\n[2024-10-27T05:41:37Z INFO  sync_lsp] handled  textDocument/inlayHint - (5) in 248.38ms\n[2024-10-27T05:41:37Z INFO  sync_lsp] handled  textDocument/inlayHint - (3) in 290.06ms\n[2024-10-27T05:41:37Z INFO  tinymist::actor::editor] received diagnostics from primary:4: diag(Some(0))\n[2024-10-27T05:41:37Z INFO  tinymist::actor::editor] received status request(primary) CompileSuccess\n[2024-10-27T05:41:37Z INFO  tinymist::init] Check path Some(/error.typ) and root Some("/Users/jay/Documents/error") with output directory PathPattern("")\n[2024-10-27T05:41:37Z INFO  tinymist::task::export] RenderActor(Pdf { creation_timestamp: None }): exporting EntryState { rooted: true, root: Some("/Users/jay/Documents/error"), main: Some(/error.typ) } to "/Users/jay/Documents/error/error.pdf"\n[2024-10-27T05:41:37Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 8.417µs\n[2024-10-27T05:41:37Z INFO  tinymist::actor::editor] received status request(primary) Compiling\n[2024-10-27T05:41:37Z INFO  tinymist::actor::editor] received diagnostics from primary:5: diag(Some(0))\n[2024-10-27T05:41:37Z INFO  tinymist::actor::editor] received status request(primary) CompileSuccess\n[2024-10-27T05:41:37Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 4.375µs\n[2024-10-27T05:41:37Z INFO  tinymist::task::export] RenderActor(Pdf { creation_timestamp: None }): export complete\n'
[ERROR][2024-10-27 14:41:37] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:37Z INFO  sync_lsp] handling textDocument/documentSymbol - (7) at Instant { tv_sec: 198290, tv_nsec: 394224416 }\n[2024-10-27T05:41:37Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 4.083µs\n[2024-10-27T05:41:37Z INFO  sync_lsp] handled  textDocument/documentSymbol - (7) in 35.79µs\n"
[ERROR][2024-10-27 14:41:37] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:37Z INFO  sync_lsp] handling textDocument/documentHighlight - (8) at Instant { tv_sec: 198290, tv_nsec: 394797583 }\n"
[ERROR][2024-10-27 14:41:37] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:37Z INFO  sync_lsp] handled  textDocument/documentHighlight - (8) in 105.13µs\n"
[ERROR][2024-10-27 14:41:37] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:37Z INFO  sync_lsp] handling textDocument/documentSymbol - (9) at Instant { tv_sec: 198290, tv_nsec: 405093416 }\n"
[ERROR][2024-10-27 14:41:37] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:37Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 3.583µs\n[2024-10-27T05:41:37Z INFO  sync_lsp] handled  textDocument/documentSymbol - (9) in 25.50µs\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { tv_sec: 198292, tv_nsec: 89399708 }\n[2024-10-27T05:41:39Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 73.92µs\n[2024-10-27T05:41:39Z INFO  tinymist::actor::editor] received status request(primary) Compiling\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] handling textDocument/documentSymbol - (10) at Instant { tv_sec: 198292, tv_nsec: 89563875 }\n[2024-10-27T05:41:39Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 6.917µs\n[2024-10-27T05:41:39Z INFO  sync_lsp] handled  textDocument/documentSymbol - (10) in 50.42µs\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	'[2024-10-27T05:41:39Z INFO  tinymist::actor::editor] received diagnostics from primary:6: diag(Some(0))\n[2024-10-27T05:41:39Z INFO  tinymist::actor::editor] received status request(primary) CompileSuccess\n[2024-10-27T05:41:39Z INFO  tinymist::task::export] RenderActor(Pdf { creation_timestamp: None }): exporting EntryState { rooted: true, root: Some("/Users/jay/Documents/error"), main: Some(/error.typ) } to "/Users/jay/Documents/error/error.pdf"\n'
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 6.709µs\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] handling textDocument/inlayHint - (11) at Instant { tv_sec: 198292, tv_nsec: 90078333 }\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] handled  textDocument/inlayHint - (11) in 34.25µs\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  tinymist::task::export] RenderActor(Pdf { creation_timestamp: None }): export complete\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] notifying $/cancelRequest - at Instant { tv_sec: 198292, tv_nsec: 282544916 }\n[2024-10-27T05:41:39Z WARN  sync_lsp] unhandled notification: $/cancelRequest\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] handling textDocument/semanticTokens/full - (12) at Instant { tv_sec: 198292, tv_nsec: 282573375 }\n[2024-10-27T05:41:39Z INFO  sync_lsp] handled  textDocument/semanticTokens/full - (12) in 28.88µs\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] handling textDocument/documentSymbol - (13) at Instant { tv_sec: 198292, tv_nsec: 497242208 }\n[2024-10-27T05:41:39Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 4.458µs\n[2024-10-27T05:41:39Z INFO  sync_lsp] handled  textDocument/documentSymbol - (13) in 38.67µs\n[2024-10-27T05:41:39Z INFO  sync_lsp] handling textDocument/documentHighlight - (14) at Instant { tv_sec: 198292, tv_nsec: 497408291 }\n"
[ERROR][2024-10-27 14:41:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:39Z INFO  sync_lsp] handled  textDocument/documentHighlight - (14) in 43.33µs\n"
[ERROR][2024-10-27 14:41:40] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:40Z INFO  tinymist::actor::editor] received status request(primary) Compiling\n[2024-10-27T05:41:40Z INFO  tinymist::actor::editor] received diagnostics from primary:7: diag(Some(0))\n[2024-10-27T05:41:40Z INFO  tinymist::actor::editor] received status request(primary) CompileSuccess\n[2024-10-27T05:41:40Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 9.167µs\n[2024-10-27T05:41:40Z INFO  sync_lsp] notifying textDocument/didSave - at Instant { tv_sec: 198293, tv_nsec: 132611583 }\n"
[ERROR][2024-10-27 14:41:40] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:40Z INFO  sync_lsp] notifing textDocument/didSave succeeded in 27.71µs\n"
[ERROR][2024-10-27 14:41:40] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:40Z INFO  sync_lsp] handling textDocument/documentSymbol - (15) at Instant { tv_sec: 198293, tv_nsec: 352063416 }\n[2024-10-27T05:41:40Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 4.25µs\n[2024-10-27T05:41:40Z INFO  sync_lsp] handled  textDocument/documentSymbol - (15) in 41.50µs\n"
[ERROR][2024-10-27 14:41:40] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:40Z INFO  sync_lsp] handling textDocument/documentHighlight - (16) at Instant { tv_sec: 198293, tv_nsec: 352327125 }\n[2024-10-27T05:41:40Z INFO  sync_lsp] handled  textDocument/documentHighlight - (16) in 47.79µs\n"
[ERROR][2024-10-27 14:41:49] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:49Z INFO  sync_lsp] handling textDocument/documentHighlight - (17) at Instant { tv_sec: 198302, tv_nsec: 848626083 }\n"
[ERROR][2024-10-27 14:41:49] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:41:49Z INFO  sync_lsp] handled  textDocument/documentHighlight - (17) in 115.04µs\n"
[ERROR][2024-10-27 14:42:02] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:42:02Z INFO  sync_lsp] handling textDocument/documentHighlight - (18) at Instant { tv_sec: 198315, tv_nsec: 126042166 }\n"
[ERROR][2024-10-27 14:42:02] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/jay/.local/share/nvim/mason/bin/tinymist"	"stderr"	"[2024-10-27T05:42:02Z INFO  sync_lsp] handled  textDocument/documentHighlight - (18) in 244.21µs\n"

tinymist client log(:messages):
Error executing vim.schedule lua callback: ...0.2_1/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:304: ...0.2_1/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:149: index out of range
stack traceback:
	[builtin#36]: at 0x01049dd078
	...0.2_1/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:304: in function 'handler'
	...eovim/0.10.2_1/share/nvim/runtime/lua/vim/lsp/client.lua:687: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>
	[C]: in function 'wait'
	.../jay/.local/share/nvim/lazy/lazy.nvim/lua/lazy/async.lua:113: in function 'wait'
	...al/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:235: in function <...al/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:232>
	[C]: in function 'pcall'
	....local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/git.lua:192: in function 'get_tag_refs'
	....local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/git.lua:161: in function 'ref'
	....local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/git.lua:149: in function <....local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/git.lua:118>
	[C]: in function 'pcall'
	...al/share/nvim/lazy/lazy.nvim/lua/lazy/manage/checker.lua:43: in function 'fast_check'
	...al/share/nvim/lazy/lazy.nvim/lua/lazy/manage/checker.lua:15: in function 'start'
	...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/config.lua:342: in function ''
	vim/_editor.lua: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>
Error executing vim.schedule lua callback: ...0.2_1/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:304: ...0.2_1/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:149: index out of range
stack traceback:
	[builtin#36]: at 0x01049dd078
	...0.2_1/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:304: in function 'handler'
	...eovim/0.10.2_1/share/nvim/runtime/lua/vim/lsp/client.lua:687: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>
"error.typ" 1L, 13B

Additional context
My LazyVim config file for tinymist:
return {
  {
    "williamboman/mason.nvim",
    opts = {
      ensure_installed = {
        "tinymist",
      },
    },
  },
  {
    "neovim/nvim-lspconfig",
    dependencies = {
      "mason.nvim",
      "williamboman/mason-lspconfig.nvim",
    },
    ---@class PluginLspOpts
    opts = {
      ---@type lspconfig.options
      servers = {
        tinymist = {
          single_file_support = true,
          root_dir = function()
            return vim.fn.getcwd()
          end,
          -- capabilities = (function()
          --   -- Disable semantic tokens to avoid Unicode-related crashes
          --   local capabilities = vim.lsp.protocol.make_client_capabilities()
          --   capabilities.textDocument.semanticTokens = nil
          --   return capabilities
          -- end)(),
          on_attach = function(client, bufnr)
            -- Disable semantic highlighting
            -- client.server_capabilities.semanticTokensProvider = nil
          end,
          --- See [Tinymist Server Configuration](https://github.com/Myriad-Dreamin/tinymist/blob/main/Configuration.md) for references.
          settings = {
            exportPdf = "onType",
          },
        },
      },
    },
  },
}

Adding the following completely disables syntax highlighting, but the errors go away.
          on_attach = function(client, bufnr)
            -- Disable semantic highlighting
            client.server_capabilities.semanticTokensProvider = nil
          end,

FYI, I can use kaarmu/typst for syntax highlighting until the issue gets resolved.

duplicate of #638

Sorry, the issue wasn't very discoverable--would you recommend using this workaround for now?

would you recommend using https://github.com/Myriad-Dreamin/tinymist/issues/638#issuecomment-2395941103 for now?

@Zeta611 I don't encourage this, as we most editors and users rarely use utf-8 position encoding, implying less robust and usability. But if you have any issue when using utf-8 position encoding, please feel free to open an issue on GitHub.


Parameters get reset after aria2 restart

Every time I save several parameters such as split, max-concurrent-downloads... restarting aria2 resets it.
Starting aria2 with the parameters doesn't work either as webui-aria2 doesn't read it apparently.
ExecStart=/usr/bin/aria2c \
        --enable-rpc \
        --rpc-listen-all \
        --max-connection-per-server=10 \
        --dir=/home/pi/down \
        --console-log-level=warn \
        --log=/home/pi/aria2.log
        --split=10 \
        --continue true

How do I make the settings persist between restarts?

No, aria2 will not save configs from RPC interface. IMO this is better since you can easily revert any change if you set something wrong (like docker, programmers love docker because it will save time cleaning up their silly tweaking adventures).
However, it should be strange if you meant command line parameters didn't work. If they didn't work, how could you even start an RPC server? If you mean adding or removing some of them didn't make a change, remember systemctl daemon-reload. Otherwise, systemd will still use old unit. Another rescue is to use conf-path option.

If the parameters are mentioned in the systemd file, then webui-aria2 should be able to read it without any configuration, right? Except that’s not happening.
I’ll try with conf-path.

webui-aria2 don't read directly from the systemd file but the running instance. In RPC interface there are several methods for that. Try ps -elf | grep aria2c to check if the command line contains those args.
But wait a minute, I didn't check your args. I supposed your WebUI connected to the instance correctly. However, I just noticed that you didn't give --rpc-allow-origin-all, which is required to access aria2 instance from a different "origin" (the combination of protocol://host:port).

Issue is no longer present.


Non-htaccess support

Feature Request
Since the whole point of routewhitelist is to reduce server load, would you consider making routewhitelist not rely on .htaccess? Understandably, developers that develop on shared servers have to accept .htaccess as a fact of life, but for those of us that develop on controlled server .htaccess simply is the wrong way of doing things.
Thanks!

Hi, can you explain why htaccess doesn't work on a controlled server? I chose to use htaccess because it gives very good performance when doing the kind of "does this file exist" lookup that module enables. The same lookup could be done using a simple PHP script, but you'd still need to configure the htaccess to route requests to that script instead of to SilverStripe. So why not just use the htaccess file?

Hi,
Turning on AllowOverride will cause Apache to evaluate .htaccess on every request. And not just every request, every directory, for every request. So the issue can scale exponentially.
From Apache:
_There are two main reasons to avoid the use of .htaccess files.
The first of these is performance. When AllowOverride is set to allow the use of .htaccess files, httpd will look in every directory for .htaccess files. Thus, permitting .htaccess files causes a performance hit, whether or not you actually even use them! Also, the .htaccess file is loaded every time a document is requested._
Thanks,
Chris

Hi Chris,
Unfortunately, while Apache is, of course, correct to caution against using AllowOverwrite, SilverStripe itself relies on the htaccess file for access control of various folders, serving of assets from the assets directory and the redirect to the main.php file for invoking the CMS. Before making the routewhitelist module not rely on htaccess we would first need to rewrite SilverStripe not to rely on the htaccess file. So, while I appreciate the suggestion, I don't think it's realistic in this case.

SilverStripe actually doesn't rely on .htaccess. All of SilverStripe's directives fit perfectly in an Apache conf file.
<VirtualHost *:80>
    DocumentRoot /var/www/html/example
    ServerName example.com
    ServerAlias www.example.com

    # Route errors to static pages automatically generated by SilverStripe
    ErrorDocument 404 /assets/error-404.html
    ErrorDocument 500 /assets/error-500.html
    ### SILVERSTRIPE START ###
        <Directory /var/www/html/example/assets>
            <FilesMatch "\.(php|php3|php4|php5|phtml|inc)$">
                Deny from All
            </FilesMatch>
        </Directory>
        <Directory /var/www/html/example>
            # Deny access to templates (but allow from localhost)
            <Files *.ss>
                Order Deny,Allow
                Deny from All
                Allow from <IP_ADDRESS>
            </Files>
            # Deny access to IIS configuration
            <Files web.config>
                Order Deny,Allow
                Deny from All
            </Files>
            # Deny access to YAML configuration files which might include sensitive information
            <Files *.yml>
                Order Allow,Deny
                Deny from All
            </Files>
            # Turn off index.php handling request issues with SilverStripe. (apache >=2.4)
            <IfModule mod_dir.c>
                DirectoryIndex disabled
            </IfModule>
            <IfModule mod_rewrite.c>
                SetEnv HTTP_MOD_REWRITE On
                RewriteEngine On
                # Deny access to potentially sensitive files and folders
                RewriteRule ^vendor(/|$) - [F,L,NC]
                RewriteRule silverstripe-cache(/|$) - [F,L,NC]
                RewriteRule composer\.(json|lock) - [F,L,NC]
                # Process through SilverStripe if no file with the requested name exists.
                # Pass through the original path as a query parameter, and retain the existing parameters.
                RewriteCond %{REQUEST_URI} ^(.*)$
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteRule .* %{DOCUMENT_ROOT}/framework/main.php?url=%1 [QSA]
            </IfModule>
        </Directory>
    ### SILVERSTRIPE END ###
</VirtualHost>

Ah, ok, I didn't realise that. Good to know.
It seems simple enough to add the whitelist config htaccess snippet to this Apache config. How do you think that is best represented in the codebase/documentation?

Well...admittedly I was only considering myself when I suggested this, but I guess it still has to be usable by developers that don't have root access to the Apache file.
That said, I think all you would have to do actually, is modify WhitelistGenerator's ensureWhitelistFolderExists() method to make the cache directory not world writable.:
chmod($dir,0770);
Then the module wouldn't rely on .htaccess at all, but of course developers that do rely on .htaccess can still use it too.
Developrs that do use Apache conf files could then just add the rewrite rules inside the  as long as they remember to enclose that inside the <Directory /var/www/html/example> See my modified example above.

I don't understand how the write permissions of the cache directory impact the ability to use Apache virtual host configurations. Could you please explain?

Sorry, I think I'm conflating two issues. I guess ultimately you don't need htaccess to use this module. You could always override the htaccess directives in a conf file. Because of that I would reword the requirements section of the readme to reflect that.
However, that said, you also don't need to protect the cache directory with htaccess if you just write it 0770 in the first place.

Sorry for the intermittent updates.
Regarding the permissions on the cache directory: what is your concern here? Is it that website visitors can potentially view the list of cached filenames?

Maybe I'm just paranoid, but creating a directory with 0777 permissions seems to be a security issue. Reading files in the cache would be the least of my concerns. Writing files to that directory and giving execute permissions, on the other hand, could be a huge security hole.
Unless an application has a very specific reason to do so, giving the world write permission on a directory at the root of an application seems dangerous.
At the very least I would think creating the directory with 0774 permissions would be safest and should still work in a shared hosting environment.
Regards,
Chris


feat(#10): just integrated, clean for fmt

closes #10

PR-Codex overview
The focus of this PR is to enhance code quality by enforcing new linting rules, updating dependencies, and improving code structure and readability.
Detailed summary

Added a new linting rule to deny the use of ? operator
Updated dependencies like anyhow to version 1.0.86
Modified line length rule in markdownlint.yml
Refactored functions in various modules for better readability
Updated copyright year in multiple files
Added license information to various files
Improved code structure in justfile for better project management

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor hey

@rultor hey

@h1alexbel I'm sorry, I don't understand you :( Check this page and try again please

@rultor merge, please

@rultor merge, please

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge, please

@h1alexbel Done! FYI, the full log is here (took me 16min)

@h1alexbel Thanks for the contribution! You've earned +5 points for this: +20 as a basis; +5 for 158 hits-of-code; -7 for too many hits-of-code (158 >= 100); -15 for the lack of code review; +2 to give you at least something. Please, keep them coming. Your running balance is -30.


Argument parser and multiple video download

I have modified the script in a way that hopefully is towards where we want to bring this project.
Mainly, I wanted to implement a way to download a list of videos. At the same time, I added yargs as a dependency to parse arguments.
The usage is as following:
node ./destreamer.js --help
Options:
  --help             Show help                                         [boolean]
  --version          Show version number                               [boolean]
  --videoUrls                                                 [array] [required]
  --username                                                 [string] [required]
  --outputDirectory                                 [string] [default: "videos"]

I have also updated README.md.
This resolves issue #5.

Thanks!


Write out sample time delays in slcosmo format

I am going to create a function for compute_likelihood_simpleMC to save the samples and make it compatible with SLCosmo( i.e. store them in "tdc2samplefile" format).

Sounds good! You should issue these tasks separately, and make the issue
titles as informative as possible - you can edit the issue title any time.
Maybe make a separate issue for the r+i band only test, and then rename
this one something like "Write out sample time delays in slcosmo format"?
In general each issue should address just one issue (the exception is when
you make an issue to host a set of related issues - this is called an
"epic").
On Mon, Oct 10, 2016 at 5:30 PM, Chun Hao To<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

I am going to restructure the code and add some function.

I'll make the reading.py to be able to read data in given bands.
create a function for compute_likelihood_simpleMC to save the samples
and make it compatible with SLCosmo( i.e. store them in "tdc2samplefile"
format)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DarkEnergyScienceCollaboration/SLTimer/issues/49, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AArY9-Nc4bIimFb3ze0eVgRzbFWBeKhdks5qytiZgaJpZM4KTH2n
.

Thanks @drphilmarshall for very useful comment. I've changed my issues to make them more concrete. But I still have a question that am I able to assign an issue to myself?

Good good. I just changed your repo permissions, you should be able to assign/label/milestone the issues now.


SPIKE: ESS Bottom Up

Description

Support for tasks concerning the "Lieferkettengesetz" and the compliance to social and environmental standards is a unique selling point for Catena-X and directly related to the n-tier approach of Catena-X.
The benefits are thus manifold:

Participants in the Catena-X network benefit because they are offered a tool with which they can meet the requirements of the Supply Chain Act (see in particular event-based tracing and due diligence).
The Catena-X ecosystem benefits massively from such an offer, because this unique selling proposition helps massively in scaling Catena-X.
The use case "sustainability" benefits because it gets the basic function for the implementation of the supply chain law through the functionality of the IRS.

Impact

Sustainability ESS Team

Additional information
Beneficiaries
Besides the Catena-X eco system (see above) the roles in the CX company participants that benefit are:

sustainability managers
responsible for environmental and social standards
compliance managers

ONLY BOTTOM UP
Linked Stories

eclipse-tractusx/item-relationship-service#203
eclipse-tractusx/item-relationship-service#204
eclipse-tractusx/item-relationship-service#206
eclipse-tractusx/item-relationship-service#213
eclipse-tractusx/item-relationship-service#204

hi @jzbmw could we close this issue seems that is already done?
Hint: If you close directly the issue it will automatically moved to "Done" status.


F.interpolate compatability patch for pytorch 1.5.0

F.interpolate, used by the RatioResize transform in fastai2’s batch image augmenter, changed it’s default behaviour between pytorch versions v1.4.0 and v1.5.0, causing installations using pytorch v1.5.0 (such as google colab) to throw a warning that using F.interpolate in this way will fail in future. Adding the argument “recompute_scale_factor=True” when calling F.interpolate prevents pytorch from throwing this warning, and ensures fastai compatibility with future versions of pytorch.

Does it still work on 1.4.0 with this parameter added?

Hi Jeremy.
The PR400 change, as proposed, does not work on pytorch 1.4.0. I have been in communication with @muellerzr about how to resolve this for the past few days, and here is a summary of where we have gotten to so far:
The problem
Fastai2, as is, throws a warning (but continues to work) on pytorch 1.5.0 because the scale factor is passed to F.interpolate a float in RatioResize on line 289 of augment.py:
class RatioResize(Transform):
    'Resizes the biggest dimension of an image to `max_sz` maintaining the aspect ratio'
....
def _grid_sample(x, coords, mode='bilinear', padding_mode='reflection', align_corners=None):
    "Resample pixels in `coords` from `x` by `mode`, with `padding_mode` in ('reflection','border','zeros')."
    #coords = coords.permute(0, 3, 1, 2).contiguous().permute(0, 2, 3, 1) # optimize layout for grid_sample
    if mode=='bilinear': # hack to get smoother downwards resampling
        mn,mx = coords.min(),coords.max()
        # max amount we're affine zooming by (>1 means zooming in)
        z = 1/(mx-mn).item()*2
        # amount we're resizing by, with 100% extra margin
        d = min(x.shape[-2]/coords.shape[-2], x.shape[-1]/coords.shape[-1])/2
        # If we're resizing up by >200%, and we're zooming less than that, interpolate first
        if d>1 and d>z:
289>>            x = F.interpolate(x, scale_factor=1/d, mode='area')
    return F.grid_sample(x, coords, mode=mode, padding_mode=padding_mode, align_corners=align_corners)

The problem manifests as a message stating UserWarning: The default behavior for interpolate/upsample with float scale_factor will change in 1.6.0 to align with other frameworks/libraries, and use scale_factor directly, instead of relying on the computed output size. If you wish to keep the old behavior, please set recompute_scale_factor=True. See the documentation of nn.Upsample for details
The warning seems to be simply informing of an upcoming change, as the pytorch code simply checks if scale_factor is a float or not (torch/nn/functional.py line 2989):
 if recompute_scale_factor is None:
        # only warn when the scales have floating values since
        # the result for ints is the same with/without recompute_scale_factor

        is_float_scale_factor = False
        for scale in scale_factors:
            is_float_scale_factor = math.floor(scale) != scale
            if is_float_scale_factor:
                break
2989>>   if is_float_scale_factor:
            warnings.warn("The default behavior for interpolate/upsample with float scale_factor will change "
                          "in 1.6.0 to align with other frameworks/libraries, and use scale_factor directly, "
                          "instead of relying on the computed output size. "
                          "If you wish to keep the old behavior, please set recompute_scale_factor=True. "
                          "See the documentation of nn.Upsample for details. ")

The major risk of this warning is not that fastai2 fails on pytorch 1.5.0 (it works fine, it just looks ominous), but the confusion that the warning causes to people unfamiliar with fastai. This fast.ai forum post is a good example of a conversation that stated out discussing a valid problem with a dataset but ended up discussing the dataloader error message because of the pytorch warning.
It also makes people think that they have to downgrade the pytorch in colab before they can use fastai2 which is untrue, wasteful, and incoherent with how cutting edge fastai2 truly is.
Fixes
As far as I can work out, there are two ways to fix this:
A: Add "recompute_scale_factor=True" to the F.interpolate call (PR400) or
B: Use "size" in stead of "scale_factor" in the F.interpolate call (probably a better option)
Solution A: Add "recompute_scale_factor=True" to the F.interpolate call
PR400 takes it's cue from the pytorch documentation for torch.nn.functional.interpolate (aka nn.Upsample) that elaborates as follows:
recompute_scale_factor (bool ,optional) – recompute the scale_factor for use in the interpolation calculation. When scale_factor is passed as a parameter, it is used to compute the output_size. If recompute_scale_factor is True or not specified, a new scale_factor will be computed based on the output and input sizes for use in the interpolation computation (i.e. the computation will be identical to if the computed output_size were passed-in explicitly). Otherwise, the passed-in scale_factor will be used in the interpolation computation. Note that when scale_factor is floating-point, the recomputed scale_factor may differ from the one passed in due to rounding and precision issues.
This fix worked for me as I use pytorch 1.5.0 on all my devices with fastai2, but on subsequent testing with pytorch 1.4.0 and 1.3.0 it unfortunately failed as follows:
>>> torch.__version__
'1.4.0'
> /home/linuxbrew/.linuxbrew/Cellar/python/3.7.7_1/lib/python3.7/site-packages/fastai2/vision/augment.py(289)_grid_sample()
-> x = F.interpolate(x, scale_factor=1/d, mode='area', recompute_scale_factor=True)
(Pdb) s
TypeError: interpolate() got an unexpected keyword argument 'recompute_scale_factor'

Interestingly, on <1.5.0 it failed almost silently as the error message above was not propagated to the python command line or jupyter (hence the debug in pdb). The only sign that there was a problem was a fairly cryptic error message from fastai that it "Could not do one pass in your dataloader, there is something wrong in it" whenever aug_transforms was used.
One could consider including a check for pytorch version before doing the F.interpolate call, but a cleaner option may be to simply pass size instead of scale factor to F.interpolate.
Solution B: Use "size" in stead of "scale_factor" in the F.interpolate call
As the "size" argument in torch.nn.functional.interpolate is stying constant across pytorch versions,  passing F.interpolate size instead of scale factor could provide an elegant way to eliminate the warning while remaining pytorch-version agnostic. Looking at the code around lines 280 to 288 of augment.py suggests to me that this should be doable, but I do not understand the workings of the RatioResize routine well enough to work out how to do it, or more importantly, how to test if any code I come up with does not break something else.
May I ask if you could investigate if passing "size" to F.interpolate is a better option than my proposed solution of adding recompute_scale_factor and a version check?
PS.
(PS. Thank you so much for the early information on masks during the fastai2 course. Your data and videos directly inspired my 76 yo mother, who lives in South Africa, to take the store of fabric she had built up over a lifetime and produce stacks of masks that were distributed to the informal settlements around where she lives. These continue to provide protection for people who are only now going through the worst of their pandemic. You are unequivocally one of my heroes.)

I think there is no other choice than to test the pytorch version and have two different calls to F.interpolate depending on the result...

Thank you for the quick response response Sylvain. I will update PR400 with a test statement and resubmit.

I added a check that uses torch.__version_ to divine whether or not to insert the additional argument in the F.interpolate call.
As torch.__version_ is sometimes adulterated with additional characters like 1.5.0+cu101 on platforms like google colab, the check uses only the first four characters, which are stripped of punctuation and converted to int, so that (string)1.5.0+cu101 becomes (string)1.5. which becomes (string)15 which becomes (int)15. Using the first four characters ensures that the resulting int from versions 2.0.0 (20)  and 1.10.0 (100) are both greater than the resulting int from version 1.4.0 (14), which is used for the check.
I also timed several ways to do the conversion, with 100 000 runs of string.translate and string.replace resulting in execution times of 0.71s and 0.65s respectively.
(int(torch.__version__[0:4].translate({ord('.'): None})) > 14)  : 0.7124877270016441s
(int(torch.__version__[0:4].replace(".", "")) > 14)  : 0.6456794480000099s
The final new codeblock thus looks as follows:
if (int(torch.__version__[0:4].replace(".", "")) > 14):
    x = F.interpolate(x, scale_factor=1/d, mode='area', recompute_scale_factor=True)
else:
    x = F.interpolate(x, scale_factor=1/d, mode='area')

The latest commit has been successfully tested on pytorch v1.4.0, v1.5.0 and google colab running 1.5.0+cu101
(Pdb) torch.__version__
'1.4.0'
(Pdb) s
> /home/streicher/fastai2/fastai2/vision/augment.py(289)_grid_sample()
-> if (int(torch.__version__[0:4].replace(".", "")) > 14):
(Pdb) s
> /home/streicher/fastai2/fastai2/vision/augment.py(292)_grid_sample()
-> x = F.interpolate(x, scale_factor=1/d, mode='area')

(Pdb) torch.__version__
'1.5.0'
(Pdb) s
> /home/streicher/fastai2/fastai2/vision/augment.py(289)_grid_sample()
-> if (int(torch.__version__[0:4].replace(".", "")) > 14):
(Pdb) s
> /home/streicher/fastai2/fastai2/vision/augment.py(290)_grid_sample()
-> x = F.interpolate(x, scale_factor=1/d, mode='area', recompute_scale_factor=True)

This PR should now be ready for merge.

Many thanks for this! :)


Unstable state after 2 exploit code calls almost simultaneously

Steps to reproduce:

Create a new bounty for solidity (/bounties/examples/solidity-0.8.26-bounty_riscv64.tar.xz).
Open the details of this new bounty and click on "Submit exploit" button.
Duplicate the window to have the same bounty on 2 windows and make them visible side by side.
Click "Test exploit" for the following code on the window on the left.

contract test {}

It is expected the following output:

Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: <SPDX-License>" to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> /exploit

Warning: Source file does not specify required compiler version! Consider adding "pragma solidity ^0.8.26;"
--> /exploit

application exited with status 0, exploit failed!
[bwrapbox] application exited with status 1 after 172032 real usecs and CPU 148416 usecs

"Test exploit"with  the same solidity code on the window in the right and it is expected to produce the same output as indicated on step 5.
Now that you have the same solidity code on both windows, click "Test exploit" on the window on the left and, while it is still running, click "Test exploit" on the window on the right.
You are expected to receive the output as presented in step 5 on the window on the left, but on the window on the right you will receive the following error.

Unexpected token 'F', "Failed to "... is not valid JSON

Now you can "Test exploit" again on the window on the left and the output will the same presented on step 8.
At this point the dapp's node seems to become unstable. For example, if you create a new bounty after it, the corresponding input will be sent to the blockchain (you can check it on CartesiScan), but the new bounty will not be presented on the frontend.

Expected behavior:
I understood that the node had a queue for inspects, so the second call would be handled only after the first call had been finished.

Unexpected token 'F', "Failed to "... is not valid JSON

Maybe this error was raised here?
https://github.com/crypto-bug-hunters/bug-buster/blob/89ab74c05d5da0b5c78c85d5e8a0ffc51c836deb/frontend/src/app/bounty/[bountyId]/exploit/page.tsx#L101

When error described here occurs, the inspect server goes down. We can see it in the browser's console:
POST https://optimism-sepolia.sunodo.app/0x3694c82fde031b8462e90e8bfee0377de2b01ecc/inspect 400 (Bad Request)

This is confirmed by the logs provided by the infra team: "Failed to inspect state: session is tainted"
[rollups-node] 2024-07-18T14:59:22.153 WRN services/command.go:109 WARN HTTP request: tracing_actix_web::middleware: Error encountered while processing the incoming HTTP request: "Failed to inspect state: session is tainted" http.method=POST http.route=/inspect http.flavor=1.1 http.scheme=https http.host=optimism-sepolia-0x3694c82fde031b8462e90e8bfee0377de2b01ecc.fly.dev http.client_ip=<IP_ADDRESS> http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 http.target=/inspect otel.name=HTTP POST /inspect otel.kind="server" request_id=19c80bed-742b-4116-9f58-e35d68514552 exception.message=Failed to inspect state: session is tainted exception.details="Failed to inspect state: session is tainted" http.status_code=400 otel.status_code="OK" service=inspect-server
[rollups-node] 2024-07-18T14:59:22.152 WRN services/command.go:109 WARN HTTP request: inspect_server::server: Failed to inspect state: session is tainted http.method=POST http.route=/inspect http.flavor=1.1 http.scheme=https http.host=optimism-sepolia-0x3694c82fde031b8462e90e8bfee0377de2b01ecc.fly.dev http.client_ip=<IP_ADDRESS> http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 http.target=/inspect otel.name=HTTP POST /inspect otel.kind="server" request_id=19c80bed-742b-4116-9f58-e35d68514552 service=inspect-server
[rollups-node] 2024-07-18T14:59:22.152 DBG services/command.go:109 DEBUG inspect_server::inspect: got grpc response from inspect_state response=Err(Status { code: DataLoss, message: "session is tainted", metadata: MetadataMap { headers: {"content-type": "application/grpc"} }, source: None }) request_id=e210d63d-5644-47e4-9752-ab510c0f4738 service=inspect-server
[rollups-node] 2024-07-18T14:59:22.152 DBG services/command.go:109 DEBUG inspect_server::inspect: calling grpc inspect_state request=InspectStateRequest { session_id: "default_session_id", query_payload: [123, 34, 98, 111, 117, 110, 116, 121, 73, 110, 100, 101, 120, 34, 58, 49, 48, 44, 34, 101, 120, 112, 108, 111, 105, 116, 34, 58, 34, 89, 50, 57, 117, 100, 72, 74, 104, 89, 51, 81, 103, 100, 71, 86, 122, 100, 72, 116, 57, 34, 125] } request_id=e210d63d-5644-47e4-9752-ab510c0f4738 service=inspect-server
[rollups-node] 2024-07-18T14:59:22.152 DBG services/command.go:109 DEBUG HTTP request: inspect_server::inspect: inspect request added to the queue http.method=POST http.route=/inspect http.flavor=1.1 http.scheme=https http.host=optimism-sepolia-0x3694c82fde031b8462e90e8bfee0377de2b01ecc.fly.dev http.client_ip=<IP_ADDRESS> http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 http.target=/inspect otel.name=HTTP POST /inspect otel.kind="server" request_id=19c80bed-742b-4116-9f58-e35d68514552 service=inspect-server

As the problem affects the inspect server, the issue described here is not isolated to the bounty in which it originally occurred.

The error was happening because:

we were running the node in a modest cloud VM (1CPU and 1GB ram) on fly.io. We need at least 2 CPU and 1GB ram.
Besides that we learned that some setup on sunodo's infra had time out settings that once updated to 60s allowed us to execute 5 inspects in parallel.

More info: https://discord.com/channels/600597137524391947/1166042819782258788/1265467379618549802