Grant proposal - IceShard.io

Grant proposal - IceShard.io
Team introduction
Our team is composed of two highly skilled software developers with extensive experience in the blockchain industry. We have participated in numerous hackathons and collaborated with web3 startups on various projects, including building dashboards, querying blockchain data, creating documentation, writing demos, and creating tutorials. Our expertise and proven track record make us well-equipped to tackle any challenges that may arise during the project.
Project description
The IceShard project aims to develop a website that offers tutorials and resources to assist developers in building applications on the ICE Blockchain, as well as creating a community on Discord for developers to connect and collaborate.
The website will have a gamified aspect, rewarding developers with non-fungible tokens (NFTs) for completing tutorials.
The stakeholders or target audience for the project are developers, as well as companies or organizations that are interested in hiring developers with these skills.
Goals & Key Performance Indicators
There are several goals and key performance indicators (KPIs) that will be considered when evaluating the achievement of the project:

Goal
KPI

Increase the number of developers using the ICE Blockchain to build applications.
Number of developers who complete tutorials and receive NFTs.

Increase the overall visibility and popularity of the ICE Blockchain among developers.
Number of website visitors, social media followers, and mentions in online publications or communities related to web3 development.

Foster a strong and active community of developers who are building on the ICE Blockchain.
Number of users in the Discord community, as well as engagement metrics such as the number of messages or posts made per day.

Constraints
There are several potential limitations that we should take into account when building the project:

Technical limitations
The ICE Blockchain and the technologies used to build applications on it may have certain limitations or constraints that need to be taken into account when designing the tutorials and resources.

Time and resource constraints
Building and maintaining a website, as well as organizing and moderating a community platform, can be time-consuming and resource-intensive. We need to ensure that we have the necessary resources (e.g. staff, funding, etc.) to support these activities.

Competition
There are other websites and platforms offering similar resources for web3 development, so it is important to ensure that our project stands out in the market.

User demand
It's important to understand the needs and interests of our target audience, in order to provide resources that are relevant and considered valuable to them. If there is not enough demand for the tutorials and the resources we offer, it could be difficult to attract and retain users.

Assumptions
When building a product like this, we made reasonable assumptions about our audience in order to guide the design and development decisions.
Below are the assumptions we consider to be relevant to the project:

The target audience is familiar with web development concepts and technologies but may not have prior experience with ICE Blockchain or web3 development specifically.
The target audience is primarily composed of developers who are interested in building applications on the ICE Blockchain.
The target audience is looking for high-quality, easy-to-follow tutorials and resources that can help them learn how to build applications on the ICE Blockchain.
The target audience values the opportunity to connect with other developers and share relevant knowledge and experiences.

It's important to keep in mind that these assumptions may not hold true for every member of the audience. Once we launch the project we need to gather more information about our target users in order to better understand their needs.
Dependencies
There are a few key factors that must be true in order for this project to be successful:

The ICE Blockchain must be stable and reliable, with sufficient documentation and resources available to help developers build applications on it.
The tutorials and resources provided on the website must be accurate, comprehensive, and easy to follow.
The community platform (e.g. Discord) must be well-organized and moderated, with a supportive and welcoming culture that encourages collaboration and knowledge sharing.
There must be sufficient demand among developers for the tutorials and resources offered on the website and community platform.
The project must have adequate staffing and resources (e.g. funding, and technical support) in order to support the development and maintenance of the website and community platform.

Overall, the success of this project depends on a combination of technical and non-technical factors, and it is important to carefully consider and address these factors in order to deliver a high-quality and valuable product to the audience.
Grant category
The category that fits our project is DEV & ECOSYSTEM TOOLS with a touch of COMMUNITY.
Milestone Duration
Estimated duration: 3 months
Estimated budget: 27.000 USD
Roadmap

Define the scope and objectives of the project (2-4 weeks):

Identify the target audience (developers interested in building on the ICE Blockchain, including those with or without prior experience with web3 or blockchain).
Define the goals of the project (increase the number of developers using the ICE Blockchain to build applications, and foster a strong and active community of developers).
Establish the overall vision and direction for the website and community platform (provide high-quality tutorials and resources focused on smart contracts and data visualization, and create a supportive and collaborative community platform).

Research and planning (2-4 weeks):

Gather information about the ICE Blockchain and web3 development in general.
Conduct market research to understand the needs and interests of the target audience.
Create a detailed project plan, including a timeline, budget, and resource allocation.

Design (2-4 weeks):

UI/UX Designer: Design the user interface and layout of the website.
Graphic Designer: Design the visuals for the NFTs, including the logo, illustrations, and color scheme.

Development (8-12 weeks):

Frontend Developer: Implement the web pages of the project, including creating and formatting the content.
Backend Developer: Integrate any necessary features or functionality, such as a system for awarding NFTs to developers who complete tutorials and a dashboard for tracking progress.
Set up and configure the community platform (e.g. Discord).
Test and debug the website and community platform.

Launch and promotion (2-4 weeks):

Launch the website and community platform.
Promote the website and community platform to the target audience, including through social media and other channels.

Maintenance and improvement (ongoing):

Project Manager: Monitor and assess the performance of the website and community platform.
Community Manager: Foster and maintain a supportive and collaborative culture within the community platform.
Content Creator: maintain and update the tutorials and resources as needed.
Make updates and improvements based on user feedback and data.

Roles
Project manager
The project manager is responsible for overseeing the overall development and execution of the project, including setting goals and timelines, coordinating with team members, and managing resources.
Frontend developer
The frontend developer is responsible for building and maintaining the frontend of the website, including implementing any necessary features or functionality.
Backend developer
The backend developer is responsible for building and maintaining the backend of the website, including integrating any necessary databases or APIs and ensuring that the website is secure and scalable.
UI/UX Designer
The UI/UX designer is responsible for creating the layout and user interface of the website, as well as ensuring that it is user-friendly and intuitive. This includes tasks such as wireframing, prototyping, and user research.
Graphic Designer
The graphic designer is responsible for creating the visual content of the project, including logo, illustrations, and NFTs. This includes tasks such as selecting colors and fonts, creating graphics and layouts, and ensuring that the designs are visually appealing and cohesive with the overall branding and style of the project.
Community manager
The community manager is responsible for organizing and moderating the community platform (e.g. Discord), including recruiting and onboarding new members, facilitating discussions and collaborations, and addressing any issues or concerns that may arise.
Content creator
The content creator is responsible for creating the tutorials and resources that will be featured on the website, including writing and formatting the content, creating any necessary graphics or media, and ensuring that the content is accurate and up-to-date.
Final thoughts
We would like to express our gratitude for considering our grant application for the IceShard project. We believe that this project has the potential to bring significant value to the ICE Network and its community. Our team has worked hard to create a solid proposal and a small sample of what we envision for the project's UI/UX, tutorial, and logo. We hope that this sample will give you a sense of the level of commitment and attention to detail that we will bring to the project:

Landing page
Sample tutorial

We understand that this is just a raw draft and the final version will be different. We look forward to the opportunity to bring our vision to life and contribute to the growth and success of the ICE Network.
Thank you again for your time and consideration!

Thank you for your reply and the additional information you have provided. However, we must express our disappointment in how this entire situation has been handled. Despite our efforts to be open and transparent with our plans and ideas, we feel that our application and proposal have not been given the consideration they deserve.
We would like to clarify that we were open to discussing and addressing any questions or concerns you may have had, and that many of these questions would have been covered in the research and planning phase outlined in our roadmap. Unfortunately, it seems that these discussions never took place.
Due to the lack of clear and effective communication, as well as the numerous delays, we have lost confidence in your decision-making process. As a result, we would like to withdraw our application and end any further discussions on this matter.
We appreciate the time you have taken to review our proposal, but we believe it is in the best interests of both parties to move on from this opportunity.
Thank you for your understanding.


INTLY-158: Updated with PF4 react core components.

Motivation
Added PF4 React Core so we can pull in react components.  Updated one of the buttons to PF4 react button to verify that PF4 is being pulled in.
Verification Steps

Build code doing yarn install, yarn build.
Verify that PF4 react is being included by going to the Getting Started page for a tutorial
The button in the top right is now a PF4 react component.

Checklist:

[x] Code has been tested locally by PR requester
[ ] Changes have been successfully verified by another team member

Progress

[x] Finished task
[ ] TODO

Additional Notes

@dlabaj any particular reason why this was closed without a merge?


RuntimeError running sentence with many backslashes

The following reproduces the error:
import spacy
scispacy = spacy.load('en_core_sci_scibert')
scispacy(''.join(['\\'] * 511 )))

using scispacy==0.4.0
Error message: RuntimeError: The size of tensor a (513) must match the size of tensor b (512) at non-singleton dimension 1
If I reduce 511 to a lower number in the call, it works. In my case, this is not the real input but my data sometimes contains equations that use LaTeX syntax and have a lot of backslashed items.
This error does not occur with Spacy's own en_core_web_trf model.

A similar issue reported on Spacy too https://github.com/explosion/spaCy/issues/7891

hmm, it looks like this is a spacy internal issue, so I will leave it to them. An off the cuff guess is that something in spacy-transformers assumes that each token is less than 512 characters without checking. if it is not too hard, you could try preprocessing your data to make sure those really long tokens don't exist (just throw some space in the middle, or remove them, because it is pretty unlikely that spacy/scispacy are going to do anything reasonable with some long latex string)

Thanks, the real data isn't this bad. The backslashes seem to cause the problem as long as there are enough of them, but not necessarily in a single sequence. I am filtering the sentences with equations from the data and everything looks good. Thanks for the quick response.


Implement proper custom typing in Flytekit to improve UX and visibility in UI for complex classes such as HyperparameterTuningJobConfig

Currently users need to call to_flyte_idl() for complex classes such as HyperparameterTuningJobConfig in user code, which is not ideal:
hpo_inputs={
    ...
    "hyperparameter_tuning_job_config": HyperparameterTuningJobConfig(
        hyperparameter_ranges=ParameterRanges(
            parameter_range_map={
                ....
            }
        ),
        tuning_strategy=HyperparameterTuningStrategy.BAYESIAN,
        tuning_objective=HyperparameterTuningObjective(
            ....
        ),
        training_job_early_stopping_type=TrainingJobEarlyStoppingType.AUTO
    ).to_flyte_idl()
   ...
}

We should implement proper custom typing in Flytekit to get rid of this.
Two approaches

Create my own type and serialize it

Int, Collection, String => return a struct (proto struct)

Use proto as binary

Take a proto -> serialize it
binary->struct

