Update create-starknet to use Starknet React v3

We have a create-starknet package to quickly initialize a Starknet project. It should be updated to Starknet React v3
Tasks

[ ] Update the package build system to be the same as the core package (tsup).
[ ] Update the template to create a project that uses Starknet React v3.

@fracek I

Hello, you need to apply through onlydust.

Hi @EjembiEmmanuel, all applications must go through the ODHack hackathon page. All information are in the main telegram group or here: https://app.onlydust.com/hackathons/odhack-70
Maintainers will be reviewing applications via the platform, not through the comments. Thanks for understanding and respecting this way!

Hey @Blumebee and @fracek I would like to work on this, but this issue doesn't seems to display for me on Onlydust

@ikemHood that is normal, all issues are to be displayed tomorrow on the hackathon page. Again I invite you to read the information in the main telegram group or here: https://app.onlydust.com/hackathons/odhack-70

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'm Poulav Bhowmick, a software engineer at Invisible Studios with a robust background in TypeScript, Rust, Solidity Cairo, fullstack development and blockchain technology. My experience includes building robust applications, optimizing functionalities and blockchain integration. I have actively participated in events and open source contributions, enhancing my capability to tackle real-world tech challenges. My projects can be viewed on my GitHub Profile and OnlyDust Profile. Plus I´m active member of Starknet community🇷.
How I plan on tackling this issue
To update the create-starknet package to support Starknet React v3, I would take the following approach:
Understand the Current Setup
Review the existing create-starknet package structure, focusing on the build system and the template files it uses to generate new projects.
Identify the current build system
Update Dependencies: Modify the template’s package.json to include the latest version of Starknet React v3 and any other relevant dependencies.
I would love to work on this

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello, I’m Brayan. With over 3 years of experience in development, I am passionate about contributing to open-source projects and currently expanding my skill set with Rust, Cairo, and Solidity as part of my involvement with Dojo Coding. My recent role as a Full Stack Developer allowed me to specialize in a range of technologies including React, NextJs, Node.js, JavaScript, TypeScript, Docker, among many others. I am eager to apply my extensive experience and newly acquired skills to new challenges and innovative projects.
How I plan on tackling this issue

I will update the build system to use tsup, aligning it with the core package. This involves configuring tsup to handle the build process, ensuring it compiles TypeScript files efficiently.

I will modify the template to create a project that uses Starknet React v3. This includes updating dependencies and ensuring compatibility with the latest version of Starknet React.

