Update jsprim

Follow up to https://github.com/microsoft/azuredatastudio/pull/17678
I noticed we started getting build warnings after this change
{"type":"warning","data":"Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>This was because the dependency chain coming from request was still asking for json-schema 0.2.3. Unfortunately request is unlikely to ever be updated (https://github.com/request/request/issues/3394) but a dependency further down the chain (jsprim) backported a fix to update the required json-schema version and so instead of forcing json-schema to be 0.4.0 we can just use the newer version of jsprim to accomplish the same thing without the hardcoded resolutions and get rid of the warnings completely.
(suggestion from https://github.com/request/request/issues/3394#issuecomment-989737335)
Test build : https://mssqltools.visualstudio.com/CrossPlatBuildScripts/_build/results?buildId=135895&view=results

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 48.275%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
14747

Relevant Lines:
29007

💛  - Coveralls


High Availability Embedded etcd is not LEARNER

Environmental Info:
K3s Version:  1.24.17

Node(s) CPU architecture, OS, and Version:

Cluster Configuration:

Describe the bug:
[root@node0 ~]# etcdctl member list   --cacert=/data/k3s/server/tls/etcd/server-ca.crt   --cert=/data/k3s/server/tls/etcd/client.crt   --key=/data/k3s/server/tls/etcd/client.key --write-out="table"
+------------------+---------+----------------+-----------------------------+-----------------------------+------------+
|        ID        | STATUS  |      NAME      |         PEER ADDRS          |        CLIENT ADDRS         | IS LEARNER |
+------------------+---------+----------------+-----------------------------+-----------------------------+------------+
| 58aab802ac34a961 | started | node2-d5aa31d8 | https://<IP_ADDRESS>:2380 | https://<IP_ADDRESS>:2379 |      false |
| 5ded2084fe0bd6eb | started | node0-6b5275f6 | https://<IP_ADDRESS>:2380 | https://<IP_ADDRESS>:2379 |      false |
| 87b895f95fdc9c1d | started | node1-20ea1b9d | https://<IP_ADDRESS>:2380 | https://<IP_ADDRESS>:2379 |      false |
is not LEARNER
Steps To Reproduce:

Installed K3s:
Installed etcdctl
ETCD_VERSION="v3.5.5" ETCD_URL="https://github.com/etcd-io/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz" curl -sL ${ETCD_URL} | sudo tar -zxv --strip-components=1 -C /usr/local/bin
etcdctl member list   --cacert=/data/k3s/server/tls/etcd/server-ca.crt   --cert=/data/k3s/server/tls/etcd/client.crt   --key=/data/k3s/server/tls/etcd/client.key --write-out="table"
is not LEARNER
Expected behavior:

Actual behavior:

Additional context / logs:

Once servers successfully join the cluster, they are no longer learners, but full members. There isn't a problem with the setup you are describing. See https://etcd.io/docs/v3.3/learning/learner/#raft-learner


Human intervention abstraction

Is your feature request related to a problem? Please describe.
For certain use cases, the agent requires additional information or steering from the user in order to execute correctly.
Describe the solution you'd like
An abstraction that calls for human intervention during a single agent's workflow. This could be consider a "tool" that can be configured for a certain use case. I would assume the agent builder would need to define when this "tool" should be used.

HI Maya, this ticket is super valid and might be a good first iteration. This could be part of a larger "epic" of work enabling human-in-the-loop interaction.
The human as a tool is valid for cases when the agent determines the need to call out to a human for more information, but a complementary paradigm for the framework developers might be building agents with predefined points of validation and corrections from the end user.
So having a concept similar to the emitter for observing agent behaviour might be useful to have a concept that allows developers to pause and resume agent behaviour with a human interaction in the middle.
Eg:
Validate Step/Tool to call
Validate Tool Input to use

In a more complex case, the end user may also be able to rerun previous prompt with adapted tool inputs that they observed were used by the agent last time.

thanks for the feedback @prattyushmangal  - would you be open to contributing this?

Hi @mmurad2 , I find this issue very exciting and would love to contribute! I'm new to the Bee Framework but have experience developing an agent-based product with a custom framework, which I'm now migrating to Bee. This feature aligns closely with patterns I've worked on, and I'd be thrilled to help implement it.
Is someone already working on this, or can I take the issue?
Thanks
Matias

@matiasmolinas just assigned to you :) @prattyushmangal has been thinking about human intervention and can help provide feedback. Also @Tomas2D if you have any specific input on this, please do share!

Hey everyone, yep this works for me too, apologies was not able to commit to completely contributing this feature.
Happy to help @matiasmolinas where you need. Once we have a pattern for "pausing execution" to collect inputs from humans by implementing the Human Tool we should be able to replicate that for the human-in-the-loop interceptor/verifier interactions too 😄

Hi everyone!
Thank you for the feedback and support on this issue. I’ve brainstormed a solution using GitHub Copilot Workspace to address the need for human intervention during an agent's workflow. Below is the proposed approach, incorporating feedback and outlining how I plan to implement the feature:
Current Observations
There is no abstraction in the current framework that allows for human intervention during an agent's workflow.
Tools, emitters, and agent runners currently lack the mechanisms for pausing and resuming workflows to collect human inputs.
Proposed Solution
I propose introducing a HumanTool class to enable human intervention. Here are the key components and design decisions:
Triggering the Human Intervention Tool
Selected Approach: Define a specific tool name, such as "HumanTool".
Update the BeeAgentRunner class to recognize "HumanTool" in the parser regex.
Implement logic in the tool method to handle human intervention and pause the agent’s workflow.
Expected User Inputs
Tool Name: "HumanTool".
Tool Inputs: Any relevant data required for the tool to function.
Validation Points: Allow users to validate or correct outputs at predefined points in the workflow.
Optional Rerun Prompt: Enable rerunning the previous prompt with updated inputs.
Design of the Human Intervention Process
Selected Approach: Human Tool Integration
Define "HumanTool" as part of the BeeAgent’s tools.
Implement pausing and resuming workflows when the tool is invoked.
Collect and validate user inputs during the pause, then continue the workflow.
Configuration of the Human Intervention Tool
Add "HumanTool" to the BeeAgentRunner parser regex.
Update the BeeAgent class to integrate this tool seamlessly into the workflow.
Workflow Resumption
The workflow will resume from where it was paused after collecting human inputs.
This ensures continuity and allows the agent to proceed with validated or updated inputs.
Next Steps
While I await feedback, I’m working on a first version following this approach. This will allow me to test the design and identify potential challenges early.
Before I move too far ahead, I’d appreciate your feedback, especially on:
The selected approaches for triggering human intervention and resuming workflows.
Any additional use cases or edge cases to consider for the HumanTool.
Let me know if this aligns with the project’s vision or if there are any adjustments needed. Once confirmed, I’ll move forward with refining the implementation and providing updates as I progress.

Hi Matias,
Thank you for your thoughts on this issue already. Here are my thoughts.
Step 1: Define the 'HumanTool' as a tool which can be equipped to any Bee and be invoked by it when it deems there is some missing information required for the following steps and hence must call out to the user to collect it. So I agree with you on the following:

Tool Name: 'HumanTool'
Tool Input: For a Bee to use this tool, it should generate a NL message asking the user for some specific information.
Tool Output: NL response from the end user
BeeAgentRunner 'HumanTool' Execution: The Runner should then execute the HumanTool by sending the NL message to the end user and wait for a response. Once the user has responded, the tool output (message from the user) is appended to the Agent memory and the loop for Action and ActionInput can continue

Step 2: Is repurposing this HumanTool pattern for other, developer defined interventions. But I propose that we defer this to a secondary issue once we have implemented a pattern for HumanTool which the Bee Agents can use for info gathering.

Thank you for the detailed guidelines! I’m currently working on the implementation of the HumanTool feature, following your suggestions. I’m using the readline utility for managing the back-and-forth interaction and referencing the io.ts file and StackOverflow links for technical details. I’m starting with the single use case where the agent pauses to request specific input from the user and resumes once the input is provided. I’ll share updates as I progress!

Hi all,
I’ve published a branch containing the first working draft, which I’m currently refactoring and refining. You can find it here:
draft
Key Points and Observations:
Prompt Dependencies:
I’m using OpenAI’s GPT-4 for generating responses and have been defining/modifying prompts as part of this draft.
One concern is that these prompts might work well with GPT-4 but could potentially fail with smaller models, such as LLaMA’s smaller versions. This might introduce compatibility risks, which I’ll need to address in later iterations.
HumanTool Invocation:
I noticed that the conditions for calling HumanTool aren’t well-defined. My current assumption is that it should be triggered when additional information is required to achieve a goal, but this needs further refinement to ensure consistency and reliability.
Initial Testing:
The draft works for a very simple use case in its "happy path." This provides a starting point for making the solution more generic and identifying and fixing bugs.
Class and Prompt Modifications:
I edited some existing classes and prompts for this draft. While this approach is acceptable for internal testing, I plan to refactor these changes in the final version to ensure a cleaner implementation. The final version will use my own extensions and classes to maintain modularity and readability.
Request for Feedback:
I’m sharing this early progress to gather partial feedback during development. This will help me align my approach with the project’s expectations and make necessary adjustments before the final commit.
Thanks! Let me know your thoughts.

This is a sample output of the current draft:
User 👤 : Can you write the formula to calculate the are of a triangle?
Agent (thought) 🤖 :  The user is asking for the formula to calculate the area of a triangle, which I can provide directly.
Agent (final_answer) 🤖 :  The formula to calculate the area of a triangle is:

\[ \text{Area} = \frac{1}{2} \times \text{base} \times \text{height} \]

Where "base" is the length of the base of the triangle, and "height" is the perpendicular height from the base to the opposite vertex.
Agent 🤖 :  The formula to calculate the area of a triangle is:

\[ \text{Area} = \frac{1}{2} \times \text{base} \times \text{height} \]

Where "base" is the length of the base of the triangle, and "height" is the perpendicular height from the base to the opposite vertex.
User 👤 : I need help to calculate an are of a shape.
Agent (thought) 🤖 :  The user's request is too general. I need to ask for more specifics about the shape.
Agent (tool_name) 🤖 :  HumanTool
Agent (tool_input) 🤖 :  { "message": "Could you please specify the type of shape you need help with? For example, is it a triangle, rectangle, circle, etc.?" }
HumanTool Could you please specify the type of shape you need help with? For example, is it a triangle, rectangle, circle, etc.?
Interactive session has started. To escape, input 'q' and submit.
Please provide the required information: a circle

Agent (tool_output) 🤖 :  a circle
Agent (thought) 🤖 :  The user needs help calculating the area of a circle. I will provide the formula for that.

\[ \text{Area} = \pi \times r^2 \]

Where \( r \) is the radius of the circle.
Agent 🤖 :  The formula to calculate the area of a circle is:

\[ \text{Area} = \pi \times r^2 \]

Where \( r \) is the radius of the circle.

Summary of work in progress
Key Updates

Introduction of HumanTool:

Adds the ability for the agent to pause workflows and request human input dynamically.
Facilitates interactive back-and-forth communication during task execution.

Interactive Input Handling:

Utilizes createConsoleReader for real-time user interaction.
Ensures a smooth and responsive dialog to gather additional information when needed.

Prompt Template Enhancements:

Prompts now explicitly require the use of HumanTool for cases where user clarification is needed.

Workflow Comparison: Before and After the Update

Aspect
Before Update
After Update

Clarification Handling
No mechanism for user input.
Uses HumanTool for interactive clarification.

Workflow Continuity
Terminated workflows with incomplete inputs.
Pauses and resumes workflows after user input.

Agent-User Interaction
Limited to static outputs.
Enables dynamic and conversational interactions.

Tool Integration
Relied on predefined tools.
Adds flexibility with HumanTool.

Prompt Behavior
Static prompts guiding responses.
Prompts enforce human intervention when needed.

Benefits of the Update

Enhanced User Experience:

The agent is more conversational and adaptable to user needs.

Improved Workflow Continuity:

Prevents workflow termination due to missing or unclear data.

Support for Complex Tasks:

Handles ambiguous scenarios or multi-step workflows requiring user guidance.

Sequence Diagrams
Before Update
sequenceDiagram
    participant User
    participant ConsoleReader
    participant BeeAgent
    participant LLM
    participant Tools
    participant Memory

    User->>ConsoleReader: Provide Input
    ConsoleReader->>BeeAgent: Submit Prompt
    BeeAgent->>LLM: Generate Initial Response
    LLM-->>BeeAgent: Provide Output
    BeeAgent->>Tools: Invoke Tools (if required)
    Tools-->>BeeAgent: Return Results
    BeeAgent->>Memory: Update Memory
    BeeAgent-->>ConsoleReader: Deliver Response

After Update
sequenceDiagram
    participant User
    participant ConsoleReader
    participant BeeAgent
    participant LLM
    participant HumanTool
    participant Tools
    participant Memory

    User->>ConsoleReader: Provide Input
    ConsoleReader->>BeeAgent: Submit Prompt
    BeeAgent->>LLM: Generate Initial Response
    LLM-->>BeeAgent: Decide to Use HumanTool
    BeeAgent->>HumanTool: Request User Input
    HumanTool-->>User: Display Message and Await Response
    User->>HumanTool: Provide Input
    HumanTool-->>BeeAgent: Return User Input
    BeeAgent->>Tools: Invoke Tools (if required)
    Tools-->>BeeAgent: Return Results
    BeeAgent->>Memory: Update Memory
    BeeAgent-->>ConsoleReader: Deliver Final Response

Hi everyone,
I’ve implemented the first version of the HumanTool and integrated it into the BeeAgent framework. You can find my work in my fork here: human-tool branch.
Key Updates:

HumanTool Implementation: Allows the agent to dynamically request human input during workflows and resume once input is received.
Shared Input/Output Management: Uses a shared console reader (sharedConsoleReader) for consistent handling of user interactions.
Improved Session Continuity: Ensures workflows are paused and resumed correctly without unexpected termination.
Prompt Enforcement: Updated prompts to ensure the agent reliably invokes HumanTool when encountering missing or unclear data.

I plan to review and refine this implementation tomorrow. If everything works as expected during testing, I will create a pull request to merge these changes into the main repository.
If there are any specific areas you’d like me to double-check or additional feedback before the PR, feel free to let me know.
Thank you for the guidance and support on this issue!

@mmurad2 @prattyushmangal I created a PR with a basic implementation of what @prattyushmangal define as step 1:
Step 1: Define the 'HumanTool' as a tool which can be equipped to any Bee and be invoked by it when it deems there is some missing information required for the following steps and hence must call out to the user to collect it. So I agree with you on the following:
Tool Name: 'HumanTool'
Tool Input: For a Bee to use this tool, it should generate a NL message asking the user for some specific information.
Tool Output: NL response from the end user
BeeAgentRunner 'HumanTool' Execution: The Runner should then execute the HumanTool by sending the NL message to the end user and wait for a response. Once the user has responded, the tool output (message from the user) is appended to the Agent memory and the loop for Action and ActionInput can continue
In the meantime, while the PR is approved or a change is requested, I am working on step 2:
Step 2: Is repurposing this HumanTool pattern for other, developer defined interventions. But I propose that we defer this to a secondary issue once we have implemented a pattern for HumanTool which the Bee Agents can use for info gathering.
Taking into account the original idea:
The human as a tool is valid for cases when the agent determines the need to call out to a human for more information, but a complementary paradigm for the framework developers might be building agents with predefined points of validation and corrections from the end user.
So having a concept similar to the emitter for observing agent behaviour might be useful to have a concept that allows developers to pause and resume agent behaviour with a human interaction in the middle.
Eg:
Validate Step/Tool to call
Validate Tool Input to use
In a more complex case, the end user may also be able to rerun previous prompt with adapted tool inputs that they observed were used by the agent last time.
Here is my question: Should I implement step 2 using the same issue ID and create a new PR, or do I need to create a new issue to implement it?

@mmurad2 @prattyushmangal I’ve created a PR for Step 1 implementing the HumanTool as defined:
Tool Name: HumanTool
Tool Input: Generates an NL message requesting specific information from the user.
Tool Output: NL response from the end user.
Execution: The BeeAgentRunner sends the message, waits for the response, appends it to the Agent memory, and continues the action loop.
The PR also includes fixes based on @Tomas2D’s observations.
In parallel, I’m working on Step 2 to repurpose the HumanTool for additional developer-defined interventions, integrating it with the new RePlanAgent. This involves creating an InterventionTool and an InterventionManager to handle validations and corrections, leveraging the RePlanAgent's planning and event-driven capabilities.
Should I continue using this issue ID for Step 2 and submit a new PR, or would it be better to create a separate issue for implementing the human intervention abstraction?

Difference Between HumanTool and Human Intervention
I'm currently working on distinguishing between HumanTool and Human Intervention to establish a clear and structured approach for human-in-the-loop interactions within the Bee framework. This is a work in progress, and I welcome any feedback or suggestions to refine these concepts further.
HumanTool
Definition:

HumanTool is a specific tool designed to facilitate information gathering from the user. It allows the agent to request missing or additional information necessary to proceed with its tasks.

Key Characteristics:

Purpose: Solely focused on collecting specific pieces of information from the user.
Functionality:

Tool Input: Generates a natural language (NL) message asking the user for specific information.
Tool Output: Receives an NL response from the user.
Execution Flow: The BeeAgentRunner sends the NL message, waits for the user's response, appends the response to the agent's memory, and continues the action loop based on the new information.

Usage Scenario: When the agent encounters an ambiguity or lacks necessary data to complete a task, it invokes the HumanTool to clarify or obtain the required details.

Example:

Input: "What is the weather?"
HumanTool Action: Sends a message like, "Could you provide the location for which you would like to know the weather?"
User Response: "Santa Fe, Argentina."
Outcome: The agent uses the provided location to fetch and deliver the weather information.

Human Intervention
Definition:

Human Intervention is a broader abstraction that encompasses various types of interactions between the agent and the user beyond mere information gathering. It includes mechanisms for validation, correction, clarification, and more complex interactions that may influence the agent's decision-making process.

Key Characteristics:

Purpose: Facilitates diverse interactions to enhance the agent's performance, reliability, and accuracy by involving the user in different stages of the workflow.
Functionality:

Validation: Seeks confirmation from the user to ensure the correctness of data or decisions made by the agent.
Correction: Allows the user to provide corrections to any mistakes or inaccuracies identified by the agent.
Clarification: Requests additional details or explanations to resolve ambiguities or uncertainties in user input or agent actions.
Flexibility: Can handle multiple types of interactions, making it adaptable to various scenarios where human input is beneficial.

Execution Flow: Managed through an abstraction layer (e.g., InterventionManager and InterventionTool) that listens for specific events (like intervention_requested) and orchestrates the appropriate human interactions before allowing the agent to proceed.
Integration with RePlanAgent: Utilizes the planning and event-driven capabilities of the RePlanAgent to determine when and how to invoke different types of interventions, ensuring a seamless workflow that incorporates human feedback effectively.

Usage Scenario:

Validation Example: After compiling a report, the agent asks, "Is the data presented in the report accurate?" based on which it either proceeds or revises the report.
Correction Example: If the agent makes an incorrect assumption, it prompts, "I believe the project deadline is next Friday. Is this correct?" allowing the user to correct the deadline if necessary.
Clarification Example: When faced with vague user instructions, the agent asks, "Could you please specify what you mean by 'optimize the system'?"

Summary of Differences

Aspect
HumanTool
Human Intervention

Scope
Specific to information gathering
Broad, encompassing validation, correction, clarification, and more

Purpose
Obtain missing or additional information
Enhance agent reliability and accuracy through diverse user interactions

Functionality
Generates NL messages for specific info requests
Manages various interaction types, orchestrates when and how to engage the user

Implementation
Single tool (HumanTool)
Composite system (InterventionTool, InterventionManager, integrated with RePlanAgent)

Use Cases
Resolving ambiguities, filling data gaps
Confirming decisions, correcting errors, clarifying instructions, adapting workflows based on user input

Integration
Invoked directly by the agent when needed
Triggered through event-driven mechanisms, allowing for pausing and resuming agent workflows based on interventions

How They Work Together

HumanTool serves as a foundational component for Human Intervention by handling the basic task of information collection.
Human Intervention builds upon this by introducing additional layers and types of interactions, enabling more sophisticated and context-aware human-agent collaborations.
By integrating Human Intervention with the RePlanAgent, I aim to create a flexible and robust system where the agent can dynamically decide when to seek user input for various reasons, not limited to just gathering information.

This is an ongoing effort, and I plan to further develop these concepts to enhance the agent's interaction capabilities. Any feedback or insights would be greatly appreciated!

Should I continue using this issue ID for Step 2 and submit a new PR, or would it be better to create a separate issue for implementing the human intervention abstraction?

Hey Matias, thank you for your work on this issue.
With regards to your question I think the human intervention should be a separate ticket and separate PR to make it easier for you and for reviewers most likely.
For the human intervention piece, I imagine an initial PR which demonstrates how an agent can refer back to the end user to validate the step selected and the parameters selected would be a good first pass. In followup work, that could be abstracted to an intervention class, that you mention, that each Agent can utilise and then switch on the Human Intervention features based on a flag at runtime.
Hope that helps.

Thank you for the feedback, @prattyushmangal! Here’s how I plan to proceed based on your suggestions:
Separate Issue and PR
I’ll create a new issue and PR specifically for the human intervention abstraction. This will keep the scope focused and easier for reviewers to follow, as suggested.
Initial PR Scope: Full Support for Validation, Basic Support for Correction and Clarification, and the Intervention Class
To ensure a robust design and implementation, the initial PR will include:

Full Support for Validation:

The agent will validate both the step selected and the parameters passed to tools.

Basic Support for Correction and Clarification:

The agent will handle simple interactions where corrections or additional clarifications are needed.

Intervention Class:

A reusable Intervention Class will be introduced to manage validation, correction, and clarification workflows in a consistent manner. This class will:

Provide a unified interface for handling different types of human interventions.
Allow agents to dynamically enable or disable intervention features using runtime flags.

Examples of Human Intervention Scenarios
To align with your request, I’ll include examples for validation, correction, and clarification:

Validation (Full Support):

Example 1: The agent validates the step selected:

Agent Prompt: "I am about to perform the step 'Optimize Database Queries'. Is this the correct next step?"
User Response: "Yes, that's correct."

Example 2: The agent validates tool parameters:

Agent Prompt: "I will call the WeatherTool with the location 'Santa Fe, Argentina'. Please confirm if this is correct."
User Response: "No, the location should be 'Rosario, Argentina'."

Correction (Basic Support):

Example 1: The agent identifies an error:

Agent Prompt: "There seems to be an error in the project deadline. Please provide the correct date."
User Response: "The correct deadline is March 15th."

Example 2: The agent validates and updates a parameter:

Agent Prompt: "The expected value for the parameter is 42, but it was set to 24. Should I correct it?"
User Response: "Yes, change it to 42."

Clarification (Basic Support):

Example 1: The agent resolves ambiguous input:

Agent Prompt: "Could you clarify what you mean by 'optimize the system'?"
User Response: "I mean improving the database performance."

Example 2: The agent clarifies tool input:

Agent Prompt: "You requested a translation but didn’t specify the target language. Could you clarify?"
User Response: "Please translate it to French."

Planned Implementation

Intervention Class:

The Intervention Class will serve as a reusable component for managing all types of human interventions (validation, correction, clarification).
It will standardize the interaction workflow and provide runtime flag support to dynamically enable or disable intervention features.

Validation:

The agent will use the Intervention Class to validate both steps and tool parameters before proceeding.
Validation interactions will ensure workflows are accurate and aligned with user intent.

Correction and Clarification:

Basic support for these interactions will allow the agent to request corrections for identified errors or clarify ambiguous inputs.
User responses will be incorporated into the agent’s memory to adjust workflows as needed.

Runtime Flag for Human Intervention:

The runtime flag will allow dynamic toggling of human intervention features, ensuring flexibility in how and when they are triggered.

Documentation and Diagrams:

Detailed documentation and sequence diagrams will be included to illustrate:

How validation, correction, and clarification scenarios are handled using the Intervention Class.
How workflows are paused and resumed after receiving user input.

I forgot to mention earlier that human intervention will be integrated with RePlan to make the framework more adaptive and capable of handling nuanced, real-world scenarios. This integration introduces the InterventionTool, allowing the assistant to emit an "intervention_requested" event when it needs user input for validation, clarification, or correction.
By seamlessly blending automation with human oversight, RePlan can support a broader range of complex scenarios while maintaining accuracy, adaptability, and trustworthiness. Here’s how this integration expands RePlan’s capabilities:

Error Resolution and Plan Refinement: When tools provide incomplete or ambiguous data, human intervention enables the assistant to pause and refine its steps with user guidance.

High-Stakes Decision Support: For critical scenarios such as regulatory compliance or creative decision-making, human validation ensures the plan aligns with legal requirements, creative standards, or specific constraints.

Enhanced Collaboration: By involving users at key moments, the assistant not only ensures better outcomes but also creates a more interactive and user-centric experience.

Examples of Scenarios Leveraging Human Intervention

Scenario: Event Planning with Conflicting Requirements

Context: A user requests the assistant to plan a corporate event but provides inconsistent details about the number of attendees and venue preferences.
Execution:

The assistant gathers venue options using tools but detects conflicting requirements (e.g., an attendee count that exceeds venue capacities).
It emits an "intervention_requested" event with the type clarification, prompting the user to confirm the attendee count and prioritize venue attributes (e.g., location, size, cost).
With the clarified inputs, the assistant updates the plan and completes the workflow seamlessly.

Scenario: Regulatory Compliance in Financial Planning

Context: A user asks the assistant to draft a financial plan for a multinational company, requiring compliance with tax laws in multiple regions.
Execution:

The assistant uses tools to retrieve tax regulations but identifies potential conflicts or gaps in the data.
It emits an "intervention_requested" event with the type validation, asking the user to confirm specific legal interpretations or provide additional details from a legal expert.
After receiving the input, the assistant adjusts the financial plan to ensure compliance and alignment with the user’s objectives.

Integrating human intervention with RePlan not only enhances the assistant's flexibility but also allows it to confidently tackle scenarios that demand both automation and human insight. This addition ensures that RePlan remains reliable, adaptive, and user-focused while supporting a wider variety of complex use cases.


wrong path in cameraParametersUrl in threex-artoolkitcontext.js

Do you want to request a feature or report a bug?
Trying to fix another bug #43 i found this one.

What is the current behavior?
in threex-artoolkitcontext.js there is this line:
https://github.com/AR-js-org/AR.js/blob/c2a780aca9f6ad60c432ef6f1eaf7fa9d74cbbac/three.js/src/threex/threex-artoolkitcontext.js#L21
but it is wrong because point to non existent path.
If the current behavior is a bug, please provide the steps to reproduce.
Do this, in dev example comment out this line:
https://github.com/AR-js-org/AR.js/blob/c2a780aca9f6ad60c432ef6f1eaf7fa9d74cbbac/three.js/examples/dev.html#L101
in this way you will force to use the path from threex-artoolkitcontext.js, and you will receive this error:
artoolkit.api.js:1603 GET http://localhost:3000/three.js/parameters/camera_para.dat 404 (Not Found)
artoolkit.min.js:1 Error: supplied file does not appear to be an ARToolKit camera parameter file.
artoolkit.min.js:1 loadCamera(): Error loading parameter file /camera_param_0 for camera.
artoolkit.min.js:1 Allocated videoFrameSize 172800
artoolkit.min.js:18 Uncaught
ExitStatus {name: "ExitStatus", message: "Program terminated with exit(0)", status: 0

to solve we need to change the path for cameraParametersUrl in this way:
cameraParametersUrl: ARjs.Context.baseURL + '../data/data/camera_para.dat',

Please mention other relevant information such as the browser version, Operating System and Device Name
Tested on Desktop localhost (ubuntu 18.04.03)
What is the expected behavior?
It should load the default camera parameters.

I will fix tomorrow this.

Great job @kalwalt, i'm closing this as you solved on the linked PR.

yes, i think it was a very old isue indeed.

In the future we can consider also another solution for deafult data configuration, it would be useful have a config file where to store all this settings and so a user can easily changes the default settings. See for example the Ogre engine or other project has a similar approach. I will open a separate issue for this feature.

Facing an similar issue the above solution not working or might be i am doing wrong, can anyone give me the Solution, here is the error i am seen on my screen.

Facing an similar issue the above solution not working or might be i am doing wrong, can anyone give me the Solution, here is the error i am seen on my screen.

This issue is closed and you have already posted in a new issue here #539 !!
Please don't double posting!


Visual Studio Code bug

Im new to web development and I just installed Visual Studio Code. I installed some extensions. I'm bothered and annoyed when suddenly some very long text automatically inserted in my code. It start in the end tag of html(). It is very long so im just gonna show here some of it.
when encoutered I just delete it but it comes back every a couple of minute or so. Please help I do not know what to do to fix/avoid/stop this.
Kindly view my attached photo to see what im talking about.

One of you extensions is doing that. Please delete all extensions and add them one by one to figure out which extension is to blame.
Thanks


[$250] Tab - When switching tabs, the Custom Profile Avatar shows delayed

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.10-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Issue found when executing PR https://github.com/Expensify/App/pull/45663
Action Performed:
PreCondition: User has a custom avatar added to their profile.

Access staging.new.expensify.com
Sign into a valid account (Beta enabled)
Go to inbox tab
Go to Search tab
Go to Profile tab

Expected Result:
User expects the Avatar image to load instantly upon changing tabs
Actual Result:
The avatar image blinks a takes a couple of seconds to load
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/a44efc0b-4e34-4df1-88bf-d1ac53d9aa60
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ec9d563c4ff0e779
Upwork Job ID:<PHONE_NUMBER>262348738
Last Price Increase: 2024-07-24

Issue OwnerCurrent Issue Owner: @s77rt

@strepanier03  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #vip-vsp

Working on this now.

Repro'd all good here.

@dominictb

in order to land in that state when the component mount, the image should be in the cache

Isn't the image being cached?

@dominictb After an image is loaded the first time it should be cached. Next time you render the same image it should load from the cache. Why this is not the case here?

@dominictb Sounds to me like a bug in RNW. If we overwrite the initial state to be LOADED. Will the image load correctly on tab switch?

@dominictb Will the image load correctly (from cache) in that case? (regardless of the placeholder)

@dominictb In that case the bug should be fixed at RNW level

@dominictb Adding the image uri to the cache entries makes sense to me but a better solution is to make use of the browser cache, that is to modify the ImageUriCache.has method to check if a uri is already cached. Can you look into that?

@dominictb Checking the existing cache is more reliable than maintaining a second one. I found this solution https://stackoverflow.com/a/50111407 that may work. Can you check it out?

@dominictb Why we have a globally defined Image? Also please make sure if an image does not exist in cache we don't fetch it.

instead of check using ImageLoader.has, which under the hood use ImageUriCache to check, we can use ImageLoader.isCached

We don't want to replace ImageLoader.has. Instead that method should make use of new isCached mechanism

@dominictb ImageUriCache.has is what we should update.

Also please make sure if an image does not exist in cache we don't fetch it.

Can you look at that as well?

@dominictb

we can add an early return here if state is LOADED

This is unrelated to the new cache function. Notice that after creating a Image and setting the src, the browser fill fetch that image which is an unwanted behaviour

Still looking for proposals

@dominictb I don't see how your are proposing to fix the unnecessary fetch when checking for cache. Can you please restate your solution in plain English? - This should be related only to ImageLoader.has and not to the logic that loads the image, i.e. calling ImageLoader.has should not make a fetch request.

@dominictb

document.appendChild(image) // if the image is in the cache -> display the image using DOM manipulation

Why are you trying to display the image? We just want to check if the image is in cache or not. Also isn't unsetting the src helpful?

@dominictb The solution looks good to me. Can you please raise a PR in RNW. Please provide a reproducible example and follow the repo's contribution guide.

@dominictb At this point I don't think the order matters much.
🎀 👀 🎀 C+ reviewed
Link to proposal

Not overdue. @dominictb is going to raise a PR upstream (RNW)

Not overdue. Waiting on RNW PR feedback

Same ^

@stitesExpensify Let's make this Weekly and hold on https://github.com/necolas/react-native-web/pull/2709

Still on hold

Put this in #quality.

@dominictb Seems like the upstream PR needs your attention. Please provide a reproducer for the repo maintainers to test

@dominictb Is the bug no longer reproducible? Did you try with a custom avatar?

@dominictb If we have nothing to fix then let's do nothing


Add interface accepting String[] in StringArrayDeviceId.

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

Project coverage is 62.06%. Comparing base (2525314) to head (386adef).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #221      +/-   ##
===========================================
- Coverage    62.06%   62.06%   -0.01%
===========================================
  Files          467      467
  Lines        30754    30753       -1
  Branches      4039     4038       -1
===========================================
- Hits         19089    19088       -1
  Misses       11212    11212
  Partials       453      453

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


How can I extract the taxa names?

I can extract the following from the output;
•num_detections
•detection_classes
•detection_boxes
•detection_scores
by using the following;
[sess.graph.get_tensor_by_name(‘num_detections:0’),
sess.graph.get_tensor_by_name(‘detection_scores:0’),
sess.graph.get_tensor_by_name(‘detection_boxes:0’),
sess.graph.get_tensor_by_name(‘detection_classes:0’)]
When I print out the resulting 5 sets of detection_classes and scores;
350
0.9786933660507202
358
0.018166758120059967
323
0.01589692384004593
360
0.010653774254024029
348
0.003607431659474969
What is the tensor output name for detection_class so that I can get that tensor by name? Or is there some other approach?

This issue looks like it is related to training detectors not the dataset itself. Unless there are any objections I'm closing it.


Fix potential clash with /api

The /api/* prefix is common enough that some people will want to use it for their own purposes, breaking NuxtIcon.
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Here I use the following code in my nuxt.config.ts which allows SSR to communicate with my (non-Nuxt) backend :
  nitro: {
    routeRules: {
      '/api/**': { proxy: 'http://proxy:80/api/**' },
    },
  },

Which breaks recent versions of NuxtIcon because it (boldly) assumes /api is available. This PR fixes that.

EDIT: I currently fix this by adding
  icon: {
    localApiEndpoint: '/_nuxt_icon_api/',
  },

to my nuxt.config.ts but I assume it shouldn't be necessary.

I don't think we should change the default, as the module does assume you have a Nuxt backend. In your case where you configure your custom backend, the module does offer you the option to configure it, as you already pointed out. I am not sure if we need to do anything here, consider your cases are also a bit specific.

I do think considering /api/ namespace available is still a fairly bold assumption to make, even when someone is using a Nuxt backend ; people will usually want it for their own apps?

/api/ is the default convention Nuxt has. Whatever the name we choose, there is a chance to "clash" if you want to say it strictly. Instead of a random name like /_ prefixed, I'd prefer to follow Nuxt's default convention. It's not hard-coded, and you can change it to whatever makes sense to you.
Thanks for bringing this up.


system-config-printer: 1.5.11 -> 1.5.12

Fixes some dialogs with our version of gtk like
 grid.attach (entry, 1, 2, i, i + 1, 0, 0)
TypeError: Gtk.Grid.attach() takes exactly 6 arguments (8 given)

Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build system-config-printer

packagekit is a runtime dependency $out/bin/install-printerdriver.
The previous url (https://github.com/zdohnal/system-config-printer) is a fork of the new one, according to github.

Also fedora did this as well:  (see changelog for 1.5.11-17):
https://apps.fedoraproject.org/packages/system-config-printer/sources/spec/
I changed the homepage in meta and enabled tests.

1.5.11-17

I wonder why fedora doesn't declare any dependence on packagekit.

packagekit is a runtime dependency $out/bin/install-printerdriver.

So then I guess the system-config-printer nixos module/s needs to enable services.packagekit.enable then. And yes it does need it wrapped with the typelibs

https://github.com/OpenPrinting/system-config-printer/blob/master/install-printerdriver.py#L5

Modified the dependency on packagekit in the module (whose existence I discovered with your comment).

We already use python3: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix#L6423

We already use python3: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix#L6423

I see. Can we get rid of that? I find it makes the expression hard to read, and overriding shouldn't be any different.

done

Is there anything that needs to be amended yet ?

Thanks @symphorien.


Dotnet 8 Support

Dotnet 8 Support to Make the Shake Detector Lib to be Inline with Dotnet Maui Release Cycle

Done with #20


Updated nuget package to rc4

Fixes #14757
Swashbuckle.AspNetCore rc4 is released.

Thank you, @synercoder!


Error when creating new user

( ! ) Deprecated: Function mysql_numrows() is deprecated in C:\wamp\www\pickem\signup.php on line 32
Call Stack
Time	Memory	Function	Location
1	0.0005	272688	{main}( )	..\signup.php:0
Server version: 5.6.17 - MySQL Community Server (GPL)
Protocol version: 10
Apache/2.4.9 (Win64) PHP/5.5.12

The latest version uses mysqli and should no longer have this error.


Add support for opening links in incognito mode under Linux/BSD

Description
This PR adds support for opening links in private/incognito mode under Linux/BSD when using a desktop environment that follows the freedesktop specification. See https://github.com/Chatterino/chatterino2/discussions/4366
List of technical changes

Add private switches for firefox-esr and chromium
Get only the browser executable name instead of the full command line on windows (to match new behavior under linux)
Implement XDG specs for reading desktop files and finding default applications
ego check (add myself to contributors.txt)

Discussion points
I originally thought that you could read desktop files, which are essentially .ini files, with QSettings. However, the default app database (which is a desktop file) uses mimetypes as key names, which is incompatible with QSettings as the key may include /. I wrote a parser for them which didn't end up bigger than the code consuming it, so I feel comfortable still not adding another dependency for this. That being said, it should probably get as many eyes on it as possible since it is still a home-rolled parser.
Some other points I would appreciate opinions on:

XDGDesktopFile: is returning a static empty group for non-existent groups the right move here? std::optional instead?
IncognitoBrowser.cpp: I didn't change too much of this implementation, which means that getDefaultBrowserExecutable is called twice per settings open. Is a big search like this PR adds worth caching?
The XDG spec allows for multiple defaults listed by preference. This implementation just returns the first one, and if chatterino doesn't know how to open it in private mode, it gives up immediately. Could try to fall back to the next default if there is one, but this might end up seemingly ignoring whatever the user set in their DE if we don't support it.

I've tested this under Windows (for the minor behavior change) and under Debian testing with gnome. Throw your hairiest setups at this and let me know if anything breaks.

Works as expected for me now. If you can think of some other tests, please add them. Please also read through the commits I've done and see if there's anything I've misunderstood

Done and done. Looks good to me


feat: added environment variable handling

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[firebase_dynamic_links] plugin is not working in ios when app is in Back ground.

I have downloaded the example app from https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_dynamic_links/example.
This example is running fine on android but on ios it is doing nothing when app is in background.
In fact onLink method was never called when ios app is in background.
HELP me please.

I'm going to try to check this this week.

I've pushed a PR with the fix.

I've pushed a PR with the fix, can you try? You just need to point to the PR version?
  firebase_dynamic_links:
    git:
      url: https://github.com/mrmilu/flutterfire.git
      path: packages/firebase_dynamic_links
      ref: firebase_dynamic_links-0.5.0+4

I don't know what @dhanrajvermaRepo means with "when app is in background" because, in order to open a Dynamic link from somewhere else, your app needs to be in background for sure, so...
Anyway, it is not working at all on iOS. App is being called and opened just fine, but the listener is not being called...
And not, @jherencia, your fix is not working, at leas not for me...
So I opened another issue https://github.com/FirebaseExtended/flutterfire/issues/262

@quetool
As you pointed in the other issue (#262) you are using a custom domain, and when you configured correctly the Info.plist file, everything worked.
Does that mean that the my PR worked for you?

@jherencia sorry, I didn't notice you were talking about default domains... I didn't try again your PR after I solved my issue like I said in in https://github.com/FirebaseExtended/flutterfire/issues/262
So, we need to wait for @dhanrajvermaRepo to answer that...

@quetool
So you were using the latest official version (0.5.0+3) not the PR when it worked, right?

That's right

Managed to get it working, though it's still subscribing to onLink multiple times because I can't unmount it.
Also note that
Navigator.pushNamed(context, deepLink.path);

needs to be a child of MaterialApp to work.

I've pushed a PR with the fix, can you try? You just need to point to the PR version?
  firebase_dynamic_links:
    git:
      url: https://github.com/mrmilu/flutterfire.git
      path: packages/firebase_dynamic_links
      ref: firebase_dynamic_links-0.5.0+4

I'll test my App on 8 October and let you know whether it is working or not.
Thank you

I've pushed a PR with the fix, can you try? You just need to point to the PR version?
  firebase_dynamic_links:
    git:
      url: https://github.com/mrmilu/flutterfire.git
      path: packages/firebase_dynamic_links
      ref: firebase_dynamic_links-0.5.0+4

Hi, I have tested my app with this PR. It is working when app is in background. When app is in killed state it navigates to appropriate screen but returns to my root widget within a micro/millisecond. It is so fast that it seems it directly opens my root widget (root screen ie login screen). I have is used toast to debug this issue as in killed state i can not debug it.

Can you post some example code to reproduce this?

Can you post some example code to reproduce this?

I am sorry.
PR is working fine in both android and iOS. There was a bug in my code.

Great to hear, thank you!

@jherencia I can confirm your PR fix the problem on iOS when app is in "killed state"

Great to hear, thank you!

why onError callback of onLink method is not called when we do not come by link in iOS?
getInitialLink always returns null in iOS.

@jherencia Can I release my App with this PR?

Well, I cannot guarantee anything about this, it's a PR which has to pass a review and a process which can end up in the repo or not.
I wouldn't trust my repo because I will change things on it without notice.
It's your call to clone it and freeze the version so you can rely on your own repo or wait or whatever you think is the best for your project.

Closing - looks like the problem is now fixed. Please create a new issue if the problem still persists as this one has generated a lot of noise from users posting stack traces without formatting.


Datapackage descriptors annotating SQLite DBs are invalid

The datapackage descriptors we are currently generating to annotate the SQLite DBs which are derived from XBRL data are not valid.  For example, in the ferc-xbrl-extractor environment running this command:
frictionless validate ferc714_xbrl_datapackage.json

Results in a bunch of errors like:
# -------
# invalid: sqlite:////Users/zane/code/catalyst/pudl-work/output/ferc714_xbrl.sqlite
# -------

## Summary

+-----------------------------+--------------------------------------------------------------------------+
| Description                 | Size/Name/Count                                                          |
+=============================+==========================================================================+
| File name (Not Found)       | sqlite:////Users/zane/code/catalyst/pudl-work/output/ferc714_xbrl.sqlite |
+-----------------------------+--------------------------------------------------------------------------+
| File size                   | N/A                                                                      |
+-----------------------------+--------------------------------------------------------------------------+
| Total Time Taken (sec)      | 0.002                                                                    |
+-----------------------------+--------------------------------------------------------------------------+
| Total Errors                | 1                                                                        |
+-----------------------------+--------------------------------------------------------------------------+
| Scheme Error (scheme-error) | 1                                                                        |
+-----------------------------+--------------------------------------------------------------------------+

## Errors

+-------+---------+---------+---------------------------------------------------+
| row   | field   | code    | message                                           |
+=======+=========+=========+===================================================+
|       |         | scheme- | The data source could not be successfully loaded: |
|       |         | error   | cannot create loader "". Try installing           |
|       |         |         | "frictionless-"                                   |
+-------+---------+---------+---------------------------------------------------+

Or if we try and validate a single resource and return the errors in JSON form:
frictionless validate --json --resource-name planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_table_03_2_instant ferc714_xbrl_datapackage.json

{
  "version": "4.40.11",
  "time": 0.001,
  "errors": [],
  "tasks": [
    {
      "resource": {
        "path": "sqlite:////Users/zane/code/catalyst/pudl-work/output/ferc714_xbrl.sqlite",
        "profile": "tabular-data-resource",
        "name": "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_table_03_2_instant",
        "dialect": {
          "table": "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_table_03_2_instant"
        },
        "title": "03.2 - Schedule - Planning Area Hourly Demand and Forecast Summer and Winter Peak Demand and Annual Net Energy for Load, Table - instant",
        "description": "ferc:SchedulePlanningAreaHourlyDemandAndForecastSummerAndWinterPeakDemandAndAnnualNetEnergyForLoadBAbstract",
        "format": "sqlite",
        "mediatype": "application/vnd.sqlite3",
        "schema": {
          "fields": [
            {
              "name": "entity_id",
              "title": "Entity Identifier",
              "type": "string",
              "format": "default",
              "description": "Unique identifier of respondent"
            },
            {
              "name": "filing_name",
              "title": "Filing Name",
              "type": "string",
              "format": "default",
              "description": "Name of filing"
            },
            {
              "name": "date",
              "title": "Instant Date",
              "type": "date",
              "format": "default",
              "description": "Date of instant period"
            },
            {
              "name": "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_axis",
              "title": "Planning Area Hourly Demand and Forecast Summer and Winter Peak Demand and Annual Net Energy for Load [Axis]",
              "type": "string",
              "format": "default",
              "description": "Typed dimension used to distinguish a set of related facts about planning area hourly demand and forecast summer and winter peak demand and annual net energy for load."
            }
          ],
          "primary_key": [
            "entity_id",
            "filing_name",
            "date",
            "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_axis"
          ]
        },
        "scheme": "",
        "hashing": "md5",
        "stats": {
          "hash": "",
          "bytes": 0
        }
      },
      "time": 0.001,
      "scope": [],
      "partial": false,
      "errors": [
        {
          "code": "scheme-error",
          "name": "Scheme Error",
          "tags": [],
          "note": "cannot create loader \"\". Try installing \"frictionless-\"",
          "message": "The data source could not be successfully loaded: cannot create loader \"\". Try installing \"frictionless-\"",
          "description": "Data reading error because of incorrect scheme."
        }
      ],
      "stats": {
        "errors": 1
      },
      "valid": false
    }
  ],
  "stats": {
    "errors": 1,
    "tasks": 1
  },
  "valid": false
}

The problem?
I think the issue here is that we are using v4 of the frictionless package, and the ability to annotate SQLite DBs was only introduced in v5.  Looking at the datapacakge.json file, I see that tie dialect field is invalid. In frictionless v5, it would need to say sql and and then point at the table within the sql dictionary. in previous versions it would describe the CSV dialect that's being used in the file that the path element points at.  See this example of data package annotating an SQLite DB.
{
            "path": "sqlite:////Users/zane/code/catalyst/pudl-work/output/ferc714_xbrl.sqlite",
            "profile": "tabular-data-resource",
            "name": "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_table_03_2_instant",
            "dialect": {
                "table": "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_table_03_2_instant"
            },
            "title": "03.2 - Schedule - Planning Area Hourly Demand and Forecast Summer and Winter Peak Demand and Annual Net Energy for Load, Table - instant",
            "description": "ferc:SchedulePlanningAreaHourlyDemandAndForecastSummerAndWinterPeakDemandAndAnnualNetEnergyForLoadBAbstract",
            "format": "sqlite",
            "mediatype": "application/vnd.sqlite3",
            "schema": {
                "fields": [
                    {
                        "name": "entity_id",
                        "title": "Entity Identifier",
                        "type": "string",
                        "format": "default",
                        "description": "Unique identifier of respondent"
                    },
                    {
                        "name": "filing_name",
                        "title": "Filing Name",
                        "type": "string",
                        "format": "default",
                        "description": "Name of filing"
                    },
                    {
                        "name": "date",
                        "title": "Instant Date",
                        "type": "date",
                        "format": "default",
                        "description": "Date of instant period"
                    },
                    {
                        "name": "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_axis",
                        "title": "Planning Area Hourly Demand and Forecast Summer and Winter Peak Demand and Annual Net Energy for Load [Axis]",
                        "type": "string",
                        "format": "default",
                        "description": "Typed dimension used to distinguish a set of related facts about planning area hourly demand and forecast summer and winter peak demand and annual net energy for load."
                    }
                ],
                "primary_key": [
                    "entity_id",
                    "filing_name",
                    "date",
                    "planning_area_hourly_demand_and_forecast_summer_and_winter_peak_demand_and_annual_net_energy_for_load_axis"
                ]
            }
        }

Frictionless v4 can't interpret sqlite:// URL as path
As it is, the system sees the sqlite:// URL in the path and has no idea how to interpret it to find the data.
The sqlite:// path must be relative not absolute
In addition to being unable to interpret the sqlite:// URL as a path at all, the URL uses an absolute path rather than a relative path, which is invalid. It is invalid both in that it violates the frictionless data resource specification which says:
A “url-or-path” is a string with the following additional constraints:

MUST either be a URL or a POSIX path
URLs MUST be fully qualified. MUST be using either http or https scheme. (Absence of a scheme indicates MUST be a POSIX path)
POSIX paths (unix-style with / as separator) are supported for referencing local files, with the security restraint that they MUST be relative siblings or children of the descriptor. Absolute paths (/) and relative parent paths (…/) MUST NOT be used, and implementations SHOULD NOT support these path types.

In addition, the absolute path is simply wrong if you download our nightly build outputs since the path to which the descriptor and databases were written on the build server have no meaning on the user's machine:
sqlite:////home/catalyst/pudl_work/output/ferc1_xbrl.sqlite

What to do?

If we want to annotate SQLite DBs, I think we need to update to Frictionless v5 and follow the datapackage standards for annotating SQL sources, including using a relative path to the DB from the location of the datapackage.json file.
We should be validating every datapackage that we output during the nightly builds and in the integration tests for this repository.
If we want to, I think we can annotate all of the SQLite DBs and Parquet outptus using a single large datpackage descriptor.

@zaneselvans thanks for investigating this. We do have an integration test that is supposed to check for valid datapackage's, but clearly it needs to be overhauled. We currently only test the Ferc1 datapackage, and it uses the Package property metadata_valid to check for validity, which is maybe insufficient?

IIRC that check will probably only look at the Package-level metadata, and not recurse down into any of the resources which make up the package (which confused the heck out of me when I was first working with the datapackage validations).

This came up again in #242 and I tried to fix it with no luck. I've made the paths relative, but I've run into another error for all of the tables: Please provide "dialect.sql.table" for reading. I spent some time messing around with the dialect, but couldn't resolve the issue, so I'm going to leave this open for the time being.


Contribution: Deploy

The name of the icon is "deploy". It's going to be used when deploying code. The following .zip has the svg and an image of what it looks like.
deploy.zip

Thank you for bringing this up @emily827! Let's see if how many other Carbon users want this icon, and if our (or brand) designers agrees that the icon fits well in Carbon ecosystem. Meanwhile, you can use your custom icon in carbon-components-react's <Icon> component, by using a JSON data from SVG (XML) with a conversion, as <Icon>'s icon prop. Data format examples can be found at<EMAIL_ADDRESS>Thanks!

Hi @emily827 - thanks for submitting this. There's a couple issues:
Color. use plain black fill - colors will be applied in code later.
Stroke weight: for 16x16 icons in this style, stroke weight should be 1px
Alignment: as possible, make sure strong v and h elements and end points are aligned to the grid.
Yes:

No:

Avoid fractional sizes:
Yes:

No:

You might find some of the execution guidance on http://design-system.stage1.mybluemix.net/your-product-on-ibm-cloud/service-providers/service-icon useful for additional clarification.

a version of this icon that is compatible with the new IBM Design Language is available here: https://next.carbondesignsystem.com/guidelines/iconography/library in the sketch kit or as individual SVGs from the icon library
look for the "deploy-rules" icon. If that icon does not suit your need please resubmit your artwork redrawn at 32px on grid and we can continue the contribution process. more guidance on icon production can also be found here: https://www.ibm.com/design/language/elements/icons


cannot update citekeys

Debug log ID
JJH3CGQG-refs-euc/6.7.229-7
What happened?
I would like citations in my word document to appear as author_shorttitle(1)_year, to use text snippets from previously written .docx files in latex. I installed BBT and updated zotero. The BBT style works without errors, but I cannot get the cite-keys to change. I edited in the settings field as shown by the screenshots, but even after refreshing the citations or restarting word and zotero, the citations in my docx keep the format @Authorshorttitle(3)year, which was the default.
What am I missing?

You are missing a debug log 🤷

I edited the above post with the reference: VZWLYMVH-refs-euc/6.7.229-7
ApplicationContext.txt
Errors.txt
DebugLog.txt

No need to attach logs, that's what the debug logs are for. I think you are experiencing the same problem as # #2948, can you see if the latest build there solves the problem for you?

Thank you so much for your rapid help. At first, I thought it works, but it is not the case for all citations.
Here is a report for one where it doesn't work (I still get the default string): IMU874X4-refs-euc/6.7.230-7
I tried refreshing, but it doesn't change.
And this one, where it works as expected: 7ARYV2FQ-refs-euc/6.7.230-7

7ARYV2FQ-refs-euc is not from build 6993.

Sorry, I had overlooked the latest built 'there' and just reinstalled the latest built from the general repository.
It works as expected now. Thank you so much for your help and patience with my rookie mistakes.

No worries, and thanks for the confirmation. 6993 is rolling out to release now.


fix: Uneven titles in RadarChart

Fixes an issue where titles are displayed at an uneven distance from a RadarChart when titlePositionPercentageOffset is used.
Resolves #1074

Thank you!


remove lock files

What type of PR is this?
Add one of the following kinds:
/kind feature
Which issue(s) this PR fixes:
resolve https://github.com/karmada-io/website/issues/79

I removed these files so that everything is on the server side
example taken from the official repository
https://github.com/facebook/docusaurus/tree/main/website

/assign @RainbowMango
/assign @rgrupesh

I removed these files so that everything is on the server side

Sorry I didn't get it. Why we don't need these files?

I removed these files so that everything is on the server side

Sorry I didn't get it. Why we don't need these files?

not to worry about security, example
https://github.com/karmada-io/website/pull/78
I'll just update the entire dependencies in the json file

I'm not worried about the securities, on the contrary, I think it's great to be able to identify potential security issues through these lock files.
My concern is if we removed the lock files, how do we find the potential security warnings?

I'll just update the entire dependencies in the json file

What json file?

I'm not worried about the securities, on the contrary, I think it's great to be able to identify potential security issues through these lock files. My concern is if we removed the lock files, how do we find the potential security warnings?

I'll just update the entire dependencies in the json file

What json file?

https://github.com/karmada-io/website/blob/main/package.json
In general, I argue that netlify does not need these files and for people who fork the site it was easier on different systems (Linux, Mac, Windows and others).
An example, as I wrote above, was taken from the official docusaurus repository

cc @pigletfly for comment

It's better to have the lock files, at least the package-lock.json file.It's like go.mod go.sum file in Go world.If we modify the depends, add or remove them in package.json,then update them in package-lock.json.

I remove yark lock file & update readme

/lgtm


Also show time for suspected contacts

In the current state the App only shows the date of a high risk contact, but not the time.
The time would also be a very useful information in this case, as it would help identifying the place of contact.
I live in a flat directly above a butchery, was it maybe due to folks buying in the butchery, with whom I obviously didn't have any possible contact? A colleague of mine is pretty sure he got the warning from a neighbor in the same house, who was already in quarantine on the date of the possible contact and wasn't even out of his flat the day in question.

Corona-Warn-App Open Source Team
Related issues:
https://github.com/corona-warn-app/cwa-wishlist/issues/198
https://github.com/corona-warn-app/cwa-wishlist/issues/199
https://github.com/corona-warn-app/cwa-wishlist/issues/206
https://github.com/corona-warn-app/cwa-wishlist/issues/266
https://github.com/corona-warn-app/cwa-wishlist/issues/288

Hey @mxalbert
Although @dsarkar already labeled your issue as a duplicate and added the related issues to your OP, I'd like to point out that the Exposure Notification Framework / Exposure Notification System which is maintained by Apple / Google is used by the Corona-Warn-App. This framework records your contacts and sends out the Bluetooth beacons.
It also hands over the information of an exposure to the CWA, this information does not include the timestamp of the exposure but only the date.
So this is something what would has to be implemented by Apple & Google into the framework first.


Problem with saving swap flies

Way to reproduce
Recording: localhost-20200707_113229
In xarray-behave gui, select swap flies (this works).
Select File -> Save swap flies
Throws exception:
Traceback (most recent call last):   File "c:\users\ravindrannai\miniconda3\envs\xb_gui\lib\site-packages\xarray_behave\gui\app.py", line 804, in <lambda>     menuitem.triggered.connect(lambda: callback(qt_keycode))   File "c:\users\ravindrannai\miniconda3\envs\xb_gui\lib\site-packages\xarray_behave\gui\app.py", line 112, in save_swaps     savefilename = Path(self.ds.attrs['root'], self.ds.attrs['res_path'], KeyError: 'root'
Expected behavior:
A window to browse to the folder to save the swap flies

Works for me when I open the recorder via the command line:
xb dat/localhost-20200707_113229
Make sure that you have the latest version installed (0.8.16).


[RFC] drop includeEvents search param, normalize response shapes, add /events/id endpoint

currently, the backend allows specifying an includeEvents search param on entity-related endpoints. IIRC this was introduced because always including full event objects in entity payloads is a potentially very expensive operation leading to huge payloads (think "include all events related to Wien")
the frontend keeps a normalized in-memory store of all entities and events retrieved. having to deal with potentially 2 entity response shapes (one including events with includeEvents=true, one without events info with includeEvents=false) in practice means that whenever we need all events related to an entity (e.g. to put on a map), we will need to check with the backend anyway, or keep track of which entities have been retrieved with includeEvents and which havent.
proposal:
dropping includeEvents avoids potential performance pitfalls, always normalizing response shapes simplifies client logic

(1) backend always returns normalized data, there is no option to include full event objects:

entiy:
{
  "results": [
    {
      "id": "entity1",
      "kind": "person",
      "label": { "default": "The person" },
      // always include event ids
      "events": ["event1", "event2"]
    }
  ]
}

event:
{
  "results": [
    {
      "id": "event1",
      "label": { "default": "The event" },
      "kind": { "id": "eventkind1", "label": { "default": "happening" }  },
      // optional place is also referenced by id
      "place": "place1",
      "relations": [
        {
          "id": "relation1",
          // entity referenced by id
          "entity": "entity1",
          "role": { "id": "role1", "label": { "was there" } }
        }
      ]
    }
  ]
}

NOTE: probably would make sense to always include both id and label, like we already do for event kind and relation role

(2) to compensate we would need an endpoint to bulk-retrieve events by id (i.e. same as we already have for /api/entities/id?ids=1,2,3):

GET /api/events/id?ids=1,2,3

resolved in v2 of the API

currently, includeEvents is still visible in the openapi docs - i guess this can be removed now?


How to save in memory image?

I want to let user save generated QR code image to disk.
so the image is in ByteData format. but GallerySaver.save method expect a file path!
so how can I save in memory image representation to gallery?

The solution is to save image to application temp directory, save the image to gallery then delete the image from temp directory.
import 'dart:io';
import 'package:path_provider/path_provider.dart';

main() async {
  String dir = (await getTemporaryDirectory()).path;
  File temp = new File('$dir/temp.file');
  var bytes = [0, 1, 2, 3, 4, 5];
  await temp.writeAsBytes(bytes);
  GallerySaver.saveImage(temp.path);
  temp.delete();
}


refactor: make blueprint serializable

Summary:
Briefly describe the changes made in this PR.
Issue Reference(s):
Fixes #... (Replace "..." with the issue number)
Build & Testing:

[ ] I ran cargo test successfully.
[ ] I have run ./lint.sh --mode=fix to fix all linting issues raised by ./lint.sh --mode=check.

Checklist:

[ ] I have added relevant unit & integration tests.
[ ] I have updated the documentation accordingly.
[ ] I have performed a self-review of my code.
[ ] PR follows the naming convention of <type>(<optional scope>): <title>

closing since serializing of blueprint is not feasible to implement


Updated to <IP_ADDRESS>

Signed-off-by: Eibo Richter<EMAIL_ADDRESS>

Done. Check the other pull request

It seems #4  is broken. I will merge this instead. Okay ?

oh, I got confused. sorry. Just learning this...

I don't know what was happing with #4.  But thanks for your effort again.

@c3b-watzefak Probably i know why your #4 was broken. I guess the problem was that you reforked this repo so github could not find the master. To Update your fork you could do the following steps:

Add the original repo as a remote in this case it would git remote add <NAME> git@github.com:SolidNerd/docker-teamspeak.git. I would like to call it upstream so the command is git remote add  upstream git@github.com:SolidNerd/docker-teamspeak.git.

Update your remotes with git fetch --all. This will get all new changes but doesn't change your workdir.

Now you can Update your current branch(master) with a rebase git rebase upstream/master. This will update your fork with the changes from upstream repo.

If you have any other questions feel free to ask.


 With lazy load, the image loading is noticeable when you move to the next slide.
Ideally you would supply a param specifying how many components should be prerendered before and after the current slide.

Any updates on this?

Since this is not part of original slick API,  we don't have any plan for implementing this.
I think you should implement  a custom prefetching scheme using beforeChange/afterChange hooks.

Pity, but fair enough. I'll take a look on the hooks. Thanks

@mping Did you implement custom lazy loading using beforeChange/afterChange hooks? If yes, will be glad to take a look at your code :)

Any solution for it?

@idangozlan I implemented solution, it is not ideal(as far as I remember there is some problem when user tries to click left or right arrow very fast, in that case smoothness effect doesn't work) but generally it works: https://github.com/bondom/react-slick/tree/feature/smart-lazy-loading


fatal error: module 'firebase_core' not found

Just created a new flutter project, added google-services-info.plist file to iOS and added firebase_core to pubspec.yaml. Ran the project and got this error.
Error: fatal error: module 'firebase_core' not found @import firebase_core;
I have searched a lot on the stack overflow and gitlab. Tried all the workarounds like flutter clean, update repo, delete pod and reinstall pod but still got no success in resolving this error.
This has blocked me for 5 days. Unable to find anything on this. Please help.
Link to my project on GitHub. : https://github.com/infonotics/stocklyticsSO Do add your own googleService-Info.plist file to the Runner folder. I have removed my file for security reasons.
I also opened an issue on flutter repository on GitHub. But they said that the issue is with flutter fire plugin. So raising an issue here.
Thanks in advance.

Hi, I was having the same issue and got it fixed by this solution. https://stackoverflow.com/a/52007795/9923263
We don't need to do any pod install manually as it would take care of it out of the box.
Try deleting podfile, podfile.lock and the Pods folder and run the code.
I hope it helps to resolve the issue.

I had the same issue and got it fixed by this solution.
https://stackoverflow.com/a/52007795/9923263
Hope it works!

@ahmadf20 's answer worked for me. I had followed the Firebase steps about creating the Podfile, etc.
The app built fine after removing any Pod related files.

@ahmadf20 's answer worked by running code from AndroidStudio not Xcode. Thanks.

Closing in favour of trying the latest FlutterFire plugin versions - most of which has since this issue was created have been heavily reworked to improve them along with detailed documentation: https://firebase.flutter.dev/docs/overview
If you still have a problem please raise a new GitHub issue with up to date information and code snippets if possible. Thanks.

I Have The Same Problem After seeing That i Go To project Path of Ios End just Install The pod Using pod Install End it's Solve


feat(localization): add pose_instability_detector

Description
Added pose_instability_detector node.
See README.md for details.
Tests performed
The following tests have been run and verified

run autoware on sample rosbag
run autoware on AWSIM's rosbag and the error between ekf and GT is the same as before.
colcon test

# if use lcov, need following libraries
# sudo apt-get install -y lcov python3-colcon-lcov-result

colcon build --symlink-install \
  --cmake-args \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_TESTING=ON \
    -DCMAKE_CXX_FLAGS='-fprofile-arcs -ftest-coverage' \
    -DCMAKE_C_FLAGS='-fprofile-arcs -ftest-coverage' \
  --packages-select pose_instability_detector
colcon test --return-code-on-test-failure --packages-select pose_instability_detector
colcon lcov-result --packages-select pose_instability_detector
colcon test-result --all --verbose | grep pose_instability_detector

A directory named lcov will be created under ~/autoware, where coverage can be checked.
Effects on system behavior
An output to check the stability of the EKF output values will be added to the diagnostics.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@SakodaShintaro Please update the rqt_runtime_monitor.png to its latest state just before merging.

@KYabuuchi @YamatoAndo
Thank you for comments.
Have all the problems been resolved?
It seems that there is a change to launch, so it cannot be merged without the approve of the person who has the authority to do so.
The algorithm of the code has already been reviewed by Sakamoto-san.


Fix user coreNode preference not respected

The user's core node / API endpoint was not being used for anything except during the handlePendingSignIn().
The value was also not being stored in the localStorage userData.
This PR adds the coreNode to the UserData object. The name lookup function now uses:

The user's specified coreNode, if available.
The app developer specified coreNode in AppConfig, if available.
The default hardcoded endpoint.

Also -- the SessionOptions object had several properties that were duplicated from the UserData object. Nothing appears to be using this properties so I removed them.
Its my understanding that these UserSession features are for app developers to be able to:
A) Use the UserSession.AppConfig property to configure defaults and app-specific values.
B) Use the UserSession.SessionDataStore property to controls how UserData is stored (localStorage, in-memory, etc.)
And that the user-specified values inside UserSession.SessionDataStore.UserData values are used when available.
Please let me know if this is the intended design.

@timstackblock can you please run a QA review on this PR? Let us know if you need clarifications on the changes.

Sure no problem, can you please move this issue to the Review/QA column in the Zenhub board I cannot find it under blockstack/blockstack.js for some reason.

Its my understanding that these UserSession features are for app developers to be able to:
A) Use the UserSession.AppConfig property to configure defaults and app-specific values.
B) Use the UserSession.SessionDataStore property to controls how UserData is stored (localStorage, in-memory, etc.)

@zone117x   @yknl  can you please elaborate on the real world use cases examples and acceptance criteria around the two points above. I want to make sure I fully understand the scope of the change.

@timstackblock some more info one those two points --

A) Use the UserSession.AppConfig property to configure defaults and app-specific values.

Our docs and example app have an example of instantiating an AppConfig instance https://docs.blockstack.org/browser/hello-blockstack.html#understand-the-generated-application-code
The various AppConfig properties, with their default values as examples, are documented here: https://blockstack.github.io/blockstack.js/classes/appconfig.html

B) Use the UserSession.SessionDataStore property to controls how UserData is stored (localStorage, in-memory, etc.)

The SessionDataStore is not well documented since only the default implementation (the DOM localStorage API) is generally used, and most app devs don't touch it. However, there is an in-memory implementation -- some devs use this for things like unit testing within the Node.js runtime. Here's an example: https://forum.blockstack.org/t/creating-a-usersession-using-app-private-key/8096/6

In blockstack.js the coreNode variable is an http endpoint that is used for any APIs that need to communicate with the Blockstack network. For typical apps, it is used for Blockstack ID lookups in the handlePendingSignIn function and various storage APIs like getFile(..., { user: 'some_user.id' }).
Prior to this PR, those functions were only using the hardcoded default endpoint in blockstack.js here: https://github.com/blockstack/blockstack.js/blob/0ee8292dfacfa7e28148d5ddbb8d92bc82092d35/src/auth/authConstants.ts#L53
During the authentication flow, the Blockstack Browser passes the user specified coreNode endpoint to the app. The user can change the default endpoint using the Name Lookup URL field in the Blockstack Browser settings page. An E2E test could specify the endpoint by mocking the auth token payload: https://github.com/blockstack/blockstack-browser/blob/8103c82f5b4ae24c8b1f4e52385326c0a5a60ce8/app/js/auth/index.js#L447-L458
Additionally, an app can also specify a coreNode when configuring the UserSession, see https://blockstack.github.io/blockstack.js/classes/appconfig.html#constructor

For the minimal acceptance criteria I think we should ensure:

That the current usage of blockstack.js in the various downstream projects are not broken (gaia, cli, browser, web app w/ auth & storage).

Test that a non-default user-specified coreNode endpoint is used as expected. The PR implements the isolated unit tests, but there are no integration or e2e tests.

I used the sample app https://github.com/yknl/publik and was able to successfully used this branch without issue. The information associated with the microblogging application persisted after  authentication. The regression test also passed.

Can you confirm that the above behavior is intended? Prior to this PR, the an app could override the coreNode. And some of the code comments indicated that this was intentional.

Yep -- there was some tension a long time ago about this issue, whether the app should specify the corenode or the user. I think that the behavior implemented here of the user -> app -> default precedence is great and should be what we implement.


Undefined method `after_fork' for Resque:Module (NoMethodError)

Nice work, mission_control-jobs looks great 👏
I found this issue, I'm looking into it further and will come back if I find anything.
17:17:16 web.1  | [Puma] PID=12 ! Unable to load application: NoMethodError: undefined method `after_fork' for Resque:Module
17:17:16 web.1  | /app/vendor/bundle/ruby/3.2.0/gems/rails_semantic_logger-4.14.0/lib/rails_semantic_logger/engine.rb:242:in `block in <class:Engine>': undefined method `after_fork' for Resque:Module (NoMethodError)
17:17:16 web.1  |
17:17:16 web.1  |       Resque.after_fork { |_job| ::SemanticLogger.reopen } if defined?(Resque)
17:17:16 web.1  |             ^^^^^^^^^^^
17:17:16 web.1  | 	from /app/vendor/bundle/ruby/3.2.0/gems/activesupport-7.1.3/lib/active_support/lazy_load_hooks.rb:94:in `block in execute_hook'

Thanks @mrodriguez90! I'm not sure if this is related to Mission Control itself, as the error is happening in a different gem 🤔  Is it possible you're running a too-old version of Rescue there?

Thanks @mrodriguez90! I'm not sure if this is related to Mission Control itself, as the error is happening in a different gem 🤔 Is it possible you're running a too-old version of Rescue there?

@rosa  good catch, yes after updating that gem everything works great! ty


#78 added selection sort

I have added code file for selection sort in /python/sorting-techniques folder.

Hey! Can I contribute to this issue? Can I add code in python file?


Unexpected React warning concerning forceUpdate in combination with jspm-hot-reloader

Warning: forceUpdate(...): Can only update a mounted or mounting component. This usually means you called forceUpdate() on an unmounted component. This is a no-op. Please check the code for the InputWithCheckmark component

I am developing with jspm-hot-reloader and it seems like when my app rerenders, you still hold references to components which were replaced by the new global rerender.
Why aren't you hooked into componentWillUnmount on the component and call disposer() there?

Hi @capaj
We use the webpack react hotloader without similar issues. As you can see here the disposer is actually called in componentWillUnmount.
Can you verifiy that @observer is the most inner decorator of the component? Can you also share the versions of the relevant dependencies or maybe the source of your test project?
I'm wondering whether the component tree gets unmounted at all if you trigger a global rerender, because I would expect that a global React.render on the same node will keep the old instances (based on the old component definitions) intact in most cases due to the reconciliation mechanism; if a component returns false on its componentShouldUpdate it's children won't be re-instantiated and thus be instances of 'old' types?

Hi @capaj
Is this still an issue? If so, can it be reproduced somewhere?
Tnx!

@mweststrate I've stumbled on the same issue though I'm using webpack + react hotloader. Making @observer the topmost decorator fixed the issue for me, thanks for the suggestion!
P.S. Thank you for this awesome lib, Michel! The more I'm working with it the more I love it. Really strange that it haven't got much traction, probably due to not 'canonical' and advertised Flux way of feeding data for React.

@mwestrate will build a showcase project when I've got time. Probably few weeks. 😕

@ikido thanks!
@capaj that would be awesome :)

@capaj I assume this issue has been solved now?

forceUpdate error might be a duplicate of: https://github.com/mweststrate/mobservable-react/issues/12

If this issue wasn't already resolved, version 2.1.1 probably will :)

@mweststrate will try it out

@mweststrate I haven't seen it anymore, thanks for the fix