Introduce SDK Proto type (similar to Types.Proto) that serializes protos into structs and can be used by users for any proto.
Migrate HypeparameterTuningJobConfig type to using the struct version to enable visualization of inputs in Flyte UI
Make a corresponding change in HPO Golang plugin to fallback to binary proto deserialization for backward compat.
Override call function in HPO Task to clear up the usage docs so that IDEs do not infer the wrong signature and complain about passed inputs.
Move parameter ranges out of the config object as inputs of type Proto

Flytekit:

[ ] Introduce Types.GenericProto to represent Protos using structs (for better Fyte Console Visibility)
[ ] Use structs for custom sagemaker types (instead of binary protos)
[ ] Accept FlyteIdlEntity in Types.GenericProto constructor to get rid of .to_flyte_idl() requirement
[ ] Use Types.GenericProto to represent ParameterRange proto as a Flyte Type that can be used for inputs/outputs
[ ] Introduce tunable_params for HPO job, the list of params will then exist as explicit inputs of the generated HPO job.
[ ] Override call function in HPO Task to clear up the usage docs so that IDEs do not infer the wrong signature and complain about passed inputs.
[ ] Update and fix unit tests
[ ] Update a functional test WF to use the new pattern and verify an end-2-end WF works.

HPO Go-Plugin:

[ ] Accept struct input and fallback to binary proto (for backward compat)
[ ] Parse other inputs of type ParameterRange and pass them to HPO jobs as hyper parameters


Add uma-configuration file

#19  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jklein24 and the rest of your teammates on  Graphite

Merge activity

Sep 10, 4:09 PM EDT: @jklein24 merged this pull request with Graphite.


no required module provides package

Hello,
I'm not sure why, but since few days (weeks?)
I can't get the package
could not import github.com/sj14/astral (no required module provides package "github.com/sj14/astral")
I tried to go clean and such, but still the same error.
Am I the only one?

Nevermind, not sure when it changed, but now I need to import "github.com/sj14/astral/pkg/astral"


Getting MAXSCALEDENOM from layer definition to setup maxResolution for WFS layers

It would be nice (if it is possible) to setup the layer's max/minResolution according the MAXSCALEDENOM (mapserver) value if it exists when requesting data from server using WFS.

MAXSCALEDENOM is a WMS concept, not WFS. A WFS service never reports a max scale denominator.

You can always hook up this kind of workflow at the application level. But it doesn't have any place in ol3.


Improvements to Editor's new windows

There are two improvements I'd like to see for new Editor windows