I will thoroughly test the updated package and template to ensure everything works as expected. This includes running the build process, initializing new projects, and verifying that the projects function correctly with Starknet React v3.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
As an experienced Full Stack Blockchain Developer, I'm excited to contribute my expertise to Edition 7 of the OnlyDust hackathons. With a strong background in Next.js, TypeScript, JavaScript, React, Node.js, Solidity, and Cairo, I've honed my technical skills across the blockchain development landscape.
My journey with OnlyDust began at Edition 2, and I've since made 28 contributions across 11 projects. This extensive experience on the platform has allowed me to develop a keen understanding of delivering high-quality solutions under tight deadlines. I bring a unique blend of technical prowess and user-centric design to every project, whether I'm crafting immersive 3D experiences or developing innovative smart contracts.
My track record demonstrates my ability to adapt quickly and contribute effectively to diverse challenges. I'm confident in my capacity to tackle new problems and drive innovation in the blockchain space. As we embark on Edition 7, I'm eager to leverage my hackathon experience and technical skills to push the boundaries of what's possible in blockchain development.
With a passion for creating cutting-edge solutions, I'm excited to collaborate with the OnlyDust community and contribute to the advancement of the blockchain ecosystem.
How I plan on tackling this issue
To solve this issue, i would:
Update Build System
Replace the current build system with tsup, matching the core package.
Update package.json to include tsup as a dev dependency.
Create or modify the tsup configuration file (tsup.config.ts) to match the core package settings.
Update build scripts in package.json to use tsup.
Update Template for Starknet React v3
Review the current template structure and identify all areas that need updating.
Update dependencies in the template's package.json to include Starknet React v3 and its peer dependencies.
Modify React components to use the updated Starknet React v3 hooks and utilities.
Update any Starknet-specific configurations to align with v3 requirements.
Update CLI Tool
Modify the CLI tool to generate projects using the updated template.
Ensure that the CLI properly sets up the new project structure and dependencies.
Testing
Create test projects using the updated create-starknet package.
Verify that the generated projects successfully use Starknet React v3.
Test the build process of generated projects to ensure compatibility.
Documentation Updates
Update the README of the create-starknet package to reflect the changes.
Modify any usage instructions or examples to align with Starknet React v3.
Version Bump and Release
Update the package version in package.json.
Create a changelog detailing the updates and improvements.
Prepare the package for release on npm.
Compatibility Check
Ensure the updated package is compatible with the latest Starknet tooling and libraries.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 47 contributions across 11 projects. With my extensive experience on the OnlyDust platform (profile:  https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure.
I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges.
As we surf through Edition 7, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.
How I plan on tackling this issue
I will update the create-starknet package to initialize Starknet projects using Starknet React v3 and align its build system with the core package:

Review and Plan:
I will examine the current package structure and identify necessary updates.

Update Build System:
I will implement tsup as the new build system, matching the core package configuration.

Update Template:
I will modify the project template to use Starknet React v3, updating components, hooks, and dependencies.

Revise Scripts:
I will update initialization scripts to reflect template changes and ensure correct dependency installation.

Testing:
I will thoroughly test the updated package across different environments and scenarios.

Documentation:
I will update all relevant documentation to reflect the changes and new features.

Version and Changelog:
I will bump the package version and update the changelog accordingly.

CI/CD Updates:
I will adjust CI/CD pipelines to accommodate the new build system.

Release Preparation:
I will create a detailed pull request and be ready to address feedback.

Post-Release:
I will update external references and monitor initial user feedback.

This approach ensures a comprehensive update of the create-starknet package, aligning it with Starknet React v3 and improving its build process.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello, I'm Samuel, a Cairo developer and smart contract researcher with experience in frontend development using React. Currently, I'm working on Coiton, a platform for real estate trading.
How I plan on tackling this issue
How I Plan on Tackling This Issue
Update the Build System to Use tsup:
I will replace the existing build system with tsup to align with the core package. This involves configuring tsup to handle TypeScript compilation, bundling, and generating declaration files. The tsup configuration will be tailored to optimize build performance while ensuring compatibility with both CommonJS and ESModules formats.
Modify the Template to Support Starknet React v3:
I will update the project template to use Starknet React v3, which includes revising dependencies in package.json and refactoring the template codebase to leverage the latest API features and conventions introduced in v3. Special attention will be given to addressing any breaking changes from previous versions, ensuring seamless integration.
Comprehensive Testing:
Post-modification, I will conduct thorough testing of the package. This includes:
Running the tsup build process to verify successful compilation and bundling.
Initializing new projects using the updated template to ensure that all configurations are correctly applied.
Testing the functionality of generated projects, specifically focusing on their interaction with Starknet React v3 to confirm full compatibility.
Any issues discovered during testing will be promptly addressed to guarantee the robustness of the package.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have experience with frontend development and blockchain integration, particularly with Starknet and React. I can leverage this background to efficiently update the create-starknet package by aligning the build system with tsup and integrating Starknet React v3 into the project template, ensuring compatibility and a streamlined setup process.
How I plan on tackling this issue
To update the create-starknet package for Starknet React v3:

Update Build System: Migrate the package build system to use tsup, aligning it with the core package’s setup.
Update Template: Modify the project template to integrate Starknet React v3, ensuring it sets up a new project with the latest version and dependencies.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a frontend developer with extensive experience in React.js , utilizing TypeScript to build dynamic and responsive user interfaces. My background in these technologies allows me to create seamless and efficient web applications, focusing on delivering a user-friendly experience. By combining my technical skills with a strong understanding of modern development practices, I am well-equipped to contribute to any project, ensuring that the final product is both high-performing and intuitive for end-users.
How I plan on tackling this issue
To effectively approach a problem, I would follow a systematic process:
Understand the Problem:
Begin by fully understanding the problem statement. I would identify the key requirements, constraints, and goals to ensure I’m addressing the right issue.
Research and Analysis:
Conduct thorough research to explore existing solutions or similar problems. Analyze different approaches to determine the most effective solution that aligns with the project’s needs.
Break Down the Problem:
Decompose the problem into smaller, manageable tasks. This helps in tackling each aspect individually and ensures that no critical details are overlooked.
Plan and Strategize:
Develop a detailed plan of action, including the technologies, tools, and methods that will be used. I would prioritize tasks based on their importance and dependencies.
Implement the Solution:
Begin coding or applying the solution step by step, adhering to best practices and coding standards. I would continuously test the solution during implementation to catch and resolve issues early.
Testing and Validation:
After implementation, I would rigorously test the solution across different scenarios and environments. This includes both unit testing and user acceptance testing to ensure the solution is robust and meets all requirements.
Review and Optimize:
Evaluate the solution to identify any areas for improvement or optimization. This might involve refining the code, improving performance, or enhancing the user experience.
Documentation and Knowledge Sharing:

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'm a software developer with experience working with React in Web2 projects, I'm getting more into the Web3 world and will be pleased to contribute in the project.
How I plan on tackling this issue
First, I will review the create-starknet package structure, so I can analize the current build system so I can correctly modify the package.json to include the latest version of Starknet React v3 as well as any other respective changes.

Hey @BDCoy have a go at the issue.

Thanks I'll start working right now

Hi @fracek,
I’ve just opened the PR. Could you please review the solution description to ensure the issue was addressed correctly?


Feat: anticipated funding amount

issue #944

Closing. This old PR is referenced in #944 and can be used as an example, but will be replaced by a new branch/PR


k3s-selinux for Photon OS

is this rpm avaiable for Photon OS?

@imranrazakhan we only have spec files for el7, el8, and sle (sles/microos). as is, however, the el8 rpm has been known to work on fedora installations. based on this, and a brief look at the vmware/photon repo (looks like they've borrowed policy from fedora) i would recommend giving the el8 rpm a try.


add night owl flavor

Add night owl flavor

Based off of the VS Code theme of the same name https://github.com/sdras/night-owl-vscode-theme/tree/main

you forgot to change --accent-4 and --accent-5

you forgot to change --accent-4 and --accent-5

Nice catch, I copied and pasted this into the repo from my local config and I had changed it after I had in my local config but forgot to copy the change over to the repo folder. I'll push a new commit up.

@refact0r fixed now


⚠ Bofrost.es has degraded performance

In a101962, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 2144 ms

Resolved: Bofrost.es performance has improved in b986165 after 6 minutes.


Source of payload size for SimpleResponse in unclear.

Currently, there it two possible sources for SimpleResponse's payload size:
-- SimpleRequest has field response_size, which should determine the payload size for corresponding SimpleResponse
-- at the same time, ServerConfig.payload_config (currently unused) field also could define what the size of response should be.
We need to decide which info is authoritative and document accordingly. Changing the protos also might be an option.

Also, the comments in services.proto say "The server returns the client payload as-is", which is different from either of those.

This is now set in all languages. Authoritative information comes from ServerConfig.payload_config in the case of generic but from SimpleRequest::response_size otherwise


pdf

can you please post a copy of the thesis in pdf somehere not on campus it blocked me

No problem. The thesis has been accepted in TSC. We will upload the accepted version soon.


Define multiple languages build on Travis CI

We should define python and node versions on Travis build. Right now we are building our envrionments on node 4.2, but Travis standard build use node 0.10.
See:

https://github.com/travis-ci/travis-ci/issues/4090#issuecomment-184811689
https://github.com/travis-ci/travis-ci/issues/4090#issuecomment-184864134

NVM was already introduced. We run python and nodes on our Travis environment.


Delete s3 BucketPolicy before nuke Bucket to avoid errors when policy…

… refuses deletion
This fixes a bug where you run into the problem when deleting s3 buckets but they have a bucket policy that prohibits deleting the entire bucket.
The fix ensures that the bucket policy is cleared before attempting to delete the bucket.
Solves the Issue #213

https://gist.github.com/maxhaensel/43a9ad7b395a1cdd8e2fd555491d5882


netavark-dhcp-proxy: refactor merger with netavark src

Create seperate mod for proxy server and client.

@baude PTAL


Viewer: Support switching between multiple maps

Tegola can be configured to server multiple maps. The viewer does not currently have full support for a config with multiple maps.

In the current version, I can see the multiple maps on the viewer but cannot select them to be shown.

@ezk84 correct. It's yet to be implemented in the client side app. Want to take a stab at it? It's all built using vue.js and can be found here


Command line switch triggered twice in master/slave MQTT Event Stream setup

Home Assistant release (hass --version):
0.49.0
Python release (python3 --version):
Python 3.5.2  (master), Python 3.4.2 (slave)
Component/platform:
MQTT Eventstream & switch.command_line
Description of problem:
I am attempting a master/slave setup with MQTT Event Stream. I have a main master server HA-instance and a slave on a Rasperry Pi. I'm using the interface of the master, when I toggle a switch.command_line that is defined on the slave, its turn_on action gets triggered TWICE.
It happens regardless whether I use the built-in MQTT broker on the master, or a dedicated Mosquitto broker.
PS: I also encounter various problems with persistence of entities from the slave in the interface, but those are NOT part of this bug report.
Expected:
I expect the turn_on action to be executed once only.
From what I figure, with limited insight into Home Assistant though; the script triggers both when the event origin is R (Remote) and again when it is L (Local), I'd expect only the latter. See the slave log further down.


A few NilClass errors

When I'm testing huginn on different databases to ensure it works on corner cases, I encountered a few NilClass errors:

undefined method `id' for nil:NilClass : ./app/controllers/agents_controller.rb:81

When an agent does not have an most_recent_event (gets deleted), the reemit event would fail.

undefined method `received_events' for nil:NilClass : ./app/controllers/agents/dry_runs_controller.rb:7

When the agent retrieved by find_by does not exist, the page would fail.

undefined method `[]' for nil:NilClass : ./app/helpers/jobs_helper.rb:28

A job without job_data field causes this error.

Second exception seems to be expected here


Suggestions about rewards #2

Hello, I have some suggestions for your plugin:

Manage the chance that a player can have a certain reward for example: 1/10 to have a stack of obsidian and 9/10 to have a stack of cobble

Hopefully you will find them interesting and maybe it will happen on the plugin.
Baba.

bump

This would be a really nice feature. I am just thinking how can we implement this? I am thinking about adding a new menu that allows you to customize per item chance (default 100%) this new chance will make it harder for the item to appear.
Internally, this means adding a "re-roll" feature that if the chance of the selected item is not achieved, the random value will re-roll until an item is obtained. I don't know how this will work performance-wise, but it seems like the best solution for now.
roll() {
for (Item item : items) {
int rng = new Random(0.1, 100);
if (item.getChance() > rng) {
roll();
} else {
reward();
}
}
}


Request: Would it be possible to sign the assembly with a strong name?

In order to reference this assembly from another assembly which is signed, a strongly-named assembly is required. Could you add strong-name signing to this assembly? https://learn.microsoft.com/en-us/dotnet/standard/assembly/sign-strong-name
All it should take is generating a keyfile with sn.exe: https://learn.microsoft.com/en-us/dotnet/standard/assembly/create-public-private-key-pair and then checking the box in the project properties. I can provide a PR for this if you like (unless you want to keep the keyfile private so no fork can identify as being the same assembly).

Sure, I'll look into this for the next release. Thanks for offering to make a PR, but I'd rather keep the keyfile private for now.

The assembly is now being signed with a strong name, from version 1.11.0 going forwards.

That's great, it's really helpful for me. Thanks.


AWS ECS - Failed Tasks, ECS Events

🔖 Feature description
Hi @niallthomson
I am currently using the aws ecs plugin to fetch task details across several accounts. However, from the feedback I have received, it will be more useful if we show more data on the cards like failed tasks, the exit code of the containers inside the task, ECS service deployment events and hyperlinking the ecs task lists to the aws task link
🎤 Context
Adding more details in order to make the ecs service card useful for debugging.
✌ Possible Implementation
No response

Hi @Alok650 we have some work in progress to add a drawer with task details when you click on a tasks ID.

Hey @niallthomson is there any progress on the ecs plugin?

Hi @Alok650 apologies for the delayed feedback here. This will likely be split in to several phases of work.
I've opened PR #180 to introduce the capability of drilling in to a given ECS task to get more information.
Based on your feedback above we would want to expand this work in two ways:

Currently we only request "Running" tasks, which is the default for the ECS API. We'd likely need to expand the plugin to get stopped tasks in a similar way to the ECS console UI.
Add a similar UI drawer for ECS services to allow drill down to see details such as events. It looks like the data for this is already in the model it just needs displayed.

Hi @niallthomson
Tried out the new version. One feedback: Can we expand the info card for containers data to take full width - just like done for Overview card

Hi @Alok650 I had some issues with the styling to get this to line up. We can record this as a bug to be fixed though I'd also welcome a PR to fix this.


Fail hard

I have a monitoring system that reads from a graphite cluster with 10 stateless "frontend" instances, and 50 stateful "backend" instances. No replication, so a single host being unavailable results in a subset of data being unavailable. Several alert rules query multiple timeseries (and compute functions against them). When a request fails to a backend instance, the frontend ignores the failure and serves (or computes with) partial data, resulting in incorrect data served to upstream monitoring systems. The net result is false alarms, and developers getting paged in the middle of the night.

What I attempted
Calculate error ratios using asPercent(fail, sumSeries(pass, fail))

Expected Result
The correct error ratio on happy path, or an HTTP 500 when one or more of backends is unavailable.

Witnessed Result
In cases where the backend responsbile for either fail or pass is unavailable, graphite-web is swallowing the error and returning the incorrect result. In the case of pass being unavailable, the query gets transformed into:

asPercent(fail, sumSeries(fail))

Which returns 100 for all data points.

System Details
Ubuntu 16.04 LTS
Python 2.7.6
Graphite Component Versions: 1.1.2

@DanCech FYI

Codecov Report

Merging #2303 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2303      +/-   ##
==========================================
+ Coverage    79.6%   79.61%   +<.01%
==========================================
  Files          85       85
  Lines        8847     8848       +1
  Branches     1892     1892
==========================================
+ Hits         7043     7044       +1
  Misses       1544     1544
  Partials      260      260

Impacted Files
Coverage Δ

webapp/graphite/settings.py
77.38% <100%> (+0.11%)
:arrow_up:

webapp/graphite/storage.py
88.85% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Related to conversation in https://github.com/graphite-project/graphite-web/issues/2218#issuecomment-362283812

I'm 👍 but not sure does default should be True here. It's changing existing behavior and other users use replication, so, current behavior can be acceptable.
Also "All requests failed" error message is misleading here, probably it's better to introduce separate if with distinct error message.

I actually intended False to be the default to preserve existing behavior (late night coding, always a winner). I'll update that, and rewrite the conditional to be more straightforward. Thanks for the feedback!

I agree with Denis, with those changes this should be merge-able.

@deniszh I believe the default in the current iteration is that in settings, we'll default to False (preserving existing behavior), and I've update the local_settings.py.example with a value of true, but commented out (so the action to change behavior is uncommenting the line). Is that not the correct approach here?

@DanCech and @deniszh unit tests added and local_settings.py updated. Please take a look. Thanks!

LGTM

Actually, thinking about this a little more the name of the config setting should probably be changed since it's actually applicable to all stores.  One possible option would be STORE_FAIL_ON_ERROR but I'm open to any suggestions.

I've continued digging on another edge case that's bugging my team, and I think there's another issue I want to capture this (we currently only capture failures, not timeouts). Placing on hold.

@DanCech @deniszh This is now ready for review again, thanks for your patience.
I understand based on our conversation (and the comments in #2218 ) that there's a desire to yield a subset of metrics when not all backends are available. I'm of the mindset (and it seems that as of a few months ago @DanCech agreed ) that this is incorrect, and is more akin to your database silently lying to you. While users manually browsing metrics may find this behavior acceptable, it makes it near impossible to build tools on top of the graphite api without consistency guarantees.
My recommendation would be to continue a full audit of the codebase and abandon anywhere we silently swallow errors and return partial results. I'm hoping this is the only place, but I'm honestly not sure. I'm still very new to the source (even though I've been loving graphite since 2011, so I guess egg on my face :)).

I'm agreed with @DanCeh here that Graphite should not lie to a user and return broken data to a user by default. But it can be viable option to enable because e.g. if you copy your metrics to 2 servers in parallel and one of the servers gone - you still can use another copy - it's a perfectly valid use case. Unfortunately, it's almost impossible to be sure if all your data valid in all cases, so, IMO, we can have an option in properties to enable this behavior - if a user knows what he/she's doing.

@DanCech @deniszh anything blocking us here?


Paths are inprecise

Original:

Zooming in using the Sharp sample app:

The cause of this appears to be that quadratic curves were never implemented.


updating cargo.toml to latest versions of dependencies and correcting…

… errors due to changing api. Also had to create a peripherals module due to how the interrupt macro was implemented in esp32c3_hal

halllp I messed up the branches lol @sethp

this updates branch I branched off will_it_pixel and now main is updated with will_it_pixel


E2e android

End to End testing on Android emulator for CI

converted shell script scripts/e2e-test.sh into JS script to have more programming flexibility
using appium execute 2 tests after a fresh React Native app installation: check HMR and that debugging mode does not crash the app
made sure tests can be stable on limited CI systems and added ways to debug any problems in the future

Using appium we can now interact with Android app and test its state.
As a follow up i am planning to write a blog post on how to use appium with android and ios for e2e testing.

Amazing work Konstantin!
@facebook-github-bot shipit


Use IPFS + cloudflare ipfs + ipfs.io for the package host.

You can use https://nft.storage and within 2 days the package will get dealt with permanently to a crypto hash that can be used with cloudflare's ipfs to https portal to download huge files.

Hey, thanks for the advice
I'll check that when I got some time ^^

Note that the AdobePhotoshop2021.tar.xz hosted here no longer works and the script will download the website rather than the file itself. I agree on using IPFS; it is extremely easy to use, especially with a pinning service like pinata which can essentially make it effortless to upload files like this without fear of it being taken down or ever going stale (anything uploaded to IPFS can essentially be seen as being there forever and immutable so long as some node is still hosting the data, entirely decentralized)
@MiMillieuh

@MoltarTheGreat thanks for the support. and I think I can help on working with this as a pull or something.

But actually the certificate was expired a little while back of the main host site. I think that's what was causing that?

Hello guys, thanks for your answer and help.
I now own a server so I can host photoshop on it.
I just try to fix tar for next update and it should be good to go


Modify template/profile rendering to add options that are normally

exposed to task templates:

api.server: set to full API server URI
api.base: set to API base URI
api.files: set to File API base URI
api.nodes: set to Nodes API base URI
context: set to the graph context
task.nodeId: set to the nodeId of the current graph

*** BUILD #862 ***
Test Name: Http.Services.Api.Profiles renderProfile render profile fail when no active graph and cannot get node bootSettings
Error Details: expected { Object (profile, options) } to deeply equal { Object (profile, options) }
Stack Trace: AssertionError: expected { Object (profile, options) } to deeply equal { Object (profile, options) }
    at assertEqual (node_modules/chai/lib/chai/core/assertions.js:439:19)
    at ctx.(anonymous function) (node_modules/chai/lib/chai/utils/addMethod.js:40:25)
    at doAsserterAsyncAndAddThen (node_modules/chai-as-promised/lib/chai-as-promised.js:298:33)
    at null.<anonymous> (node_modules/chai-as-promised/lib/chai-as-promised.js:251:21)
    at ctx.(anonymous function) [as equal] (node_modules/chai/lib/chai/utils/overwriteMethod.js:48:33)
    at spec/lib/services/profiles-api-service-spec.js:197:40
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Http.Services.Api.Profiles renderProfile render profile fail due to no active graph or there is not bootSettings
Error Details: expected { Object (profile, options) } to deeply equal { Object (profile, options) }
Stack Trace: AssertionError: expected { Object (profile, options) } to deeply equal { Object (profile, options) }
    at assertEqual (node_modules/chai/lib/chai/core/assertions.js:439:19)
    at ctx.(anonymous function) (node_modules/chai/lib/chai/utils/addMethod.js:40:25)
    at doAsserterAsyncAndAddThen (node_modules/chai-as-promised/lib/chai-as-promised.js:298:33)
    at null.<anonymous> (node_modules/chai-as-promised/lib/chai-as-promised.js:251:21)
    at ctx.(anonymous function) [as equal] (node_modules/chai/lib/chai/utils/overwriteMethod.js:48:33)
    at spec/lib/services/profiles-api-service-spec.js:230:40
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Http.Services.Api.Profiles renderProfile render profile pass when having active graph and render succeed
Error Details: expected { Object (profile, options) } to deeply equal { Object (profile, options) }
Stack Trace: AssertionError: expected { Object (profile, options) } to deeply equal { Object (profile, options) }
    at assertEqual (node_modules/chai/lib/chai/core/assertions.js:439:19)
    at ctx.(anonymous function) (node_modules/chai/lib/chai/utils/addMethod.js:40:25)
    at doAsserterAsyncAndAddThen (node_modules/chai-as-promised/lib/chai-as-promised.js:298:33)
    at null.<anonymous> (node_modules/chai-as-promised/lib/chai-as-promised.js:251:21)
    at ctx.(anonymous function) [as equal] (node_modules/chai/lib/chai/utils/overwriteMethod.js:48:33)
    at spec/lib/services/profiles-api-service-spec.js:246:40
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

+1


Better documentation on how to pass options to inline embeds.

resolves: #2631
Let me know if I should change anything

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Refresh on Home Page Removes New Article Header Item

Describe the bug
On the home page, if you refresh, the "New Article" item in the header will disappear
To Reproduce
Steps to reproduce the behavior:

Go to the home page
Refresh your browser
See "New Article" item in header has disappeared

Expected behavior
It should still stay, you have to click on an article currently for the header to show again, to then create a new article
Suggested Solution(s)
Assuming the item display is dependent on something, and the context is lost on a refresh, maybe it's dependent on articles being set?

It's because after a refresh, the is_authenticated returns false, even when signed in

And thats because we dont check if user is authed onn / :
  if (to.path !== "/login" && to.path !== "/register" && to.path !== "/") {
    checkIfUserIsAuthenticated()
  }

The reason for the above is cause users can still checkout the home page but not nned to be logged in to do basic stuff like viewing

@crookse how would we go about this? We'd want to check if the user is authed on /, but dont error if they aren't, else do error for ay other page, which is pretty much that auth method, but without any of the routes.push('/login') stuff

Hi @ebebbington I just put the project to run on my machine. Can a beginner like me tackle this?

Hey @tiagostutz, i guess it depends on your knowledge of Vue, to be honest i am really a beginner and only used it for this project to help out slightly (@crookse did 99% of thee work)
I guess familiarise yourself with the flow, but i think it's an easy issue to tackle - any questions then feel free to ask!

Well, to be honest I'm pretty newbie on Vue too.... I'll work on this while learning a bit more of Vue and when I have something to share about this issue I'll come back.
Thanks!

Sure no problem! You can join the discord (https://discord.gg/CpxheK) and ask as many questions as you want, we can also mark your PR for hacktoberfest if you would like
The logic i referenced above (if (to.path === ...)) is at ./src/public/js/_app.js:148
That's why we don't check if the user is authed, but users should be allowed to visit the home page (/) when not logged in, but i think we might. need to make a case. for if it's the home page, set the user in vue store if they are authenticated.

Thanks! I'll work on it this "opensource friday".

I updated my branch, but I'm struggling to run on MacOS:
realworld_drash | ERROR in ./vue/routes/ArticleEdit.vue?vue&type=style&index=0&lang=scss& (./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./vue/routes/ArticleEdit.vue?vue&type=style&index=0&lang=scss&)
realworld_drash | Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
realworld_drash | Error: Missing binding /var/www/src/node_modules/node-sass/vendor/linux-x64-64/binding.node
realworld_drash | Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 10.x
realworld_drash |
realworld_drash | Found bindings for the following environments:
realworld_drash |   - OS X 64-bit with Node.js 10.x
realworld_drash |
realworld_drash | This usually happens because your environment has changed since running `npm install`.
realworld_drash | Run `npm rebuild node-sass` to download the binding for your current environment.
realworld_drash |     at module.exports (/var/www/src/node_modules/node-sass/lib/binding.js:15:13)

I tried to run the npm rebuild node-sass, but it didn't work. I tried to use another version of node, but without success too.
Anyone had this problem, also?

@tiagostutz, that's very strange. when i run the application, everything works fine for me and im on a mac. do you have a branch up that i can fork to further debug?
also, @ebebbington, we should probably upgrade the container's node version. i've seen this issue many times with node 10. not sure why it's working on my system and not @tiagostutz's though.

Yeah, I also saw this issue with node 10 many times. I tried to upgrade it with no success, tough.
I'm working on my master branch, but I'll try to run the master of this repo first and, if I still struggle, I'll come back to give mor details. Thanks!

I just tested with master of this repo and the same problem occurs. If you could test with a clean run @crookse I'd appreciate.
Meanwhile I'll keep trying too.
Thanks.!

I’ve got a Mac too so I can try see if I get the same error

I did:
$ rm -rf deno-drash-realworld-exampl-app
$ git clone ...
$ cd deno-drash-realworld-example-app
$ docker-compose up

No errors for me - @tiagostutz did you install the npm dependencies manually? Maybe try rm -rf src/node_modules then $ docker exec ddrash_server npm i?

Thanks guys!
I could make it work here by removing my latest debian image and the drash image itself (docker rmi ).
Now, back to work.

Sweet! :D

:D
Just a question, this dev setup does not have hot reload enabled, correct? Is there any other setup with hot reload or is this an issue for the future?

You're correct, this is added in #108 but for the time being, you can just add --watch to the command for realworld_drash inside docker-compose.yml, and update the deno version in .docker/drash.dockerfile to v1.5.4 :)

You're correct, this is added in #108 but for the time being, you can just add --watch to the command for realworld_drash inside docker-compose.yml, and update the deno version in .docker/drash.dockerfile to v1.5.4 :)

Nice... I'm giving it a try here, but it didn't work when changing a .vue file. I think we need the --watch on the webpack executable, but if we do it in the script it "hangs" the execution I think.
Am I missing something here? If not, I'll work on a development environment with --watch in the webpack and deno commands.

ohhh my bad i thought you meant for the deno server 😬 seems we do have one: npm run webpack-watch - try this:
$ docker-compose up -d # start the env etc etc
$ docker exec realworld_drash npm run webpack-watch

That way, the server can still run, and you can watch the vue files (both being in different shells)

Nice!
I have implemented a suggestion to make the docker-compose up bring the deno server and the webpack-watch execution together without needing separed commands. What do you think:
https://github.com/tiagostutz/deno-drash-realworld-example-app/blob/issue-90/.docker/drash.dockerfile
This way, we just need the docker-compose up command and the deno server and webpack starts with hot reload enabled.

Nice!
I have implemented a suggestion to make the docker-compose up bring the deno server and the webpack-watch execution together without needing separed commands. What do you think:
https://github.com/tiagostutz/deno-drash-realworld-example-app/blob/issue-90/.docker/drash.dockerfile
This way, we just need the docker-compose up command and the deno server and webpack starts with hot reload enabled.

We'll discuss this in the PR now one has been opened :)


Ensure that RSASHA1 is not used for the zone-signing and key-signing keys in Cloud DNS DNSSEC

Possible check to target the following resource

[ ] google_dns_managed_zone

closing, tracking in spreadsheet


Styling feature function resolution seems incorrect.

Using http://jsfiddle.net/dz9gL0g0/ I determined that the resolution passed into the styling function appears to be incorrect.  When running this code and using a geographical feature that is 100m in length (a dry dock in Portsmouth Harbour, UK) the scale line matches it's length, and the number of pixels in that line is 68: 100/68 === 1.470588235294118.  The resolution passed into the styling function at the same point is 2.388657133911758.  I had a stackoverflow issue open at http://stackoverflow.com/questions/30366777/openlayers-3-what-does-resolution-represent-as-a-style-function-parameter but didn't really get the clarity I needed.
Am I incorrect in my assumptions?  My scaling in the style function needs to be exact - if I style a feature to be 100m it needs to be exactly 100m.

Have a look at http://jsfiddle.net/fcLvL0j0/
I added a call to http://openlayers.org/en/v3.6.0/apidoc/ol.proj.Projection.html#getPointResolution, which returns the resolution at the given coordinate.
Basically, the map (the view) has a resolution which is what is passed on the style function. But some projections, such as default EPSG:3857 are not equidistant, so the actual resolution (map units per pixel) may vary based on latitude.
You can use the example code to determine the resolution at a given point, such as the geometries midpoint, in the style function. But note that some projections may be distorted, so that 10 vertical pixels might not represent the same distance as 10 horizontal pixels.

That is MUCH closer to what I was estimating - I understand the difference at different latitudes as well.  Thanks for that - odd really, the resolution passed into the styling function isn't much use to me.  Is there any chance that the documentation for the resolution parameter in the API docs could be amended to highlight this for others?


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 236 ms

Resolved: ClamAV performance has improved in 131de1e.


Improve documentation for CRISPY_TEMPLATE_PACK

Having another go at this.

Current coverage is 96.07%

Merging #542 into dev will not affect coverage as of 2a56505

@@              dev    #542   diff @@
=====================================
  Files          24      24
  Stmts        2422    2422
  Branches      216     216
  Methods         0       0
=====================================
  Hit          2327    2327
  Partial        41      41
  Missed         54      54

Review entire Coverage Diff as of 2a56505

Powered by Codecov. Updated on successful CI builds.


Infinite scroll in Books

U show how to paginate in Colors. How about an idea to show infinite scroll for books? What do u think?
Another great features would be filter with auto-complete.
I'm not asking for stuff, just giving some ideas.

Eh, if someone wants to do this they can but I'll stick with my paginated list.


Create a better way to export buffers to napps

On app self.add_to_msg_out_buffer should be more intuitive.

I have been thinking about this issue (not only because of the access of buffer methods, but also because of switches access).
Maybe we can think about creating a "Public Controller" class, as a Singleton, that would held everything that we want to expose from the controller.
The Borg Design Pattern may help with this process:
https://github.com/faif/python-patterns/blob/master/borg.py
Here are other design patterns that we may consider:
https://github.com/faif/python-patterns

I think that a Singleton is not the best solution, since that the apps are not instantiating many "controllers" or "buffers". We should pass this object as argument, like a pointer.

For now, as stated on #62, we will just share the controller among NApps.
Considering this, I'm going to do a refactoring on the current code to use this new behavior before new code is added to our source code base.

I think that for now we could close this, because of the great work of @diraol on PR #63. Thanks.


[question]能编译成功但observer无法启动

问题：miniob在build文件夹下编译成功后未能成功启动observer
init.cpp文件中的第82行，

std::map<std::string, std::string> log_section = properties.get(log_section_name);
其中properties.get()函数似乎没有获取，log_section的size仍为0，想问下是什么原因呢

环境
Windows11，WSL2，Ubuntu22.04
gcc 11.2.0，cmake 3.24.1
运行
yulinux@yu:/mnt/e/github/miniob/build$ make
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- This is SOURCE dir
-- This is BINARY dir
-- This is Project source dir /mnt/e/github/miniob
-- This is PROJECT_BINARY_DIR dir /mnt/e/github/miniob/build
-- HOME dir: /home/yulinux
-- This is UNIX
Disable debug
CMAKE_CXX_FLAGS is  -Wall -DCMAKE_EXPORT_COMPILE_COMMANDS=1  -O2 -g
CMAKE_INSTALL_PREFIX has been set as /usr/local
Install target dir is /usr/local
Begin to build common
-- This is PROJECT_BINARY_DIR dir /mnt/e/github/miniob/build/deps/common
-- This is PROJECT_SOURCE_DIR dir /mnt/e/github/miniob/deps/common
Use /mnt/e/github/miniob/deps/common/conf/ini.cpp
Use /mnt/e/github/miniob/deps/common/io/io.cpp
Use /mnt/e/github/miniob/deps/common/io/roll_select_dir.cpp
Use /mnt/e/github/miniob/deps/common/lang/bitmap.cpp
Use /mnt/e/github/miniob/deps/common/lang/mutex.cpp
Use /mnt/e/github/miniob/deps/common/lang/string.cpp
Use /mnt/e/github/miniob/deps/common/log/log.cpp
Use /mnt/e/github/miniob/deps/common/math/md5.cpp
Use /mnt/e/github/miniob/deps/common/math/random_generator.cpp
Use /mnt/e/github/miniob/deps/common/math/regex.cpp
Use /mnt/e/github/miniob/deps/common/metrics/console_reporter.cpp
Use /mnt/e/github/miniob/deps/common/metrics/histogram_snapshot.cpp
Use /mnt/e/github/miniob/deps/common/metrics/log_reporter.cpp
Use /mnt/e/github/miniob/deps/common/metrics/metrics.cpp
Use /mnt/e/github/miniob/deps/common/metrics/metrics_registry.cpp
Use /mnt/e/github/miniob/deps/common/metrics/reporter.cpp
Use /mnt/e/github/miniob/deps/common/metrics/reservoir.cpp
Use /mnt/e/github/miniob/deps/common/metrics/sampler.cpp
Use /mnt/e/github/miniob/deps/common/metrics/timer_snapshot.cpp
Use /mnt/e/github/miniob/deps/common/metrics/uniform_reservoir.cpp
Use /mnt/e/github/miniob/deps/common/mm/mem_pool.cpp
Use /mnt/e/github/miniob/deps/common/os/os.cpp
Use /mnt/e/github/miniob/deps/common/os/path.cpp
Use /mnt/e/github/miniob/deps/common/os/pidfile.cpp
Use /mnt/e/github/miniob/deps/common/os/process.cpp
Use /mnt/e/github/miniob/deps/common/os/process_param.cpp
Use /mnt/e/github/miniob/deps/common/os/signal.cpp
Use /mnt/e/github/miniob/deps/common/seda/callback.cpp
Use /mnt/e/github/miniob/deps/common/seda/event_dispatcher.cpp
Use /mnt/e/github/miniob/deps/common/seda/example_stage.cpp
Use /mnt/e/github/miniob/deps/common/seda/init.cpp
Use /mnt/e/github/miniob/deps/common/seda/kill_thread.cpp
Use /mnt/e/github/miniob/deps/common/seda/metrics_report_event.cpp
Use /mnt/e/github/miniob/deps/common/seda/metrics_stage.cpp
Use /mnt/e/github/miniob/deps/common/seda/seda_config.cpp
Use /mnt/e/github/miniob/deps/common/seda/stage.cpp
Use /mnt/e/github/miniob/deps/common/seda/stage_event.cpp
Use /mnt/e/github/miniob/deps/common/seda/thread_pool.cpp
Use /mnt/e/github/miniob/deps/common/seda/timer_stage.cpp
Use /mnt/e/github/miniob/deps/common/time/datetime.cpp
Use /mnt/e/github/miniob/deps/common/time/timeout_info.cpp
-- This is the func_static OUTPUT_NAME:common
Install conf/ini.h to /usr/local/common/include/conf
Install defs.h to /usr/local/common/include/
Install io/io.h to /usr/local/common/include/io
Install io/roll_select_dir.h to /usr/local/common/include/io
Install io/select_dir.h to /usr/local/common/include/io
Install lang/bitmap.h to /usr/local/common/include/lang
Install lang/defer.h to /usr/local/common/include/lang
Install lang/mutex.h to /usr/local/common/include/lang
Install lang/serializable.h to /usr/local/common/include/lang
Install lang/string.h to /usr/local/common/include/lang
Install log/log.h to /usr/local/common/include/log
Install math/md5.h to /usr/local/common/include/math
Install math/random_generator.h to /usr/local/common/include/math
Install math/regex.h to /usr/local/common/include/math
Install metrics/console_reporter.h to /usr/local/common/include/metrics
Install metrics/histogram_snapshot.h to /usr/local/common/include/metrics
Install metrics/log_reporter.h to /usr/local/common/include/metrics
Install metrics/metric.h to /usr/local/common/include/metrics
Install metrics/metrics.h to /usr/local/common/include/metrics
Install metrics/metrics_registry.h to /usr/local/common/include/metrics
Install metrics/reporter.h to /usr/local/common/include/metrics
Install metrics/reservoir.h to /usr/local/common/include/metrics
Install metrics/sampler.h to /usr/local/common/include/metrics
Install metrics/snapshot.h to /usr/local/common/include/metrics
Install metrics/timer_snapshot.h to /usr/local/common/include/metrics
Install metrics/uniform_reservoir.h to /usr/local/common/include/metrics
Install mm/debug_new.h to /usr/local/common/include/mm
Install mm/mem.h to /usr/local/common/include/mm
Install mm/mem_pool.h to /usr/local/common/include/mm
Install os/os.h to /usr/local/common/include/os
Install os/path.h to /usr/local/common/include/os
Install os/pidfile.h to /usr/local/common/include/os
Install os/process.h to /usr/local/common/include/os
Install os/process_param.h to /usr/local/common/include/os
Install os/signal.h to /usr/local/common/include/os
Install seda/callback.h to /usr/local/common/include/seda
Install seda/class_factory.h to /usr/local/common/include/seda
Install seda/event_dispatcher.h to /usr/local/common/include/seda
Install seda/example_stage.h to /usr/local/common/include/seda
Install seda/init.h to /usr/local/common/include/seda
Install seda/kill_thread.h to /usr/local/common/include/seda
Install seda/metrics_report_event.h to /usr/local/common/include/seda
Install seda/metrics_stage.h to /usr/local/common/include/seda
Install seda/seda_config.h to /usr/local/common/include/seda
Install seda/seda_defs.h to /usr/local/common/include/seda
Install seda/stage.h to /usr/local/common/include/seda
Install seda/stage_event.h to /usr/local/common/include/seda
Install seda/stage_factory.h to /usr/local/common/include/seda
Install seda/thread_pool.h to /usr/local/common/include/seda
Install seda/timer_stage.h to /usr/local/common/include/seda
Install time/datetime.h to /usr/local/common/include/time
Install time/timeout_info.h to /usr/local/common/include/time
Install version.h to /usr/local/common/include/
Begin to build miniob
-- This is PROJECT_BINARY_DIR dir /mnt/e/github/miniob/build/src
-- This is PROJECT_SOURCE_DIR dir /mnt/e/github/miniob/src
Begin to build obclient
-- Looking for include files stdio.h, readline/readline.h
-- Looking for include files stdio.h, readline/readline.h - not found
readline is not found
Use /mnt/e/github/miniob/src/obclient/client.cpp
Binary directory:/mnt/e/github/miniob/build/src/../bin
Begin to build observer
-- This is PROJECT_BINARY_DIR dir /mnt/e/github/miniob/build/src/observer
-- This is PROJECT_SOURCE_DIR dir /mnt/e/github/miniob/src/observer
MAIN SRC: /mnt/e/github/miniob/src/observer/main.cpp
Use /mnt/e/github/miniob/src/observer/event/session_event.cpp
Use /mnt/e/github/miniob/src/observer/event/sql_event.cpp
Use /mnt/e/github/miniob/src/observer/init.cpp
Use /mnt/e/github/miniob/src/observer/main.cpp
Use /mnt/e/github/miniob/src/observer/net/server.cpp
Use /mnt/e/github/miniob/src/observer/rc.cpp
Use /mnt/e/github/miniob/src/observer/session/session.cpp
Use /mnt/e/github/miniob/src/observer/session/session_stage.cpp
Use /mnt/e/github/miniob/src/observer/sql/executor/execute_stage.cpp
Use /mnt/e/github/miniob/src/observer/sql/expr/expression.cpp
Use /mnt/e/github/miniob/src/observer/sql/expr/tuple_cell.cpp
Use /mnt/e/github/miniob/src/observer/sql/operator/delete_operator.cpp
Use /mnt/e/github/miniob/src/observer/sql/operator/index_scan_operator.cpp
Use /mnt/e/github/miniob/src/observer/sql/operator/insert_operator.cpp
Use /mnt/e/github/miniob/src/observer/sql/operator/predicate_operator.cpp
Use /mnt/e/github/miniob/src/observer/sql/operator/project_operator.cpp
Use /mnt/e/github/miniob/src/observer/sql/operator/table_scan_operator.cpp
Use /mnt/e/github/miniob/src/observer/sql/optimizer/optimize_stage.cpp
Use /mnt/e/github/miniob/src/observer/sql/parser/lex.yy.c
Use /mnt/e/github/miniob/src/observer/sql/parser/parse.cpp
Use /mnt/e/github/miniob/src/observer/sql/parser/parse_stage.cpp
Use /mnt/e/github/miniob/src/observer/sql/parser/resolve_stage.cpp
Use /mnt/e/github/miniob/src/observer/sql/parser/yacc_sql.tab.c
Use /mnt/e/github/miniob/src/observer/sql/plan_cache/plan_cache_stage.cpp
Use /mnt/e/github/miniob/src/observer/sql/query_cache/query_cache_stage.cpp
Use /mnt/e/github/miniob/src/observer/sql/stmt/delete_stmt.cpp
Use /mnt/e/github/miniob/src/observer/sql/stmt/filter_stmt.cpp
Use /mnt/e/github/miniob/src/observer/sql/stmt/insert_stmt.cpp
Use /mnt/e/github/miniob/src/observer/sql/stmt/select_stmt.cpp
Use /mnt/e/github/miniob/src/observer/sql/stmt/stmt.cpp
Use /mnt/e/github/miniob/src/observer/sql/stmt/update_stmt.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/condition_filter.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/db.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/field_meta.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/index_meta.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/meta_util.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/record_manager.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/table.cpp
Use /mnt/e/github/miniob/src/observer/storage/common/table_meta.cpp
Use /mnt/e/github/miniob/src/observer/storage/default/default_handler.cpp
Use /mnt/e/github/miniob/src/observer/storage/default/default_storage_stage.cpp
Use /mnt/e/github/miniob/src/observer/storage/default/disk_buffer_pool.cpp
Use /mnt/e/github/miniob/src/observer/storage/index/bplus_tree.cpp
Use /mnt/e/github/miniob/src/observer/storage/index/bplus_tree_index.cpp
Use /mnt/e/github/miniob/src/observer/storage/index/index.cpp
Use /mnt/e/github/miniob/src/observer/storage/mem/mem_storage_stage.cpp
Use /mnt/e/github/miniob/src/observer/storage/trx/trx.cpp
Use /mnt/e/github/miniob/src/observer/util/comparator.cpp
Binary directory:/mnt/e/github/miniob/build/src/observer/../../bin
Archive directory:/mnt/e/github/miniob/build/src/observer/../../lib
Begin to build test
-- This is PROJECT_BINARY_DIR dir /mnt/e/github/miniob/build/test/perf
-- This is PROJECT_SOURCE_DIR dir /mnt/e/github/miniob/test/perf
 -Wall -DCMAKE_EXPORT_COMPILE_COMMANDS=1  -O2 -g
Build client_performance_test according to /mnt/e/github/miniob/test/perf/client_performance_test.cpp
Begin to build unitest
-- This is PROJECT_BINARY_DIR dir /mnt/e/github/miniob/build/unitest
-- This is PROJECT_SOURCE_DIR dir /mnt/e/github/miniob/unitest
 -Wall -DCMAKE_EXPORT_COMPILE_COMMANDS=1  -O2 -g
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
Build bitmap_test according to /mnt/e/github/miniob/unitest/bitmap_test.cpp
Build bp_manager_test according to /mnt/e/github/miniob/unitest/bp_manager_test.cpp
Build bplus_tree_test according to /mnt/e/github/miniob/unitest/bplus_tree_test.cpp
Build log_test according to /mnt/e/github/miniob/unitest/log_test.cpp
Build md5_test according to /mnt/e/github/miniob/unitest/md5_test.cpp
Build mem_pool_test according to /mnt/e/github/miniob/unitest/mem_pool_test.cpp
Build path_test according to /mnt/e/github/miniob/unitest/path_test.cpp
Build pidfile_test according to /mnt/e/github/miniob/unitest/pidfile_test.cpp
Build rc_test according to /mnt/e/github/miniob/unitest/rc_test.cpp
Build record_manager_test according to /mnt/e/github/miniob/unitest/record_manager_test.cpp
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/e/github/miniob/build
Consolidate compiler generated dependencies of target common
[ 21%] Built target common
Consolidate compiler generated dependencies of target common_static
[ 41%] Built target common_static
Consolidate compiler generated dependencies of target obclient
[ 42%] Built target obclient
Consolidate compiler generated dependencies of target observer
[ 66%] Built target observer
Consolidate compiler generated dependencies of target observer_static
[ 90%] Built target observer_static
Consolidate compiler generated dependencies of target client_performance_test
[ 91%] Built target client_performance_test
Consolidate compiler generated dependencies of target bitmap_test
[ 91%] Built target bitmap_test
Consolidate compiler generated dependencies of target bp_manager_test
[ 92%] Built target bp_manager_test
Consolidate compiler generated dependencies of target bplus_tree_test
[ 93%] Built target bplus_tree_test
Consolidate compiler generated dependencies of target log_test
[ 94%] Built target log_test
Consolidate compiler generated dependencies of target md5_test
[ 95%] Built target md5_test
Consolidate compiler generated dependencies of target mem_pool_test
[ 96%] Built target mem_pool_test
Consolidate compiler generated dependencies of target path_test
[ 97%] Built target path_test
Consolidate compiler generated dependencies of target pidfile_test
[ 98%] Built target pidfile_test
Consolidate compiler generated dependencies of target rc_test
[ 99%] Built target rc_test
Consolidate compiler generated dependencies of target record_manager_test
[100%] Built target record_manager_test
yulinux@yu:/mnt/e/github/miniob/build$ ./bin/observer -s miniob.sock -f observer.ini
Successfully load observer.ini
Not set log file name, use default observer.log
Output configuration
Begin dump configuration
[]

Finish dump configuration

Extend one pool, this->size:128, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:256, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:384, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:512, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:640, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:768, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:896, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1024, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1152, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1280, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1408, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1536, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1664, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1792, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:1920, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2048, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2176, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2304, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2432, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2560, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2688, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2816, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:2944, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3072, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3200, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3328, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3456, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3584, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3712, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3840, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:3968, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4096, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4224, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4352, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4480, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4608, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4736, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4864, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:4992, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:5120, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:5248, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:5376, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:5504, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:5632, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:5760, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:5888, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:6016, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:6144, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:6272, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:6400, item_num_per_pool:128, this->name:BufPool.
Extend one pool, this->size:6400, item_num_per_pool:128, this->name:BufPool.
(Re)Starting State: Pid: 271 Time: Tue Sep 20 10:24:52 2022

The process Name is observer
Successfully init_event_history, EventHistory:0, MaxEventHops:100
Configuration hasn't set ThreadPools
Failed to init thread pool

SedaConfig: unable to initialize seda stages
Failed to init seda configuration!
Shutdown due to failed to init!
Successfully do cleanup, this->name:BufPool.
Shutdown Cleanly!
yulinux@yu:/mnt/e/github/miniob/build$ ps -A
  PID TTY          TIME CMD
    1 ?        00:00:00 init
    9 tty1     00:00:00 init
   10 tty1     00:00:00 bash
  272 tty1     00:00:00 ps

./bin/observer -s miniob.sock -f observer.ini
看起来这个配置文件 observer.ini 不存在或者是空文件，可以确认一下吗

/etc/observer.ini文件如下
# observer's configuration

# log part
[LOG]
# log file's name, default is ${process_name_}.log
LOG_FILE_NAME = observer.log
#  LOG_LEVEL_PANIC = 0,
#  LOG_LEVEL_ERR = 1,
#  LOG_LEVEL_WARN = 2,
#  LOG_LEVEL_INFO = 3,
#  LOG_LEVEL_DEBUG = 4,
#  LOG_LEVEL_TRACE = 5,
#  LOG_LEVEL_LAST
# output log level, default is LOG_LEVEL_INFO
LOG_FILE_LEVEL=3
LOG_CONSOLE_LEVEL=1
# the module's log will output whatever level used.
#DefaultLogModules="server.cpp,client.cpp"

# seda's configuration
[SEDA_BASE]
# record every event
EventHistory=false
# max history event's number, default is 100
MaxEventHistoryNum=100
# threadpools' name, it will contain the threadpool's section
ThreadPools=SQLThreads,IOThreads,DefaultThreads
# stage list
STAGES=SessionStage,ExecuteStage,OptimizeStage,ParseStage,ResolveStage,\
PlanCacheStage,QueryCacheStage,DefaultStorageStage,MemStorageStage,\
TimerStage,MetricsStage

[NET]
CLIENT_ADDRESS=INADDR_ANY
MAX_CONNECTION_NUM=8192
PORT=6789

[SQLThreads]
# the thread number of this threadpool, 0 means cpu's cores.
# if miss the setting of count, it will use cpu's core number;
count=3
#count=0

[IOThreads]
# the thread number of this threadpool, 0 means cpu's cores.
# if miss the setting of count, it will use cpu's core number;
count=3
#count=0

[DefaultThreads]
# If Stage haven't set threadpool, it will use this threadpool
# This threadpool is used for backend operation, such as timer, sedastats and so on.
# the thread number of this threadpool, 0 means cpu's cores.
# if miss the setting of count, it will use cpu's core number;
count=3
#count=0

[SessionStage]
ThreadId=SQLThreads
NextStages=PlanCacheStage

[PlanCacheStage]
ThreadId=SQLThreads
#NextStages=OptimizeStage
NextStages=ParseStage

[ParseStage]
ThreadId=SQLThreads
NextStages=ResolveStage

[ResolveStage]
ThreadId=SQLThreads
NextStages=QueryCacheStage

[QueryCacheStage]
ThreadId=SQLThreads
NextStages=OptimizeStage

[OptimizeStage]
ThreadId=SQLThreads
NextStages=ExecuteStage

[ExecuteStage]
ThreadId=SQLThreads
NextStages=DefaultStorageStage,MemStorageStage

[DefaultStorageStage]
ThreadId=IOThreads
BaseDir=./miniob
SystemDb=sys

[MemStorageStage]
ThreadId=IOThreads

[MetricsStage]
NextStages=TimerStage

谢谢，我们已经解决了，是文件目录写错了，用这个可以启动了
./bin/observer -s miniob.sock -f ../etc/observer.ini


With new version copy selection does not work

Hello,
Version 38.0. The last version of Chrome. The last version of MacOS Mojave. Until now, I could to select a part of the screen and then copy the resulting image. Now that does not work.

The same on Windows 10 with the latest version of Chrome


ERROR Error consuming line XML configurations will be removed in the next release.  Convert cflint-config.xml to json.

ERROR Error consuming line XML configurations will be removed in the next release.  Convert cflint-config.xml to json.

is this issue fixed?

We have the exact same error.  We are using SonarQube 9.9.2.  Have you ever found a solution for this error ?

We have the exact same error. We are using SonarQube 10.3.
it would be great to be able to use this :-)

This is a old post, but I did find a way to fix the issue in sonarQube v10.5
Log into the sonarQube web interface.  Go to Administration in the top navigation bar.   In General Settings, select ColdFusion in the left navigation bar.   In the Java executable options field add the following:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED.  Select the Save button.

@mrhcon Thanks for sharing this !  We still use version 9.9.2, bit it's something worth a try in our lab environment.

The ultimate issue is that the plugin is java v8 and sonarQube is java v17.  Starting from Java 9, the introduction of the Java Platform Module System (JPMS) added more granularity to the visibility and accessibility of classes and members. This system is designed to encapsulate Java's internal APIs and prevent unintended usage, which can lead to more robust and secure applications. However, this also means that some techniques that worked in Java 8 and earlier might encounter access restrictions in Java 9 and later versions.

@mrhcon We tried it and even if the error is still present in the pipeline task, the analysis completes and we get results.  It is indeed a workaround, but it helps us.  Thanks again !


Allow filterByFormula searches

filterByFormula={Field Name}="value"

I want to suggest enhancement, not an issue


Use python3-transforms3d

transforms3d is released to jammy, so the reimplementation here can be removed and replaced with the implementation from transforms3d. The corresponding rosdep key is python3-transforms3d.

Should we close this one out? @Flova @timonegk

I am not sure. We could try adding it once the upstream issue is fixed, but it is also not that important.


Example code and documentation references Operator flag which is ambigious.

When attempting to use the "Operator" parameter on New-CsAutoAttendant the cmdlet will throw an error advising the parameter is ambiguous as it can match multiple parameters
New-CsAutoAttendant : Parameter cannot be processed because the parameter name 'Operator' is ambiguous. Possible matches include: -OperatorEnableSharedVoicemailSystemPromptSuppression -OperatorEnableTranscription -OperatorId -OperatorType.

Examples 1,2 and 4 code need to be updated as well as the "operator" parameter documentation needs to be updated

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 79cc312f-6b92-afa7-e50f-3ea302e58be2
Version Independent ID: 9c3b6b02-ace5-9345-7fb6-24c09ed685e9
Content: New-CsAutoAttendant (SkypeForBusiness)
Content Source: skype/skype-ps/skype/New-CsAutoAttendant.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

Hello @Atreidae James,
What version of the Teams PowerShell are you using?
I'm using latest stable (5.1.0) and I still have -Operator parameter
Thanks

@get-itips Thank you very much for the contribution and sharing this explanation. @Atreidae Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


The link of Binary Dataset for Biaobei can not open

Hi there, I have updated the link for binarized Biaobei in README.md, for your convinence, I also provide the link here:
https://drive.google.com/file/d/1n_7NaGCiyieG5TTsPznI1tpHE9q3x9yt/view


bug: New zathurarc colors undone by autogen commit 15fd0de

Did you check docs and existing issues?

[X] I have read all the tokyonight.nvim docs
[X] I have updated the plugin to the latest version before submitting this issue
[X] I have searched the existing issues of tokyonight.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.10.1
Operating system/version
EndeavourOS
Describe the bug
Examining commit https://github.com/folke/tokyonight.nvim/commit/15fd0de91500019660441481cedb1b6c0f88294f, it appears the previous commit was undone, so the current head does not have the change.
Steps To Reproduce

Examine commits https://github.com/folke/tokyonight.nvim/commit/b6d01e7bf413d1656c114245bd1cd76b44e1b07d and https://github.com/folke/tokyonight.nvim/commit/15fd0de91500019660441481cedb1b6c0f88294f.
Notice how https://github.com/folke/tokyonight.nvim/commit/15fd0de91500019660441481cedb1b6c0f88294f undoes the previous commit.

Expected Behavior
The fix commit should have been applied, properly enabling the transparency.
Repro
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

require("lazy.minit").repro({
  spec = {
    -- add any other plugins here
  },
})

Seems I was too quick in merging #638.
Extras are auto-generated based on their template, so the template should be changed instead.
Feel free to provide a PR

Fair point, I'll begin with a PR for this

Whoops my bad 😬


Tried to upload a file

Steps to reproduce:

Buy an Apple computer.
Download and open Keybase.dmg.
Drag Keybase into your Applications folder & run it.
Try to copy file to private folder

my log id: dfca74fe122fd1acc797401c

Also I keep getting the notification about sending logs, guess I need to restart.

Hi @adammenges -- thanks for the logs.  I assume this is a large file?  If so, that's a known timeout issue for files > 5 MB.  We're actively working on it, sorry for the inconvenience.  This is referenced in several other open issues, including #1981.

Semi large 20mb or something, cool glad you guys are aware of it

The latest versions of KBFS for Linux and OS X (1.0.16-20160627110020+11e6f10 and higher) include both performance improvements, and timeout avoidance, so it should be possible now to upload large amounts of data on all but the worst network connections without seeing an error.  Performance will still be pretty slow, since it involves synchronous round trips to our servers, but it should be a bit faster than before, and more importantly error-free.
Please try it out when you get a chance and let me know if things seem better.  Thanks!

Nah still got a too long and fail error 😢

@adammenges can you please do a keybase log send?

8b2534b1d6bee9a43601901c

Hmm, @adammenges I'm seeing it takes about 7 seconds for you to send the first 512KB of data to our servers.  Does that sound right?  Would you mind sharing your connection upload speed as reported by http://www.speedtest.net/?
(To be clear: this is definitely our problem, our clients should be able to handle any connection speed.  But unfortunately on OS X we are constrained by a hard timeout on file system operations.  Our latest fix should be able to handle connections of about 250KB/s or better, but it seems yours might be lower than that -- or you were using the connection for another big transfer at the same time.  Either way, we need to improve how we handle stuff like this, so thanks for helping out!)

Here you go! Same computer / connection, but of course it may have been faster or slower at that time. FWIW currently feels like the same speed as then.
http://beta.speedtest.net/result/5441007157

Hmm, ok then!  Thanks much.  Do you remember if you were doing much else with the connection or with your CPU at the time of that upload attempt?  I have no other theories for why a 512K upload would take 7 seconds on a connection like that.
Anyway, I'll think about ways to accommodate speeds like that.  Also, we're currently working on writing to local disk first and then uploading the bytes in the background, which would eliminate this issue, but that's still somewhat far away.

Actually yea, tensorflow was off in the background eating all my resources, or at least a good chunk of them.
Good luck fixing! I'm excited for the product to be in a solid state. Side note, probably not the right place for this, but not sure where else it'd go, hopefully you guys are considering storage limits beyond the typical 1TB offered. One vacations worth of photos can be ~700gb. Privacy and storage space are the only reasons I need to operate a NAS. Would be nice to take one more thing off the list of things I need to maintain.

Version 1.0.20 has architectural changes that should greatly improve the large write experience.  If you're still seeing problems, please open a new issue.


File validation not working?

Hey adam..
I think the form validation is not working when the rules is optional (no required)
func handler(w http.ResponseWriter, r *http.Request) {
	rules := govalidator.MapData{
                //Notice this rules is optional
		"file:photo": []string{"ext:jpg,png", "size:2000000", "mime:jpg,png"},
	}

	messages := govalidator.MapData{
		"file:photo": []string{"ext:Only jpg/png is allowed", "size:Maximux size is 2Mb"},
	}

	opts := govalidator.Options{
		Request: r,     // request object
		Rules:   rules, // rules map,
		Messages: messages,
	}

	v := govalidator.New(opts)
	e := v.Validate()
	err := map[string]interface{}{"validationError": e}
	w.Header().Set("Content-type", "applciation/json")
	json.NewEncoder(w).Encode(err)
}

Eventhough im not uploading any file, the validation still run through yielding me to Only jpg/png is allowed
Regarding this line:
https://github.com/thedevsaddam/govalidator/blob/master/validator.go#L95
Even though there is no uploaded file, file is still not nil
I think the correct way should be
if strings.HasPrefix(field, "file:") {
	fld := strings.TrimPrefix(field, "file:")
	file, fileHeader, _ := v.Opts.Request.FormFile(fld)
	if fileHeader.Filename  != "" {
		validateFiles(v.Opts.Request, fld, rule, msg, errsBag)
		validateCustomRules(fld, rule, msg, file, errsBag)
	} else {
		validateCustomRules(fld, rule, msg, nil, errsBag)
	}
}

Some additional info:
Golang v1.10
I'm entirely not sure prior to v1.10 whether its working or not

Go version:
go version go1.10 darwin/amd64

Code
package main

import (
	"encoding/json"
	"fmt"
	"net/http"

	"github.com/thedevsaddam/govalidator"
)

func handler(w http.ResponseWriter, r *http.Request) {
	rules := govalidator.MapData{
		"file:photo": []string{"ext:jpg,png", "size:10000", "mime:jpg,png"},
	}

	messages := govalidator.MapData{
		"file:photo": []string{"ext:Only jpg/png is allowed", "required:Photo is required"},
	}

	opts := govalidator.Options{
		Request:  r,     // request object
		Rules:    rules, // rules map,
		Messages: messages,
	}
	v := govalidator.New(opts)
	e := v.Validate()
	err := map[string]interface{}{"validationError": e}
	w.Header().Set("Content-type", "applciation/json")
	json.NewEncoder(w).Encode(err)
}

func main() {
	http.HandleFunc("/", handler)
	fmt.Println("Listening on port: 9999")
	http.ListenAndServe(":9999", nil)
}

Response:
Without providing any file

Could you please provide me more details. @slier81 It seem's okay

@thedevsaddam ill double check, will inform u afterward

@thedevsaddam
I can sure you that the bug really exist.
I dont know why you didnt get the error when u run it throught postman
package main

import (
	"fmt"
	"net/http"
	"text/template"
	"github.com/thedevsaddam/govalidator"
)

func handler(w http.ResponseWriter, r *http.Request) {

	if r.Method == "GET" {
		t, _ := template.New("foo").Parse(`
			<html><form action="/" method="post" enctype="multipart/form-data">
				<input type="file" name="photo">
				<input type="submit">
    		        </form></html>
		`)

		t.Execute(w, nil)

	} else {
		rules := govalidator.MapData{
			"file:photo": []string{"ext:jpg,png", "size:10000000"},
		}

		messages := govalidator.MapData{
			"file:photo": []string{"ext:Only jpg/png is allowed", "required:Photo is required"},
		}

		opts := govalidator.Options{
			Request:  r,     // request object
			Rules:    rules, // rules map,
			Messages: messages,
		}
		v := govalidator.New(opts)
		e := v.Validate()
		err := map[string]interface{}{"validationError": e}
		fmt.Fprint(w, err)
	}
}

func main() {
	http.HandleFunc("/", handler)
	fmt.Println("Listening on port: 8000")
	http.ListenAndServe(":8000", nil)
}

When u submit the form without uploading any file, u will get map[validationError:map[photo:[Only jpg/png is allowed]]]
Another bug, when u explicitly put required rules and submit the form without uploading any files, the required rules seems not being apply.It will return map[validationError:map[photo:[Only jpg/png is allowed]]]

@slier81 Yes, you are right. Could you please send a PR to fix this issue in dev branch :)

@slier81  Hope it'll work now. Please check from master branch and if it's okay then I'll tag this commit as v1.9

@thedevsaddam eh i thought u waiting for my PR? nvm ill check it, and confirm with u afterwards

@thedevsaddam Yes everything is working as expected.Thank you for your hard work..You can tag this commit as v1.9 and close this issue


Sort staff records using GridFieldSortableRows?

Hello,
I have been using your plugin but I would like the ability to "Click and drag" sort the records using GridFieldSortableRows.
Is this possible with the StaffPage module?
Thanks!

Answered my own question lol.  Just found the how-to in the SortableGridField docs for ModelAdmin
https://github.com/UndefinedOffset/SortableGridField/blob/master/docs/ModelAdminExample.md

Added the following code snippet in code/StaffAdmin.php to the GetEditForm function at line 31:
before:
   public function getEditForm($id = null, $fields = null)     {         $form=parent::getEditForm($id, $fields);         if ($this->modelClass=='Staff' && $gridField=$form->Fields()->dataFieldByName($this->sanitiseClassName($this->modelClass))) {         }         return $form;     }
After:
` public function getEditForm($id = null, $fields = null)
{
$form=parent::getEditForm($id, $fields);
if ($this->modelClass=='Staff' && $gridField=$form->Fields()->dataFieldByName($this->sanitiseClassName($this->modelClass))) {
    }
     if($gridField instanceof GridField) {
            $gridField->getConfig()->addComponent(new GridFieldSortableRows('SortOrder'));
      }
    return $form;
}`

Ah, good call. I added that to the master branch.


Write mistakes

FRFuel or frfuel depends on how you name resource folder, downloadable artifact in no way assume such as it contains no folder in its archive. In the end, it's just easier to have it lowercased 😛


Fix world_sim sleep() to be more consistent between steps

Using the profiler we see that the world_sim update step takes ~20-70ms to process, and current we tack on a fixed sleep delay of 100ms after that (which also appears to vary by up to +5 ms).
This results in the actual time between steps being ~120ms to up to 200ms in this profiler result.
mean=132.23472668810288 ms
std=10.869
profiler_result_1.pdf
As an improvement, keep track of when the last step started, and calculate and delay for exactly the duration needed to have the next step start at the desired sleep delay (100ms for example): delay = desired_delay - (time now - time last step start)

Fixed and updated profile shows tighter histogram for total step time (less outliers as desired) on the same trial run
mean=109.25 ms (vs the 132 ms of the previous)
std=1.422 (vs the 10.869 of the previous)
profiler_result_2.pdf
TBD if 109ms mean is significant or an artifact of this test run


Fix spacing in messages

@patflynn closes #176

FYI what went wrong here is that "White space at the beginning of the line is also ignored." per
https://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s0204propertiesfileformat01.html

lgtm


Paper

Hi,
I am wondering where can I find the paper?
Thanks,
Haiping Wu

This is the link for the paper: https://wangshy31.github.io/papers/2-MANet.pdf

Many thanks!


Properly count CDS cache miss

We should be adding nil entries when we miss, so we can get the count of
misses. Otherwise, we miscount, which occasionally leads to 0 hits and
not logging cached:x/y at all

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
c496c812e618cdc4119f60a0768b8794d177d32b
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


What is the recommended configuration for vis-network for family tree graph

I apologize for asking questions here, but SO didn't help almost at all and I don't think this question can be answered by just anyone, because it kinda requires a bit deeper knowledge of how the lib works under the hood...
Short question is how to instruct vis-network library to minimize the sum of all the edges length in hierarchical layout mode (needed for the display of the family tree).
Instead of this:

how could we get this:

Maybe the length of the edges is not the key point here, but it would be great if we could configure the lib to minimize the number of edges intersections, at least.
If anyone could even point me to the correct source file, to take a look at, I would be willing to investigate this and hopefully provide a commit which makes this possible, if it's not already.

Maybe somebody wants to create a new example that demonstrates this? I also would love this!

I plan to do some changes that would make this doable (without fragile hacks). Namely custom ordering of nodes on the same level and edge crossing reduction. Since the other PRs messing with hierarchical layout are merged I can have a look at this next.

If I can help in any way, please let me know. I'll be more than happy to help with this feature.
So far, I figured that nodes are ordered, on the same level, by their ID, so I managed to mitigate this issue by re-mapping node ids to custom ordered new ids, manually.

If I can help in any way, please let me know. I'll be more than happy to help with this feature.
So far, I figured that nodes are ordered, on the same level, by their ID, so I managed to mitigate this issue by re-mapping node ids to custom ordered new ids, manually.

Hello,
I am facing the same problem on hierarchical network and need to put nodes with particular order on each level of hierarchy. The trick with ID`s that are set in right order does not work for me. How did you manage to sort edges on particular level of hierarchy?

Hello @Thomaash :)
I am facing the very same problem, was looking in other places for some hints but still nothing to be found :thinking: Any update on how vis-network can generate reasonable hierarchical layout (proper tree), without multiple edges crossing?
Maybe some hints of what should be implemented and where? It is a blocker for me currently, maybe I will be able to help somehow to implement this.
Cheers,
Krzysiek

Hi @liosedhel,
the most relevant parts are in https://github.com/visjs/vis-network/blob/master/lib/network/modules/LayoutEngine.js, https://github.com/visjs/vis-network/tree/master/lib/network/modules/layout-engine and https://github.com/visjs/vis-network/blob/master/lib/network/modules/components/DirectionStrategy.js. Basically the task is to make sure the x position (or y if it's horizontal) is chosen in such a way that there are no (or as little as possible) crossing edges.
Thanks for any help.

Hi!
I fill the tree from the bottom and add nodes and enges from left to right. Here is my project for building my family tree. Maybe my advice will help. The project is in Russian.
https://древо.курылев.рф/
Good luck!

@AlekseyKurilev, What you've done is the most beautiful family "tree" I have seen. It is honestly worth spinning out as a standalone project with the necessary data format to be used with. I'd definitely use it.
What does it mean when people are connected with a line and a number on top of it?
Do you think it will be possible to add additional connections types like adoptive parents?
One suggestion - to color mother relationship with pink and father with blue or green, just different colors, doesn't matter which exactly. Presently line crossings are visually confusing.

@AlekseyKurilev, What you've done is the most beautiful family "tree" I have seen.

@akostadinov Thanks!

It is honestly worth spinning out as a standalone project with the necessary data format to be used with. I'd definitely use it.

I also could not find a beautiful ready-made solution and decided to make my own :)
You can use my code freely. I'm not a professional programmer, just an IT guy.

