Figure out scale out model

In order to scale out, we need to figure out how we scale the data related to the service. Our current preference is to have the service as self contained as possible, ideally distributing it via a single docker image that can be deployed as a container with no external dependencies for data storage. This will require some sort of replication between nodes when we want to scale and have multiple containers running for the service to provide high availability and scalability. Below is a summary of some options with pros and cons:
1. Sqlite and open source syncing technology
Overview
Use Sqlite as an embedded database on each node. Elect a single node to be the master writable node. Use third party software to replicate. Route write traffic to master node for writes. Optionally create an election process to elect a new master in case the current master fails.
Here are some sqlite replication engines:
https://github.com/rqlite/rqlite
http://litereplica.io/index.html
http://sqlite-sync.com/
Pros:
We won't have to write our own syncing code.
Having a master writable node allows us to not worry about bi-directional sync.
Data will be hosted in the service, ensuring fast reads and writes
We could leverage bi-directional sync if we wanted to as these products do seem to support that
Cons:
There is no guarantee we can find a framework that is .net core compatible
We may have to pay for licensing
Increased complexity in having to learn a new tool/framework and manage it.
We have to figure out how to route to writable nodes.
2. Sqlite and roll our own one way sync via events
Overview
Use Sqlite as an embedded database on each node. Elect a single node to be the master writable node. The master node emits an event feed. Slave nodes read the event feed and update their own database accordingly. Route traffic to the master node for writes. Optionally create an election process to elect a new master.
Pros:
We have full control of the syncing code and can make sure it will run cross plat.
Having a master writable node allows us to not worry about bi-directional sync.
Data will be hosted in the service, ensuring fast reads and writes
Less complex deployment model, a single container has all that is needed.
If the master node goes down, a read node can become the master node.
Cons:
We have to write and maintain the syncing code.
We have to figure out how to route to writable nodes.
3. Sqlite, roll our own one way sync, separate write and read into separate services
Overview
Use Sqlite as an embedded database on each node. Separate write and read into separate services. Write services publish an event feed for read services to consume.
Pros:
We have full control over the syncing code
Write and read services can have data models optimized for their function
Data will be hosted in the service, ensuring fast reads and writes
We don't have to worry about routing as much
Cons:
If a write node goes down, there is no other node to step in
We have to write and maintain the syncing code
Increase deployment complexity as there are potentially two services per business function
4. Service Fabric and Reliable Collections
Overview
Leverage Service Fabric and the Reliable Collections available to Reliable Services/Reliable Actors.
Pros:
We don't have to roll our own syncing code, everything is managed by service fabric
Each node is equivalent, that is, each node is writable/readable
Service Fabric services can be hosted within a container
We get lots of orchestration capabilities with service fabric
Data is hosted with the service so we get fast reads and writes
Cons:
Currently Reliable Services using Reliable Collection is not available on Linux (it's on the roadmap, though I can't find information about when it might be released)
Running Service Fabric on Linux is currently in preview.
Service Fabric has a learning curve involving learning how to create services, use reliable collections, and how to deploy manage.
Service Fabric is bleeding edge technology, we would likely be bumping into things that no one else has
We are limited to storing data based on the amount of RAM available in the cluster via Reliable Collections, since the data is stored in memory (as well as being persisted to disk).

I am currently leaning toward Option 2. While we will have to create the sync technology, its one way, which is much easier than 2 way sync as there won't be conflicting updates. It also gives us more control. I really like what service fabric is doing, and would love to take advantage of it, but it seems like it might be too bleeding edge right now, especially since the linux support is still in preview.

Looks like we've settled on using CouchDB as its a lightweight document data store that also has replication capabilities. It can run on linux and windows and is easy to setup and manage. While its not embedded, it does allow us to standardize on a single default technology across our microservices whether they be based on node, .net, etc...


Add CI

Canine is growing in complexity and it's about time we add CI. I would like it to be comprehensive, but I'm not sure about how to fudge it. Right now I'm thinking the easiest way would be to develop a dummy backend which would allow for testing of all other layers of the canine library except backends.

In progress with dummy backend implementation


Fix helper paths for ceil/floor in asm.js

asm.js ceil/floor instructions are JIT incorrectly on x86 machines with SSE2 but without SSE4.1. There was previously a path for this, but only implemented on x64.
I have removed architecture specific nature and moved to use more standard APIs for emitting the call. I also added various asserts to catch this type of issue when using -sse switches without needing specific machine hardware.

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

It looks like you're a Microsoft contributor (Michael Holman). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement.  Given signoff from last thread, will merge once Jenkins finishes.


Implement Whats New Matcher

see tip in PR #1842 (File: WhatsNewQueryFactory.java)
Define how new the need has to be to match to a whats new, it should probably match to every need created after the whatsnew and maybe the last week before the creationDate of the whats new (suggestion), in anyway we should only match needs that are still open, the no hint for counterpart flag should already be implemented

Should also fix #1844

should not be needed anymore


Remove feature flags from the db when they are removed from the application

Context
Ensure any obsolete feature flags are also removed from the database, include invariant daily check to ensure no deature flags are left behind in the future and update PR docs to include note to developers.
Link to Trello card
https://trello.com/c/WDB1Km8S/4427-remove-feature-flags-from-the-db-when-they-are-removed-from-the-application
Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] Required environment variables have been updated added to the Azure KeyVault

@cwrw currently there are 57 obsolete feature flags in production.
banner_for_ucas_downtime, confirm_conditions, download_dataset1_from_support_page, notes, provider_add_provider_users, provider_application_filters, provider_change_response, provider_interface_work_breaks, provider_view_safeguarding, timeline, unavailable_course_option_warnings, track_validation_errors, covid_19, apply_again, mark_every_section_complete, unavailable_course_notifications, replace_full_or_withdrawn_application_choices, banner_about_problems_with_dfe_sign_in, updated_offer_flow, provider_information_banner, hesa_degree_data, getting_ready_for_next_cycle_banner, providers_can_manage_users_and_permissions, separate_additional_referees, efl_section, start_syncing_2021_courses, enforce_provider_to_provider_permissions, providers_can_filter_by_recruitment_cycle, vendor_api_request_tracing, international_other_qualifications, international_addresses, international_personal_details, international_gcses, international_degrees, decoupled_references, feedback_form, feedback_prompts, science_gcse_awards, export_hesa_data, sync_from_public_teacher_training_api, multiple_science_gcses, multiple_english_gcses, structured_reasons_for_rejection, structured_reasons_for_rejection_on_rbd, interviews, configurable_provider_notifications, cancel_upcoming_interviews_on_decision_made, restructured_work_history, individual_offer_conditions, reference_selection, new_provider_user_flow, interview_permissions, accredited_provider_setting_permissions, sync_next_cycle, provider_reports_dashboard, account_and_org_settings_changes, disable_application_outcome_notifications


Regression in playframework/playframework for access to private static class public members

Based on Open CB failure in playframework/playframework - builds logs
Compiler version
3.6.0-RC1-bin-20240915-ad8c21a-NIGHTLY
Bisect points to e7d479f80a29c6ae21d0755047e563963b87ac82 / #21362
Minimized code
import java.util.List;

public class RoutingDsl {

  final List<Route> routes = null;

  static class Method {}
  private static class Route {
    final Method actionMethod = null;
  }
}

@main def Test =
  val x: RoutingDsl = ???
  x.routes.forEach: route =>
    println(route.actionMethod) // error

Output
Compiling project (Scala 3.6.0-RC1-bin-20240915-ad8c21a-NIGHTLY, JVM (17))
[error] ./test.scala:4:13
[error] Unable to emit reference to value actionMethod in class Route, class Route is not accessible in the top-level definitions in package <empty>
[error]     println(route.actionMethod)
[error]             ^^^^^

Expectation
Should compile. This code does compile in Scala 3.5.0 and lower. It also compiles in Scala 2.12/2.13

IMHO, this is the correct behavior for private static access in Java. E.g., we'll get a similar error message with an equivalent Java client program:
public class Main {
    public static void main(String[] args) {
        RoutingDsl x = null;
        for(RoutingDsl.Route route : x.routes) {
                System.out.println(route.actionMethod);
        }
    }
}

which results in
Main.java:4: error: Route has private access in RoutingDsl
        for(RoutingDsl.Route route : x.routes) {
                      ^
1 error

So it looks like we got it wrong in Scala 3 until https://github.com/scala/scala3/pull/21362 which is to say, that playframework would have to fix that on their end.

@bracevac I think one could argue both ways.
If the Route class is explicitly referenced in the Scala source, all Scala versions issue a "cannot be accessed" error.
However, in the example source code there's no reference to Route. The class is public in bytecode and the generated GETFIELD RoutingDsl$Route.actionMethod bytecode is valid. So the error message "Unable to emit reference to value actionMethod" is not really accurate.
I haven't looked in detail how Scala 2 makes the difference between the two cases, it could even be accidental / a bug.
To make an argument for your side, replacing RoutingDsl.Route route by var route in the equivalent Java program still causes an error in javac.

The class is public in bytecode and the generated GETFIELD RoutingDsl$Route.actionMethod bytecode is valid.

I wonder why javac emits the class as public.  So it can be instantiated by RoutingDsl?

class is public in bytecode

I was wrong here, the nested class has default access (package protected). Scala 2 is still correct, GETFIELD RoutingDsl$Route.actionMethod is OK within the same package. Moving the RoutingDsl into a different package, Scala 2 gives errors on compilation ("cannot emit reference").
Dale and me tried a simpler example:
// package p
public class A {
  public static B b() { return new B(); }
  private static class B {
    public String bar() { return "l"; }
  }
}

object T {
  def main(args: Array[String]): Unit = {
    println(/* p. */ A.b.bar)
  }
}

Again, no reference to the private B in the Scala file, but this time Scala 2 doesn't compile it ("Unable to emit reference"). So Scala 2 is inconsistent.
Scala 3.5 compiles the example even when moving A.java to a different package, which is clearly a bug, things then fail at runtime (IllegalAccessError).
Overall, I htink enforcing access as current main does is fine.

When creating a fix for playframework I've seen one interesting issue in their Netty integration
public abstract class AbstractChannel {
    protected AbstractChannel() {}
    protected abstract AbstractUnsafe newUnsafe();
    protected abstract class AbstractUnsafe {
        public abstract void connect();
    }
}

class Channel extends AbstractChannel() {
  override def newUnsafe(): AbstractChannel#AbstractUnsafe = new AbstractUnsafe {
    override def connect(): Unit = ???
  }
}

Fails with
[error] ./test.scala:2:66
[error] Unable to emit reference to constructor AbstractUnsafe in class AbstractUnsafe, class AbstractUnsafe is not accessible in anonymous class AbstractChannel.this.AbstractUnsafe {...}
[error]   override def newUnsafe(): AbstractChannel#AbstractUnsafe = new AbstractUnsafe {
[error]                                                                  ^^^^^^^^^^^^^^
Error compiling project (Scala 3.6.0-RC1-bin-20240922-22ed2fb-NIGHTLY, JVM (17))