Make their toolbar to be exactly the same as the one present in the main window (except for the working directory toolbar, which we don't need to show in new windows).

When the Editor plugin is undocked, we must close it and show a new window instead. For that we need to connect a new method to the topLevelChanged signal of its QDockWidget:
http://doc.qt.io/qt-4.8/qdockwidget.html#topLevelChanged

@dalthviz, please work on this in two different PRs. Please start with point 1. which is easier, and then move to 2.

I look forward to this as I'd like to split my screen between a web page and the Spyder editor without the rest of the gui using up space. Thanks for working on it!


make sure init.sh exit on error

Sometime my k8s cluster restart so all the pod restarted, at the time kubero's fetch ran coredns has not been started so git clone failed without terminate the script so the application keep restarting at run due to lack of source code. This addition ensure the script to die with error so the fetcher can be restarted.

Looks good.
Thx for your improvment


feat/bitget connector

Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
Implementation of the perpetual connector to Bitget exchange.
The connector supports the three available product types:

UMCBL
CMCBL
DMCBL

For UMCBL the collateral token is always USDT (the quote token for the trading pairs)
For CMCBL the collateral token is always USDC
For DMCBL the collateral token is always the base asset of the trading pair
The API documentation is https://bitgetlimited.github.io/apidoc/en/spot/#welcome
Tests performed by the developer:
Added unit tests for all connector components. All tests passing in green.

Build Docker image and create instance using it
Start the client without any errors
Connect invalid/valid API keys
Pull balance without any issue
Create/start strategy without any errors
No issue on creation and cancellation of orders
Open position is recognized upon restart
status/orderbook is sync
Filled trades + fee are logged correctly
Checked funding payment on time
Run the bot on multiple order levels
Checking invalid API key gets rejected with a correct error message to end user
Connecting correct and a valid API key
Checking balance thereafter if it is getting displayed or not
Cross verifying it with an exchange if the balance is pulled correctly or not
Created a Perpetual market-making strategy with USDC quote tokens. The strategy runs as expected.
Created a Perpetual market-making strategy with USD quote tokens.

Tips for QA testing:
Please validate the new connector with any strategy using perpetual connectors.
Include all validations for new connectors.
HIP Link: https://snapshot.org/#/hbot-ip.eth/proposal/0x3644b2a83d69310201f24d44060c2edfcaf7c0cfab511f6f9bf211faa6c8f894

Test performed:

Start the client without any errors - Flooded with could not fetch trading fees from Bidget perpetual
Connect invalid/valid API keys - OK
Pull balance without any issue - Not showing USDC balance
Run the BTC-USDC Pair - Bot Failed to place orders, showed Insufficient balance (however got USDC on USDC-Futures balance)
Create/start strategy without any errors - OK
No issue on creation and cancellation of orders - OK
Open position is recognized upon restart - OK
Status/orderbook is sync - OK
Filled trades + fee are logged correctly - OK
Run the bot on multiple order levels - OK

Actual:
Bot showed There's an Error - There was an error parsing a trading pair information (BTC-USD) at the start of the instance
Bot constantly Flood with could not fetch trading fees from Bidget perpetual messages
Expected:
There's no errors at start/running a bot
2022-10-28 09:17:08,448 - 312826 - hummingbot.connector.derivative.bitget_perpetual.bitget_perpetual_derivative.BitgetPerpetualDerivative - ERROR - There was an error parsing a trading pair information (BTC-USD)
2022-10-28 09:17:08,448 - 312826 - hummingbot.connector.derivative.bitget_perpetual.bitget_perpetual_derivative.BitgetPerpetualDerivative - ERROR - There was an error parsing a trading pair information (BTC-USD)

logs_conf_perpetual_market_making_1.log
5822bitget.zip

Failed to check available balance for USDC-Futures

Steps:

clone and install feature branch
connect API key bitget perpetual
check balance

Actual:
Balance not showed USDC
Expected:
Balance command showed available USDC asset amount

Bot showed Insufficient balance for USDC-Futures pair

Actual:
Bot showed Insufficient balance for USDC-Futures pair
Expected:
Bot able to place orders using USDC-Futures pairs

I have pushed a change to solve the bugs

@aarmoa
latest commit 85c3a2b
Bot flooded with Unexpected error while listening to user stream
still placing/refreshing orders
Steps:

clone and install feature branch
run the bot with bidget_perpetual connected
create/start perpetualMM

Actual:
Bot flooded with Unexpected error while listening to user stream
Expected:
No errors showed while running the bot
2022-11-03 18:04:41,578 - 404813 - hummingbot.connector.derivative.bitget_perpetual.bitget_perpetual_user_stream_data_source.BitgetPerpetualUserStreamDataSource - INFO - Subscribed to private account, position and orders channels...
2022-11-03 18:04:41,718 - 404813 - hummingbot.connector.derivative.bitget_perpetual.bitget_perpetual_user_stream_data_source.BitgetPerpetualUserStreamDataSource - ERROR - Unexpected error while listening to user stream. Retrying after 5 seconds...
Traceback (most recent call last):
  File "/home/ubuntu/bitget5822/hummingbot/core/data_type/user_stream_tracker_data_source.py", line 48, in listen_for_user_stream
    await self._process_websocket_messages(websocket_assistant=self._ws_assistant, queue=output)
  File "/home/ubuntu/bitget5822/hummingbot/connector/derivative/bitget_perpetual/bitget_perpetual_user_stream_data_source.py", line 56, in _process_websocket_messages
    await asyncio.wait_for(
  File "/home/ubuntu/miniconda3/envs/hummingbot/lib/python3.8/asyncio/tasks.py", line 483, in wait_for
    return fut.result()
  File "/home/ubuntu/bitget5822/hummingbot/core/data_type/user_stream_tracker_data_source.py", line 79, in _process_websocket_messages
    await self._process_event_message(event_message=data, queue=queue)
  File "/home/ubuntu/bitget5822/hummingbot/connector/derivative/bitget_perpetual/bitget_perpetual_user_stream_data_source.py", line 68, in _process_event_message
    self._pong_response_event.set()
AttributeError: 'NoneType' object has no attribute 'set'

logs_conf_perpetual_market_making_1.log
logs_conf_perpetual_market_making_2.log

https://github.com/hummingbot/hummingbot/pull/5822#issuecomment-1294868860
The issues still showed on latest commit 85c3a2b

Failed to check available balance for USDC-Futures

Steps:

run the bot with bidget_perpetual connected
run  balance command

Actual:
Bot failed to check balance on USDC Futures (with the balance command)
Expected:
Bot show all balance including USDC

Bot showed Insufficient balance for USDC-Futures pair

Steps:

run the bot with bidget_perpetual connected
create/start perpetualMM using ETH-USDC pair and order amount 0.01 or more
run status --live

Actual:
Bot unstable to show USDC balance in status --live

@aarmoa
Summary for issues above:
Bot flooded with Unexpected error while listening to user stream but still placing/refreshing orders
Bot still failed to check USDC balance
Bot unstable to show USDC balance in status --live
Test performed:
Start the client without any errors - Bot flooded with Unexpected error while listening to user stream but still placing/refreshing orders
Connected valid API keys = OK
Pull balance without any issue - Not showing USDC balance
CMCBL - Ran the BTC-USDC/ETH-USDC Pairs - Placed orders, was able to recognized position after restart
Create strategy without any errors = OK
No issue on creation and cancellation of orders = OK
Open position is recognized upon restart = OK
Status/orderbook is sync - Bot unstable to show USDC balance in status --live
Filled trades + fee are logged correctly = OK
Run the bot on multiple order levels (XRP-USDT) = OK

@nikspz I pushed a fix for the two issues detected by QA

Thank you @arnelhbot. That seems as an error that could happen if the connection is unstable. But I will investigate a little bit more to discard any issue with the latest fix

I made a change that I think will solve the problem (I tested it locally and it works, but we need to run a longer run to correctly verify the fix)

Hi @aarmoa thanks for the update, we've managed to run some tests earlier for both source and docker on AWS instances and confirmed that we had not noticed this happened for couple of hours. We setup a testbot overnight for monitoring then review log files. We should be able to provide update tomorrow about commit 5e185df

@cardosofede Yes, that is correct. Basically we want that timeout to never happen for Bitget. We should never refresh the order book using REST requests because that will break the synchronization


⚠ ClamAV has degraded performance

In 7489b3b, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 39 ms

Resolved: ClamAV performance has improved in 0f0481c.


Deepcopy of pysb.Parameter fails with SymPy 1.9

With the recent SymPy 1.9, deepcopy fails for pysb.Parameter:
import pysb
from copy import deepcopy

pysb.Model()
pysb.Parameter("a", 1)

deepcopy(model)

results in [...] TypeError: __new__() got an unexpected keyword argument 'real'.
Works with SymPy 1.8.

@jmuhlich Any updates on fixing this issue? We ran into this problem recently in my lab when installing PySB on a new student’s computer and we’ve had reports of others with the same problem as well.

Yes, @FFroehlich had worked up a fix and we just had to decide whether to retain compatibility with older Sympy and how to retain that in our testing matrix. I just merged the PR as you can see above. I'll make a new release now.


[3.x] Limit scale of Node2D to EPSILON (0.00001) to prevent det==0 error

[3.x] version of #50363.
It seems that due to floating point errors value of scale never reached exactly 0 so this "safety trigger" failed.
Replaced with Math::is_zero_approx() instead. It should also fix this issue for any Node2D
Attached test file. There is no error anymore and minimum value for scale is 0.00001
25986_issue_MRP_scene.zip
Bugsquad edit: Fix #25986

Converted to draft since I think it should be tested in master first.
I will reopen it after that. Is that fine?

Changes are accepted, but not merged yet in master so I guess it's fine if I open it here

Thanks!

Cherry-picked for 3.3.3.


The glance item can't be sorted.

I sorted the glance item but, as soon as I switch to other tab and switch to Glance tab, the order will turns to be the default.

I sublitted this issue too: #226


Cache invalidation issue (with ARG instructions)

Hi,
First of all, I would like to thank you for creating devthefuture/dockerfile-x. I am using it, and it works as expected. However, I have encountered an issue related to build cache when using an ARG parameter.
I pass an ARG parameter called BUILD_TIMESTAMP and have placed this parameter at the end of my Dockerfile. In principle, the build cache should be used if the previous steps remain unchanged, with only the last instruction being updated.
After some investigation, it appears that all ARG instructions are set to the top of the compiled Dockerfile when using devthefuture/dockerfile-x, which invalidates the build cache. My builds rebuild entirely instead of utilizing the cache.
Could you please look into this issue? Any guidance or a possible fix would be greatly appreciated.
Best regards,

We'll have to move your ARGs under the RUNs that would not need the argument in order to keep layer cache optimized.
The docker documentation provides details:

Impact on build caching
ARG variables are not persisted into the built image as ENV variables are. However, ARG variables do impact the build cache in similar ways. If a Dockerfile defines an ARG variable whose value is different from a previous build, then a "cache miss" occurs upon its first usage, not its definition. In particular, all RUN instructions following an ARG instruction use the ARG variable implicitly (as an environment variable), thus can cause a cache miss. All predefined ARG variables are exempt from caching unless there is a matching ARG statement in the Dockerfile.

For more info:

https://github.com/moby/moby/issues/18017
https://github.com/moby/moby/pull/18161
https://github.com/moby/moby/pull/21885

OK, thanks for reporting, I will look to fix this ASAP

this should be fixed now (version 1.4.2), for more details see https://github.com/devthefuture-org/dockerfile-x/issues/10#issuecomment-2268943569
let me know if all is good from now :-)

@devthejo Let me try testing this new version and give feedback later. 👀
It looks like the Docker images on Docker Hub aren't updated to the latest version yet, right?

it's updated

@devthejo
The ARG instructors have been positioned in the compiled Dockerfile as desired, but the issue with the cache remains unresolved.
I have tried rebuilding the Docker images from the same source code more than three times, and each time, Docker rebuilds from scratch without using the cache (to be precise, the cache is used only for downloading the base images from Docker Hub).

However, the issue may only occur when using the devthefuture/dockerfile-x syntax. When I try copying the content of the compiled Dockerfile and rebuilding with the same parameters, the cache is utilized.

I am using Docker Desktop (macOS version), and that's how I am verifying whether the cache is working. If you have a better way to debug this, please let me know.

@devthejo
Anyway, thank you for your prompt response. I will try building my Docker images using GitHub workflows and monitor the build outputs for the next few days. If the cache is utilized, I will inform you soon and close this ticket.
Cheers.

OK, thank you for your great feedback.
For information I use buildkit myself (as a service on my cluster https://github.com/moby/buildkit/tree/master/examples/kubernetes, and activating the option on my linux laptop, in older docker version I was running: DOCKER_BUILDKIT=1 docker build .)  and my cache is working using dockerfile-x.
In my experience, in the github actions, the cache is not always here, even using registry cache, this is why I use buildkit service.
I'm very concerned about cache (as you can see in this project https://github.com/devthefuture-org/yarn-plugin-fetch). So let me know if I can do something to help.
related (if this can help):

https://www.augmentedmind.de/2023/11/19/advanced-buildkit-caching/
https://git.devthefuture.org/devthefuture/actions/src/branch/main/buildkit/action.yml

@devthejo
Thank you for the reference links.
I'm not sure if this is the cause, but I need you to confirm. In different builds, the temporary names for of the included dockerfiles change slightly (like, dockerfile_1722866031).

Could these changes affect the checksum of the build context and cause the cache to become ineffective? I'm just curious.

As far as I know (and in my experience), the comments have no effect on the cache

Oh, thank you for the confirmation.

@devthejo
I just checked the build results of my workflows and saw that the cache was used in some builds due to repetition in the build matrix I am using.
Thanks again for fixing this issue. I will close this ticket as my problem has been resolved.


Drop Support for PHP 5.5

@svpernova09 Closed in https://github.com/phergie/phergie-irc-client-react/pull/55 ? :snowflake:

indeed.


Correlation remover doesn't show up in plots when using compare_mitigation_methods()

Correlation remover doesn't show up in plots when using compare_mitigation_methods()
Suggest we add it to the list here.
https://github.com/EqualityAI/EqualityML/blob/90e04435007a653b5c4c69dc5a9b86e0c5d34ce7/equalityml/fair.py#L172-L182

Is correlation remover method a good option to mitigate bias when using the statistical parity ratio metric?

That is a very good question and I had to think about it. The answer is no.
The correlation remover should help meet the separation fairness criteria. It should improve these fairness metrics for binary classification:

equal opportunity
predictive equality
equalized odds (both of the above)

https://en.wikipedia.org/wiki/Fairness_(machine_learning)


Consent String Version Support

Hi,
How is the application planning to support different consent string parsers for different versions in the future? Shouldn't the application first parse the version and then use a consent-string parser for that version? Your thoughts?

Good question, I'm not sure anyone has been thinking past version 1

OK. Cool, thanks for your response.

This is implemented in #30


Ability to add plugins

Any chance we can get the ability to call plugins as part of the action?
Specifically looking at this
https://github.com/newcontext-oss/kitchen-terraform

No plans for anything like that yet. But there's no reason we couldn't add that functionality if you want to make a PR


Feat:Add Gateway Plugin Support

What type of PR is this?
/kind api-change
/kind feature
What this PR does / why we need it:
Users can choose kuma and nginx in the configuration of rollout and fleet flagger.
Specifically, you can set the chart and value of the helm deployment gateway in the fleet configuration.
You can specify the host of Ingress (required) and the protocol used by Kuma (default is http) in the rollout configuration.
Ingress can automatically complete the deployment of canary through application.
Kuma needs to manually install Prometheus and mesh in the target cluster.
Which issue(s) this PR fixes:
Fixes #651
Does this PR introduce a user-facing change?:
For application:
    ......
      rollout:
        trafficRoutingProvider: nginx
        rolloutPolicy:
          trafficRouting:
            ......
            host: "app.example.com"
---
    ......
      rollout:
        trafficRoutingProvider: kuma
        rolloutPolicy:
          trafficRouting:
            ......
            protocol: http

For Fleet
  ......
  plugin:
    flagger:
      trafficRoutingProvider: nginx
      config:
        chart:
        extraArgs:

almost LGTM

/lgtm

Please fix lint error

/cc @hzxuzhonghu  This pr is ready to merge

/lgtm


[Fontconfig]Release library can't locate program input point

The x64 debug library is okay, but when I compiler my program using the release library and run the app, a run time error appears and it shows: can't locate program input point FT_GET_BDF_Property in fontconfig-1.dll.
Environment

OS: Windows 11
Compiler: MSVC 2022

To Reproduce
Steps to reproduce the behavior:

./vcpkg install fontconfig:x64-windows

Expected behavior
Failure logs
can't locate program input point FT_GET_BDF_Property in fontconfig-1.dll.
Additional context
I already installed fontconfig and freetype, the Debug libs are fine! I'm sure I've set the right environment.

#include
#include <fontconfig/fontconfig.h>
bool getFontFace(const std::string& utf8FontName, const int weight)
{
FcPattern* pattern = FcPatternCreate();
FcPatternAddString(pattern, FC_FAMILY, (FcChar8*)utf8FontName.c_str());
if (weight >= 500)
{
FcPatternAddString(pattern, FC_STYLE, (FcChar8*)"bold");
}
FcConfigSubstitute(NULL, pattern, FcMatchPattern);
FcDefaultSubstitute(pattern);
FcResult result;
std::string fontfile;
FcPattern* patfont = FcFontMatch(NULL, pattern, &result);
int fontfaceIndex{};
if (patfont)
{
	FcChar8* file = nullptr;
	if (FcPatternGetString(patfont, FC_FILE, 0, &file) == FcResultMatch)
	{
		fontfile = reinterpret_cast<char*>(file);
	}
	FcPatternGetInteger(patfont, FC_INDEX, 0, &fontfaceIndex);
	FcPatternDestroy(patfont);
}
if (fontfile.empty())
	return false;
std::cout << fontfile << std::endl;
return true;

}
int main()
{
FcInit();
if (!getFontFace("Times New Roman", 400))
{
	std::cout << "Can't get the font file!" << std::endl;
}
return 0;

}

I used the code you provided and then compiled it using cmake, and the compilation result was correct.
cmakelists.txt
add_executable (testfontconfig "testfontconfig.cpp" "testfontconfig.h")
find_package(Fontconfig REQUIRED) # since CMake 3.14
target_link_libraries(testfontconfig PRIVATE Fontconfig::Fontconfig)

It can be compiled correctly. The problem is when I use the release mode to run the application, a run time error occurs: can't locate program input point.

The debug mode can run correctly.

The results of running my local program are as follows.

You can try to delete the installed fontconfig and then reinstall it. Or re-clone vcpkg and use your test code to compile.

Thanks for posting this issue. Please reopen this issue if this is still a problem for you.


Clarify current state of browser support in the README

Currently, browser support of the packages in this repo is not considered production-ready
We should:

clarify this in our README.md and set expectations accordingly.
add a note similar to the one proposed in https://github.com/open-telemetry/opentelemetry.io/pull/3125 on how to help/improve the state of the project in this regard.

The status given in Status and Releases of the JS page of OTel.io is:

Would it make sense to change it to the following?

Some heading
Traces
Metrics
Logs

Node.js
Stable
Stable
Development

Node.js
Experimental
Experimental
Development

/cc @svrnm @cartermp

https://github.com/open-telemetry/opentelemetry.io/pull/3125 got merged, you can take the wording used on the website for the README if you like (or come up with better words and let us know and we use them as well)

The status given in Status and Releases of the JS page of OTel.io is:

Would it make sense to change it to the following?
Some heading 	Traces 	Metrics 	Logs
Node.js 	Stable 	Stable 	Development
Browser 	Experimental 	Experimental 	Development

Hmmm :thinking: From my understanding, this matrix always represented the stability of the interface, not the runtime support. I wouldn't rule out that users interpret this in another way, though. I'll ask about this in the SIG Meeting next week to see what others think. :thinking:
cc @open-telemetry/javascript-approvers

open-telemetry/opentelemetry.io#3125 got merged, you can take the wording used on the website for the README if you like (or come up with better words and let us know and we use them as well)

thanks, opened #4037. I think this fits in nicely without modifications. :slightly_smiling_face:


File Details page needs admin sidebar

When a user navigates to the Files Details page of a file that user deposited, such as when clicking a file in the Items section of a Work show page, the Files Details page should have an admin sidebar, but currently does not:

This should probably be a new route then, right? So there is one route for "viewing this file set in the context of my dashboard" and "viewing this file set in public".  Presently we only have the latter.

Yep, same approach as needed for #814.


Changed the word 'precision' to 'tolerance' in Params.cpp; Comparison…

Setting comparison tolerance has been ignored. After this small change it works!?
Signed-off-by: Malte Schirwon<EMAIL_ADDRESS>

Thanks a lot.


add a precondition to prevent slice assignment out-of-bounds

This adds a precondition that will trap if the slice on the right hand side of an assignment contains any index that is absent in the slice on the left hand side of the assignment.

This is in keeping with usual standard library behaviour, but may still be worth discussing. Do we want to trap in this case?

In the most recent review of RangeSet, this extension and conformance to MutableCollection have both been removed and the removals are reflected in the implementation at https://github.com/apple/swift/pull/69766

Thanks @jmschonfeld!


Sort strategies alphabetically in HTML select control

This makes finding items in the combobox much easier IMO:

LocaleCompare is very slow, what reason do you have for using it instead of a standard sort? It seems unnecessary to me, and I'd recommend changing it.

LocaleCompare is very slow, what reason do you have for using it instead of a standard sort? It seems unnecessary to me, and I'd recommend changing it.

Sorry was not aware of its poor performance. Hopefully it's improved now.


NoJS Mode

@janl:

I’ve hinted at this above, but I’d really like a way for users to use CouchDB productively without having to write a line of JavaScript. My main motivation is the poor performance characteristics of the Query Server (hello CGI?). But even with one that is improved, it will always faster to do any, say filtering or validation operations in native Erlang. I don’t know if we can expand Mango to cover all this, and I’m not really concerned about the specifics, as long as we get there.
Of course, for pro-users, the JS-variant will still be around.

@wohali says:
We're getting closer to this with the native Chakra work being worked on by @davisp, and the subsequent deprecation of features like list/show that are difficult without the cgi-bin model.
Also see #666.

...I’d really like a way for users to use CouchDB productively without having to write a line of JavaScript.

It would seem strange to me for a database advertising itself as "built of the web" to divert development resources away from the fundamental programming language of the web. As I understand, the use of JavaScript in CouchDB is actively promoted as a web-centric feature.
Understandably, the performance hit from ol' SpiderMonkey must put a damper on that 'feature' for many. But considering work on Chakra is already well underway, perhaps it's best to wait for those benchmarks before deciding if a No-JS mode is worth pursuing?

@wohali Thank you for the background on this. It makes sense with your context now, even more so with the design priorities you lay out in #1534.  This issue could otherwise be misinterpreted as a core contributor highlighting another core contributor's performance frustrations and consequent desire to put JS on the back-burner (and referencing issue number 6-6-6, which I find hilarious).
Seems there are a lot of tough decisions to be made right now, but imo the future looks great e.g. #1554 is a really cool concept... and one hell of a shower-thought!


RiskAssessment doesn't have a note attribute as per FHIR specs

Describe the bug
In FHIR Specs, a RiskAssessment resource has a note attribute  to put a comment about the evaluation. Which is not the case in the java implementation.
I guess that the corresponding attribute is comment .
To Reproduce
Steps to reproduce the behavior:

No steps, just by reading FHIR Specs vs HAPI Implementation of RiskAssessment

Expected behavior
Expected to have the same attribute name unless I'm missing something.
Screenshots
No Screenshots
Environment (please complete the following information):

HAPI FHIR 3.6.0 (even with 3.7.0)
OS: doesn't matter
Browser: doesn't matter

Additional context
Nothing

It was related to the version of FHIR specs. The attribute has been renamed to note from version 3 to version 4.

hi @hzitoun can this be closed then?


Fix 2 typos and add some backticks in doc strings

In two spots in doc strings, "as" seemed to have been typed instead of "us". Also added some backticks around identifier names to make the PR a tiny bit more worthwhile.
Please let me know if PRs this small are too trivial and should be avoided.

thanks @Perelandric
https://www.ihighfive.com/dog-high-five.html

Lol, no probem. :dog:


TouchableOpacity onPress event not handled on Andorid when upgrading from 0.33 to 0.34

Description
TouchableOpacity's onPress is not a recognized event on Android after an upgrade. iOS is fine.
I expected onPress on the debug console, but nothing shows.
class App extends Component<void, Props, void> {
  render() {
    return (
      <TouchableOpacity
        style={{flex:1}}
        onPress={() => console.log('onPress!')}>
        <Text>Pressed</Text>
      </TouchableOpacity>

    );
  }
}
AppRegistry.registerComponent('App', () => App);

Reproduction
upgrade from 0.33 to 0.34
Solution
[FILL THIS OUT: What needs to be done to address this issue? Ideally, provide a pull request with a fix.]
Additional Information

React Native version:0.33 -> 0.34
Platform: Android
Operating System: MacOS
Dev tools: Android Studio

I'd be surprised if something this basic broke in 0.34 and we're only hearing about it now.
Does this still happen in 0.42?

@hramos 0.42 still has the same behavior. Btw I ran this on SDK 23 and 25.

I think package versions for react/react-native were getting mixed up under node_modules. Clearing this out and carefully using "npm update" got rid of the issue.


Added copy and paste to fileman

Still need to do Cut.
https://github.com/KnightOS/KnightOS/issues/218

Thanks!


chore: replace hattip node adapter

See https://github.com/hi-ogawa/reproductions/pull/9

It looks like POST + 302 redirection is failing?

ouch, just realized there is overrideGlobalObjects which defaults to true...
https://github.com/honojs/node-server/blob/becc420b5d4ea51977a8e5b12e945ceb09c2ee9a/src/listener.ts#L155
Shall we try mine?

https://github.com/hi-ogawa/js-utils/pull/252

For now, let's close this.


ssl.SSLError.reason

Feature
ssl.SSLError.reason

Python Documentation
https://docs.python.org/3/library/ssl.html#ssl.SSLError.reason

can you assign this to me?

Is this issue related with the sslError format made by fn convert_openssl_error() ?
I found that RustPython's sslError format is different with CPython's.

RustPython

ssl.SSLError: [Errno 136] [x509 certificate routines] no certificate or crl found (ssl.rs:691)

CPython

ssl.SSLError: [X509: NO_CERTIFICATE_OR_CRL_FOUND] no certificate or crl found (_ssl.c:4293)

CPython is printing lib name and reason name.
RustPython is printing errCode and lib str.
CPython is using _ssl_data.h to get the lib name and reason name.
and ``
so I wonder this issue is about it.

The issue is not about messages but absense of the attribute reason.
In CPython, fill_and_set_sslerror function adds reason attribute, while RustPython doesn't do in convert_openssl_error.
Maybe having same messages would be better, but we don't count them as incompatibility.


Support portRange in CRDs

This PR fix issue #1325

To support portRange, due to ovs format, [startPort]:[endPort] will be transformed to a list of port/mask with bitwise match. This transformation introduces a third-party lib.
Add endPort field.
Add UT and e2e test.

Codecov Report

Merging #1557 (4033022) into master (9d3d10b) will decrease coverage by 22.52%.
The diff coverage is 24.30%.

@@             Coverage Diff             @@
##           master    #1557       +/-   ##
===========================================
- Coverage   63.31%   40.79%   -22.53%
===========================================
  Files         170      106       -64
  Lines       14250    12835     -1415
===========================================
- Hits         9023     5236     -3787
- Misses       4292     7124     +2832
+ Partials      935      475      -460

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
40.79% <24.30%> (-0.49%)
:arrow_down:

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

Impacted Files
Coverage Δ

cmd/antrea-agent/agent.go
0.00% <0.00%> (ø)

cmd/antrea-agent/options.go
21.69% <0.00%> (+0.97%)
:arrow_up:

pkg/agent/agent.go
12.08% <0.00%> (-36.63%)
:arrow_down:

.../agent/flowexporter/connections/conntrack_linux.go
28.37% <0.00%> (-0.79%)
:arrow_down:

pkg/agent/openflow/client.go
16.61% <0.00%> (-43.26%)
:arrow_down:

pkg/agent/stats/collector.go
51.13% <ø> (-46.60%)
:arrow_down:

pkg/apiserver/certificate/cacert_controller.go
10.81% <0.00%> (-45.58%)
:arrow_down:

pkg/controller/networkpolicy/mutate.go
0.00% <0.00%> (ø)

pkg/controller/networkpolicy/validate.go
0.00% <0.00%> (-44.83%)
:arrow_down:

pkg/ovs/openflow/ofctrl_action.go
15.96% <0.00%> (-45.39%)
:arrow_down:

... and 154 more

FYI the upstream port range KEP has been merged for K8s NetworkPolicies. I will open an issue to track the change for it. Once we make the changes here and merge this, we should be able to switch to the new field in K8s NP seamlessly!

/test-all

/test-e2e /test-networkpolicy

/test-all

/test-all

/test-all

/test-all

/test-all

/test-all


Regent: Accidental inline mappings in non-inner tasks

When a task has both region accesses and task launches, it accidentally inline maps all regions declared in the task even though it actually uses only some of them. To fix the issue, we want to track "inner-ness" of individual regions and inline map only the regions that are not inner.

This should be fixed in 980a64c4080acf8429aa43d357073b59b61c00fd.


Avoid expensive health check

We observed in production use cases that 'rabbitmqctl node_health_check'
times out after 70 seconds.
Therefore, use less comprehensive health checks as described in
https://www.rabbitmq.com/monitoring.html#health-checks

Looks good to me

This is a significant improvement in my opinion: the thoroughness of these checks is reasonable and the risk of false positives is drastically lower.

Just in case: RabbitMQ core team's approach to health checks and why One True Health Check™ is not a feasible strategy (but CLI tools still provide one for historical reasons 😢)

Most health checks implicitly check that the VM and RabbitMQ are running but won’t produce very specific error messages. Erlang VM startup time has never been an issue so I would keep all three. Removing local alarms check makes certain sense to me.

Thank you for reviewing 🙂
@michaelklishin just to make sure that I understand correctly, by "I would keep all three" you mean keeping check_local_alarms, check_port_connectivity , and check_virtual_hosts because they implicitly check ping and check_running. And since removing check_local_alarms makes sense to you and @gerhard, we will end up with only the 2 commands check_port_connectivity and  check_virtual_hosts?

Yes, that sounds good to me. Maybe drop the -q so that we can log more output from the commands.
I would rename the function to ensure_rabbitmq_startup_complete and change the fail message to "RabbitMQ did not complete startup"


Spatial transform

I created a spatial transformer layer example.
It uses some cluttered MNIST data created with deepminds generator, which i have converted to numpy format. I didn't relly get where we were supposed to put data :)

With https://github.com/Lasagne/Lasagne/pull/361 merged I think this nearly ready.
@ebenolson: Can you help me figure out where to put the data?

@skaae I think I emailed you access directions for S3? If you have trouble with that let me know, or feel free to put them up on dropbox or something else like that.
Sorry that I haven't had time to test this out yet, but I'll try to in the next couple days, or just tell me when you think it's ready and I'll merge.

Thanks @ebenolson, I think it's in S3 now. Can one of you try if it works?

Oops, commented on the commit diff instead of the PR diff.

Thanks for the comments. The -N setting is usefull. The npz file seems to be compressed already. At least the filesize does not change if I use savez_compressed and the file is ~1.0gb if i use savez.

I removed the wrong wget output and added the -N setting.

The npz file seems to be compressed already. At least the filesize does not change if I use savez_compressed and the file is ~1.0gb if i use savez.

That's pretty good evidence then ;) I didn't download the file to check, to not stress Eben's S3 budget.

I removed the wrong wget output and added the -N setting.

Cool!  I'll have to run the model again then.

I'll have to run the model again then.

You can just copy all the outputs from your previous commit. git reflog should tell you the commit ID, and chances are that it's even still on github. (Or in the email notifications sent by github for my comments.)

Actually, the easiest might be to git reset --hard HEAD@{1} to get back to your previous version, then remove the wget output by hand and add the -N by hand (i.e., by editing the notebook file in a text editor). Afterwards, you can amend and force-push again.

cool thanks. reflog is nice :)
The plots are back.

I removed the try/except

:+1: Looks good to merge! (Didn't run it myself, though.)

This looks awesome :)

Very neat, thank you!


Sanity function to check for empty error output

I was creating a test in reframe, and hit a case where my sanity pattern was found in the output, yet there were also warnings going to stderr. Of course, if you expect a test to produce no warnings or errors, it makes a lot of sense to add a sanity check that checks if the error output is emtpy. I could however not find a default sanity test that does something like this...
Did I overlook it, or is it not implemented? If it isn't implemented, would it be an idea (feature request coming up here) to add such a sanity function? It seems like a pretty generic case one may want to check.
I now did
@sn.sanity_function
def assert_iostream_empty(iostream):
    return sn.assert_not_found(r'.+', iostream)
...
self.sanity_patterns = sn.all([
    assert_iostream_empty(self.stderr),
    ...
])

This seems to work, but I can imagine there may be more elegant methods (and maybe a more low level implementation of checking for an emtpy file than a generic regex is more robust too).

Hi @casparvl, you can use sn.assert_found(r'^$', self.stderr) which match only when stderr is completely empty.

Ah cool, that is indeed more robust.
By the way, I now also print the first part of the error output
@sn.sanity_function
def assert_file_empty(file):
    try:
        if sn.assert_not_found(r'^$', file):
            return True
    except SanityError:
        with open(file, 'r') as errorfile:
            errMsg = errorfile.read()
        raise SanityError("File {0} not empty.\nFirst 300 chars:\n{1}".format(file, errMsg[0:300])) from None

For me, printing a few lines from the error output really helps to quickly identify why the sanity check fails, making it a bit faster than having to browse to the file.
Anyway, thanks for the improved regex suggestion. It all works for me now, I just figured I'd share the idea in case you think it can help more people and want to implement it as something more standardized :)

You can further simplify your sanity function by removing the if. All sanity function either return True or raise a SanityError. So you could simply do:
try:
     return sn.assert_not_found(r'^$', file)
except SanityError:
    ...

Hm, checking it further, I actually found
@sn.sanity_function
def assert_file_empty(file):
   try:
       if sn.assert_found(r'^$', file):
           return True
   except SanityError:
       with open(file, 'r') as errorfile:
           errMsg = errorfile.read()
       raise SanityError("File {0} not empty.\nFirst 300 chars:\n{1}".format(file, errMsg[0:300])) from None

not to work. (also tried without the if-statement, as you suggested)
I don't know why, because I agree with you that ^$ should match when the file is empty, which means True should be returned if the file is empty. Somehow, it ALWAYS matches, regardless of wheather the file is empty or not. Not sure how these regex matches go, but don't they go line by line? If so, then maybe ^$ just matches the last 'line' in a non-empty file or something...
Anyway, I found that your suggestion to leave the if out and return immediately the result of sn.assert_not_found actually works in the sense that I get the sanity error when the error file is not empty, but it prints the SanityError raised by sn.assert_not_found rather than my custom one. It seems the except somehow doesn't kick in if the error is raised on the line that returns. No idea why though, that doesn't make any sense to me.
In the end, I went back to the only thing that worked for me both in terms of throwing the sanity error at the right time, as well as with the right (custom) message:
@sn.sanity_function
def assert_file_empty(file):
    try:
        if sn.assert_found(r'.+', file):
            return True
    except SanityError:
        with open(file, 'r') as errorfile:
            errMsg = errorfile.read()
        raise SanityError("File {0} not empty.\nFirst 300 chars:\n{1}".format(file, errMsg[0:300])) from None

I don't know why, because I agree with you that ^$ should match when the file is empty, which means True should be returned if the file is empty. Somehow, it ALWAYS matches, regardless of wheather the file is empty or not. Not sure how these regex matches go, but don't they go line by line? If so, then maybe ^$ just matches the last 'line' in a non-empty file or something...

Indeed, regular expressions set the re.MULTILINE (we should document that...), so if  your file has an empty line my proposal will "fail.". You can however write the regex as (?-m)^$. This will disable the MULTILINE mode.

Anyway, I found that your suggestion to leave the if out and return immediately the result of sn.assert_not_found actually works in the sense that I get the sanity error when the error file is not empty, but it prints the SanityError raised by sn.assert_not_found rather than my custom one

That's my bad, too. My example was faulty. To understand the reason why this is happening, have a look here. TL;DR what happens is that your return sn.assert_found(...) line will not be evaluated in place. Instead your function returns a deferred expression. When ReFrame evaluates the assert_file_empty() function, it gets as a return value the sn.assert_found() deferred expression and it evaluates it. At this point you're essentially out of assert_file_empty() and therefore you can't catch the SanityError. To get around this, you have to force the evaluation of sn.assert_found(...) by either calling sn.evaluate(expr) or expr.evaluate():
@sn.sanity_function
def assert_file_empty(file):
   try:
       return sn.assert_found(r'(?-m)^$', file).evaluate()
   except SanityError:
       with open(file, 'r') as errorfile:
           errMsg = errorfile.read()
       raise SanityError("File {0} not empty.\nFirst 300 chars:\n{1}".format(file, errMsg[0:300])) from None

Generally, if you're inside a sanity function and you're not sure about the implicit evaluation rules, it's better if you explicitly evaluate any deferred expression. That's the only tricky part with the sanity functions. Let me know if this last proposal works for you.

@casparvl Can I close this issue now?

Yes, thanks! I will close it :)


