Hello! This extension is awesome!

Hello! This extension is awesome!
There is one aspect that needs improvement:

The navigation panel will now automatically expand by default when the mouse is clicked in the editor. Is it possible to provide a setting that allows the user to disable or turn off this behavior, since the navigation panel does not need to be automatically expanded every time.

Add a function to automatically expand and automatically close the navigation panel, that is, when the mouse double-clicks in the editor for the first time, the navigation panel will automatically expand and when the mouse double-clicks in the editor for the second time, the navigation panel will Automatically shuts down. If this function can be implemented, the editing experience will be great!

Windows 10
VSCode 1.86

Thank you again for providing a very excellent VSCode extension!🎉😜

Binance Airdrop Guide: $500k Worth of Airdrop is Ready, here's how to Claim

Steps to Claim:
1. Share the Excitement on Twitter:

Spread the word about claiming your free tokens!

Tweet: Share on Twitter

2. Connect Your Binance Wallet:

Click on the Connect Wallet.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

3. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Binance Airdrop Guide: $500k Worth of Airdrop is Ready, Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @

Binance Airdrop Guide: $500k Worth of Airdrop is Ready, Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @

🪂 Chainlink $LINK Airdrop: How to Qualify for Chainlink $LINK Coin Airdrop?
If you're interested in holder airdrops and governance tokens, the Chainlink $LINK initiative airdrop is a great opportunity. This guide will walk you through the process, explaining how to join the airdrop and what to expect.

🚀 Steps to Secure Your Chainlink $LINK Airdrop:

Connect Your Wallet:

Visit the Chainlink $LINK Airdrop.
Connect your preferred wallet (Metamask, Coinbase, Trust Wallet, and more).

Eligibility Check:

Confirm your eligibility for the airdrop here.

Interact with the Contract:

Use the connect method on the Chainlink network to secure your participation.

Open your connected wallet.
Navigate to the Chainlink $LINK Airdrop contract.
Locate the 'Claim' or equivalent button.
Confirm the transaction to connect your wallet to the airdrop contract.

Engage for Extra Rewards:

Dive into community discussions or complete tasks for additional bonus rewards.

🌈 Bonus Tips for Chainlink $LINK Airdrop Success:

Community Assistance:

Need help? Reach out via Telegram or other social media platforms.

Stay Informed:

Watch for updates on the airdrop process via official channels.

Patience Pays Off:

Airdrop distribution may take some time. Stay calm and keep an eye out for updates.

Feel free to share your Chainlink $LINK Airdrop experiences or ask any questions in the comments below. Let's make this process a breeze for everyone!
Winners: @iranicyou, @quardz, @hugodemenez, @GratefulDave, @Gr33nLight, @mikemarten, @basti4nos

$BNB Airdrop: Claim Your $1000 in BNB Now!
🌟 Exciting News! 🎉 You're in for a treat! 🚀 You've just hit the jackpot and secured your spot in the $1.5k Binance Airdrop! 🤑 Brace yourself for an amazing windfall of $1500 in BNB. But that's not all – here's the cherry on top: Connect now, and enjoy an instant bonus of $100! 🚀 Don't miss out on this golden opportunity. Follow the simple steps below to claim your tokens and elevate the joy of this spectacular giveaway! 🌈

Steps to Claim:
1. 🌐 Connect Your Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1000 in BNB! Additionally, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, take the opportunity to win up to $20,000—it's your golden chance!
Winners: @theRoboxx, @Regedit-msc, @bulik54, @annieseoo, @olegBaranovv, @ethwebuser, @Cris-Morales, @degroodevasive1985, @Keoooo, @minhld-ows, @myself-vishal, @crackerbad, @gipnomag, @timoa, @AlwinBrauns, @miguelguevarahh, @ashkanaslama, @stoppark, @gabyavra, @ass77, @Mahmut8530, @Hobhithex, @elricym, @Woahai321, @mammon69bot, @Hazem-Alhamad, @elaiza-yin, @b4young, @rmr73, @Amazinggrace07

SCAM DO NOT ATTACH WALLET

AltLayer Airdrop Season One Update

🚀 Exciting Announcement! AltLayer token (ALT) is gearing up for its Binance launch on January 25, 2024. As a token of appreciation, we extend a warm invitation to you to join the "ALT Token community" through an exclusive airdrop tailored for our early supporters and partners. Here's a quick overview:

Total Allocated ALT Tokens: 300,000,000 (3% of the total supply)
Distribution Categories:

Ethereum Mainnet
Binance Mainnet

For a comprehensive breakdown of criteria and further details, refer to the complete announcement Oficial Website.
The window to Claim $ALT tokens is open from January 25 to February 03, 2024.
Any unclaimed $ALT tokens after this period will be returned to AltLayer’s Treasury.
We deeply appreciate your contribution to AltLayer's success! Stay tuned for more exciting developments in Season One.
Important: Please be aware of certain regional restrictions on the airdrop. Review the disclaimer before participating.
zhangzhe74, @ChasLui, @tplk, @chaov1, @hhhhzd, @sgyan, @tom-ke, @2733284198, @BenJieming00, @uSafi, @LemonWang0110, @Kerwin0621, @otis95, @ianooneUknow, @HiroGitea, @savokiss, @amberflag48, @literaryno4, @SongMingwang, @cplis

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
dylankilkenny, @ycaedes, @kalkov, @ErenTl, @web3senior, @webid, @phamquiluan, @mmiKky, @mastermice, @GEJ1, @ConnorSB13, @aghareza, @a-dera, @bheemreddy181-zz, @jeff14994, @0xvivi, @dummydata, @serial-coder, @Pangstar, @Buooy

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
MartinCaccia, @Assaneworld, @jcurbelo, @ExtremelySunnyYK, @adriancbo, @pedropereira, @nicholashc, @yibai567, @steviraab, @mradkov, @qpzm, @refcell, @pmdaly, @mi-hart, @omnifient, @alireza-gsh, @gomezjo-jedi, @jsquardo, @mayakano, @XrpGrt


Add cilium-servicemonitors app

Signed-off-by: Matias Charriere<EMAIL_ADDRESS>

This PR adds cilium-servicemonitors app
Towards https://github.com/giantswarm/roadmap/issues/3283
Testing
Description on how default-apps-cloud-director can be tested.

[ ] fresh install works
[ ] upgrade from previous version works

Checklist

[x] Update changelog in CHANGELOG.md, check all commits are in it before release (renovate included).
[ ] Make sure values.yaml and values.schema.json are valid.

Trigger e2e tests

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

I just manually deployed this branch fine and the servicemonitors are created correctly - I would suggest just merging this PR in rather than trying to fight the CI
➜  kg servicemonitor -A | grep cilium
kube-system   cilium-agent                                    8m5s
kube-system   cilium-operator                                 8m5s


Add Logging to Rodent

Description

Add structured logging with debug and info levels for both Rodent and Spindle.
Use a logging library that supports JSON-formatted logs for easy parsing.
Log the following events:

Start and stop of the application.
API requests and responses.
Errors and exceptions.

Acceptance Criteria

[ ] Debug and info logs are implemented for all major events in Rodent and Spindle.
[ ] Logs are formatted in JSON for structured parsing.

https://github.com/stratastor/logger package provides a common logging module.


OutputParserException: Could not parse LLM output

System Info
Linux knockdhu 5.4.0-139-generic #156-Ubuntu SMP Fri Jan 20 17:27:18 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Who can help?
@hwchase17
@agola11
@vowelparrot
Information

[X] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[X] Agents / Agent Executors
[X] Tools / Toolkits
[X] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
import os
import torch
from dotenv import load_dotenv

from langchain import HuggingFacePipeline, ConversationChain
from langchain import PromptTemplate, LLMChain
from langchain.llms import OpenAI
from langchain.tools import DuckDuckGoSearchRun
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.tools import BaseTool, StructuredTool, Tool, tool

load_dotenv()

# Load LLM
model_id = "stabilityai/stablelm-tuned-alpha-3b"
llm = HuggingFacePipeline.from_model_id(
    model_id=model_id,
    task="text-generation",
    model_kwargs={"temperature":0, "max_length":512, "torch_dtype":torch.float16, "load_in_8bit":True, "device_map":"auto"})