What's interesting it fails only when using compilation server. When we compile it with scala compile AbstractChannel.java test.scala -S 3.nightly --server=false it compiles

@WojciechMazur  regarding the Netty integration issue, let's raise that as a separate issue, not to confuse requirements.
Regarding this ticket, the behaviour seems to be as intended, the fix should be done on playframework's side.
Closing this.


Two tests in rdbms-vnet extension are failing

Extension name (the extension in question)
rdbms-vnet
Description of issue (in as much detail as possible)
ERROR: test_mysql_server_mgmt (azext_rdbms_vnet.tests.test_rdbms_commands.ServerMgmtScenarioTest)
----------------------------------------------------------------------
ERROR: test_postgres_server_mgmt (azext_rdbms_vnet.tests.test_rdbms_commands.ServerMgmtScenarioTest)

@williexu  o you have any more details on the error ?

Yep :)
Take a look here: https://travis-ci.org/Azure/azure-cli-extensions/jobs/394255255#L1084-L1160

:( looks like it failed because of recent CLI changes https://github.com/Azure/azure-cli/pull/6543/files , causing the extension code incompatible .


I have a question about multivariate prediction multivariate

I found that when I set features to M the number of batch_x and batch_y channels entered was 1. I didn't modify the dataloader section

This is my run script setup

Answers would be appreciated. Thank you.

Currently, we adopt a channel-independent strategy, whereby multivariate time series are uniformly processed into univariate time series after entering our data processing module.

目前，我们采用与通道无关的策略，即在进入我们的数据处理模块后，将多变量时间序列统一处理为单变量时间序列。

But I don't seem to see code that loops through the 7 channels? Take ETTH for example

Currently, we adopt a channel-independent strategy, whereby multivariate time series are uniformly processed into univariate time series after entering our data processing module.

But I don't seem to see code that loops through the 7 channels? Take ETTH for example

Currently, we adopt a channel-independent strategy, whereby multivariate time series are uniformly processed into univariate time series after entering our data processing module.

But I don't seem to see code that loops through the 7 channels? Take ETTH for example
There's no need to use a for loop; we simply need to shift the channel dimension to the batch dimension, which is a common basic operation used in channel-independent strategies.

Currently, we adopt a channel-independent strategy, whereby multivariate time series are uniformly processed into univariate time series after entering our data processing module.

But I don't seem to see code that loops through the 7 channels? Take ETTH for example

There's no need to use a for loop; we simply need to shift the channel dimension to the batch dimension, which is a common basic operation used in channel-independent strategies.

I'm sorry for not understanding what you meant. I meant that the trainloader imports data from just one channel, then the other six channels are not predicted

Hi @kwuking , but x_enc is batch_x, which has shape (Batch_size, Sequence_length, N=1) as @ooooooover mentioned. I printed shape of x_enc in TimeLLM.py and it is [24, 512, 1], after lines in your last comment I got [24, 512, 1], because batch was multiplied by 1 feature/channel. But maybe I missed the line...

Since patchTST, channel independence has been a commonly used strategy, and this paper's discussion on the method can be referred to.


Add contributions in PPP

Codecov Report

Merging #249 (894b94d) into master (15da329) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #249   +/-   ##
=========================================
  Coverage     68.82%   68.82%
  Complexity      787      787
=========================================
  Files           131      131
  Lines          2820     2820
  Branches        359      359
=========================================
  Hits           1941     1941
  Misses          764      764
  Partials        115      115

Continue to review full report at Codecov.

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


Install All Packages

Not every package was being installed along with Ruby. This was resulting in this problem:
/home/deployer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)

Should be fixed by #44. Please check.

FWIW we've since moved away from Chef in favour of Ansible. Feel free to close this ticket.


Package for meteor

Hello!
What is a meteor to use the package to not issue an error: "Expected tag name after <
... ss = "count curr top"> <% = curr%> </ span> "  ???
He does not like this syntax:" <% = ... => "
If you use {{curr}} instead of <% = curr%>, then everything works except "label.length <6? Label: label.substr (0, 3)" ...
How to display the label under the counter ??
And animated counter starts after updating the page ... Why?
Thanks!

This example was made using lodash template system, I don't know about metror syntax, but to adapt for it you should check how make the correct conversion....


Jetson Nano pyrelasense has not attribute pipeline

librealsense
2.55.1 RELEASE

OS
Linux

Name
Intel RealSense D435I

Serial Number
213622072204

Firmware Version
<IP_ADDRESS>

Advanced Mode
YES

Camera Locked
YES

Usb Type Descriptor
3.2

Product Line
D400

Asic Serial Number
218523067486

Firmware Update Id
218523067486

Dfu Device Path

Hi,
I built everything based on this method

https://github.com/IntelRealSense/librealsense/issues/13445

, however I cannot find the pyrealsense to work with even a basic python script.
import pyrealsense2 as rs
import numpy as np
import cv2

# Configure depth and color streams
pipeline = rs.pipeline()
config = rs.config()

# Get device product line for setting a supporting resolution
pipeline_wrapper = rs.pipeline_wrapper(pipeline)
pipeline_profile = config.resolve(pipeline_wrapper)
device = pipeline_profile.get_device()
device_product_line = str(device.get_info(rs.camera_info.product_line))

found_rgb = False
for s in device.sensors:
    if s.get_info(rs.camera_info.name) == 'RGB Camera':
        found_rgb = True
        break
if not found_rgb:
    print("The demo requires Depth camera with Color sensor")
    exit(0)

config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

# Start streaming
pipeline.start(config)

try:
    while True:
        # Wait for a coherent pair of frames: depth and color
        frames = pipeline.wait_for_frames()
        depth_frame = frames.get_depth_frame()
        color_frame = frames.get_color_frame()
        if not depth_frame or not color_frame:
            continue

        # Convert images to numpy arrays
        depth_image = np.asanyarray(depth_frame.get_data())
        color_image = np.asanyarray(color_frame.get_data())

        # Apply colormap on depth image (image must be converted to 8-bit per pixel first)
        depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)

        # Stack both images horizontally
        images = np.hstack((color_image, depth_colormap))

        # Show images
        cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
        cv2.imshow('RealSense', images)
        cv2.waitKey(1)

finally:
    # Stop streaming
    pipeline.stop()

I get this error

AttributeError: module 'pyrealsense2' has no attribute 'pipeline'

Upon digging I found this is a common issue on Jetson devices https://github.com/IntelRealSense/librealsense/issues/13080 but I don't find the *.so files for pyrealsense. What am I doing wrong?

Hi @harshal-14  When pyrealsense2 is built from source code, after building of the wrapper is completed the .so files will usually be found in the librealsense > build > wrappers > python directory of the librealsense source code folder.
I note that you used the libuvc backend instructions, which use the 'libuvc_installation.sh' build script.  This script downloads the librealsense source code and places a folder called librealsense-master on the computer.
If you modified line 46 of the libuvc script to include the flag -DBUILD_PYTHON_BINDINGS:bool=true so that pyrealsense2 is built from source code at the same time as librealsense, then I would recommend finding the 'librealsense-master' folder on your computer and then navigating to the sub-folder location 'build > wrappers > python' to see whether the .so files are there.

Hey @MartyG-RealSense,
I don't see any .so files in here.

Thanks for checking the wrappers > python folder.
For some RealSense users in the past, amending their 'import pyrealsense2 as rs' line to the one below has resolved the AttributeError: module 'pyrealsense2' has no attribute 'pipeline' error.
import pyrealsense2.pyrealsense2 as rs

Hi Marty, thanks for your prompt reply, however this doesn't solve the problem.

import pyrealsense2.pyrealsense2 as rs

ModuleNotFoundError: No module named 'pyrealsense2.pyrealsense2'

Usually, installing the pyrealsense2 wrapper from packages instead of source code with the command pip install pyrealsense2 does not work on Jetson boards even though pip install of the wrapper supports devices with Arm architecture like Jetson.  It would be worth trying just to eliminate the possibility of whether it will work or not though.

If I installed through pip then it shows even if device is connected and detected by realsense-viewer, lsusb it gives the following error:

pipeline_profile = config.resolve(pipeline_wrapper)
RuntimeError: No device connected

Is the camera also not detected if the test script below is used?
# First import the library
import pyrealsense2 as rs

# Create a context object. This object owns the handles to all connected realsense devices
pipeline = rs.pipeline()
pipeline.start()