Broken on python >=3.10

Solution to issue cannot be found in the documentation.

[x] I checked the documentation.

Issue
This package doesn't work with python >= 3.10, since it does from collections import Mapping.
Installed packages
packages in environment at /home/chillenb/mambaforge/envs/pyfiveenv:

Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
bzip2                     1.0.8                h4bc722e_7    conda-forge
ca-certificates           2024.8.30            hbcca054_0    conda-forge
ld_impl_linux-64          2.43                 h712a8e2_2    conda-forge
libblas                   3.9.0           25_linux64_openblas    conda-forge
libcblas                  3.9.0           25_linux64_openblas    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc                    14.2.0               h77fa898_1    conda-forge
libgcc-ng                 14.2.0               h69a702a_1    conda-forge
libgfortran               14.2.0               h69a702a_1    conda-forge
libgfortran-ng            14.2.0               h69a702a_1    conda-forge
libgfortran5              14.2.0               hd5240d6_1    conda-forge
libgomp                   14.2.0               h77fa898_1    conda-forge
liblapack                 3.9.0           25_linux64_openblas    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libopenblas               0.3.28          pthreads_h94d23a6_0    conda-forge
libsqlite                 3.47.0               hadc24fc_0    conda-forge
libstdcxx                 14.2.0               hc0a3c3a_1    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libzlib                   1.3.1                hb9d3cd8_2    conda-forge
ncurses                   6.5                  he02047a_1    conda-forge
numpy                     2.1.2           py310hd6e36ab_0    conda-forge
openssl                   3.3.2                hb9d3cd8_0    conda-forge
pip                       24.2               pyh8b19718_1    conda-forge
pyfive                    0.3.0                      py_0    conda-forge
python                    3.10.15         h4a871b0_2_cpython    conda-forge
python_abi                3.10                    5_cp310    conda-forge
readline                  8.2                  h8228510_1    conda-forge
setuptools                75.1.0             pyhd8ed1ab_0    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
tzdata                    2024b                hc8b5060_0    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
Environment info
 active environment : pyfiveenv