What does it mean when people are connected with a line and a number on top of it?
This means that there are children in this family and their number is indicated above the line. If you click on the line area, a tree will open relative to this family

Do you think it will be possible to add additional connections types like adoptive parents?
At the moment, I have not solved 2 problems:
adoption of children
several marriages.
It is not clear how to display such cases: top, bottom, sideways? I have not seen a good graphical solution to this problem in other systems.

One suggestion - to color mother relationship with pink and father with blue or green, just different colors, doesn't matter which exactly. Presently line crossings are visually confusing.
Initially, we wanted to use the standard genealogy colors to determine gender. But then we decided that it would be like a tree, the leaves are green, the men are darker, the women are lighter.
The colors can be easily corrected.

P.S. I understand the main logic is implemented in https://древо.курылев.рф/tree.js

Yes.

I wanted to create a library that would work with the standard genealogy format gedcom. And almost all the data on my site is loaded from gedcom saved from the program https://gramps-project.org/blog/.
But

in other projects, the gedcom format is different and it will not be possible to make a universal system.
gedcom does not contain some of the information needed for the site, such as the area for the person's face in the photo. I upload this data to the site from Gramps XML.

If I undertook to redo everything again :), I would place the database from Gramps in MySQL on the site, enter the data through a program on the computer, and on the site take the information directly from MySQL.
If you decide to develop the project - write, I am ready to share my experience. I have a lot of ideas on how to improve the project, but unfortunately I do not have enough knowledge and experience in programming. And time to do it all alone :(
Please note that clicking on a photo opens the gallery
in which people's faces are highlighted, and on the main page in the upper-right corner of the tree, a link appears that builds a tree relative to the selected person. I have collected information about 420 relatives.
Good luck!

I'm just leaving an idea here... I wonder if the problem is because there are too many people per "level" which forces nodes apart horizontally. Here's my idea: we could use birth-years as levels to ensure hierarchy is maintained and provide some more breeathing room to each "layer".  Now I doubt you'll need 2021 levels, so we could normalize them to your range. So if your first person was born in 1900 and your last person was born in 2000, then you would have 100 levels, and each node would get a level 1:100 corresponding to their normalized birth-year.
Would this help?


Apply eth2 linting to files outside the eth2 pkg

What was wrong?
There are some files under the "eth2 umbrella" that did not
get the eth2 linting treatment when we converted the eth2 package
some time ago.
How was it fixed?
This is a (huge) formatting PR to fix that.
Cute Animal Picture

yep, just some dangling eth2 formatting changes we didn't get to and some minor reorganizations of some of the test code (i.e. pulling eth2 things under eth2 dirs)


Micronaut openapi: fix set fluxForArrays and invokerPackage properties

@melix Sorry, found minor bug. Could you review and merge it too?


Set cache_intermediate to True

Description
Force the docker to use cache for intermediate layers.
cache_intermediate flag prevents removal of intermediate layers while building docker containers in the slave instances.
However, by setting it to False by default, this caching of intermediate layers is never used in our CI docker containers.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] Code is well-documented:
[ ] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Comments
This should hopefully cache the intermediate steps for subsequent CI runs on an instance that has already build the docker container. It will help expedite the time to build the container on those subsequent CI runs.
Note : This comes into the picture only when the CI files aren't changed i.e. instructions to build docker container remain unchanged.