try:
    while True:
        # Create a pipeline object. This object configures the streaming camera and owns it's handle
        frames = pipeline.wait_for_frames()
        depth = frames.get_depth_frame()
        if not depth: continue

        # Print a simple text-based representation of the image, by breaking it into 10x20 pixel regions and approximating the coverage of pixels within one meter
        coverage = [0]*64
        for y in range(480):
            for x in range(640):
                dist = depth.get_distance(x, y)
                if 0 < dist and dist < 1:
                    coverage[x//10] += 1

            if y%20 is 19:
                line = ""
                for c in coverage:
                    line += " .:nhBXWW"[c//25]
                coverage = [0]*64
                print(line)

finally:
    pipeline.stop()

If I installed doing

pip install pyrealsense2

then it shows camera not detected. But if I uninstall this one, and then try it shows

pyrelasense has not attribute pipeline

Having no .so files in the wrapper build folder makes it difficult to achieve a solution, unfortunately.
An installation method that has not apparently been tried yet is to use the librealsense + pyrealsense2 source code procedure at https://github.com/IntelRealSense/librealsense/issues/6964#issuecomment-707501049 which was designed specifically for Jeton Nano.
As the instructions were written a while ago, step 7 refers to Python 3.6 instead of a recent Python version such as 3.12.  If you only have one Python version installed on your computer though, you should be able to skip step 7 as setting the PYTHONPATH parameter would be unnecessary.  The PYTHONPATH is to tell the computer which Python version to use if, for example, you had Python 2 and Python 3 installed on the same computer.

Hi @harshal-14   Do you require further assistance with this case, please?  Thanks!

Yes I tried all above steps, but nothing seems to work. Do you have any other solution in mind?

You previously succeded in building the librealsense SDK with the 'libuvc backend' procedure that you described at https://github.com/IntelRealSense/librealsense/issues/13445#issuecomment-2425488326
When editing line 46 of the libuvc_installation.sh scrpt, where you used the following CMake build instruction:
cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true -DBUILD_WITH_CUDA=on -DFORCE_RSUSB_BACKEND=TRUE
Have you tried adding the -DBUILD_PYTHON_BINDINGS:bool=true command for building the Python wrapper at the same time that librealsense is built?
cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true -DBUILD_WITH_CUDA=on -DBUILD_PYTHON_BINDINGS:bool=true
You do not need to use the ** -DFORCE_RSUSB_BACKEND=TRUE** flag if you have already included  -DFORCE_LIBUVC=true

Hi @harshal-14  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


doc/website: add Crowdin support

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
Set up ent document website built with docusaurus v1 so that it can be translated by Crowdin

https://docusaurus.io/docs/en/translation

Motivation 🔦

Translation of documents is in demand.(#1264  have already added Chinese translations)
I would also like to help translate it into Japanese.
However, Translation document in git is a lot of work, including keeping up with updates to the main doc.
Crowdin makes the work easier for both maintainers and contributors

Thanks @uta-mori for opening this issue.
I plan to start pushing it next week. I'll update then.

supported with #1391


DDP sampler

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?
[x] If you made a notable change (that affects users), did you update the CHANGELOG?

What does this PR do?
Fixes #1506 .
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @justusschock! Thanks for opening this PR.

In the file pytorch_lightning/trainer/trainer.py:

Line 285:1: W293 blank line contains whitespace
Line 286:85: W291 trailing whitespace

Do see the Hitchhiker's guide to code style

is there a way how to do it without adding extra parameters in API?
cc: @williamFalcon

I think this is difficult, since for custom dataloaders it will be hard to determine when it should be set and when not.
Previously we had the check, whether a sampler was set, which was always false since the sampler is internally set by PyTorch.
Any suggestions on this? @Borda @williamFalcon

@justusschock awesome addition.
@tullie i see what you mean, but I prefer to default it to True for now, but happy to change if it doesn't make sense for everyone.
Leaving it True means ddp/etc work without code changes, nor having to remember anything else.
Leaving it False means people with samplers don't spend time trying to figure out why their sampler was replaced or something.
Maybe a solution is a warning to one or the other?

a warning would be nice...


Allow disabling shortcodes

Hugo Static Site Generator v0.16 BuildDate: 2016-08-30T11:56:44+02:00
I am running into an issue related to shortcodes.
ERROR: 2016/08/30 11:57:11 shortcode.go:284: rest_handlers:68: unrecognized character in shortcode action: U+003C '<'. Note: Parameters with non-alphanumeric args must be quoted

My Asciidoc file (https://github.com/ninenines/cowboy/blob/master/doc/src/guide/rest_handlers.asciidoc) contains (inside a larger table):
| content_types_provided | `[{{<<"text">>, <<"html">>, '*'}, to_html}]`

From what I understand it's the {{< feature that causes me problems. The thing is, that is not unusual in my language of choice (Erlang), and the errors happen in Asciidoc files that are used both for the Hugo hosted website, but also for the documentation generated as PDF and other formats.
For the time being I can add a space before < but this is not ideal and the issue is bound to come back on a regular basis.
It's technically not a bug, more of an inconvenience. Still, I would love to be able to disable shortcodes either entirely (inconvenient but I can deal with it) or on a file per file basis.
Thanks.

This issue has been automatically marked as stale because it has not been commented on for at least four months.
The resources of the Hugo team are limited, and so we are asking for your help.
If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still valuable, please open a proposal at https://discuss.gohugo.io/.
This issue will automatically be closed in four months if no further activity occurs. Thank you for all your contributions.

Note/Update: This issue is marked as stale, and I may have said something earlier about "opening a thread on the discussion forum". Please don't.
If this is a bug and you can still reproduce this error on the latest release or the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.


Generate traces for query service

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

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

Project coverage is 38.99%. Comparing base (f29bef1) to head (2b41d1d).

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1087       +/-   ##
===========================================
- Coverage   66.66%   38.99%   -27.68%
===========================================
  Files         282      234       -48
  Lines       27618    23211     -4407
===========================================
- Hits        18412     9050     -9362
- Misses       8340    13787     +5447
+ Partials      866      374      -492

Flag
Coverage Δ

?

go-1.21.x
38.99% <ø> (-29.57%)
:arrow_down:

go-1.22.x
?

integration
?

macOS
?

ubuntu
38.99% <ø> (+1.21%)
:arrow_up:

unit
38.99% <ø> (+1.17%)
:arrow_up:

windows
?

ydb-22.5
?

ydb-23.1
?

ydb-23.2
?

ydb-23.3
?

ydb-24.1
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Fuel Codes | Adjust Feedstock Misc label when adding or updating a fuel code |1|

https://trello.com/c/cV9ZgZqm/1321-fuel-codes-adjust-feedstock-misc-label-when-adding-or-updating-a-fuel-code-1
Background Info:

IDIR user
New fuel code page (Administration tab > Fuel Codes > New Fuel Code)
When adding or updating a fuel code

Current label:

Feedstock Misc:

Revised label:

Feedstock Misc (e.g. methane capture, no peat, etc.):

 Fuel Codes | Adjust Feedstock Misc label when adding or updating a fuel code |1|


Please invite me to the Recode-Hive GitHub Community Organization

Name
Harsh Aakoliya
Discord Username (if applicable)
No response
Additional Context
No response

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/recodehive/people


Update readme file.

Feel free to use chatGPT as well, it's good at proposals of this type.

https://github.com/MystenLabs/fastcrypto/pull/567


Add a function to know when a list shown

Thank you!
I've added two new options:

onListOpen()
onListClose()

Thank you!
I've added two new options:

onListOpen()
onListClose()


Feature/icons correction

@srivastava-jyoti Please fix the merge conflicts and also write the description in the PR.

@srivastava-jyoti Please fix the merge conflicts and also write the description in the PR.

@GauravGusain98 there was no issue created for this. It is a fix for the icons on the application page.


chore(jest-snapshot): add type tests for SnapshotResolver

Summary
This is part of ongoing effort to test types of Jest’s public APIs. Types of SnapshotMatchers are already tested together with other matchers. Seems like only SnapshotResolver needs to be tested.
Test plan
Green CI.

By the way, since snapshot resolver is transformed and could be written in TypeScript, perhaps the example in configuration docs could have JS/TS tabs? I can do, if that is not too much. Also could add similar examples for other transformed pluggable modules.

By the way, since snapshot resolver is transformed and could be written in TypeScript, perhaps the example in configuration docs could have JS/TS tabs? I can do, if that is not too much. Also could add similar examples for other transformed pluggable modules.

that would be awesome!


Add link checking for markdown

What does this PR do?
Adds link checking to public links in our docs. Also fixes some broken links.

I will take care to change it for private repos - for public repos I don't see a big point. The github action is quite easy to use and I would rather question the implementation of https://github.com/tcort/markdown-link-check as it's also done by single contributor.


Update pre-commit

Can't get the doc build working.. looks like https://github.com/napari/docs/pull/207 might help??


About Restore Wallet from mnemonic keys

Hi Abdulfatai, first of all thanks for this amazing repo.
I want to asking you, How can i restore wallet from mnemonic keys?
this should be offchain side ?

Hi Abdulfatai, first of all thanks for this amazing repo. I want to asking you, How can i restore wallet from mnemonic keys? this should be offchain side ?

Yeah, it's an off-chain process all you need to pass is the derivation path

Hmm, I create some example but everytime will change wallet address
  const { mnemonic } = req.body;   const hdNode = utils.HDNode.fromMnemonic(mnemonic);   const account = hdNode.derivePath(m/44'/60'/0'/0/0);   res.status(httpStatus.OK).send({ account });
is it normal?

Hmm, I create some example but everytime will change wallet address  const { mnemonic } = req.body; const hdNode = utils.HDNode.fromMnemonic(mnemonic); const account = hdNode.derivePath(m/44'/60'/0'/0/0); res.status(httpStatus.OK).send({ account });
is it normal?

That's not the proper interaction with the package, it should be like this.
multichainWallet.generateWalletFromMnemonic({
  mnemonic:
    'candy maple cake sugar pudding cream honey rich smooth crumble sweet treat',
  derivationPath: "m/44'/60'/0'/0/0",
  network: 'ethereum',
});

Got it! Thank you


Don't cleanup .requirements/ if packRequirements: false

What this does:
Upon cleanup, don't remove the .requirements/ directory if the user has set packRequirements: true.
Why
I like to use the serverless-python-requirements plugin to manage Python dependencies in my Serverless services. The cross-compiling feature is really helpful, plus it's nice to use the same requirements tool for all my Serverless services, even non-Flask ones.
Because of this, I set packRequirements: false in my serverless.yml file. This causes serverless-wsgi to avoid installing the requirements, but it still tries to clean up the .requirements/ directory here.
I found this issue with a workaround of naming the serverless-python-requirements plugin before the serverless-wsgi file. However, this is likely to trip up other users. Further, I was still getting subtle bugs even with that workaround.
Love the plugin and appreciate your work on it. Happy to make any changes if you prefer a different way!

Coverage increased (+0.03%) to 97.248% when pulling 01216d4abea0d74e04b842f7415490c5299f2037 on alexdebrie:NarrowerCleanup into 9dc67c74b06f117259a6b18999852dc3ff7a45e1 on logandk:master.

Coverage increased (+0.03%) to 97.248% when pulling 01216d4abea0d74e04b842f7415490c5299f2037 on alexdebrie:NarrowerCleanup into 9dc67c74b06f117259a6b18999852dc3ff7a45e1 on logandk:master.

Coverage increased (+0.03%) to 97.248% when pulling 01216d4abea0d74e04b842f7415490c5299f2037 on alexdebrie:NarrowerCleanup into 9dc67c74b06f117259a6b18999852dc3ff7a45e1 on logandk:master.

Coverage increased (+0.03%) to 97.248% when pulling 01216d4abea0d74e04b842f7415490c5299f2037 on alexdebrie:NarrowerCleanup into 9dc67c74b06f117259a6b18999852dc3ff7a45e1 on logandk:master.

Thanks for the PR, good work!


⚠ Bofrost.fr has degraded performance

In 8374e12, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1128 ms

Resolved: Bofrost.fr performance has improved in 76da914 after 10 minutes.


btc-wallet: click to copy doesn’t work in safari on iOS

This was fixed in https://github.com/urbit/urbit/pull/5097


Display the dotnet components correctly

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[x] Requirement
[ ] Feature or performance improvement

Requirement or improvement

I noticed that the skywalking v8.x data-transport-protocol only keeped the componentid which is number type field, and this cause dotnet components defined in the skyapm-dotnet can not be recognized by the oap server, I think this should be solved. Is there any solution to follow?

It is always component id as an integer.
It is .net agent not suppoting 8.x, not just this field. And it is not the main repo issue.

but is there ways to convert the .net defined component string to id?

I think you are asking for this doc? https://github.com/apache/skywalking/blob/master/docs/en/guides/Component-library-settings.md
The ID/name could be found and added here, https://github.com/apache/skywalking/blob/master/oap-server/server-bootstrap/src/main/resources/component-libraries.yml#L321-L370

Yes, that's it! Thanks!


BeeComponents reimplements AppServerConfig.

Instead of building a BeeAppConfig the BeeComponents should be able to satisfy appConfig by just wiring in an AppServerConfig.

Addressed by https://github.com/jrouly/bee/pull/10.


Require SSL

You can access nostr.watch using both HTTP and  HTTPS, but HTTP is not secure.
Images are being served using HTTP but should be served with HTTPS.
Please redirect users to HTTPS.

Resolved

This has regressed somehow...


Gang Scheduling

Is this a BUG REPORT or FEATURE REQUEST?: FEATURE REQUEST
Hi,
Does Argo plan to support Gang Scheduling? Let me detail what I mean by this.
Assume that someone would like to run a TensorFlow distributed training algorithm. This training algorithm needs 5 containers to be up and running before it can start.
Now imagine that various users would start 6 different instances of this workflow in parallel.
It is now possible that each workflow would start 3 containers, but none of the workflows would be able to start all 5 containers because the Kubernetes cluster would not have enough resources.
As a result, all the workflows are stuck.
Does Argo plan to provide a feature so that a workflow can start 5 containers if and only if it is able to get all five of them? Is there a way to circumvent this issue using Argo today? Maybe the workflow could release resources if it is not able to start all 5 containers within, say, 20 seconds. It would then retry later on using an exponential backoff strategy.

Theres been some discussion about building controller level scheduling and admission control directly into the controller. I filed https://github.com/argoproj/argo/issues/740 to capture some of the previous discussion around this. Workflow scheduling is something that up to this point, we have wanted to defer to either kubernetes, or a higher level application, since it is a complicated feature and there can be many scheduling algorithms that suit different needs.
I think before we could even reach a point of gang scheduling, we would first need to support basic queuing and prioritization, which is being tracked in issue #740.
I also believe gang scheduling might be possible to be achieved in an indirect way (with minimal Argo support) by using the Kubernetes 1.9 feature for pod priority and preemption. If argo were to support simple pass-through of the priorityClassName flag from the workflow spec to the pod spec, then the workflows might get gang-like scheduling for free.
But all of this is to say, we are a long ways off for being able to implement something advanced like gang scheduling.

Got it. Thanks Jesse!

@jessesuen is there any current plans / timelines for gang scheduling?

Hey ! Are there any plans for supporting gang scheduling?


Menubar access keys are not underlined in native titlebar mode

Issue Type: Bug
When using the "native" titlebar option, the menubar access keys are not underlined until you press the Alt key.  It should honor the Windows setting for whether to underline access keys.
Really frustrating that in order to be able to see when the app has focus (by using the native titlebar), I can't see the underlined menu items, which is a huge pet peeve.
VS Code version: Code 1.53.2 (622cb03f7e070a9670c94bae1a45d78d7181fbd4, 2021-02-11T11:48:04.245Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (8 x 2712)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
23.79GB (16.99GB free)

Process Argv
--crash-reporter-id 42431fa7-02b8-4885-aa66-fb6b0034b665 --crash-reporter-id 42431fa7-02b8-4885-aa66-fb6b0034b665 --crash-reporter-id 42431fa7-02b8-4885-aa66-fb6b0034b665 --crash-reporter-id 42431fa7-02b8-4885-aa66-fb6b0034b665

Screen Reader
no

VM
29%

Extensions (3)

Extension
Author (truncated)
Version

gitlens
eam
11.2.1

vscode-pull-request-github
Git
0.23.1

cpptools
ms-
1.2.0

(3 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
pythonvspyt617cf:30253240
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstry244:30256636
pythonvsdeb440:30248342
pythonvsded773:30248341
vstes627:30244334
pythonvspyt600cf:30251589

We underline once the alt is pressed, not before. I believe this is a feature request to respect the windows setting.
I think we always behaved like this.
Anyways leaving this one up to @sbatten

2 strong arguments why it should be considered a bug and not a feature request:

The problem does not happen in the "custom" titlebar mode.
It is standard Windows behavior to honor the setting for whether to underline access keys.

It's also just silly to make someone hit Alt and then think about which second key to press, rather than having that information immediately available so you can do it all as one action.  Having the underlines missing even with the "always show access keys" setting enabled makes it feel like there are no access keys.

we explicitly honor this in the custom menu because we can. unfortunately, electron is handling the access keys for the menus in the native title bar case. assigning to @deepak1556 to assess.


Record uncleansed address data in household_dim

Problem:
Not every address in the voter file can be correctly parsed by the USAddress library. There may also be problems with parsing that wont be uncovered til later.
Solution

Add new fields to the household_dim to hold the unparsed, raw data from the voter file.
Add a validation_state field to the household_dim to record whether the date has successfully been Cleansed, Raw, In Review, Awaiting approval.

Subtasks

Add new columns to the household_dim
Pass the raw address us well as the USAddress parser status up in the transform scripts (add new columns to the output file).
States like Washington that provide pre-parsed addresses may require joining them back up
into ADDR1, ADDR2 style strings to keep consistency.
Update the UpdatePreparedHouseholdDimension as well
as the SavePreparedVoterReport transforms to read and save these new fields.
We can no longer rely on the USAddress address components for the lookup. Change
the household lookups in the two transforms to use the raw address fields
Document the validation_state values

Sql changes done and added to output dict. Added tasks to state transform remediation issues to fix remaining states


everybody can leave the 1 member organisation

Describe the bug
users are offered the leave button instead of apply
To Reproduce
Steps to reproduce the behavior:

browse organisations
lab75 shows 1 member and leave button
change account, still shows leave button
change computer with another account, still shows leave button

Expected behavior

users who are member should be able to leave
users who are not member should be able to apply or join

Screenshots

Desktop (please complete the following information):
n.a.
Smartphone (please complete the following information):
n.a.
Additional context
Add any other context about the problem here.

currently no defaults are set for users who did not interact with this organisation. (gameDaoControl:bodyMemberState = 1)
maybe check before if isMember?

to check membership in a reliable fashion you can use memberships(AccountId) - it should deliver you a list of hashes where account is member of.

also you can manually check with an extrinsic check_membership(Hash) which checks if the caller is a member of Hash.

memberstate was meant to reflect the member state in process of joining or being kicked out, to have different states eg when there is a voting to let someone join.


Arbitrage action

Codecov Report

Merging #45 into master will increase coverage by 0.28%.
The diff coverage is 93.78%.

@@            Coverage Diff             @@
##           master      #45      +/-   ##
==========================================
+ Coverage   96.36%   96.65%   +0.28%
==========================================
  Files          16       18       +2
  Lines         606      658      +52
==========================================
+ Hits          584      636      +52
  Misses         22       22

Impacted Files
Coverage Δ

Arbie/Variables/address.py
100.00% <ø> (ø)

Arbie/Variables/big_number.py
100.00% <ø> (ø)

Arbie/Contracts/contract.py
87.87% <63.15%> (ø)

Arbie/Actions/action.py
97.29% <77.77%> (ø)

Arbie/Contracts/tokens.py
93.10% <90.90%> (-0.23%)
:arrow_down:

Arbie/Variables/trades.py
95.45% <95.45%> (ø)

Arbie/Actions/arbitrage.py
98.36% <98.33%> (+3.48%)
:arrow_up:

Arbie/Actions/action_tree.py
100.00% <100.00%> (ø)

Arbie/Actions/path_finder.py
100.00% <100.00%> (ø)

Arbie/Contracts/balancer.py
100.00% <100.00%> (ø)

... and 10 more

Continue to review full report at Codecov.

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


Fix for ActiveSupport 3.2.18

ActiveSupport 3.2.18 has renamed the ActiveSupport::Testing::SetupAndTeardown::ForMinitest module to: ActiveSupport::Testing::SetupAndTeardown::ForMiniTest. This fixes the error in: kern/minitest-reporters#91, however probably will break ActiveSupport < 3.2.18.

I think the problem has been addressed by #153 so I'm closing the PR


📝 DOCS: add social media handles for OSCodeCommunity in README.md

Yeah Sure!! @SK-ILLish-GIT

@peb-peb actually there is 1 more PR already in pending ("Fix the responsiveness of the Navbar #16").

You can send more than 1 PR at a time :)

Added all the required social media handles 🙂


Add Example Dashboards for real deployments.

Hadoop, Accumulo, System, Timely

Can we close this?

yeah I added the Accumulo and Hadoop dashboards to the timely app.


Does CrewAI support dynamic generation of multiple agents?

from flask import Flask, request, jsonify
from crewai import Crew
from textwrap import dedent

from stock_analysis_agents import StockAnalysisAgents
from stock_analysis_tasks import StockAnalysisTasks

from dotenv import load_dotenv
load_dotenv()

app = Flask(__name__)

class FinancialCrew:
  def __init__(self, company):
    self.company = company

  def run(self):
    agents = StockAnalysisAgents()
    tasks = StockAnalysisTasks()

    research_analyst_agent = agents.research_analyst()
    financial_analyst_agent = agents.financial_analyst()
    investment_advisor_agent = agents.investment_advisor()

    research_task = tasks.research(research_analyst_agent, self.company)
    financial_task = tasks.financial_analysis(financial_analyst_agent)
    filings_task = tasks.filings_analysis(financial_analyst_agent)
    recommend_task = tasks.recommend(investment_advisor_agent)

    crew = Crew(
      agents=[
        research_analyst_agent,
        financial_analyst_agent,
        investment_advisor_agent
      ],
      tasks=[
        research_task,
        financial_task,
        filings_task,
        recommend_task
      ],
      verbose=True
    )

    result = crew.kickoff()
    return result

@app.route('/analyze', methods=['POST'])
def analyze():
  company = request.json.get('company')
  financial_crew = FinancialCrew(company)
  result = financial_crew.run()
  return jsonify(result)

if __name__ == "__main__":
  app.run(debug=True)

The above is a scenario example: I have encapsulated multiple agents using the Flask framework. During the running of the Flask program, if I want to dynamically add agents, such as research_analyst_agent2, financial_analyst_agent2, investment_advisor_agent2, how should I proceed?

yes, but you may need to complete the dynamic agent generation on your side.


Use strict YAML parsing in validate

Resolves https://github.com/istio/istio/issues/23930 .
At this time we believe https://github.com/istio/istio/issues/23930 is completely a UX issue.  We cannot reproduce the networking issue.

surprised openapi doesn't validate this. maybe k8s ignores one

In response to a cherrypick label: new pull request created: #25903


Feature requests

Hi Tony,
I am using MicrobeTrace as part of a cluster response and it's been super helpful. I have a few suggestions coming out of my experience so far that I thought I might share:

It would be great if settings were saved in a MicrobeTrace session. I'm finding that each time I re-open a previous saved session, I have to reset all the settings (i.e., aesthetic mappings for nodes and edges), which is quite cumbersome.
It would be great if tooltips could contain the value of more than one variable or if they at least supported rich text so that, for example, a variable could be calculated (prior to import into MicrobeTrace) and used to create tooltips that show multiple key-value pairs on separate lines and formatted to improve readability, e.g.:
variable1: value
variable2: value
variable3: value
It would be great if MicrobeTrace could show multiple links between a given node pair, (say a red one for a molecular link plus a blue one to indicate that one named the other through partner services, and maybe displaying these links as arcs to prevent overplotting).
The ability to "Find" a node (say, based on it's ID or an attribute) could be useful when there are many in a network.
It would be great if users could map other aesthetic attributes to variables such as edge line type, node outline color, and maybe node outline type as well.

Thanks a lot again for a great piece of software and a super useful tool! I'm excited for future versions of MicrobeTrace!
Regards,
Richard

Hey Richard!
Thanks for these feature requests. Before I get too far into them, development on MicrobeTrace has shifted from the installable program (this repository) to a Web Application. The new web application's issues section is here. Now, on to your specific requests:

Yes, maintaining settings in save files is on the development radar.
More complex tooltips are possible, but richtext probably won't be (trying to support it would open up a boatload of new security concerns). I'll discuss it with the team and see.
Link origin-based striping was implemented in Version 0.2.1 and the web version of MicrobeTrace.
Searching has existed in MicrobeTrace for a long time. Try hitting Ctrl-f and typing something.
I've resisted adding configurations like this in the past, but it may be time to re-think that. Again, Will consult with the team.

Thanks again Richard!
Tony

Thanks a lot in advance for considering the feature requests, Tony! FYI, Ctrl+F doesn't seem to work in the desktop version (I get a search box but then the relevant nodes aren't highlighted in any way upon entering search terms), but fine by me as I'll be using the web version from here on out anyway! Take care!


Forgot Password Misplacement

Forgot Password Misplacement
Forgot password link  in the login form has been placed straight to Don't Have an Account? , which should not be the case. It would be appropriate if Forgot password placed at the bottom of password field

I can resolve this issue

Yeah sure @DhananjayThomble . I'll do the work


Dropped can frames can cause out of buffers problem

If csp_init is called with a configuration of 5 buffers libcsp can enter a state where it is unable to send any messages because all of the buffers are occupied by partially complete packet buffer elements. This occurs when several can frames are dropped, and then no more frames are received. When another can frame is received it will check the last access time of the PBUF elements and free them up, but until that happens all of the buffers are occupied.
I suggest that csp_init checks the number of buffers assigned is greater than PBUF_ELEMENTS defined here:
https://github.com/libcsp/libcsp/blob/53d740adbdf6c269a33ab68c2f548b03590dad8f/src/interfaces/csp_if_can_pbuf.c#L28
such that 1 buffer will always be available for other uses.

Good point. I think the pbuf system is slated for removal in the near future anyways.
The alternative way is to assemble frames directly on CSP buffers without the need for PBUF. The additional header information in the PBUDs can easily be maintained in the reserved frame field of the packet structure.
Now the issue we are talking about is flooding of incoming frames prevents outgoing packets. I believe this is something that can be avoided simply by adding a usage field to CSP buffer get. It would then be csp_buffer's responsibility to reserve packet buffers for higher priority stuff. Like for example outgoing packets.

Fixed in spaceinventor/master


[RFC] Dynamically add items

Description
Include the ability to dynamically add items to the search list.
Describe the solution you'd like
Expose an add function which, given an item, it will add it to search list and the collection index.
add(doc: T): void

Examples:
const fruits = ['apple', 'oranges']
const fuse = new Fuse(fruits)

fuse.add('banana')

let result = fuse.search('banana')

cc: @amir20, @tomas


Fixes #9332. xgboost4j-gpu_2.12-2.0.0: added libxgboost4j.so back.

Fixes #9332

cc @hcho3 @wbo4958

Not sure whether I can do anything about the
Could not transfer artifact org.apache.maven.shared:maven-filtering:pom:3.3.1 from/to central (https://repo.maven.apache.org/maven2): transfer failed for https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.3.1/maven-filtering-3.3.1.pom: Connection reset ->
``` on windows build machine :(

It was an transient error. I restarted the test.

@trivialfis do I need to do anything else to get this merged ?

No worries. Could you, please, merge these changes?

Yup, just waited a little bit for the CI on master branch to pass.

Thanks a lot!


Ctrld error in Mikrotik Log

attached is the controld config and also errors in the mikrotik container log.

ctrldconfig_debug.txt

please let me know if additional info is needed

Hi @fhirrepo, thanks for your report.
What's the DNS server run at your upstream.2, aka "ProtonVPN DNS Secure LAN main"?
Could you please also enable debug log and sent it to cuong [at] controld.com?
Thank you.

Hi @fhirrepo, thanks for your report.
What's the DNS server run at your upstream.2, aka "ProtonVPN DNS Secure LAN main"? If you replaced upstream.2 and upstream.7 with non-ProtonVPN DNS, does the error still occur?

what do you mean by DNS server run? its wireguard configured on a router.

Could you please also enable debug log and sent it to cuong [at] controld.com?
Thank you.
have container logging turned on for this container. let me know how to turn on any other logging. also, did not see the issue recur.

what do you mean by DNS server run? its wireguard configured on a router.

I mean what DNS server software you are running on your upstream.2?

have container logging turned on for this container. let me know how to turn on any other logging. also, did not see the issue recur.

You could set log_level = 'debug' in configuration file or passing -vv flag to ctrld command to enable debug log.

what do you mean by DNS server run? its wireguard configured on a router.

I mean what DNS server software you are running on your upstream.2?

as mentioned, its a wireguard protonvpn gateway (which also serves DNS requests).

have container logging turned on for this container. let me know how to turn on any other logging. also, did not see the issue recur.

You could set log_level = 'debug' in configuration file or passing -vv flag to ctrld command to enable debug log.
i cannot reproduce this issue anymore. so not sure if providing additional logs would help. let me know.
in the meantime, please check if possible what could cause this from code standpoint


Memory leak problem caused by deleting items from golang map

Hello,
Since the data of ttlcache is actually stored in golang built-in map, I wonder that ttlcache has the same problem, as golang will not shrink the size of map when deleting items (https://github.com/golang/go/issues/20135). Is it true. If it is, can I use some way to solve the memory leak problem when using ttlcache? Thank you.

Hi. That's an interesting problem. Since it comes from the map implementation itself, I'm not sure how this can be solved in this package. If you have any ideas, feel free to share. However, after doing some (superficial) testing, I didn't see any major leaks, which might mean that this issue isn't deterministic.
Have you noticed any leaks in your system? Or are you concerned because of the issue you linked?

Sorry for that when I opened this issue, I misunderstand the content of that link. After reading some articles and testing with code, I think the problem is the map itself cannot shrink when an item of it being deleted. The map just mark the area. And when the new item being inserted, map will reuse the marked area, place the new item in the marked area instead of allocating new memory. So I guess only either

using too many maps in the same time, or
the map allocating a lot of memory at a time due to large number of items or large size of one item, but then it deletes most of it and never inserting so many items as before.
will cause the problem.
Setting map to nil and creating a new one, transfering the items from old map to new map seems to be the only way to solve the problem at essence. However, for me, using the pointer for value rather than using the struct is enough to avoid problem I think.

Using a SwissMap would be a suitable way to solve this issue: https://github.com/dolthub/swiss


Partition ZDNS into library and CLI tool

We built it as if it could be a library, but the configuration overhead is a mess (sorry @kumarde).
I think the necessary steps are to move most of the configuration setup inside of the "library" so that the invocation of the library more closely resembles passing command line parameters, instead of mimicking our logic from main.go

+1.
It will be easier for me to integrate zdns as a library inside my code :)

Hey guys, has there been any movement on this? I've got a project that ZDNS would be perfect for, but it's near impossible to utilize it right now without invoking it via CLI. I wrote a simplistic library interface which works, but the internal logging via Logrus disrupts this. Here's a simple example:
package scanner

import (
	"errors"
	"github.com/zmap/zdns/iohandlers"
	"io/ioutil"
	"math/rand"
	"net"
	"runtime"
	"strings"
	"time"

	"github.com/miekg/dns"
	"github.com/zmap/zdns"
	_ "github.com/zmap/zdns/modules/alookup"
	_ "github.com/zmap/zdns/modules/axfr"
	_ "github.com/zmap/zdns/modules/bindversion"
	_ "github.com/zmap/zdns/modules/dmarc"
	_ "github.com/zmap/zdns/modules/miekg"
	_ "github.com/zmap/zdns/modules/mxlookup"
	_ "github.com/zmap/zdns/modules/nslookup"
	_ "github.com/zmap/zdns/modules/spf"
)

var (
	config zdns.GlobalConf
)

func defaultConfig() zdns.GlobalConf {
	return zdns.GlobalConf{
		AlexaFormat:           false,
		CacheSize:             10000,
		Class:                 dns.ClassINET,
		GoMaxProcs:            0,
		IncludeInOutput:       "",
		InputFilePath:         "-",
		InputHandler:          nil,
		IterationTimeout:      time.Second * time.Duration(0),
		IterativeResolution:   false,
		LocalAddrs:            nil,
		LocalAddrSpecified:    false,
		LogFilePath:           "",
		MaxDepth:              10,
		MetadataFilePath:      "",
		Module:                "",
		NamePrefix:            "",
		NameOverride:          "",
		NameServers:           nil,
		NameServerInputFormat: false,
		NameServerMode:        false,
		NameServersSpecified:  false,
		OutputFilePath:        "-",
		OutputGroups:          nil,
		OutputHandler:         nil,
		PassedName:            "",
		ResultVerbosity:       "normal",
		Retries:               1,
		TCPOnly:               false,
		Threads:               1000,
		TimeFormat:            time.RFC3339,
		Timeout:               time.Second * time.Duration(0),
		UDPOnly:               false,
		Verbosity:             3,
	}
}

func Scan(dnsClass string, nameservers string, recordType string, domains ...string) error {
	config = defaultConfig()

	if dnsClass != "" {
		switch strings.ToUpper(dnsClass) {
		case "INET", "IN":
			config.Class = dns.ClassINET
		case "CSNET", "CS":
			config.Class = dns.ClassCSNET
		case "CHAOS", "CH":
			config.Class = dns.ClassCHAOS
		case "HESIOD", "HS":
			config.Class = dns.ClassHESIOD
		case "NONE":
			config.Class = dns.ClassNONE
		case "ANY":
			config.Class = dns.ClassANY
		default:
			return errors.New("unknown dns class specified. Valid values are INET (default), CSNET, CHAOS, HESIOD, NONE, ANY")
		}
	} else {
		config.Class = dns.ClassINET
	}

	if nameservers == "" {
		if config.IterativeResolution {
			config.NameServers = zdns.RootServers[:]
		} else {
			ns, err := zdns.GetDNSServers("/etc/resolv.conf")
			if err != nil {
				return errors.New("unable to fetch correct nameservers")
			}
			config.NameServers = ns
		}
		config.NameServersSpecified = false
	} else {
		if config.NameServerMode {
			return errors.New("name servers cannot be specified if nameserver mode is enabled")
		}

		var ns []string
		if (nameservers)[0] == '@' {
			filepath := (nameservers)[1:]
			f, err := ioutil.ReadFile(filepath)
			if err != nil {
				return errors.New("unable to read file for nameservers")
			}

			if len(f) == 0 {
				return errors.New("nameserver input file empty")
			}

			ns = strings.Split(strings.Trim(string(f), "\n"), "\n")
		} else {
			ns = strings.Split(nameservers, ",")
		}
		for i, s := range ns {
			ns[i] = zdns.AddDefaultPortToDNSServerName(s)
		}
		config.NameServers = ns
		config.NameServersSpecified = true
	}

	// TODO: make this configurable
	maxProcesses := 0
	if maxProcesses != 0 && maxProcesses > 0 {
		config.GoMaxProcs = maxProcesses
		runtime.GOMAXPROCS(maxProcesses)
	}

	if conn, err := net.Dial("udp", "<IP_ADDRESS>:53"); err != nil {
		return errors.New("unable to determine default IP address for inbound UDP sockets")
	} else {
		config.LocalAddrs = append(config.LocalAddrs, conn.LocalAddr().(*net.UDPAddr).IP)
	}

	rand.Seed(time.Now().UnixNano())

	if recordType == "" {
		recordType = "A"
	}

	config.Module = strings.ToUpper(recordType)
	factory := zdns.GetLookup(config.Module)
	if factory == nil {
		return errors.New("invalid record type specified")
	}

	var domainString string
	for _, domain := range domains {
		if domain == "" {
			return errors.New("empty domain provided")
		}

		if len(domainString) == 0 {
			domainString = domain
		} else {
			domainString = domainString + "\n" + domain
		}
	}

	config.InputHandler = iohandlers.NewStreamInputHandler(strings.NewReader(domainString))
	config.OutputHandler = iohandlers.NewFileOutputHandler(config.OutputFilePath)

	if err := factory.Initialize(&config); err != nil {
		return errors.New("factory could not be initialized:" + err.Error())
	}

	if err := zdns.DoLookups(factory, &config); err != nil {
		return errors.New("unable to process lookups:" + err.Error())
	}

	if err := factory.Finalize(); err != nil {
		return errors.New("factory could not be finalized:" + err.Error())
	}

	return nil
}

Hey guys, has there been any movement on this? I've got a project that ZDNS would be perfect for, but it's near impossible to utilize it right now without invoking it via CLI. I wrote a simplistic library interface which works, but the internal logging via Logrus disrupts this. Here's a simple example:
package scanner

import (
	"errors"
	"github.com/zmap/zdns/iohandlers"
	"io/ioutil"
	"math/rand"
	"net"
	"runtime"
	"strings"
	"time"

	"github.com/miekg/dns"
	"github.com/zmap/zdns"
	_ "github.com/zmap/zdns/modules/alookup"
	_ "github.com/zmap/zdns/modules/axfr"
	_ "github.com/zmap/zdns/modules/bindversion"
	_ "github.com/zmap/zdns/modules/dmarc"
	_ "github.com/zmap/zdns/modules/miekg"
	_ "github.com/zmap/zdns/modules/mxlookup"
	_ "github.com/zmap/zdns/modules/nslookup"
	_ "github.com/zmap/zdns/modules/spf"
)

var (
	config zdns.GlobalConf
)

func defaultConfig() zdns.GlobalConf {
	return zdns.GlobalConf{
		AlexaFormat:           false,
		CacheSize:             10000,
		Class:                 dns.ClassINET,
		GoMaxProcs:            0,
		IncludeInOutput:       "",
		InputFilePath:         "-",
		InputHandler:          nil,
		IterationTimeout:      time.Second * time.Duration(0),
		IterativeResolution:   false,
		LocalAddrs:            nil,
		LocalAddrSpecified:    false,
		LogFilePath:           "",
		MaxDepth:              10,
		MetadataFilePath:      "",
		Module:                "",
		NamePrefix:            "",
		NameOverride:          "",
		NameServers:           nil,
		NameServerInputFormat: false,
		NameServerMode:        false,
		NameServersSpecified:  false,
		OutputFilePath:        "-",
		OutputGroups:          nil,
		OutputHandler:         nil,
		PassedName:            "",
		ResultVerbosity:       "normal",
		Retries:               1,
		TCPOnly:               false,
		Threads:               1000,
		TimeFormat:            time.RFC3339,
		Timeout:               time.Second * time.Duration(0),
		UDPOnly:               false,
		Verbosity:             3,
	}
}

func Scan(dnsClass string, nameservers string, recordType string, domains ...string) error {
	config = defaultConfig()

	if dnsClass != "" {
		switch strings.ToUpper(dnsClass) {
		case "INET", "IN":
			config.Class = dns.ClassINET
		case "CSNET", "CS":
			config.Class = dns.ClassCSNET
		case "CHAOS", "CH":
			config.Class = dns.ClassCHAOS
		case "HESIOD", "HS":
			config.Class = dns.ClassHESIOD
		case "NONE":
			config.Class = dns.ClassNONE
		case "ANY":
			config.Class = dns.ClassANY
		default:
			return errors.New("unknown dns class specified. Valid values are INET (default), CSNET, CHAOS, HESIOD, NONE, ANY")
		}
	} else {
		config.Class = dns.ClassINET
	}

	if nameservers == "" {
		if config.IterativeResolution {
			config.NameServers = zdns.RootServers[:]
		} else {
			ns, err := zdns.GetDNSServers("/etc/resolv.conf")
			if err != nil {
				return errors.New("unable to fetch correct nameservers")
			}
			config.NameServers = ns
		}
		config.NameServersSpecified = false
	} else {
		if config.NameServerMode {
			return errors.New("name servers cannot be specified if nameserver mode is enabled")
		}

		var ns []string
		if (nameservers)[0] == '@' {
			filepath := (nameservers)[1:]
			f, err := ioutil.ReadFile(filepath)
			if err != nil {
				return errors.New("unable to read file for nameservers")
			}

			if len(f) == 0 {
				return errors.New("nameserver input file empty")
			}

			ns = strings.Split(strings.Trim(string(f), "\n"), "\n")
		} else {
			ns = strings.Split(nameservers, ",")
		}
		for i, s := range ns {
			ns[i] = zdns.AddDefaultPortToDNSServerName(s)
		}
		config.NameServers = ns
		config.NameServersSpecified = true
	}

	// TODO: make this configurable
	maxProcesses := 0
	if maxProcesses != 0 && maxProcesses > 0 {
		config.GoMaxProcs = maxProcesses
		runtime.GOMAXPROCS(maxProcesses)
	}

	if conn, err := net.Dial("udp", "<IP_ADDRESS>:53"); err != nil {
		return errors.New("unable to determine default IP address for inbound UDP sockets")
	} else {
		config.LocalAddrs = append(config.LocalAddrs, conn.LocalAddr().(*net.UDPAddr).IP)
	}

	rand.Seed(time.Now().UnixNano())

	if recordType == "" {
		recordType = "A"
	}

	config.Module = strings.ToUpper(recordType)
	factory := zdns.GetLookup(config.Module)
	if factory == nil {
		return errors.New("invalid record type specified")
	}

	var domainString string
	for _, domain := range domains {
		if domain == "" {
			return errors.New("empty domain provided")
		}

		if len(domainString) == 0 {
			domainString = domain
		} else {
			domainString = domainString + "\n" + domain
		}
	}

	config.InputHandler = iohandlers.NewStreamInputHandler(strings.NewReader(domainString))
	config.OutputHandler = iohandlers.NewFileOutputHandler(config.OutputFilePath)

	if err := factory.Initialize(&config); err != nil {
		return errors.New("factory could not be initialized:" + err.Error())
	}

	if err := zdns.DoLookups(factory, &config); err != nil {
		return errors.New("unable to process lookups:" + err.Error())
	}

	if err := factory.Finalize(); err != nil {
		return errors.New("factory could not be finalized:" + err.Error())
	}

	return nil
}

There hasn't, not due to lack of interest, but just lack of time. I've started to slowly move pieces into libraries, particularly our caching and recursive logic (e.g., https://github.com/zmap/zdns/pull/239). I think it'll happen over the next months to year, but not weeks.

There hasn't, not due to lack of interest, but just lack of time. I've started to slowly move pieces into libraries, particularly our caching and recursive logic (e.g., https://github.com/zmap/zdns/pull/239). I think it'll happen over the next months to year, but not weeks.

Glad to hear it. This is an incredible tool, so I look forward to being able to use its later revisions. Are PRs welcome for this issue? I may take a stab at dividing up some of the CLI code into a cmd directory (as is typically the norm with Go projects).

Glad to hear it. This is an incredible tool, so I look forward to being able to use its later revisions. Are PRs welcome for this issue? I may take a stab at dividing up some of the CLI code into a cmd directory (as is typically the norm with Go projects).

Absolutely. Would love the help.

Absolutely. Would love the help.

Closed due to #360 being closed and merged 🥳


[Bug]: the same name of PDF uploaded with new content updated will make chunks with inconsistency error

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Branch name
main
Commit ID
001_zwz
Other environment information
No response
Actual behavior
I delete the old pdf uploaded, then the new pdf with new content updated with the same name was uploaded, but the chunks content is not up-to-date still remained the old things, so at last I change the pdf with a different name and the chunks content is consistent with the pdf uploaded.
Expected behavior
As long as the pdf uploaded was deleted, the new pdf even with the same name should be chunked with the consistent content with the pdf newly uploaded.
Steps to reproduce
1. upload a local pdf then chunked it in the RAGFlow portal, and confirm the chunk is consistent with the pdf content
2. delete the pdf in the RAGFlow portal
3. update the local pdf with new content
4. upload the local pdf updated without changing the file name
5. chunk the pdf in the RAGFlow portal and compare the chunk with the pdf content, you will find the chunk had the old content

Additional information
No response

Cannot reproduce with v0.14.1


Site built with nix-build will cause the page to crash (out of memory), even when the ob run site works fine.

Issue
When building with nix-build -A exe, and opening the page, the page will eventually cause the tab to crash. This is because of something running in the javascript that eventually eats up all available memory.
This is strange, because running the same server with ob run will not have this issue. This can be reproduced with simple examples, like the example generated with ob init on affected versions.
To reproduce
ob init a new project
Set the contents of .obelisk/impl/github.json to the following (for my version, this is what is created by ob init)
{
  "owner": "obsidiansystems",
  "repo": "obelisk",
  "branch": "master",
  "rev": "de99fc6178fe64f6ea3176746e9c273c92fb8e45",
  "sha256": "1g75262rckkpsm7d3km3wd9pch313qv1hy6kq37v96spi3byg2s9"
}

Build with nix-build -A exe
Run the backend cd result; ./backend
Open localhost:8000
View cpu and memory usage statistics
It should be using heavy cpu, and increasing memory until the process fails.
Other Info
Switching to some earlier version fixed the issue for me, for example
{
  "owner": "obsidiansystems",
  "repo": "obelisk",
  "branch": "master",
  "rev": "61dce9bee472a250195f2b43ee0dee31986043f5",
  "sha256": "08kazzb3a3lr8l7nspmylb9avxj97i7xkw9cpr7k2a35bq2fjb9y"
}

Hi, this is probably caused by the bug fixed in https://github.com/obsidiansystems/obelisk/pull/482
Could you try that branch and see if your problem is fixed?

I tried again with
{
    "owner": "obsidiansystems",
    "repo": "obelisk",
    "rev": "13ec4443401a6c1eef1b0ec7ee7bfbcae805fb2a",
    "sha256": "1gwa4plp8f0ki7c7a33f69gwz6vlzka4inkhjxhimhjv473487dh"
}

I still had the same issue.

Another fix might help: https://github.com/obsidiansystems/obelisk/pull/466

I've run into this before too when I didn't have a config/common/route file next to backend executable. That file should contain something like http://localhost:8000.

Ah, thanks. That was it. With #466 it's running correctly. Sorry about that, I didn't find #465 when I was searching for the issue.
Marking this one as closed.


Trojaner on Gapps?

Good Evening, i have read that, in the google play store what installet on WSA is an trojaner.
Then i have see on my computer that when i open the google play store , then open a clock app , an the clock app is the traffmonetize app,m an then, the WSA is no more working.
When oi reinstalled the WSA then again all working, but not for long time, then again it happend with the mysterios clock app traffmonetize, and again the subsystem no more working.
whats going on, and what is to do?

If you got everything set up from here, nothing is a trojan. OpenGAPPS is used by millions of people, if there was a issue it would be pretty hard to slip through


feat(): add support for is_running_with_streamlit

Codecov Report

Merging #9 (0f867a8) into main (e38fbe5) will increase coverage by 0.32%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
+ Coverage   94.11%   94.44%   +0.32%
==========================================
  Files           2        2
  Lines          17       18       +1
==========================================
+ Hits           16       17       +1
  Misses          1        1

Flag
Coverage Δ

pytest
94.44% <100.00%> (+0.32%)
:arrow_up:

python-3.10
50.00% <100.00%> (-8.83%)
:arrow_down:

python-3.7
88.88% <100.00%> (+0.65%)
:arrow_up:

python-3.8
94.44% <100.00%> (+0.32%)
:arrow_up:

python-3.9
88.88% <100.00%> (-5.23%)
:arrow_down:

st-_0.65.
77.77% <100.00%> (+1.30%)
:arrow_up:

st-_1.12.
50.00% <100.00%> (+2.94%)
:arrow_up:

st-_1.3.
77.77% <100.00%> (+1.30%)
:arrow_up:

st-_1.4.
61.11% <100.00%> (+2.28%)
:arrow_up:

st-_1.8.
55.55% <100.00%> (+2.61%)
:arrow_up:

st-_latest
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

st_compat/runtime/scriptrunner.py
93.33% <100.00%> (+0.47%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Relax opinion on use of ; in NamedTuples?

Current guidnace is "NamedTuples should not be prefixed with ; at the start" (related to https://github.com/invenia/BlueStyle/pull/22)
As the current examples show this leads to these three cases having different style:
xy = (x=1, y=2)
x1 = (x=1,)  # Trailing comma required for correctness.
xs = (; kwargs...)  # Semicolon required to splat correctly.

I can't help but feel that this is a simpler rule:
xy = (; x=1, y=2)
x1 = (; x=1,)
xs = (; kwargs...)

Also,  I write a lot of code in codebases that follow BlueStyle and I don't recall anyone ever corrected me on adding/removing a ;, so i wonder how much this guidance is even followed right now.
(related to #7, https://github.com/domluna/JuliaFormatter.jl/issues/283#issuecomment-687815553)

Existing guidance
# Yes:
xy = (x=1, y=2)
x = (x=1,)  # Trailing comma required for correctness.
x = (; kwargs...)  # Semicolon required to splat correctly.

# No:
xy = (x = 1, y = 2)
xy = (;x=1,y=2)
x = (; x=1)

Suggested change to
# Yes:
xy = (; x=1, y=2)
x = (; x=1,)
x = (; kwargs...)

# Ok:
xy = (x=1, y=2)

# No:
xy = (x = 1, y = 2)
xy = (;x=1,y=2)

My preference is to not use the semi-colon. You are correct in that the rule is more straight forward with always including the semi-colon but the only case it's required is for splatting so really we're just enforcing the use of two extra characters to gain a little extra consistency. Most people probably don't encounter (; kwargs...) which is why I'm good with leaving things as they are.

IMO the no-semicolon version is somewhat unsafe due to how easy it is to forget a trailing comma on a single-element NamedTuple. My vote would be for leading semicolons in NamedTuples to at least be in the Ok section, if not the Yes


Development

The template file shouldn't be page specific, that's why only the content tag is on the page. Not sure why there is added code to that page. ¯_(ツ)/¯

¯(ツ)_/¯ I fked up


Some books contains spacing that breaks yomichan's scanning

I found that some books have weird spacing in them when there is a furigana which breaks yomichan's scanning:

Can the reader strip spaces like these so that yomichan scanning would work? If there is a way to remove spaces like these from the file itself, that would also be great.

I would consider this out of scope of the reader, but you can fix this on yomichan instead.

Go to Yomichan's settings page
Turn on Advanced
Look "Configure custom text replacement patterns" under Translation
Add a new pattern "\s" and replace it with nothing

Thanks, that's good enough for me


[test-triage] chip_sw_uart_rand_baudrate timing out

Hierarchy of regression failure
Chip Level
Failure Description
Job chip_earlgrey_asic-sim-vcs_run_default killed due to: Exit reason: User job exceeded runlimit: User job timed out

Steps to Reproduce

GitHub Revision: 2c75f3a50
dvsim invocation command to reproduce the failure, inclusive of build and run seeds:

  ./util/dvsim/dvsim.py hw/top_earlgrey/dv/chip_sim_cfg.hjson -i chip_sw_uart_rand_baudrate \
--build-seed<PHONE_NUMBER> --fixed-seed<PHONE_NUMBER> --waves fsdb

Tests with similar or related failures

[ ] chip_sw_uart_rand_baudrate

Because of the much-increased RX FIFO size from #17829, this test almost certainly increased in run time. Note that this part of the test is proportional to the size of the FIFO:
https://github.com/lowRISC/opentitan/blob/2c75f3a500fd88d3e143bd25a988f3ae37cfdcc1/hw/top_earlgrey/dv/env/seq_lib/chip_sw_uart_tx_rx_vseq.sv#L67-L68

@engdoreis - as @a-will has mentioned this is just a timeout due to a longer running test. This should just be one where we need to increase the test timeout.


Update required tests in sigstore/community

We should require all tests are passing before merging. Need to update https://github.com/sigstore/community/blob/main/github-sync/github-data/repositories.yaml#L449-L452

What are the tests? all of them?

All of them, expect I don't know about the two new ones, codecov/patch and codecov/project. We should omit those for now. I think they might require always increasing codecov, which isn't a reasonable expectation, so we need to figure out how to configure them to be more permissive (for example, allow a ~3% decrease in codecov)


fix Fix wrong intput column for cast validity check

Proposed changes

Use column idx of ref block instead of new block to indicate the ref column.
Rename some variables to clarify their meanings.
Clarify some log msg.
Add a minimal case to verify the change.

run buildall

run buildall

run buildall


IOS 18 subtitle synthesis garbled in Chinese

IOS 18 below FFmpeg subtitle synthesis log
[Parsed_subtitles_0 @ 0x301b37650] Using font provider fontconfig
[Parsed_subtitles_0 @ 0x301b37650] fontselect: (PingFangSC-Semibold, 400, 0) -> /System/Library/Fonts/LanguageSupport/PingFang.ttc, 8, PingFangSC-Semibold
IOS 18 FFmpeg subtitle synthesis log
[Parsed_subtitles_0 @ 0x303e825d0] Using font provider fontconfig
[Parsed_subtitles_0 @ 0x303e825d0] fontselect: (PingFangSC-Regular, 400, 0) -> /System/Library/Fonts/Core/HiraginoKakuGothic.ttc, 10, . HiraKakuInterface-W4
[Parsed_subtitles_0 @ 0x303e825d0] Glyph 0x8FD9 not found, selecting one more font for (PingFangSC-Regular, 400, 0)
[Parsed_subtitles_0 @ 0x303e825d0] fontselect: (PingFangSC-Regular, 400, 0) -> /System/Library/Fonts/Core/LastResort.otf, 0, LastResort
In normal characters, there may be some garbled characters, such as 0x8FD9 mentioned in the log, corresponding to "这"
Traditional Chinese and Simplified Chinese
Normal font:
Russian, Korean, Japanese, French, English, German
IOS 18 below FFmpeg subtitle synthesis log
fontselect: (PingFangSC-Semibold, 400, 0) -> /System/Library/Fonts/LanguageSupport/PingFang.ttc, 8, PingFangSC-Semibold
IOS 18 FFmpeg subtitle synthesis log
fontselect: (PingFangSC-Regular, 400, 0) -> /System/Library/Fonts/Core/HiraginoKakuGothic.ttc, 10, . HiraKakuInterface-W4
In iOS 18, the selected font has changed and instead of continuing to use PingFang.ttc, HiraginoKakuGothic. ttc has been used

@tanersener


Add a metadata library for Go. [phab:D1598]

Created by fromberger at 2017-05-02 04:31:50:
This library adds metadata support for Go analogous to that provided by the
corresponding C++ and Java libraries. Metadata records are used to pass data
from code generators into indexers, in support of cross-language linking.

fromberger wrote at 2017-05-02 04:56:50:

Drop debugging output.

fromberger wrote at 2017-05-02 20:50:48:

Add /kythe/edge/generates to the schema package.
Add FromGeneratedCodeInfo.
Remove the Type field from the internal Rule type.

zarko commented inline (context lost during migration) at 2017-05-02 21:22:53:
The vname for the file should be derived from the vname for this path in the CompilationUnit. The path stored in source_file will be relative to the Go source file to which the metadata file pertains (and will most likely be a sibling file).

zarko commented inline (context lost during migration) at 2017-05-02 22:31:45:
Whoops, sorry, I was confused. This path is the path to a .proto file as read by protoc. We'll need to do additional work to identify the corpus/root/path fields (that uses this as a key, and probably the path to the metadata file as well). I'm fine if you leave this as-is for now or if you pass in a function to generate a base VName using source_file.

zarko accepted this revision at 2017-05-02 22:31:45

fromberger wrote at 2017-05-02 22:51:18:

Drop debugging output.
Add /kythe/edge/generates to the schema package.
Add FromGeneratedCodeInfo.
Remove the Type field from the internal Rule type.
Plumb in vname context for generated code info.

fromberger closed via commit ca6b59d5528dca7f689b3d965db8605bd469d728 at 2017-05-02 22:53:31


Options for assets building without adding hash

All referenced assets, including those using absolute paths, will be copied to the dist folder with a hashed file name in the production build.

I'm trying to make a library builder out of create-vite-app, and it is close to useable with one last step, here's the prod.config.js file :
const config = {
  rollupInputOptions: {
    input: { index: 'src/App.jsx' },
  },
  assetsDir: '',
  emitIndex: false,
  jsx: 'react',
  plugins: [reactPlugin],
};

The build result will be in dist and look like this:
dist
├── index.8d84e296.js
├── style.05c2d980.css

So I want src/App.jsx to be built into index.js rather than index.8d84e296.js.
Can this be supported?

@FateRiddle Same as #329 but it's tracked with the library configuration preset here #330.

After some search inside the codebase, I've found the line where the all the magic happen for the CSS :
https://github.com/vitejs/vite/blob/1e375a4ffb4bb899f9f7fe5a5e88a27ff6646725/src/node/build/buildluginCss.ts#L174
Currently, as we can see, it's hardcoded and we can hope for an option in the futur. For now there is no workaround w/ Vite but you could choose to build your app with rollup directy without vite.
For the JS you could add a configuration option :
module.exports = {
  ... // other configs options
  rollupOutputOptions: {
    entryFileNames: '[name].js',
  }
}

@underfin following the Contributing Guide, I could make a small workaround in a PR by extending cssModuleOption and add a cssFileName override option can take a string or a function for replace or customize the css output file.

After some investigations cssModulesOptions is imported from @vue/compiler-sfc
https://github.com/vuejs/vue-next/blob/4951d4352605eb9f4bcbea40ecc68fc6cbc3dce2/packages/compiler-sfc/src/compileStyle.ts#L34-L50
Maybe it could be interesting to make a cssModulesOptions derivated from @vue/compiler-sfc but overridable to add some extra options for the futur. I understand the purpose of that I'm interested by your return.
@underfin have you an opinion on that point ?

I'm in urgent need for this to be resolved. I could help or submit a PR if no one else is already working on this.

I made the change locally I could submit a PR (ETA tomorrow)

My PR is on the way :) wait and see !

https://github.com/VishnuPrabhuT/vite/blob/e80b9b5c7e796acbcab585d7e29b2645905566df/src/node/build/buildPluginCss.ts#L173-L198
Add these lines to generate the shared css file at every bundle path defined without hash and the bundle name. Hope it helps someone.

@yyx990803 I can get an example sorted, however, this seems to work for all files except css?

For Vite 2 and newbies out there... this setting now looks like this:
vite.config.ts
export default defineConfig({
  plugins: [vue()],
  build: {
    rollupOptions: {
      output: {
        entryFileNames: `assets/[name].js`,
        chunkFileNames: `assets/[name].js`,
        assetFileNames: `assets/[name].[ext]`
      }
    }
  }
})

For Vite 2 and newbies out there... this setting now looks like this:
vite.config.ts
export default defineConfig({
  plugins: [vue()],
  build: {
    rollupOptions: {
      output: {
        entryFileNames: `assets/[name].js`,
        chunkFileNames: `assets/[name].js`,
        assetFileNames: `assets/[name].[ext]`
      }
    }
  }
})

For Vite 2 and newbies out there... this setting now looks like this:
vite.config.ts
export default defineConfig({
  plugins: [vue()],
  build: {
    rollupOptions: {
      output: {
        entryFileNames: `assets/[name].js`,
        chunkFileNames: `assets/[name].js`,
        assetFileNames: `assets/[name].[ext]`
      }
    }
  }
})

This seems to work for entryFileNames and chunkFileNames but for an assetFileNames, in my case an svg, the hash is still getting appended when it's written to dist/assets/[name].[hash].[ext] even with the assets/[name].[ext].

Yeah, even for the start project I still get dist/assets/logo.03d6d6da.png instead of dist/log.png  with these options:
entryFileNames: `[name].js`,
chunkFileNames: `[name].js`,
assetFileNames: `[name].[ext]`

@AlttiRi would you create a new issue with a small reproduction so this can be properly tracked?

the hash is still getting appended

also for legacy js files
build/assets/main-legacy.8aa272b1.js
build/assets/main-legacy.8aa272b1.js.map
build/assets/polyfills-legacy.222ae1a7.js

build/assets/main.js
build/assets/main.js.map

@vitejs/plugin-legacy

I'm having the same problem right now, it doesn't seem like there's a solution for the legacy js files.
My use case is that I want to build my assets with vite and then serve them over a CDN, so i cannot have changing file names over versions.

If you are looking for a temporary solution if using docker or something different for your builds, you can simply run this small bash script to rename the file after build.
find ./dist/assets -name 'polyfills-legacy.*.js' -execdir mv {} polyfills-legacy.js \;

@vitejs/plugin-legacy

I'm having the same problem right now, it doesn't seem like there's a solution for the legacy js files.
My use case is that I want to build my assets with vite and then serve them over a CDN, so i cannot have changing file names over versions.

Can I ask what exactly is meant by "Legacy JS Files"?

Can I ask what exactly is meant by "Legacy JS Files"?

scroll 4 posts up


Simplify Runly Client

Simplify the Runly API client by removing classes not used by third parties.

Moved code out of Runly.Client to Runly.Hosting and Runly.Client.Internal
Removed Runly.Client's dependency on Runly.Core
Merged Runly.Core into Runly

v1?

Yeah, man! 👏


Allocate token_buffer for b64 as large as needed by the token

This change is meant to fix https://github.com/adaltas/node-krb5/issues/21.
We've found that the issue is that the base64-encoded form of KRB tickets in Microsoft Windows Server networks can exceed the 2048 bytes currently allocated for token_buffer. Actually, the size of the ticket grows with the number of the (universal) groups the user is member of:
https://docs.microsoft.com/en-us/troubleshoot/windows-server/windows-security/kerberos-authentication-problems-if-user-belongs-to-groups
https://www.active-directory-security.com/2014/05/An-Automated-Kerberos-Token-Size-Calculation-Tool.html.

It seems that the checks are failing to set up the testing environment due partly to

an outdated package URL: https://centos7.iuscommunity.org/ius-release.rpm (should be https://repo.ius.io/ius-release-el7.rpm?) and
docker hub rate limitation on anonymous pulls

Closing this PR since as #32 now has a dynamic size (with a maximum size of 48KB)


Minor enhance copy array

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@khaireddine120 can you rebase this PR against trunk? Then after the build we can get this merged.

This is a minor PR fix, I ran the tests locally, all passed so I'm merging this.

Thanks @khaireddine120 for the clean-up!


About learning lambda and alpha

Hi Yujia, why did you learn lambda and alpha in the log space in r2d2.py? In the implementation of the paper "META-LEARNING WITH DIFFERENTIABLE CLOSED-FORM SOLVERS", the authors seem to just learn lambda and alpha in normal space. How does this affect your training procedure and final results?

Hi Weiyu,
I think in the implementation (https://github.com/bertinetto/r2d2/blob/master/fewshots/models/adjust.py), the author also learn them in log space (when base != 1). Since they turned off the lambda & alpha learning (base_learner.learn_lambda: False in the fewshots.yaml), it is hard for me to tell whether it is actually used or not.
In our experiments, when we update lambda and alpha in the normal space, sometimes they become negative after the update. Learning them in the log space resolve this issue. If you prefer to learn them in the normal space, you can try to force them to be positive after the update.


HTTP 401 Unauthorized with bot accounts

I can sign in perfectly well with a user account, but bot accounts dont work. This is a real shame as i was hoping to be able to chat using a bot.
HTTP 401 Unauthorized, {"code": 0, "message": "401: Unauthorized"}

Add "Bot " in front of the token, e.g: Bot YourTokenHere

Yes however this method does not appear to be working, its either due to the text being adjusted to 2 lines (though i doubt it) because of the characters not fitting the text box, or the much more likely one, bearer (the tag for a normal user oauth token) is automatically being placed infront (designating you as a user), because the program automatically places bearer there giving you no choice, placing bot only makes it like this (Authentication: "bearer bot {token}")

its not the second one, putting the window to full size eliminates the text break problem, yet the same lack of ability to log in is displayed

Bearer is not for user accounts, that's for oauth2 tokens, there is no prefix for normal user accounts. Bots however use Bot as the prefix, i just logged into a bot account using that method, make sure the b in Bot is capitalised and there is a space between Bot and the actual token

B needed to be capitalized lol


Add description to count function

In scope of #366. Added description of count/1, and information about count/2 function.
@doomspork

Sounds good @Koziolek, thank you! 👍
We should take note of which translations need to be updated now

all.


Rename template move folder to contracts

Based on user feedbacks, we noticed move doesnt mean a lot to new/early Aptos developers and they expect the folder name to be contracts as it is a more meaningful name and a convention in the web3 developer community and tools

can you rename it to contract instead of contracts? if we want to support multi contract, we need a new layer like contracts/contract_name/Move.toml

can you rename it to contract instead of contracts? if we want to support multiple contracts, we need a new layer like contracts/contract_name/Move.toml

could you elaborate? I'd assume contracts is a meaningful name to a folder that holds multiple contracts?

currently all templates only have 1 contract, structure is like this
| move
|-- Move.toml
|-- sources

if you want each template can have multiple contracts, it should look like this
| contracts
|-- contract1
|---- Move.toml
|---- sources
|-- contract2
|---- Move.toml
|---- sources

If you want to keep each template only have 1 contract, it should look like this
| contract
|-- Move.toml
|-- sources

can you rename it to contract instead of contracts? if we want to support multiple contracts, we need a new layer like contracts/contract_name/Move.toml

could you elaborate? I'd assume contracts is a meaningful name to a folder that holds multiple contracts?

each Move.toml corresponds to 1 contract, currently all templates only have 1 contract, structure is like this
| move
|-- Move.toml
|-- sources

if you want each template can have multiple contracts, it should look like this
| contracts
|-- contract1
|---- Move.toml
|---- sources
|-- contract2
|---- Move.toml
|---- sources

If you want to keep each template only have 1 contract, it should look like this
| contract
|-- Move.toml
|-- sources

I see what you mean. Multiple contracts format would also need move scripts modifications.
Ok, let's just use contract as each of the current templates only use 1 contract. If in the future we will have multiple contracts we would do the changes accordingly.