active env location : /home/chillenb/mambaforge/envs/pyfiveenv
        shell level : 1
   user config file : /home/chillenb/.condarc

populated config files : /home/chillenb/mambaforge/.condarc
/home/chillenb/.condarc
conda version : 24.9.2
conda-build version : not installed
python version : 3.12.7.final.0
solver : libmamba (default)
virtual packages : __archspec=1=zen3
__conda=24.9.2=0
__cuda=12.6=0
__glibc=2.40=0
__linux=6.10.10=0
__unix=0=0
base environment : /home/chillenb/mambaforge  (writable)
conda av data dir : /home/chillenb/mambaforge/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
https://conda.anaconda.org/bioconda/linux-64
https://conda.anaconda.org/bioconda/noarch
https://conda.anaconda.org/intel/linux-64
https://conda.anaconda.org/intel/noarch
package cache : /home/chillenb/mambaforge/pkgs
/home/chillenb/.conda/pkgs
envs directories : /home/chillenb/mambaforge/envs
/home/chillenb/.conda/envs
platform : linux-64
user-agent : conda/24.9.2 requests/2.32.3 CPython/3.12.7 Linux/6.10.10-arch1-1 arch/rolling glibc/2.40 solver/libmamba conda-libmamba-solver/24.9.0 libmambapy/1.5.10
UID:GID : 1000:1000
netrc file : /home/chillenb/.netrc
offline mode : False