@josephevans thanks for pointing it out while building & testing unix gpu AMIs on G4 instances.

@leezu plz review!

This should only affect the case where the docker build has failed. See the rm=false option in docker build. Thus it's useful for local development, but shouldn't be required on CI?

Closing since this one is useful for local development & not on CI.


[doc] Link Verilog Coding Style

In https://github.com/lowRISC/opentitan/blame/master/doc/rm/_index.md#L10 the reference points to lowRISC/style-guides. This should probably point the the Verilog Coding Style present in doc/rm/?

Just now saw #988 which my previous search somehow did not find.


refactor(app): Remove ssid parameter from OnDeviceRouteParams

Overview
This PR removes :ssid from routers and passes ssid as a prop and move a couple of components from pages to organisms.
ConnectViaWifi renders components conditionally.
changeState: null => DisplayWifiList
changeState: !null && showSelectAuthenticationType: true => SelectAuthenticationType
changeState: !null && showSelectAuthenticationType: false => SetWifiCred
After tapping Connect button in SetWifiCred, ConnectViaWifi checks requestState
requestState.status pending => ConnectingNetwork
requestState.status success => SucceededToConnect
requestState.status failure => FailedToConnect
This PR also fixes UI diff between current edge and mid-fi design.

Changelog

remove :ssid from routers
remove 2 routes (set-wifi-cred and connected-network-info ) from OnDeviceDisplayApp
Update Wifi Connection screens to align with the mid-fi design
ConnectResult component changes into FailedToConnect component

Review requests

make -C app-shell push-ot3 host=dev_kit_ip_address and wifi auto connection process works as expected

Risk assessment
low

[ ] address the last comment
[ ] test this branch with a dev kit


question on embedded slices in struct

What would be the best way to handle a case where you have a slice of Bar as a member of the Foo struct and you want to be able to run a named query like the following
f := Foo{Id: 1}
rows, err := db.NamedQuery(SELECT * FROM foo WHERE id=:id, f)
type Foo struct {
Id                int64     db:"id" json:"id"
Name            sql.NullString    db:"name" json:"name"
Bar              []Bar    json:"bar"
}
type Bar struct {
Id                int64     db:"id" json:"id"
Name            sql.NullString    db:"name" json:"name"
}

I got it figured out,  it works as is and I end up loading bar from another method.