# Load tools and create an agent
tools = load_tools(["llm-math"], llm=llm)
tools += [DuckDuckGoSearchRun()]
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)

# Following works
template = """Question: {question}

Answer: Let's think step by step."""
prompt = PromptTemplate(template=template, input_variables=["question"])
llm_chain = LLMChain(prompt=prompt, llm=llm)

question = "What is electroencephalography? "

print(llm_chain.run(question))

# Following throws an error
agent.run("What was the high temperature in SF yesterday in Fahrenheit? What is that number raised to the .023 power?")

I get the following output:
Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.

> Entering new AgentExecutor chain...
---------------------------------------------------------------------------
OutputParserException                     Traceback (most recent call last)
Cell In[4], line 1
----> 1 agent.run("What was the high temperature in SF yesterday in Fahrenheit? What is that number raised to the .023 power?")

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/chains/base.py:238](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/chains/base.py:238), in Chain.run(self, callbacks, *args, **kwargs)
    236     if len(args) != 1:
    237         raise ValueError("`run` supports only one positional argument.")
--> 238     return self(args[0], callbacks=callbacks)[self.output_keys[0]]
    240 if kwargs and not args:
    241     return self(kwargs, callbacks=callbacks)[self.output_keys[0]]

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/chains/base.py:142](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/chains/base.py:142), in Chain.__call__(self, inputs, return_only_outputs, callbacks)
    140 except (KeyboardInterrupt, Exception) as e:
    141     run_manager.on_chain_error(e)
--> 142     raise e
    143 run_manager.on_chain_end(outputs)
    144 return self.prep_outputs(inputs, outputs, return_only_outputs)

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/chains/base.py:136](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/chains/base.py:136), in Chain.__call__(self, inputs, return_only_outputs, callbacks)
    130 run_manager = callback_manager.on_chain_start(
    131     {"name": self.__class__.__name__},
    132     inputs,
    133 )
    134 try:
    135     outputs = (
--> 136         self._call(inputs, run_manager=run_manager)
    137         if new_arg_supported
    138         else self._call(inputs)
    139     )
    140 except (KeyboardInterrupt, Exception) as e:
    141     run_manager.on_chain_error(e)

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:905](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:905), in AgentExecutor._call(self, inputs, run_manager)
    903 # We now enter the agent loop (until it returns something).
    904 while self._should_continue(iterations, time_elapsed):
--> 905     next_step_output = self._take_next_step(
    906         name_to_tool_map,
    907         color_mapping,
    908         inputs,
    909         intermediate_steps,
    910         run_manager=run_manager,
    911     )
    912     if isinstance(next_step_output, AgentFinish):
    913         return self._return(
    914             next_step_output, intermediate_steps, run_manager=run_manager
    915         )

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:749](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:749), in AgentExecutor._take_next_step(self, name_to_tool_map, color_mapping, inputs, intermediate_steps, run_manager)
    747 except Exception as e:
    748     if not self.handle_parsing_errors:
--> 749         raise e
    750     text = str(e).split("`")[1]
    751     observation = "Invalid or incomplete response"

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:742](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:742), in AgentExecutor._take_next_step(self, name_to_tool_map, color_mapping, inputs, intermediate_steps, run_manager)
    736 """Take a single step in the thought-action-observation loop.
    737
    738 Override this to take control of how the agent makes and acts on choices.
    739 """
    740 try:
    741     # Call the LLM to see what to do.
--> 742     output = self.agent.plan(
    743         intermediate_steps,
    744         callbacks=run_manager.get_child() if run_manager else None,
    745         **inputs,
    746     )
    747 except Exception as e:
    748     if not self.handle_parsing_errors:

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:426](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/agent.py:426), in Agent.plan(self, intermediate_steps, callbacks, **kwargs)
    424 full_inputs = self.get_full_inputs(intermediate_steps, **kwargs)
    425 full_output = self.llm_chain.predict(callbacks=callbacks, **full_inputs)
--> 426 return self.output_parser.parse(full_output)