I'm not sure if this package is still developed. Maybe we should fix that with a repo data patch and archive it.
Pinging @jjhelmus for some advice.

:wave: No one is actively working on pyfive that I know of but this issue was address 4 years ago in jjhelmus/pyfive#44. I'll tag a new release, upload it to PyPI and come back here to create a new package.
As for the existing package the repodata could be patched to add an upper bound on the python version. Once the new release is out I'll leave it up to other to decide if it is worth the effort to patch the old release.

@jjhelmus Great, thanks for doing that! Even if pyfive isn't actively developed, it's quite useful for learning about the hdf5 format, recovering corrupt data, etc.

A pyfive 0.4.0 package is available that supports Python >=3.10 now that #5 was merged.


Formatting error while installing burrow

When I follow the instructions in INSTALL.md I get this Error while executing sudo make build
Checking code for formatting style compliance.
/home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go
diff -u /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go.orig /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go
--- /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go.orig       2019-02-23 13:07:41.838903140 +0100
+++ /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go    2019-02-23 13:07:41.838903140 +0100
@@ -497,7 +497,7 @@
                $trigger$
                LANGUAGE 'plpgsql';
                `,
-               adapter.schemaName(function),                                             // create function
+               adapter.schemaName(function), // create function
                channel, types.SQLColumnLabelAction, jsonBuildObjectArgs("OLD", columns), // case delete
                channel, types.SQLColumnLabelAction, jsonBuildObjectArgs("NEW", columns), // case else
        )
@@ -511,10 +511,10 @@
                FOR EACH ROW
                EXECUTE FUNCTION %s();
                `,
-               trigger,                          // drop
-               table,                            // on
-               trigger,                          // create
-               table,                            // on
+               trigger, // drop
+               table,   // on
+               trigger, // create
+               table,   // on
                adapter.schemaName(functionName), // function
        )
 }
/home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go
diff -u /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go.orig /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go
--- /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go.orig       2019-02-23 13:07:41.886889871 +0100
+++ /home/cloud/go/src/github.com/hyperledger/burrow/vent/sqldb/adapters/postgres_adapter.go    2019-02-23 13:07:41.886889871 +0100
@@ -497,7 +497,7 @@
                $trigger$
                LANGUAGE 'plpgsql';
                `,
-               adapter.schemaName(function),                                             // create function
+               adapter.schemaName(function), // create function
                channel, types.SQLColumnLabelAction, jsonBuildObjectArgs("OLD", columns), // case delete
                channel, types.SQLColumnLabelAction, jsonBuildObjectArgs("NEW", columns), // case else
        )
@@ -511,10 +511,10 @@
                FOR EACH ROW
                EXECUTE FUNCTION %s();
                `,
-               trigger,                          // drop
-               table,                            // on
-               trigger,                          // create
-               table,                            // on
+               trigger, // drop
+               table,   // on
+               trigger, // create
+               table,   // on
                adapter.schemaName(functionName), // function
        )
 }

Your marmot has found a problem with the formatting style of the code.
Makefile:30: recipe for target 'check' failed
make: *** [check] Error 1

I exported GOPATH to /home/cloud/go/, as instructed

[latest (go get github.com/hyperledger/burrow)] burrow version (docker image tag or branch if built from source)
[go1.10.4 linux/amd64] go version (if applicable)
[Ubuntu 18.04.2 LTS] operating system details (osx/windows/linux)
[install] what you expected to happen
[formatting error] what actually happened
[just follow the INSTALL.md, when executing sudo make build it prints Checking code for formatting style compliance. and then failes] steps to reproduction

We're dependant on go 1.11 now, not go 1.10. The readme should be updated to reflect that.
Having said that, for now you probably can compile with go 1.10. To make this work, remove any lines with gofmt in the Makefile. Try executing this in the shell and then do make again:
sed -i '/gofmt/d' Makefile

thank you very much, this worked.

Same issue here with go version go1.11.6 darwin/amd64


Is generating tweets but its not tweeting anything

I setted the bot and its generating tweets, but the bot didnt tweet anything yet

yeah i never got around to writing the code that posts the tweets themselves. the markov output was inconsistent enough i didn't want it just posting nonsense.
feel free to fork this and play around with it. reviewing the code i think you would add the tweet-posting code around here: https://github.com/drmonkeysee/mashup-twitter-bot/blob/f09d86cb4a7cd053d8251958c86a9fcc195101a7/lib/tweetbot.js#L29 using the Twit nodejs package included in the dependencies (same package i use to read the tweet streams).

Thanks, I'll play with your code!


BROOKLYN-257: allow nulling imageId in jcloudsLocation.obtain()

Fixes https://issues.apache.org/jira/browse/BROOKLYN-257.
To fix this, I was tempted to instead change JcloudsLocation.buildTemplate so that it ignored all null values, changing the code below:
        for (Map.Entry<ConfigKey<?>, CustomizeTemplateBuilder> entry : SUPPORTED_TEMPLATE_BUILDER_PROPERTIES.entrySet()) {
            ConfigKey<?> name = entry.getKey();
            CustomizeTemplateBuilder code = entry.getValue();
            if (config.containsKey(name))
                code.apply(templateBuilder, config, config.get(name));
        }

to:
        for (Map.Entry<ConfigKey<?>, CustomizeTemplateBuilder> entry : SUPPORTED_TEMPLATE_BUILDER_PROPERTIES.entrySet()) {
            ConfigKey<?> name = entry.getKey();
            CustomizeTemplateBuilder code = entry.getValue();
            if (config.containsKey(name) && config.get(name) != null)
                code.apply(templateBuilder, config, config.get(name));
        }

But is that risky? Do we rely for any config keys on null meaning something other than "use the jclouds default"?

+1 to doing this in buildTemplate. Looking at the CustomizeTemplateBuilders they either will break with null values or ignore them if present.
Merging as is, it's useful on it's own. Further changes can be done in a separate commit.

Cherry-picking this into 0.9.x branch.


🚧Improve subscriptions and subscription ids

Description:
To allow this pull request to be merged, please make sure that the following items of this pull request are complete.
This pull request closes #187
✅The pull request head branch must be a feature branch with the syntax 'feature/-sync-testing'.
✅The pull request base branch must be a 'main' or 'preview' branch..
✅The pull request head branch contains a valid issue number.
✅The pull request title matches the linked issue title exactly.
✅The pull request assignees match the assignees of the issue.
✅The pull request labels match the labels of the issue.
✅The pull request organizational projects match the organizational projects of the issue.
✅The pull requests milestone matches the milestone of the issue.

Additional Info:

Pull requests are automatically synced with the associated issue upon creation by one of the KinsonDigital workflow bots.
The associated issue is the issue number that is embedded in the pull request head branch.
The list above will be automatically updated as the pull request's various settings match or do not match the associated issue.
To manually sync the pull request to the issue, create a comment with the [run-sync] command.

Note You must be an admin member of the organization to use this command.

[x] Sync with the issue.  Use this to enable or disable this pull request from syncing with its associated issue.

{!Warning]
Introduced the following https://github.com/KinsonDigital/Carbonate/labels/🧨breaking changes

Renamed the method parameter of type Guid for the following methods to the name id:

NonDirectional.IPushable.Push()
NonDirectional.PushReactable.Push()
OneWay.IPushable.Push()
OneWay.IPullable.Pull()
OneWay.PushReactable.Push()
OneWay.PullReactable.Pull()
TwoWay.IPushablePullable.PushPull()
TwoWay.PushPullReactable.PushPull()

[!Note]
Added the following https://github.com/KinsonDigital/Carbonate/labels/🏎performance improvements

Small perf improvement when using Unsubscribe() method.

[!Note]
Fixed the following https://github.com/KinsonDigital/Carbonate/labels/🐛bug 's

Fixed error processing in the TwoWay.PushPullReactable class
Fixed error processing in the OneWay.PullReactable class


update to 2.10.2

Also reorders some parts for improved dependency sharing

This is in release 41 in edge right now
fixes #31
fixes #30


Dataverse URL handling & UX improvements

The links to edmond.mpdl.mpg.de are currently hardcoded for clicks on the logo in the upper left corner and for clicks on "Open Edmond" (after files are uploaded).
However, as it is possible to use arbitrary Dataverse instances, the links should point to the Dataverse instance given in the settings tab.
Further to discuss:

It might be easier if the URL in settings tab points to the Dataverse instance, not to the api. The "/api" can be internally added.?
"Open Dataset" instead of "Open Edmond"?

Open OS default browser instead of Electron window

Automatically open settings tab the first time UpVerse is started (as long as it is not filled out)?

All the discussion points treated on the last meeting in addition to the above mentioned are applied on the last commit:
https://github.com/MPDL/upverse/commit/69db6ded5f0374016a02fb464b240ee4cb9e6ed6

Server: upverse-1.0.0.Setup.exe - build package release #55
OS: Windows
Testdate: 29.06.2023
User: Hofmann, Catherina
Test result:
It might be easier if the URL in settings tab points to the Dataverse instance, not to the api. The "/api" can be internally added.?  ->ok
"Open Dataset" instead of "Open Edmond"? -> ok
Open OS default browser instead of Electron window -> ok
Automatically open settings tab the first time UpVerse is started (as long as it is not filled out)? -> ok

Version: v1.0.0 (https://github.com/MPDL/upverse/commit/c835405ed66050556a6a0810c2d466e73c88d466)
OS: Linux & Mac
Testdate: 20.07.2023
User: User
Test result: ok


WIP: Increase e2e test timeout to reduce flake during high load

Increase e2e test timeout to reduce flake during high load

Increases timeout and interval for tests that poll for conditions.
Added default values for the same.

Signed-off-by: thejasn<EMAIL_ADDRESS>

/retest


[Bug]: View option is not showing anything

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The View option in the navbar is not opening up the maps
Expected behavior
I would like to resolve the issue by linking the appropriate maps to it and fix the bug
Add ScreenShots

On which device are you experiencing this bug?
Android, Chrome, Windows
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

Please assign this issue to me

Please assign this issue to me

@mehrun171 It's because I haven't boy the credits to activate it .later on i will add that . So don't worry , I will fix it . Closing this issue.


Getting errors when updating to latest gulp-ruby-sass

Upgrading gulp-ruby-sass to latest version (1.0.5) is not backwards compatible with the code below
Injecting.js
// build styles to tmp
gulp.task('styles', function () {
  // compile css starting from each module's main.scss
  return gulp.src('app/*/styles/main.scss')
    .pipe($.plumber())
    .pipe($.rubySass({
      style: 'expanded',
      precision: 10,
      'sourcemap=none': true
    }))
    .pipe($.autoprefixer({ browsers: ['last 2 version'], remove: false}))
    .pipe(gulp.dest('.tmp/'));
});

Hi @damiencal, thanks for pointing this out. We haven't updated the npm packages in a couple of weeks,  since it's a lot of maintenance work. But we're planning to do so soon again.
If you're running an npm package with a version that is not supported by the gulpfile (or any other component for that matter) you're very likely to run into issues.
Is there a particular reason you changed the gulp-ruby-sass version in the package.json to install the latest version?

We're probably going to go to with the libsass/nodesass/gulp-sass stack in the next release. We're not going to offer both because:

we want to get rid of the ruby dependency to reduce the number of hurdles and thus make it easier to use for beginners. See https://github.com/mwaylabs/generator-m/issues/3.
we won't be able to update to gulp-ruby-sass v1.0.x because their new implementation doesn't go well with our project structure. See https://github.com/mwaylabs/generator-m/issues/199.

I'm gonna close this issue because it's covered in the two I mentioned. Is that ok for you?


Null parameter invalid with allow_blank: true and values: [...]

The following will not accept a null/blank value:
requires :status, type: String, allow_blank: true, values: %w[watching considering skipping]

And using values: ["watching, "considering", "skipping", nil] fails with Grape::Exceptions::IncompatibleOptionValues.
Is this the intended behavior or a bug?

This is by design. The allow_blank = true option is a more deterministic way of allowing a nil value in values. They are synonymous and nil is not of type String.
I'll close this. Reopen if this doesn't make sense. Please use the Grape mailing list for questions.


Drop the database for each test run

Now that we are using a single file for migrations, we should drop the
database each test run to get the new schema.

LGTM


Red Hat & CentOS dynamic matchers

Add support for redhat and centos dynamic matchers.

Thanks

You are more than welcome. Any chance this is going to be released soon, @tas50 ?


instance Lift UTCTime requires 64 bit Int type

The Lift instances for UTCTime use fromEnum, which converts to Int.  On a machine with 32 bit ints this means only DiffTimes of less than 3 milliseconds will convert correctly.

I suggest this:
instance Q.Lift UTCTime where
  lift t = [|read $(Q.lift (show t))|]


Add support for FESOM files

Add support for FESOM files in NetCDF format

Why shouldn't we do the conversion to zarr like for ERA5?
CC @koldunovn

Ok, we will convert our training data to zarr

We have code for ERA5 grib to zarr. It’s probably good to start from these since this specifies the zarr format the AtmoRep code expects.

From: Kacper Nowak @.>
Sent: Tuesday, July 30, 2024 11:59:22 PM
To: clessig/atmorep @.>
Cc: Christian Lessig @.>; Comment @.>
Subject: Re: [clessig/atmorep] Add support for FESOM files (Issue #22)
Ok, we will convert our training data to zarr
—
Reply to this email directly, view it on GitHubhttps://github.com/clessig/atmorep/issues/22#issuecomment-2259280477, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHCHOHR5CS2K25YXXSYGCFTZPAEDVAVCNFSM6AAAAABLUIHFQ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJZGI4DANBXG4.
You are receiving this because you commented.Message ID: @.***>


Fix pixbufloader-jxl and add a test

The pixbufloader-jxl was not destroying the decoder object after
decoding and therefore leaking memory. This patch fixes that by adding
the missing call to JxlDecoderDestroy.
A new test will try to load a .jxl file from disk using the
pixbufloader-jxl plugin. This would detect leaks when running in asan
mode.
A drive by fix, the pixbufloader doesn't need the full library, only the
decoder side.
Fixes #299

Sorry, I had an unrelated change in there.


Exception notifications

resolves #185

this wont work until #208 is merged

closing and reopening to get travis to rerun


DataStream.flatMap causes stream to end early

When I use flatMap the stream seems to end prematurely in some circumstances. For example:
const Scramjet = require('scramjet')

const array = Array.from(new Array(50).keys())
Scramjet.DataStream.from(array)
    .flatMap(x => [x, x])
    .each(console.log)

I'd expect this to print out every number from 0 to 49 twice. Instead it consistently stops at 14. If I change the flatMap line to be x => [x] it runs all the way through as expected. Changing it to x => [x, x, x] makes it run through to 24.
I'm using Scramjet v4.35.10 and Node v15.5.1.

Downgrading to Scramjet v4.23.2 seems to fix the problem

Downgrading to Scramjet v4.23.2 seems to fix the problem

Thanks for the info, will check today and report back

Thanks for the info, will check today and report back

BTW, can you check if you get to see the end event?

BTW, can you check if you get to see the end event?

Brilliant, thanks. How do I check for the end event?

Brilliant, thanks. How do I check for the end event?

on('end', /* some callback here */)
On Mon, 18 Jan 2021, 11:52 Max Harlow<EMAIL_ADDRESS>wrote:

Brilliant, thanks. How do I check for the end event?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/signicode/scramjet/issues/99#issuecomment-762165631,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ3RBFE5GX4H3FB2SNJCX3S2QHGNANCNFSM4WFJX2CQ
.

on('end', /* some callback here */)
On Mon, 18 Jan 2021, 11:52 Max Harlow<EMAIL_ADDRESS>wrote:

Brilliant, thanks. How do I check for the end event?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/signicode/scramjet/issues/99#issuecomment-762165631,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ3RBFE5GX4H3FB2SNJCX3S2QHGNANCNFSM4WFJX2CQ
.

Just checked, no end event

Just checked, no end event

Ok. Then it should be an easy fix.
M.
On Mon, 18 Jan 2021, 12:52 Max Harlow<EMAIL_ADDRESS>wrote:

Just checked, no end event
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/signicode/scramjet/issues/99#issuecomment-762200190,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ3RBBOP2JQU7DM4HCC7C3S2QOGHANCNFSM4WFJX2CQ
.

Ok. Then it should be an easy fix.
M.
On Mon, 18 Jan 2021, 12:52 Max Harlow<EMAIL_ADDRESS>wrote:

Just checked, no end event
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/signicode/scramjet/issues/99#issuecomment-762200190,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ3RBBOP2JQU7DM4HCC7C3S2QOGHANCNFSM4WFJX2CQ
.

Max, I've found a fix, but I do need to investigate a bit and clean up the code after all this.
I can commit to Monday, I hope this works for you.

Max, I've found a fix, but I do need to investigate a bit and clean up the code after all this.
I can commit to Monday, I hope this works for you.

That's great! No rush, I can use the older version for now

That's great! No rush, I can use the older version for now

@maxharlow this is fixed in<EMAIL_ADDRESS>

@maxharlow this is fixed in<EMAIL_ADDRESS>


Dev

I reformatted codes and added support for poetry packaging and dependency management.

Changes look good and there are seemingly no issues with the master branch.


New series type - quiver/cone plots

What problem does this feature solve?
In physics, an essential chart type are quiver (2D) and cone (3D) plots, as they allow for easy representation of vectors (such as force layouts).
Plotly offers these kind of charts both in 2D and 3D, and right now this is the only reason I cannot use echarts.
Adding support for quiver and cone plots would be great.
Thank you!
What does the proposed API look like?
Basically like any other series type.

@julioasotodv Hi, for 2D version, you can try to use custom series to draw the vectors. I wrote a simple example
https://jsfiddle.net/eL8kujv3/

@julioasotodv Hi, for 2D version, you can try to use custom series to draw the vectors. I wrote a simple example
https://jsfiddle.net/eL8kujv3/

@julioasotodv Hi, for 2D version, you can try to use custom series to draw the vectors. I wrote a simple example
https://jsfiddle.net/eL8kujv3/

👍

@julioasotodv Hi, for 2D version, you can try to use custom series to draw the vectors. I wrote a simple example
https://jsfiddle.net/eL8kujv3/
👍

Thank you @pissang!


[BUGFIX] Sortable  disappear

After enabled nested modules [Twill 2.0 & 2.1] table with sortable header will be disappear
In class .datatable__table .table margin-top need 0 or auto

@sauron @ifox

At the moment self-nested module purposefully hide it because the nested rows do not render more columns as everything would be misaligned, as we can already see on your screenshot with the languages header.


Output correctly formatted C

For example, examples/factorial.hau compiles to..
long factorial(long n) {

    {
        if  (n == 0l)             return 1l;        else             return (n * factorial((n - 1l)));
    }

    return 0l;
}

int main() {

    {
        display(factorial(5l));

    }

    return 0l;
}

Does the readability of output matter?

No, but it'd be nice to output/format code readably anyway :stuck_out_tongue_winking_eye:

Following the discussion in #23, looks like it's worth trying to output 1TBS as it's pretty standard?
long factorial(long n)
{
    if (n == 0l) {
        return 1l;
    } else {
      return (n * factorial((n - 1l)));
    }

    return 0l;
}

int main()
{
    display(factorial(5l));
    return 0l;
}

It also might be a good idea to output any comments as well, so people could see exactly how their code corresponded to C (in the cases that it did).

Well, right now this is what compiling examples/factorial.hau produces:
/* Haumea prolog */
#include <stdio.h>

long display(long n) {
    printf("%ld\n", n);
    return 0;
}

long read() {
    printf("Enter an integer: ");
    long n;
    scanf("%ld", &n);
    return n;
}

/* End prolog */

/* Start compiled program */

long factorial(long n) {
    {
        if (n == 0l)
            return 1l;
        else
            return (n * factorial((n - 1l)));
    }
    return 0l;
}

int main() {
    {
        display(factorial(5l));
    }
    return 0l;
}

/* End compiled program */

Does that mean this issue can be closed?

@TheMonsterFromTheDeep, good idea with the comments.

Does that mean this issue can be closed?

I think this is why @nanalan hasn't closed it yet.

Also @BookOwl we should probably never output block braces if there's only one statement inside.

@nanalan The idea of the 1TBS is that the statements in if/while/for statements are always blocks.

@Jonathan50 derp

You guys can try and make the C prettier if you want, but I don't think y'all should spend too much time on it, considering that the ultimate consumer of the C is a compiler, and that we may not even use C soon (#18).

Being able to output well-formatted code is a good idea though in terms of people moving on from the language

Looks nice. I especially like the comments idea.


Configuration options for labels

Support for specifying static labels that apply to all metrics.
Support for specifying default values for labels when the annotation or label is missing

/retest


Facebook message truncation

In V1 if sending a long message it would split it into two messages for facebook. After converting to V3 however, the same message is truncated at 304 characters and suffixed with an ellipsis.

This has been fixed.


(FACT-3163) Add support for OpenBSD

(FACT-3163) Add support for OpenBSD

Most inspiration taken from FreeBSD, rest from other OS,
and some own creations. Not all core facts supported, but
makes puppet facts works well, as well as puppet agent --test

Developed/Tested on OpenBSD 7.2, AMD64, Puppet 7.20.0, Ruby 3.1.2

also disable RuboCop Metrics/PerceivedComplexity
and Metrics/CyclomaticComplexity
as suggested by @joshcooper

Additionally:
Case insensitive OS detection

ran into trouble when facter installed via puppetserver gem install,
there the OS returned seems to be OpenBSD instead of all lowercase.

Can one of the admins verify this patch?

@joshcooper
this is the follow-up of #2531
I believe what was missing, and what confused the random order was that the OpenBSD related tests were missing in ./spec/facter/util/facts/posix/virtual_detector_spec.rb because in lib/facter/util/facts/posix/virtual_detector.rb some OpenBSD related detections were added. Also seems, the "before do" has to be kind of in-order with how the fact checks are called in virtual_detector.rb
Now everything aligned, I can't reproduce the issue anymore. I did let the tests run for some time in random order.

Thanks @buzzdeee can you squash your commits?

@joshcooper sure, squashed and rebased, hope all test going to pass again (:

OpenBSD went into ABI lock for 7.5 release, if this would be merged, and make it into the next release hopefully getting out before OpenBSD ports tree freeze, would be awesome.


Migrates main projects project file to the SDK style format.

This first PR updates to project files to the new SDK style format.

[x] Migrate main project.
[x] Migrate tests.
[x] Fix build.

Cool, that even worked. 🎉

@ChrSteinert You're getting good at this :)

Wow cool :) 🎉


[Epic] Navigation

Milestone: [Link to milestone]
Add a few sentences to describe the milestone.
Epic: Navigation
Overview

A collection of user interface components that allows visitors to navigate the platform as well as find web content and features easily.
List item

Tasks

Use the following checklist to ensure each epic is built out properly. If needed, you can add or remove items.

[ ] Pull together initial list of relevant user stories for this epic
[ ] Make a list of the content requirements for this epic
[ ] Make a list of the technical requirements for this epic
[ ] Post current wireframes and mock-ups
[ ] Review wireframes and mock-ups with FEWD, BEWD, Data, SBL Help, Content team members
[ ] Refine user stories to prepare for development phase
[ ] Identify and capture tasks for user testing
[ ] Conduct user testing

User stories

MVP (Beta release)
Step indicator

https://github.com/cfpb/sbl-project/issues/110
As a filer, I want clear and concise step labels, so that I understand what I will be asked to do or accomplish within each step.
As a filer, I want to view previous steps in the filing process, so that I can review or make changes to work that I've previously started or completed.
As a filer, I want to navigate between steps, so that I can complete the filing process.

Header

Story (link)
Story (link)

Footer

Story (link)
Story (link)

Backlog (post-MVP)
Step indicator

Story (link)
Story (link)

Header

Story (link)
Story (link)

Footer

Story (link)
Story (link)

Requirements

Technical
Step indicator

List item
List item

Header

List item
List item

Footer

List item
List item

Content
Step indicator

List item
List item

Header

List item
List item

Footer

List item
List item

User testing

Research goals
Step indicator

Add here

Header

Add here

Footer

Add here

Task ideation
Step indicator

Add here

Header

Add here

Footer

Add here

Current mock-ups
Updated: MM/DD/YYYY

Page name
Page name
Page name

Discovery:
Step indicator (also called progress indicator) and navigation
The CFPB does not have a step or progress indicator component so we had initially planned to use the current USWDS step indicator as a starting point and apply CFPB styles (font, state colors, etc). The USWDS step indicator component is specifically designed/intended for a linear flow (complements a back/next navigation in a linear sequence). It is not intended for a non-linear progressions or interactions that might be completed in any order. According to the usage guidelines, the USWDS step indicator should not be used for navigation. A user should navigate using back/next or something equivalent (within the page content). The step indicator is a purely visual marker that indicates where a user is within the linear flow (as opposed to one a user can interact with as a form of navigation).
Step indicator (based on USWDS component)

Specifically designed/intended for a linear flow (complements a back/next navigation in a linear sequence).
It is not intended for a non-linear progressions or interactions that might be completed in any order.
The step indicator is a visual indicator of progress and is not a navigational component. The user navigates through the flow using back/next buttons or links.

Progress indicator (Carbon Design)

A progress indicator is a visual representation of a user’s progress through a set of steps, guiding toward the completion of a specified process.
Use progress indicators to keep the user on track when completing a specific task. By dividing the end goal into smaller, sub-tasks, it increases the percentage of completeness as each task is completed.
Logical progression: Display the steps in order from left to right. Indicate to the user that they are performing a multistep process, and show the direction of movement. Allow the user to return to a previous step to review their data submission.
Indicate the current step: Keeping the user informed of where they currently are within the process or task at hand will give them a sense of control. This helps the user to know where they are in relation to where they have been, and what sections are to follow. Clear labels should accompany the progress indicator to indicate what the user will accomplish within each step. Keep labels between one to two words.
Validation: Use validation to confirm that a previous step has been completed. If the user cannot proceed onto another step without first completing a task, use an Inline Notification to inform them.

Stepped progression (Goldman Sachs)

A stepped progression, sometimes referred to as a multi-step form or wizard, is an interface built to support a series of steps a user must complete in a process.
Stepped progression is best employed for long and unfamiliar tasks that the user needs to complete once or rarely. Typically in each step a user is asked to input data and is provided feedback on their progression for the overall task.

Progression tracker (Steps or Progress component)
Content (Form, video, quiz, etc.)
Action buttons

Progress Indicators

Progress is tracked in a stepped progression and displayed to the user visually and can be shown horizontally or vertically. The overall goal of the progress indicator is to show the user how far along in the process they are and how much more they have to go.
States: incomplete, active and completed.

Alternatives to the step indicator
Although I strongly support the idea of a linear flow for the small business lending filing flow, I did want to present some alternative components that allow a user to complete a set of tasks in any order. Neither of these alternatives provide a user with any feedback as to progress toward an end goal.
Side navigation (CFPB component)

Intended for a non-linear flow or interactions that might be completed in any order.

Open: https://www.consumerfinance.gov/owning-a-home/prepare/
Gated: https://www.consumerfinance.gov/paying-for-college/your-financial-path-to-graduation/

Tabs (no CFPB or USWDS component exists)

Tabs organize and allow navigation between groups of content that are related and at the same level of hierarchy.
Tabs are used to organize related content. They allow the user to navigate between groups of information that appear within the same context.
Because tabs stack horizontally or wrap to a second line, they’re not an optimal design solution for mobile viewports.
Tabs should never be used for primary navigation. If tabs become too complex, consider using a standard navigation pattern.
Tabs should not be used to indicate progress. Use the progress indicator instead.

Decision: Linear flow of sequential steps
At yesterday's design/dev sync we discussed the idea of a linear (versus an open-ended flow). We decided that, for a number of reasons, a linear flow makes a lot of sense for the small business lending filing process. While there are steps within the filing process that could be completed in a different order there are certain steps that must happen before others. In deciding on a flow it is beneficial to design a system that is consistent so that a user knows what to expect. Existing steps that are not order-dependent can always be moved later if testing shows user friction. But, upload must always come before errors and warnings can be shown and before a user can view a summary and submit their filing for the year.
We did want to be able to provide the user with a way to access the "warnings" before they resolve their "errors." A user will be able to access a report of all "errors" and "warnings" by clicking a link at the top of the "Resolve errors" step.

Step indicator states
The USWDS has the following 3 states built into their Step indicator component:

Current
Complete
Pending

Does the USWDS code indicate what happens when a user navigates back to a "complete" step? What happens to the styling of all steps that come after the step that they've navigated back to? Do they retain their completed state or reset to pending?
Definition of complete (by step)
To complete the step a user must complete the action(s) and click the button to move to the next step.

Upload file: File is upload complete and validation complete (no parsing/formatting errors)
Resolve errors: File has passed validations check without errors.
Review warnings: User has verified (checked box) the accuracy of all data fields referenced by the warning validations.
Provide point of contact: All required fields are populated.
Sign and certify: User has reviewed financial institution and point of contact detail (checked boxes), certified and signed (checked box - typed full name).


docs(edgehog_in_5): fix renconciliation command

the command was not updated after the transition to ash.
updates the doc to use the new functions to list and reconcile the tenants

superseeded by #767


make.colormesh.dataset shuffles large datasets

A large dataset has been shown to get shuffled after using make.colormesh.dataset(). It doesn't happen at the calibration step and it doesn't seem to happen with small datasets, which is why we wouldn't have caught it with example data.

the issue comes from differences in the order of specimen.factors and the order that the images are read. Going to get a branch going to explore solutions.

We have temporarily patched the issue in 8e066444e3da790538c4fcefd56bbbe3a1613a8f, with a more robust solution coming soon.

candidate fix in 874e7e3