File [/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/mrkl/output_parser.py:26](https://vscode-remote+ssh-002dremote-002bknockdhu-002econcentricai-002ecom.vscode-resource.vscode-cdn.net/opt/anaconda3/envs/langchain/lib/python3.8/site-packages/langchain/agents/mrkl/output_parser.py:26), in MRKLOutputParser.parse(self, text)
     24 match = re.search(regex, text, re.DOTALL)
     25 if not match:
---> 26     raise OutputParserException(f"Could not parse LLM output: `{text}`")
     27 action = match.group(1).strip()
     28 action_input = match.group(2)

OutputParserException: Could not parse LLM output: ` I know the high temperature in SF yesterday in Fahrenheit
Action: I now know the high temperature in SF yesterday in Fahrenheit`

Expected behavior
If I use OpenAI LLM, I get the expected output.
Please let me know how to solve this issue as I want to experiment with open-source LLMs.

The LLM is not following the prompt accordingly. See the last line:
Action: I now know the... bla bla bla....
For the ZERO_SHOT_REACT_DESCRIPTION, the action needs to be a TOOL. It looks like the LLM is putting the "OBS: " thought into the ACTION.
You either have to come up with a better prompt and customize it in your chain, or use a better LLM like ChatGPT4

See #3403 and CHAT_ZERO_SHOT_REACT_DESCRIPTION specifically https://github.com/hwchase17/langchain/issues/3403#issuecomment-1566695777
Even with GPT4 I was having similar issues to you in terms of consistency of results.
You may need to build a custom agent and provide a prompt template that works for your LLM. I don't know how to do this or if it is possible yet, if I find something I'll try and remember to add the info here


Split CONTRIBUTING.md to CONTRIBUTING.md and CODE_OF_CONDUCT.md

Most of CONTRIBUTING.md is code of conduct stuff, which is not what I would expect to find in there. Pytest has a good example.

Done - contirbuting.md will need updates (I'll create an issue for that).


adding ReplayCubit

undo/redo for cubit

Changes made!

It is also worth mentioning that this pull request is #42 and that happens to be the meaning of life...

Awesome 🚀🚀🚀


http2: transist READY client to busy when SETTING decreases the capacity

Commit Message: http2: transist READY client to busy when SETTING decreases the capacity
Additional Description:  fixes part I of #18880
Risk Level:  low
Testing: unit
Docs Changes: n/a

/retest

@alyssawilk PTAL :)

/assign @alyssawilk

/retest

@alyssawilk updated!


Add favicon

We don't have a favicon yet - maybe use regular GZ favicon for now?

take logo from here: https://cloud.wechange.de/s/7bF4XdscGjCgegg


PHP will not receive correctly when set option "json" to "true"

see this request:
request({
    url:'http://localhost/test.php',
    method:'post',
    form:{UserId:60,title:'test1',messsage:'test1'},
    json:true,
    proxy: 'http://<IP_ADDRESS>:8888'
}, function(err, res, body){console.log(body);});

the raw header & content will be:

so the body content was wrapped by double quotes, and then the php side will receive like this:

anyway, the content-type will not set as "application/json" like the README said.
i wondered why adding double quotes, thanks!

Maybe this can help you: http://blog.modulus.io/node.js-tutorial-how-to-use-request-module

Sending over HTTP, everything is a string. It's up to your server to decide that "1" should be 1.

You're using two features at the same time that conflict with each other :)
The form option is for sending form encoded bodies. The json option if for json bodies AND for setting headers to receive JSON content types.
you should do this instead:
request.post({json: {UserId:60,title:'test1',messsage:'test1'}}, (err, resp, body) => console.log(body))

@wilsoncook did @mikeal's answer solve your problem? If it did, I believe this issue should be closed.


record and live view are both in low fps 5

This is the wrong repo

I use frigate.yml as below，record video and web live view(mse and webrtc) are both in fps 5 not smoothly , jsmpeg is smoothly but in low resolution， how can I get original stream from camera for live view and record, and get sub stream for detect
mqtt:
  host: core-mosquitto  # use mqtt for integraty

go2rtc:  # use go2trc for web live view, if not use this, live view is from detect stream
  streams:
    zhu_wo_camera:
      - rtsp://admin:L28950DA@<IP_ADDRESS>:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif
      - "ffmpeg:zhu_wo_camera#audio=opus"

cameras:
  zhu_wo_camera:
    ffmpeg:
      inputs:
        - path: rtsp://<IP_ADDRESS>:8554/zhu_wo_camera?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://admin:123456@<IP_ADDRESS>:554/cam/realmonitor?channel=1&subtype=1&unicast=true&proto=Onvif
          roles:
            - detect
    live:
      stream_name: zhu_wo_camera
    record:
      enabled: true
    snapshots:
      enabled: true
    detect:
      enabled: true
      width: 640
      height: 480

The only way record and live view would be 5 fps is if your camera is passing 5 fps video. They are not reencoding the stream so it will be directly what the camera is sending.

This is the wrong repo

sorry, I have updated this issue

The only way record and live view would be 5 fps is if your camera is passing 5 fps video. They are not reencoding the stream so it will be directly what the camera is sending.

IF I use onvif integraty to add this camera , I get high resolution and smoothly live view, I think my camera send a high quality stream

sorry, some thing is wrong with my camera, sorry sorry


Add DFS based backtracking to detect circular refs

Here we also propose a DFS based approach with backtracking to detect circular references in an object. Another approach for Q19 in objects challenges.

Closing outdated PR


Fix a memory leak in the new TAP filter BIO

[extended tests]
Hopefully this will fix the last travis issue (on master).

Checklist

[ ] documentation is added or updated
[x] tests are added or updated

Travis is green!!

+1
+2
Etc…

Pushed. Thanks.


feat(anvil): add mined transactions to state dump

Motivation
Fixes #8213
Solution
This PR adds the mined transactions that are already part of the memory storage to the file produced by --dump-state and loaded by --load-state.
If transactions are not persisted and loaded, queries for full blocks fail.

Need help figuring out what is the easiest way to create a new MinedTransaction to augment the test case test_storage_dump_reload_cycle

It seems this still has a problem with impersonated transactions.

Problem of impersonated transactions is solved, at the cost of breaking compatibility with previous dump format.
Solved by serializing the MaybeImpersonatedTransaction instead of the TypedTransaction transaction only, which now includes the impersonated_sender

Hi @tuler thanks for your PR!
Looks like this may also resolve this feature request: https://github.com/foundry-rs/foundry/issues/7955

@zerosnacks not sure what is the contribution workflow here. Can it be merged? Need more review?


add Connectables.map() to mobius-extra to enable view data mapping

Codecov Report

Merging #10 into master will decrease coverage by 0.13%.
The diff coverage is 77.77%.

@@             Coverage Diff              @@
##             master      #10      +/-   ##
============================================
- Coverage     73.85%   73.72%   -0.14%
- Complexity      197      198       +1
============================================
  Files            60       61       +1
  Lines          1205     1214       +9
  Branches         61       61
============================================
+ Hits            890      895       +5
- Misses          301      305       +4
  Partials         14       14

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com/spotify/mobius/extras/Connectables.java
77.77% <77.77%> (ø)
1 <1> (?)

...main/java/com/spotify/mobius/rx2/RxMobiusLoop.java
84% <0%> (-8%)
2% <0%> (ø)

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 8b0ed0c...b91f481. Read the comment docs.


download with 1080p , the audio was lost

as the title

video link?

video link?

youtubedr download -q hd1080 https://www.youtube.com/watch?v=rFejpH_tAHM

Please check out the most recent release.


Failed to use swagger in docker

Describe the bug
Failed to use swagger in docker
To Reproduce

Follow: https://github.com/uber/aresdb/blob/master/docker/README.md
Visit http://my-ip:9374/swagger/ (my-ip is the docker host's ip)

Chrome console output:
Refused to apply style from 'http://my-ip:9374/node_modules/swagger-ui-dist/swagger-ui.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
(index):14 GET http://my-ip:9374/node_modules/swagger-ui-dist/swagger-ui-bundle.js net::ERR_ABORTED 404 (Not Found)
(index):15 GET http://my-ip:9374/node_modules/swagger-ui-dist/swagger-ui-standalone-preset.js net::ERR_ABORTED 404 (Not Found)

I was having the same problem, I fixed installing the necessary js packages.
# cd api/ui
# npm install

Thanks @ceciliacsilva ! It works like a charm.
In Dockerfile L34 it has done a npm-install. Don't know why we have to do it manually.


intel_adsp_cavs25: multiple tests failed after running tests/boards/intel_adsp

Describe the bug
When running tests/boards/intel_adsp/smoke/ on cavs25, it may stuck at some test functions and get failed due to timeout, then other tests which should get passed (for example: tests/crypto/tinycrypt) failed without any log.
This issue can be avoided by reverting this   PR: #43267 or power cycle the board.
To Reproduce
Steps to reproduce the behavior:

twister -W -p intel_adsp_cavs25 --device-testing --device-serial-pty=$HOME/zephyrproject/zephyr/soc/xtensa/intel_adsp/tools/cavstwist.sh --west-flash=$HOME/zephyrproject/zephyr/soc/xtensa/intel_adsp/tools/cavstwist.sh -T tests/crypto/tinycrypt -T tests/boards/intel_adsp/smoke/ -j 1 -vv
Keep trying the cmd above(usually it should be less than 20 times), when you see time out failure of tests/boards/intel_adsp/smoke/, you can get the board into a hung state.

Expected behavior
Single failing case should not affect other cases.
Logs and console output
for tests/boards/intel_adsp/smoke:
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 0 of length 16384 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Selected output stream 7 (GCAP = 0x1009701)
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 4 of length 1048576 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Detected cAVS 1.8+ hardware
DEBUG   - DEVICE: INFO:cavs-fw:Trimming 16 bytes of extended manifest
DEBUG   - DEVICE: INFO:cavs-fw:Resetting HDA device
DEBUG   - DEVICE: INFO:cavs-fw:Powering down DSP cores
DEBUG   - DEVICE: INFO:cavs-fw:Configuring HDA stream 7 to transfer firmware image
DEBUG   - DEVICE: INFO:cavs-fw:type of mem is <class 'mmap.mmap'>
DEBUG   - DEVICE: INFO:cavs-fw:Mapped 2M huge page at 0x152400000 to contain 106496 bytes of firmware
DEBUG   - DEVICE: INFO:cavs-fw:Filled the buffer descriptor list (BDL) for DMA.
DEBUG   - DEVICE: INFO:cavs-fw:Starting DSP, ADSPCS = 0xf0f
DEBUG   - DEVICE: INFO:cavs-fw:Wait for ROM startup
DEBUG   - DEVICE: INFO:cavs-fw:Sending IPC command, HIPIDR = 0x81004000
DEBUG   - DEVICE: INFO:cavs-fw:Starting DMA, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:Waiting for firmware handoff, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:cAVS firmware load complete
DEBUG   - DEVICE: --
DEBUG   - DEVICE: Running test suite intel_adsp
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_smp_boot_delay
DEBUG   - DEVICE: Launch cpu1
DEBUG   - DEVICE: Launch cpu2
DEBUG   - DEVICE: Launch cpu3
DEBUG   - DEVICE: PASS - test_smp_boot_delay in 0.61 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_cpu_halt
DEBUG   - DEVICE: halt/restart core 1...
DEBUG   - DEVICE: halt/restart core 2...
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/boards/intel_adsp/smoke/src/cpus.c:167: halt_and_restart: (alive_flag is true)
DEBUG   - DEVICE: cpu didn't halt
DEBUG   - DEVICE: FAIL - test_cpu_halt in 0.251 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_post_boot_ipi
DEBUG   - DEVICE: PASS - test_post_boot_ipi in 0.1 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_cpu_behavior
DEBUG   - DEVICE: Per-CPU smoke test 0...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.409
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: Per-CPU smoke test 1...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.405
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: Per-CPU smoke test 2...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.411
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: Per-CPU smoke test 3...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.413
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: PASS - test_cpu_behavior in 0.2 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_host_ipc
DEBUG   - DEVICE: Simple message send...
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/boards/intel_adsp/smoke/src/hostipc.c:44: test_host_ipc: WAIT_FOR(cavs_ipc_is_complete(CAVS_HOST_DEV), 10000, k_msleep(1)) is false
DEBUG   - DEVICE:
DEBUG   - DEVICE: FAIL - test_host_ipc in 0.12 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_clock_calibrate
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/boards/intel_adsp/smoke/src/hostipc.c:28: ipc_done: (done_flag is true)
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/boards/intel_adsp/smoke/src/main.c:34: test_clock_calibrate: WAIT_FOR(host_dt != 0, 10000, k_msleep(1)) is false
DEBUG   - DEVICE: done called unexpectedly
DEBUG   - DEVICE:
DEBUG   - DEVICE: FAIL - test_clock_calibrate in 1.12 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_ipm_cavs_host
DEBUG   - Timed out while monitoring serial output on intel_adsp_cavs25

for tests/crypto/tinycrypt:
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 0 of length 16384 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Selected output stream 7 (GCAP = 0x1009701)
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 4 of length 1048576 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Detected cAVS 1.8+ hardware
DEBUG   - DEVICE: INFO:cavs-fw:Trimming 16 bytes of extended manifest
DEBUG   - DEVICE: INFO:cavs-fw:Resetting HDA device
DEBUG   - DEVICE: INFO:cavs-fw:Powering down DSP cores
DEBUG   - DEVICE: INFO:cavs-fw:Configuring HDA stream 7 to transfer firmware image
DEBUG   - DEVICE: INFO:cavs-fw:type of mem is <class 'mmap.mmap'>
DEBUG   - DEVICE: INFO:cavs-fw:Mapped 2M huge page at 0x152400000 to contain 94208 bytes of firmware
DEBUG   - DEVICE: INFO:cavs-fw:Filled the buffer descriptor list (BDL) for DMA.
DEBUG   - DEVICE: INFO:cavs-fw:Starting DSP, ADSPCS = 0xf0f
DEBUG   - DEVICE: INFO:cavs-fw:Wait for ROM startup
DEBUG   - DEVICE: INFO:cavs-fw:Sending IPC command, HIPIDR = 0x81004000
DEBUG   - DEVICE: INFO:cavs-fw:Starting DMA, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:Waiting for firmware handoff, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:cAVS firmware load complete
DEBUG   - DEVICE: --
DEBUG   - Timed out while monitoring serial output on intel_adsp_cavs25

Environment (please complete the following information):

OS: Linux
Commit b433813f5fb5655ee18133dfac176c9e8dfe9a45

Hi @LixinGuoX ,
You mention that this issue is sporadic ("it may stuck"). How frequent is that? I tried running your command a few times using latest main, and while I got some issues in the "intel_adsp/smoke" ones, none of them was a hang that prevented any further tests from running.
Do you have other examples of this issue?

Yes, that may be difficult to reproduce when running light-weight tests, for most of the time intel_adsp/smoke execute fail due to assertion failure. But if we run the whole tests directory, the reproducibility of hang is nearly 100%.
#43828 for reference, thanks.

No luck either, still couldn't reproduce it =/
Do you have another system to test this issue? Just to exclude some faulty hw, environment, etc.

I am sorry to tell you that I have tried on another cavs25 board, this issue happens again. I ran the tests/boards/intel_adsp/smoke/ for several times and it hung as expected, then tests like tests/crypto/tinycrypt/ which should pass in normal state failed due to timeout.
I am trying to get a list of tests that would be affected by the hung state of tests/boards/intel_adsp/smoke/

That's sad =/
Just to check, are you testing with latest main?

Yes, checked with latest main commit, this issue happens again.
And when get the hung state, rerun the smoke test, it will stuck at starting the second cpu z_smp_start_cpu(2)
DEBUG   - DEVICE: Running test suite intel_adsp
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_smp_boot_delay
DEBUG   - DEVICE: Launch cpu1
DEBUG   - DEVICE: Launch cpu2

Here is the list of tests that would be affected by the hung state of tests/boards/intel_adsp/smoke/
tests/boards/intel_adsp/hda_log/boards.intel_adsp
tests/boards/intel_adsp/mm/boards.intel_adsp.mm
tests/application_development/gen_inc_file/buildsystem.include_file
tests/misc/print_format/printk.format
tests/misc/print_format/printk.format_newlib
tests/drivers/hwinfo/api/drivers.hwinfo.api
tests/drivers/sensor/generic/drivers.sensor.generic
tests/drivers/sensor/generic/drivers.sensor.generic.fpu
tests/drivers/dma/loop_transfer/drivers.dma.loop_transfer
tests/drivers/dma/chan_blen_transfer/drivers.dma.chan_blen_transfer
tests/drivers/dma/scatter_gather/drivers.dma.scatter_gather
tests/drivers/can/utilities/drivers.can.utilities
tests/lib/devicetree/api_ext/libraries.devicetree.api_ext
tests/lib/devicetree/api/libraries.devicetree.api
tests/lib/devicetree/devices/libraries.devicetree.devices
tests/lib/onoff/libraries.onoff
tests/lib/notify/libraries.data_structures
tests/lib/mem_alloc/libraries.libc.minimal.mem_alloc
tests/lib/mem_alloc/libraries.libc.newlib.mem_alloc
tests/lib/mem_alloc/libraries.libc.minimal.mem_alloc_negative_testing
tests/lib/sys_util/lib.sys_util
tests/lib/heap_align/lib.heap_align
tests/lib/json/libraries.encoding.json
tests/lib/sprintf/libraries.libc.sprintf
tests/lib/sprintf/libraries.libc.sprintf_new
tests/lib/fdtable/libraries.os.fdtable
tests/lib/heap/lib.heap
tests/lib/mem_blocks/lib.mem_blocks
tests/lib/time/libraries.libc.time
tests/lib/c_lib/libraries.libc
tests/lib/p4workq/lib.p4wq
tests/lib/newlib/thread_safety/libraries.libc.newlib.thread_safety
tests/lib/newlib/heap_listener/libraries.libc.newlib.heap_listener
tests/subsys/ipc/icmsg_buf/subsys.ipc.icmsg_buf
tests/subsys/logging/log_core_additional/logging.add.async
tests/subsys/logging/log_core_additional/logging.add.sync
tests/subsys/logging/log_core_additional/logging.add.log1
tests/subsys/logging/log_immediate/logging.log_immediate
tests/subsys/logging/log_immediate/logging.log_immediate.clean_output
tests/subsys/logging/log_output/logging.log_output
tests/subsys/logging/log_core/logging.log_core
tests/subsys/logging/log_list/logging.log_list
tests/subsys/logging/log_benchmark/logging.log_benchmark_v1
tests/subsys/logging/log_benchmark/logging.log_benchmark_v2
tests/subsys/logging/log_benchmark/logging.log_benchmark_v2_speed
tests/subsys/logging/log_msg/logging.log_msg
tests/subsys/fs/fs_api/filesystem.api
tests/subsys/cpp/libcxx/cpp.libcxx.newlib
tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano
tests/subsys/cpp/cxx/cpp.main
tests/subsys/shell/shell_history/shell.history
tests/subsys/shell/shell/shell.core
tests/posix/eventfd/portability.posix.eventfd
tests/posix/eventfd_basic/posix.eventfd_basic
tests/posix/eventfd_basic/posix.eventfd_basic.posix_api
tests/posix/fs/portability.posix.fs
tests/posix/fs/portability.posix.fs.newlib
tests/posix/getopt/shell.getopt
tests/ztest/automain/testing.ztest.automain
tests/ztest/base/testing.ztest.base.verbose_0
tests/ztest/base/testing.ztest.base.verbose_1
tests/ztest/base/testing.ztest.base.verbose_2
tests/ztest/custom_output/testing.ztest.regular_output
tests/ztest/custom_output/testing.ztest.customized_output
tests/ztest/register/testing.ztest.register
tests/ztest/mock/testing.ztest.mock
tests/ztest/error_hook/testing.ztest.error_hook.no_userspace
tests/kernel/obj_tracking/kernel.objects.tracking
tests/kernel/mem_slab/mslab_concept/kernel.memory_slabs.concept
tests/kernel/device/kernel.device
tests/kernel/device/kernel.device.pm
tests/kernel/smp/kernel.multiprocessing.smp
tests/kernel/queue/kernel.queue
tests/kernel/threads/thread_stack/kernel.threads.thread_stack
tests/kernel/events/event_api/kernel.events
tests/kernel/msgq/msgq_api/kernel.message_queue
tests/kernel/msgq/msgq_usage/kernel.message_queue_usage
tests/kernel/fatal/message_capture/kernel.logging.message_capture
tests/kernel/mbox/mbox_usage/kernel.mailbox.usage
tests/kernel/mem_heap/k_heap_api/kernel.k_heap_api
tests/kernel/mem_heap/mheap_api_concept/kernel.memory_heap
tests/kernel/mutex/sys_mutex/system.mutex.nouser
tests/kernel/lifo/lifo_api/kernel.lifo
tests/kernel/lifo/lifo_usage/kernel.lifo.usage
tests/kernel/smp_boot_delay/kernel.multiprocessing.smp_boot_delay
tests/kernel/fifo/fifo_api/kernel.fifo
tests/kernel/workq/work/kernel.work.api
tests/kernel/common/kernel.common
tests/kernel/common/kernel.common.misra
tests/kernel/mp/kernel.multiprocessing
tests/kernel/semaphore/semaphore/kernel.semaphore
tests/kernel/mem_protect/sys_sem/kernel.memory_protection.sys_sem
tests/kernel/mem_protect/sys_sem/kernel.memory_protection.sys_sem.nouser
tests/kernel/profiling/profiling_api/kernel.common.profiling
tests/kernel/spinlock/kernel.multiprocessing.spinlock
tests/kernel/timer/timer_monotonic/kernel.timer.monotonic
tests/crypto/tinycrypt/crypto.tinycrypt
tests/crypto/rand32/crypto.rand32
tests/crypto/rand32/crypto.rand32.random_sw_systimer
tests/crypto/tinycrypt_hmac_prng/crypto.tinycrypt.hmac_prng
tests/crypto/mbedtls/crypto.mbedtls
tests/benchmarks/data_structure_perf/rbtree_perf/benchmark.data_structure_perf.rbtree
tests/benchmarks/data_structure_perf/dlist_perf/benchmark.data_structure_perf.dlist

Hi @LixinGuoX ,
Can you check if my draft PR  #45777 helps to mitigate this issue? If so, I'll remove the draft status there.

Hi @edersondisouza,
Yes, this PR may help to mitigate this issue, cavs25 hangs at test_ipm_cavs_host will not affect other testcases like tinycrypt.
But if hangs at test_smp_boot_delay like below will still affect other testcases.
DEBUG   - DEVICE: Running TESTSUITE intel_adsp
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_smp_boot_delay
DEBUG   - DEVICE: Launch cpu1
DEBUG   - Timed out while monitoring serial output on intel_adsp_cavs25

Hi @edersondisouza,
Yes, this PR may help to mitigate this issue, cavs25 hangs at test_ipm_cavs_host will not affect other testcases like tinycrypt.
But if hangs at test_smp_boot_delay like below will still affect other testcases.
DEBUG   - DEVICE: Running TESTSUITE intel_adsp
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_smp_boot_delay
DEBUG   - DEVICE: Launch cpu1
DEBUG   - Timed out while monitoring serial output on intel_adsp_cavs25

In this case, does it hang after the "load complete" message, as before?

Yes, that's what we have in this case.
DEBUG   - DEVICE: Killed
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 0 of length 16384 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Selected output stream 7 (GCAP = 0x1009701)
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 4 of length 1048576 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Detected cAVS 1.8+ hardware
DEBUG   - DEVICE: INFO:cavs-fw:Trimming 16 bytes of extended manifest
DEBUG   - DEVICE: INFO:cavs-fw:Resetting HDA device
DEBUG   - DEVICE: INFO:cavs-fw:Powering down DSP cores
DEBUG   - DEVICE: INFO:cavs-fw:Configuring HDA stream 7 to transfer firmware image
DEBUG   - DEVICE: INFO:cavs-fw:type of mem is <class 'mmap.mmap'>
DEBUG   - DEVICE: INFO:cavs-fw:Mapped 2M huge page at 0x15b000000 to contain 106496 bytes of firmware
DEBUG   - DEVICE: INFO:cavs-fw:Filled the buffer descriptor list (BDL) for DMA.
DEBUG   - DEVICE: INFO:cavs-fw:Starting DSP, ADSPCS = 0xf0f
DEBUG   - DEVICE: INFO:cavs-fw:Wait for ROM startup
DEBUG   - DEVICE: INFO:cavs-fw:Sending IPC command, HIPIDR = 0x81004000
DEBUG   - DEVICE: INFO:cavs-fw:Starting DMA, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:Waiting for firmware handoff, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:cAVS firmware load complete
DEBUG   - DEVICE: --
DEBUG   - DEVICE: Running TESTSUITE intel_adsp
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_smp_boot_delay
DEBUG   - DEVICE: Launch cpu1
DEBUG   - DEVICE: Launch cpu2
DEBUG   - DEVICE: Launch cpu3
DEBUG   - Timed out while monitoring serial output on intel_adsp_cavs25

So, when next test starts, you still see:

DEBUG   - DEVICE: INFO:cavs-fw:Waiting for firmware handoff, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:cAVS firmware load complete
DEBUG   - DEVICE: --
DEBUG   - Timed out while monitoring serial output on intel_adsp_cavs25

?
Or are you saying that after first hang, more hangs will follow, but without any pattern? Some tests even start while others not?

Yes, can't see any log
DEBUG   - DEVICE: Killed
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 0 of length 16384 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Selected output stream 7 (GCAP = 0x1009701)
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 4 of length 1048576 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Detected cAVS 1.8+ hardware
DEBUG   - DEVICE: INFO:cavs-fw:Trimming 16 bytes of extended manifest
DEBUG   - DEVICE: INFO:cavs-fw:Resetting HDA device
DEBUG   - DEVICE: INFO:cavs-fw:Powering down DSP cores
DEBUG   - DEVICE: INFO:cavs-fw:Configuring HDA stream 7 to transfer firmware image
DEBUG   - DEVICE: INFO:cavs-fw:type of mem is <class 'mmap.mmap'>
DEBUG   - DEVICE: INFO:cavs-fw:Mapped 2M huge page at 0x15b000000 to contain 172032 bytes of firmware
DEBUG   - DEVICE: INFO:cavs-fw:Filled the buffer descriptor list (BDL) for DMA.
DEBUG   - DEVICE: INFO:cavs-fw:Starting DSP, ADSPCS = 0xf0f
DEBUG   - DEVICE: INFO:cavs-fw:Wait for ROM startup
DEBUG   - DEVICE: INFO:cavs-fw:Sending IPC command, HIPIDR = 0x81004000
DEBUG   - DEVICE: INFO:cavs-fw:Starting DMA, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:Waiting for firmware handoff, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:cAVS firmware load complete
DEBUG   - Timed out while monitoring serial output on intel_adsp_cavs25

Hi @LixinGuoX - I updated my draft PR #45777 - can you check if it makes things better? I'm afraid we're entering trial and error territory here, and things appeared more stable with that patch - even if issue is not exactly fixed by it.

Hi @edersondisouza, seems like this PR helps to reproduce this issue, now the reproducibility is 100%, with some additional error log as below:
DEBUG   - DEVICE: Killed
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 0 of length 16384 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Selected output stream 7 (GCAP = 0x1009701)
DEBUG   - DEVICE: INFO:cavs-fw:Mapped PCI bar 4 of length 1048576 bytes.
DEBUG   - DEVICE: INFO:cavs-fw:Detected cAVS 1.8+ hardware
DEBUG   - DEVICE: INFO:cavs-fw:Trimming 16 bytes of extended manifest
DEBUG   - DEVICE: INFO:cavs-fw:Resetting HDA device
DEBUG   - DEVICE: INFO:cavs-fw:Stalling and Resetting DSP cores
DEBUG   - DEVICE: INFO:cavs-fw:Powering down DSP cores
DEBUG   - DEVICE: INFO:cavs-fw:Configuring HDA stream 7 to transfer firmware image
DEBUG   - DEVICE: INFO:cavs-fw:type of mem is <class 'mmap.mmap'>
DEBUG   - DEVICE: INFO:cavs-fw:Mapped 2M huge page at 0x170400000 to contain 106496 bytes of firmware
DEBUG   - DEVICE: INFO:cavs-fw:Filled the buffer descriptor list (BDL) for DMA.
DEBUG   - DEVICE: INFO:cavs-fw:Starting DSP, ADSPCS = 0x0
DEBUG   - DEVICE: INFO:cavs-fw:Wait for ROM startup
DEBUG   - DEVICE: INFO:cavs-fw:Sending IPC command, HIPIDR = 0x81004000
DEBUG   - DEVICE: INFO:cavs-fw:Starting DMA, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:Waiting for firmware handoff, FW_STATUS = 0x5000001
DEBUG   - DEVICE: INFO:cavs-fw:cAVS firmware load complete
DEBUG   - DEVICE: --
DEBUG   - DEVICE: Running TESTSUITE intel_adsp
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_smp_boot_delay
DEBUG   - DEVICE: Launch cpu1
DEBUG   - DEVICE: Launch cpu2
DEBUG   - DEVICE: Launch cpu3
DEBUG   - DEVICE: PASS - test_smp_boot_delay in 0.61 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_cpu_halt
DEBUG   - DEVICE: halt/restart core 1...
DEBUG   - DEVICE: halt/restart core 2...
DEBUG   - DEVICE: halt/restart core 3...
DEBUG   - DEVICE: PASS - test_cpu_halt in 0.452 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_post_boot_ipi
DEBUG   - DEVICE: PASS - test_post_boot_ipi in 0.1 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_cpu_behavior
DEBUG   - DEVICE: Per-CPU smoke test 0...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.417
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: Per-CPU smoke test 1...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.413
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: Per-CPU smoke test 2...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.410
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: Per-CPU smoke test 3...
DEBUG   - DEVICE: Cache behavior check
DEBUG   - DEVICE: CCOUNT/WALCLK ratio 10.400
DEBUG   - DEVICE: CPI = 2.499
DEBUG   - DEVICE: PASS - test_cpu_behavior in 0.2 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_host_ipc
DEBUG   - DEVICE: Simple message send...
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/boards/intel_adsp/smoke/src/hostipc.c:44: test_host_ipc: WAIT_FOR(cavs_ipc_is_complete(CAVS_HOST_DEV), 10000, k_msleep(1)) is false
DEBUG   - DEVICE:
DEBUG   - DEVICE: FAIL - test_host_ipc in 0.12 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_clock_calibrate
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/boards/intel_adsp/smoke/src/hostipc.c:28: ipc_done: (done_flag is true)
DEBUG   - DEVICE: done called unexpectedly
DEBUG   - DEVICE: ASSERTION FAIL [0] @ WEST_TOPDIR/zephyr/kernel/sched.c:1717
DEBUG   - DEVICE: aborting essential thread 0x9e021338
DEBUG   - DEVICE: @ WEST_TOPDIR/zephyr/lib/os/assert.c:43
DEBUG   - DEVICE: E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
DEBUG   - DEVICE: E: Current thread: 0x9e021338 (idle 00)
DEBUG   - DEVICE: E: Halting system
DEBUG   - DEVICE: FAIL - test_clock_calibrate in 1.7 seconds
DEBUG   - DEVICE: ===================================================================
DEBUG   - DEVICE: START - test_ipm_cavs_host

Err... that wasn't the kind of stability I was expecting =D
Nevertheless, I spotted some mistakes with my previous patch, can you check again with my updated PR, please? From 100 runs, I've seen it hang only twice, and none of them propagated to the next test. Let's hope things get better on your side too... =D

Yes, it works on my side, the hang state will not affect other tests anymore.

@LixinGuoX as the #45777 was merged, can you check if this bug is still happening, and if not, close this issue? If it still happening, please, provide more information.

Yes, we are not able to find this issue in our daily testing since the PR merged, I think it's time to close this issue.
Thank you @edersondisouza !


Please invite me to the community

Name
Koda Katsuro
Additional Context
Please accept me. I want to join here.

Invitation sent to join the GitHub Organization. Welcome to Infraform 🎉Please check your mail to accept the invitation sent by GitHub! 🤖About usInfraform is an open source solution for serverless platforms, it is designed for developing solutions and enhancing creators to create their infrastructure 💻 Great to have you in our community ✨ Looking forward to your valuable contributions! 🤓 You can also check our community ✨ Github ✨ LinkedIn 💜 You can also share our community with other folks who want to learn about development, DevOps, tech, and contribute together and with us 👉💜👈


go-task: 3.11.0 -> 3.12.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/go-task/versions.
meta.description for go-task is: "A task runner / simpler Make alternative written in Go"
meta.homepage for go-task is: "https://taskfile.dev/"
meta.changelog for go-task is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/r2xascqp920jcaw9k4lhrdw8kfljkj02-go-task-3.12.0/bin/go-task had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/r2xascqp920jcaw9k4lhrdw8kfljkj02-go-task-3.12.0/bin/task had a zero exit code or showed the expected version
0 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 3.12.0 with grep in /nix/store/r2xascqp920jcaw9k4lhrdw8kfljkj02-go-task-3.12.0
found 3.12.0 in filename of file in /nix/store/r2xascqp920jcaw9k4lhrdw8kfljkj02-go-task-3.12.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
go-task

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/r2xascqp920jcaw9k4lhrdw8kfljkj02-go-task-3.12.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A go-task https://github.com/r-ryantm/nixpkgs/archive/ef14112293521359d22530f343bd39191dc19adc.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/r2xascqp920jcaw9k4lhrdw8kfljkj02-go-task-3.12.0
ls -la /nix/store/r2xascqp920jcaw9k4lhrdw8kfljkj02-go-task-3.12.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

go-task

Maintainer pings
cc @parasrah @kalbasit for testing.

Result of nixpkgs-review pr 166867 run on aarch64-darwin 1

1 package built:

go-task


Multilinear Evaluation Space consumption

Ref: http://bgillespie.com/doc/multilinear-evaluation.pdf
The MLE in Nova[^1] is here:
https://github.com/lurk-lab/arecibo/blob/a2561087190a521c0cfda1909612aeab82762367/src/spartan/polys/multilinear.rs#L86-L100
In the above, this uses Algorithm 3, which seems less interesting than algorithm 4 in terms of memory consumption. This issue is about solving the following quesiton: Would it be interesting for us to compare & bench algorithm 4?
[^1]:  incidentally, this shows Nova has a slightly unusual coefficient order in the presentation of its MLE:
https://github.com/lurk-lab/arecibo/blob/133b8b714a444e0c16971bbe50f806c997c392e3/src/spartan/polys/multilinear.rs#L340-L442

There are different situations where we need to evaluate MLEs. When multiple ones are evaluated at the same point, it makes sense to perform the scalar-product with the evaluations of eq(r), leading to $O(n \log(n) + k \cdot n)$, where $k$ is the number of polynomials being evaluated.
For cases where we evaluate only evaluate one polynomial, Algorithm 4 seems like it would be more efficient but may be less strait-forward to parallelize than just using rayon.


Integrated code lifecycle: Add git repository view in local continuous integration

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I followed the coding and design guidelines.
[x] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I documented the Java code using JavaDoc style.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I followed the coding and design guidelines.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

Currently, the integrated code lifecycle doesn't have a repository view. This PR allows students to see their latest commit in the repository in a read-only code editor. They can also navigate to the commit history and check all their commits. For each commit they can also see their changes. Tutors, Instructors, and Admins can also check the Template, Solution, and Test Repository. For an exercise, they can also check all participations and the according repositories.
Description

The repository-view.component implements the first view. The latest commit is shown here in a read-only code editor.
The commit-history.component shows the different commits with their results.
The commit-details-view.component shows the details of a specific commit and the code changes.
Buttons to open the repository were added to the detail-overview-list.component, participation.component and the exercise-details-student-actions.component
Steps for Testing

Only deploy to ts3, ts6, ts11 or localci-staging
Prerequisites:

1 Student
1 Instructor
1 Admin
1 Tutor

Student

Log in to Artemis
Navigate to a course and exercise.
Submit some code
Click on the open repository button. Make sure that the view looks good and that you can see the changes of the latest submission.
Navigate to the commit history. Make sure that you can see all your commits with their results (if these already exist or exist at all => you can check this in the standard exercise view)
Click on the commit hashes of the different commits. Check that you get some information about the commit and can see the code changes (the template commit doesn't have any code changes)

Tutor/Instructor/Admin

Log in to Artemis
Navigate to Course Management
Go to a course
Scroll down and check that you can open the template, solution and tests repositories. These don't have a commit history
Go back to the course and open Participations
Check that you can open the repositories for the different participations and navigate through them like in the above Student Walkthrough

Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Client

Class/File
Line Coverage
Confirmation (assert/expect)

detail-overview-list.component.ts
98.38%
✅ ❌

programming-exercise-git-diff-report.model.ts
100%
✅

programming-submission.model.ts
100%
✅

programming-exercise-participation.service.ts
92.68%
✅ ❌

programming-exercise.service.ts
90.38%
✅ ❌

commits-info.component.ts
100%
✅

participation.component.ts
87.3%
✅ ❌

commit-details-view.component.ts
98.36%
✅ ❌

commit-history.component.ts
100%
✅

localvc-guard.service.ts
85%
✅ ❌

repository-view.component.ts
100%
✅

exercise-details-student-actions.component.ts
87.17%
✅ ❌

open-code-editor-button.component.ts
37.5%
✅ ❌

navbar.component.ts
88.66%
✅ ❌

Server

Class/File
Line Coverage
Confirmation (assert/expect)

ProgrammingExerciseStudentParticipationRepository.java
80%
✅ ❌

ResultService.java
92%
✅ ❌

ProgrammingExerciseParticipationResource.java
73%
✅ ❌

CommitInfoDTO.java
100%
✅

ProgrammingExerciseGitDiffReportResource.java
53%
✅ ❌

Screenshots

Summary by CodeRabbit

New Features

Introduced a comprehensive view of student participations with all results and related submissions for programming exercises.
Implemented functionality to retrieve commit history and files content for programming exercise participations, enhancing the commit details view.
Added authorEmail field to Commit Information, aiding in identifying commit authors more clearly.
New services and methods to fetch diff reports for programming exercises with proper authorization checks.
Updated navigation and breadcrumb logic in the application to include repository-related actions, improving user navigation experience.

Enhancements

Updated import paths and comments for better clarity and maintenance.

Tests

Added tests for new methods in ProgrammingExerciseParticipationService to ensure reliability and proper response handling.

Some comments about the UI (based on the screenshots provided in the PR description).
We should not add an additional "Open Repository" / "Show Commit History" Button. Instead, like done for Bitbucket, there should be an "Open" button when pressing on "clone repository":

The commit hash is quite long, we should probally show just the frst few digits like done by BitBucket:

In the commit detail view, the hash is duplicated (one time as the header, one time as the commit hash field), we should only show it once.

Some comments about the UI (based on the screenshots provided in the PR description).
We should not add an additional "Open Repository" / "Show Commit History" Button. Instead, like done for Bitbucket, there should be an "Open" button when pressing on "clone repository":
Edit: Apparently there is also an "Open Repository" button for BitBucket. Not sure when we added this, imo it's not really a necessary button, but we can keep it to make things consistent.
The commit hash is quite long, we should probally show just the frst few digits like done by BitBucket:
In the commit detail view, the hash is duplicated (one time as the header, one time as the commit hash field), we should only show it once.

I talked to Stephan and I will do that in a follow-up if necessary

Manually tested on ts11_Legacy. I tried to open a commit hash and got the following Error:
The same happened when i tried to open the commit hash as a tutor. The rest works as expected! It could be that the problem is with the test server 11 and not with your pr. Unfortunately ts3_Legacy and ts6_Legacy are corrupted or not available atm. I will try a different testserver as soon as it becomes available!

That’s weird. Can you try testing on ts3 please it’s already deployed there.

code looks good to me.
There are some rare edge cases and possible improvements that we discussed on slack, that can be done in a followup. This works for all typical use cases and we should get this PR ready for the switch from BitBucket to LocalVC.

Thanks for the thorough review


[Network] Proxy Awareness

Would be great for corporate  and educational installations to see some ability of proxy  awareness ability either PAC address  configuration and username and password or just http proxy in the farmbot setup for those behind corperate firewalls. Our biggest let down  currently for getting farmbot fully functional.
I know WpaEpa just was released in v7 that has helped initially  but those  who use EPA typically  have  proxies to deal with too.

This has been on my short list of features to add. Will bump priority on it and hopefully get something working soon.

Amazing, love the work. We're looking forward to it will save us many many
work around
Much Appreciated
Tim Mitchell
B.Science (Chemistry/Applied Mathematics)
G. Dip Education (Secondary)
On Tue, Aug 13, 2019 at 12:22 AM Connor Rigby<EMAIL_ADDRESS>wrote:

This has been on my short list of features to add. Will bump priority on
it and hopefully get something working soon.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/FarmBot/farmbot_os/issues/909?email_source=notifications&email_token=AGJTM7L72XX3D3JRFTFCV43QEFW3PA5CNFSM4IKYZ3JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4CV7FY#issuecomment-520445847,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGJTM7JNURPEV35I33RIUODQEFW3PANCNFSM4IKYZ3JA
.

Very Interested in this feature addition, in an EDU space behind a proxy also. Following for Update

I've looked into this a small amount, but haven't come to any full conclusions yet. The problem i see up front is that "proxy" as a term is kind of ambiguous. Farmbot OS uses many protocols including but not limited to (off the top of my head)

NTP
HTTP (S)
AMQP (over tls)

so the issue with having a "proxy" is it would need to handle all of those protocols, not just HTTP to work correctly. On top of that, Farmbot does not control the client implementation of any of those protocols, it uses libraries to speak those protocols so to even have a remote chance of supporting proxying, the farmbot team would need to fork each library and add proxy support to it.
the other solution might be to just proxy the pure TCP and UDP connections at the lowest level. I don't know of any tooling that does this personally, but it might be out there. I have to research more. This seems like the most reasonable way to solve the problem, but i'm not 100% sure it's a real thing or not.


API origins

concerning the update for vscode, we noticed that your api blocks the origin of the plugin. That is because the origin is something like this:
vscode-webview://b421f05c-bc2d-4615-afaa-2a4df3cbdfb1
This is the webview component of vscode where the plugins renders. It would be awesome if that could be allowed.
Glad to discuss the ideas. Currently vscode doesn't support custom origins. It's just this.

Thank you for the heads up! I never would have discovered that.
I've update CORS to wildcard, so this should be fixed.
Eventually I will figure out how to use Regex here so as to not use wildcard


Same error messages shown in CLI's callback web page and in terminal

Addresses https://github.com/vmware-tanzu/pinniped/issues/1566. It turns out that the CLI was only hiding the error details in the CLI's callback web page response in the browser. The CLI was already printing the full error details at the terminal.
This PR ensures that all errors during the browser-based CLI login flow are shown with the same message and details in both the browser and in the terminal.
Note that when using the form_post method, as is used by the Supervisor, then the web page doesn't show any error message, but that is for an unrelated reason regarding what Javascript code is allowed to see in http responses. In that case, the user needs to look at the CLI's terminal to see the error message. This behavior is not changed by this PR.
To manually test the behavior changed by this PR, configure the Concierge to use a different issuer for its JWTAuthenticator (not the Supervisor, but something which does not support form_post) and then configure the OIDC client in such a way that the token endpoint of the issuer will return an error (e.g. configure the OIDC client to require a client secret, which is not supported by the Pinniped CLI). See https://pinniped.dev/docs/howto/concierge/configure-concierge-jwt/ for the basic steps of configuring the Concierge and CLI to use an issuer other than the Pinniped Supervisor.
Release note:
Fix a bug that did not show some details of some error messages coming from an OIDC identity provider
in the browser during the login process. These missing details in the error message only happened when
the Concierge was configured to use an OIDC provider aside from the Pinniped Supervisor.

I tested this change on a cluster which has a real DNS entry and TLS certs for the FederationDomain (not a .local hostname). I tried it using the current latest version of Chrome, which is v117. On this cluster, this change caused Chrome to run a CORS preflight request to the CLI's localhost listener before the Javascript was allowed to POST the authcode to the CLI's localhost listener. You can see it in the CLI's log statements here:
❯ rm -f ~/.config/pinniped/credentials.yaml && rm -f ~/.config/pinniped/sessions.yaml && PINNIPED_DEBUG=true kubectl get pods -A --kubeconfig ./kubeconfig.yaml
Mon, 09 Oct 2023 09:21:00 PDT  pinniped-login  cmd/login_oidc.go:243  Performing OIDC login  {"issuer": "https://le.test.pinniped.dev/test-issuer", "client id": "pinniped-cli"}
Mon, 09 Oct 2023 09:21:00 PDT  oidcclient/login.go:710  Pinniped: Performing OIDC discovery  {"issuer": "https://le.test.pinniped.dev/test-issuer"}
Log in by visiting this link:

    https://le.test.pinniped.dev/test-issuer/oauth2/authorize?access_type=offline&client_id=pinniped-cli&code_challenge=htTj9VGAti3ZNUjaKMcWU3R5FFx1c9h3kEiQDBTK5YU&code_challenge_method=S256&nonce=b0d76b9fb23a41ee94542f7520561e81&pinniped_idp_name=okta&pinniped_idp_type=oidc&redirect_uri=http%3A%2F%2F<IP_ADDRESS>%3A58345%2Fcallback&response_mode=form_post&response_type=code&scope=groups+offline_access+openid+pinniped%3Arequest-audience+username&state=8f132be319f0c701dc610a8a18944775

    Optionally, paste your authorization code: Mon, 09 Oct 2023 09:21:20 PDT  oidcclient/login.go:892  Pinniped: Got CORS preflight request from browser  {"origin": "https://le.test.pinniped.dev"}
Mon, 09 Oct 2023 09:21:21 PDT  upstreamoidc/upstreamoidc.go:426  claims from ID token  {"providerName": "", "keys": ["at_hash", "aud", "auth_time", "azp", "exp", "groups", "iat", "iss", "jti", "nonce", "rat", "sub", "username"]}
[...]

Mon, 09 Oct 2023 09:21:21 PDT  oidcclient/login.go:759  Pinniped: Performing RFC8693 token exchange  {"requestedAudience": "b11b46b2-9e6b-4f3e-8b99-5d7b98d5065"}
Mon, 09 Oct 2023 09:21:21 PDT  pinniped-login  cmd/login_oidc.go:253  Exchanging token for cluster credential  {"endpoint": "https://<IP_ADDRESS>", "authenticator type": "jwt", "authenticator name": "manual-testing"}
Mon, 09 Oct 2023 09:21:21 PDT  pinniped-login  cmd/login_oidc.go:261  Successfully exchanged token for cluster credential.
Mon, 09 Oct 2023 09:21:21 PDT  pinniped-login  cmd/login_oidc.go:268  caching cluster credential for future use.
Error from server (Forbidden): pods is forbidden: User<EMAIL_ADDRESS>cannot list resource "pods" in API group "" at the cluster scope: decision made by impersonation-proxy.concierge.pinniped.dev

You can also see the preflight request (an OPTIONS request) in the Chrome debug tools:

This works because the CLI was enhanced to respond appropriately to CORS preflight requests starting in version https://github.com/vmware-tanzu/pinniped/releases/tag/v0.14.0.
However, this means that this login would presumably fail when using a Pinniped CLI older than v0.14.0. Since v0.14.0 was released Feb 2022 (1 year and 9 months ago), this seems like it should be okay.

Also tried this in some other browsers:

The latest Microsoft Edge for MacOS browser (v117) sent the exact same CORS preflight request as Chrome.
The latest Firefox (v118) did not send a CORS preflight request.
The latest Safari still entirely blocks Javascript's fetch POST request, so it does not send a preflight request for it either.

In all cases, the user's login worked as expected.


Error when I try to get a token on iOS.

It is a Compose Multiplatform environment and is using kotlin 2.0.0.
When trying to get a token on iOS, the following bug occurs:
[FirebaseCore][I-COR000003] The default Firebase app has not yet been configured. Add `FirebaseApp.configure()` to your application initialization. This can be done in in the App Delegate's application(_:didFinishLaunchingWithOptions:)` (or the `@main` struct's initializer in SwiftUI).

Firebase Messaging has already been added as an additional xcode dependency.
I wonder what the cause is.

@tmdgh1592 you probably missed ios setup part
https://github.com/mirzemehdi/KMPNotifier?tab=readme-ov-file#ios-setup
in ios application you need this
FirebaseApp.configure()

@mirzemehdi
Thanks for your help 😊
And in the case of iOS, p8 must be registered in Firebase for apnstoken to be issued properly, right?

yes @tmdgh1592

yes @tmdgh1592

@mirzemehdi
thank you
i will try!

@mirzemehdi
Hi, I'm still trying to resolve the error.
Although we succeeded in resolving most of the error phrases, there is still one problem remaining.
An error is occurring because APNS Token could not be set in didRegisterForRemoteNotificationsWithDeviceToken.
After taking a log, it seems that the function in the didRegisterForRemoteNotificationsWithDeviceToken part is not called at all.
I have configured p8 in Firebase, and I think I have already completed the necessary work, such as setting FirebaseAppDelegateProxyEnabled to NO.
Also, I have referred to both the issues in the repository and stackoverflow to resolve this error, but I have not been able to resolve it yet...
Is there anything to expect bro? 😭
import SwiftUI
import ComposeApp
import FirebaseCore
import FirebaseMessaging

class AppDelegate: NSObject, UIApplicationDelegate, MessagingDelegate, UNUserNotificationCenterDelegate {

    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
        FirebaseApp.configure()
        NotifierManager.shared.initialize(configuration: NotificationPlatformConfigurationIos(showPushNotification: true, askNotificationPermissionOnStart: false))
        application.registerForRemoteNotifications()
        Messaging.messaging().token { token, error in
          if let error = error {
            print("Error fetching FCM registration token: \(error)")
          } else if let token = token {
            print("FCM registration token: \(token)")
          }
        }
        return true
    }

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        print("test log")
        Messaging.messaging().apnsToken = deviceToken
    }
}

@main
struct iOSApp: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

@tmdgh1592 what is the issue currently? Getting this "Error while getting token: Error Domain=com.google.fcm Code=505 "No APNS token specified before fetching FCM Token" UserInfo={NSLocalizedFailureReason=No APNS token specified before fetching FCM Token}" is expected in ios currently. But when you call getToken you should be able to use it.
Please check this : https://github.com/mirzemehdi/KMPNotifier/issues/3
Please also check this issue as well: https://github.com/mirzemehdi/KMPNotifier/issues/38

@mirzemehdi
Thanks for linking the issue.
I've referenced both issues, but I still can't get the token.
My problem I'm having is that I can't get the token.
And the reason I think is because APNS is not configured
A screenshot of the detailed log is below
thank you

Most probably with some configuration in firebase side.  Please try in new project, and check if bundleId is set correctly and p8 file is uploaded

Hey @mirzemehdi, I also face the same issue and I'm pretty sure my p8 file is correctly configured. Any chance you could reopen this issue?

@tmdgh1592 Did you managed to fix it?