Fix subtitle displayed wrong in LHN when clicking reply in thread

Details

Subtitle displayed wrong briefly in LHN when clicking reply in thread
Fixed Issues

$ https://github.com/Expensify/App/issues/19349
PROPOSAL: https://github.com/Expensify/App/issues/19349#issuecomment-1556909085
Tests

Login with any account
If doesn't have any workspace, create a new workspace
Go to announce or admin chat of any workspace
Send any message
Clicking on reply in thread
Verify that subtitle that is displayed in LHN follows the pattern 'Workspace Name • #roomName' with correct workspace name

[x] Verify that no errors appear in the JS console

Offline tests

Same above
QA Steps

Login with any account
If doesn't have any workspace, create a new workspace
Go to announce or admin chat of any workspace
Send any message
Clicking on reply in thread
Verify that subtitle that is displayed in LHN follows the pattern 'Workspace Name • #roomName' with correct workspace name

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
Screencast from 06-06-2023 09:50:46.webm

Mobile Web - Chrome
https://github.com/Expensify/App/assets/129500732/fe570c9b-bec4-468b-b3c2-3b9ec1c6db15

Mobile Web - Safari
https://github.com/Expensify/App/assets/129500732/2557902a-260d-4d9a-84c3-6045ea28087e

Desktop
https://github.com/Expensify/App/assets/129500732/abd3dc2a-ef2a-4272-ae7b-939b03fa8a6f

iOS
https://github.com/Expensify/App/assets/129500732/c24264b9-1b02-43f7-b84f-87f48eaf1b4f

Android
https://github.com/Expensify/App/assets/129500732/913324b3-654c-4076-91af-3bb2380c23d5

@dukenv0307 @amyevans I have raised this issue in expensify-open-source slack channel as well - https://expensify.slack.com/archives/C01GTK53T8Q/p1686064782564449

@amyevans

This solution seems fine, it'll enable us to fully test the fix in this PR, without becoming dependent on a fix for the unrelated issue in main

The solution is fine. But I don't think we can test it fully. Even if we remove the author's commits, we can still see the same behaviour due to the main issue. Its like with or without this fix we are seeing the same behaviour during thread creation. Since the issue of "No activity yet" will only come during the skeleton view load phase we won't be able to test if this solution fixes it.

@abdulrahuman5196 Hmm I'm not sure I follow what you're saying.
I am testing with these steps:

git checkout 2977c04baf

Open an #admins chat

Post a comment while online

Go offline (via Chrome Devtools)

Click Reply in thread

I reproduce the bug reported in #19349: No activity yet displays in the LHN

git cherry-pick 00f363f

Post a comment while online

Go offline (via Chrome Devtools)

Click Reply in thread

The bug reported in #19349 is fixed: The subtitle in the LHN follows the pattern Workspace Name • #roomName

I'm okay with not pursuing the route of rebasing the fix on top of a older main commit if you have an alternate proposal (such as putting this PR on HOLD for X), but I'm just not currently understanding the need 😅

@amyevans
You are actually checking out a older commit head and cherry picking this fix on top of that and testing. It will work that way.
In your first step git checkout 2977c04baf(this commit is from may 30).
If instead of the above, if you checkout the git checkout  main and cherry pick this it won't work. Like the skeleton view itself is not loading on main or on latest commits. Same will happen if you checkout this PR directly.
https://github.com/Expensify/App/assets/46707890/89a2eeb1-d1f0-4de9-9610-a8a0cc3164a7
If we want we can test the same way as your tested like checking out old commit and cherry picking fix commit on top of that(Basically that's the rebase if we want to test locally). Do we want to do that way so that we are not blocked on main fix?

Anyways we don't have a GH issue for the skeleton view not present issue on main. So I am following to test with this way https://github.com/Expensify/App/pull/20235#issuecomment-1579058202 so that we don't have to wait.

Anyways we don't have a GH issue for the skeleton view not present issue on main. So I am following to test with this way https://github.com/Expensify/App/pull/20235#issuecomment-1579058202 so that we don't have to wait.

Yes, let's test that way. (Side note, earlier I think we were saying the same thing, just somehow not understanding one another 😄). Thanks!

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/46707890/4ea3ed9d-4ac5-44b3-b3e2-e3d72d15796c

Mobile Web - Chrome

https://github.com/Expensify/App/assets/46707890/f7a16c0e-12d0-467a-acc3-b02230d26a6f

Mobile Web - Safari

https://github.com/Expensify/App/assets/46707890/22d1244a-8fbb-4a1c-bd2a-a861e1e963f4

Desktop

https://github.com/Expensify/App/assets/46707890/81391045-e811-4188-a8a0-fddcb6621eca

iOS

https://github.com/Expensify/App/assets/46707890/eb30d003-3bb9-410e-a7fb-f030c7ea62ae

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/amyevans in version: 1.3.25-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.25-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Dropdown] Search Selection does not work with remote-content / API

My search dropdowns are loaded like that :
$('#myDropdown').dropdown({
   apiSettings: {
   url:'...',
   saveRemoteData:false
   }
}

Options are loaded correctly, dropdown is opening and the input supports keyboard input ; BUT dropdown options are not filtered according to what you are typing in the input (all options are shown regardless what you type).

What does your debugger say? are you getting any errors?

Nope ! It just types what I type in the input, and the dropdown is open with all options provided - none filtered. And no errors.
I've tried .dropdown('refresh') before and after providing remote data, in case the 'change' event wasn't attached, but it doesn't change anything either.

Same here, values are populated from remote but typing doesn't filter. If I hardcode output from remote to the dropdown, search is working.
Would love to supply fiddle but data are sort of private, if there is a fake api let me know and I'll add a fiddle.

This should be on our forums

Ok. Transferred to http://forums.semantic-ui.com/t/dropdown-search-selection-does-not-work-with-remote-content-api/129

I am having this problem too: http://jsbin.com/bofoxawoxa/edit?html,js,output
Already looked at OP's thread on the forum but it still has no answer. Please consider this issue

Ok so I guess mocking a response that will always be the result of the search.
I thought dropdown can search internally from it's options already. There should be an option for remote source or just local array. I know we can do  or  but for users who uses ReactJS with Flux architecture which means who uses "Store" instead, we need to have that option.
I tried
$("#provinceDropdown").dropdown({
  apiSettings: {
        response: {
          "success": true,
          "results": [
            {
              // name displayed in dropdown
              "name"  : "Choice 1",
               // selected value
              "value" : "value1",
            },
            {
              "name"  : "Choice 2",
              "value" : "value2",
              "text"  : "Choice 2"
            },
            {
              "name"  : "Choice 3",
              "value" : "value3",
              "text"  : "Choice 3"
            },
            {
              "name"  : "Choice 4",
              "value" : "value4",
              "text"  : "Choice 4"
            },
            {
              "name"  : "Choice 5",
              "value" : "value5",
              "text"  : "Choice 5"
            }
          ]
        }
      },
      onResponse: function(response){
      	console.log('here is the response');
      	console.log(response);
      },
      saveRemoteData: false,
      fullTextSearch: 'exact',
      direction: 'auto',
      debug: true,
      performance: false
});

and then adding onResponse() right after the response but that did not work as well. Please open up this issue again

I got the same issue, anyone could help?

I have forked this repo & done some enhancement to support local search with remote API content.
If you have the same issue, have a look at my commit here .
localSearch is default to true, so every api remote data will be search and filtered as expect.
If you need to turn this function off, simply set it to false as below:
$modelDropdown.dropdown({
  apiSettings: {
    url: '/api/data.json'
  },
  fields: {
    name  : 'name', // displayed dropdown
    value : 'id'         // actual dropdown value
  },
  localSearch: false,
});

@enix223  can you pull request your edit ? it works well
@jlukic please reconsider this issue

@ShukriChiu had created a pull request #4815 as per your request. :-) #

It looks like onChange is not firing for 'set selected' on remote data. non-remote data works fine. Looks like a bug.


I get "refspec main does not match any" on setup

Hi!
I was just trying out this awesome stack. Its basically a perfect match for me :)
But when Im following all the scripts i get "refspec main does not match any. " when the script is trying to setup git actions. After i set the FLY_API_TOKEN.
error: src refspec main does not match any.
error: failed to push some refs to 'git@github.com:iamrane/epic.git'
Error: Command failed with exit code 1: git push -u origin main
    at makeError (file:///Users/my-user/epic/remix.init/node_modules/execa/lib/error.js:59:11)
    at handlePromise (file:///Users/my-user/epic/remix.init/node_modules/execa/index.js:124:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async setupDeployment (file:///Users/my-user/epic/remix.init/index.mjs:260:4)
    at async main (file:///Users/my-user/epic/remix.init/index.mjs:87:2)
    at async module.exports (/Users/my-user/epic/remix.init/index.js:3:2)
    at async Object.init (/Users/my-user/.npm/_npx/5164864a48bff686/node_modules/@remix-run/dev/dist/cli/commands.js:144:5)
    at async Object.run (/Users/my-user/.npm/_npx/5164864a48bff686/node_modules/@remix-run/dev/dist/cli/run.js:449:13) {
  shortMessage: 'Command failed with exit code 1: git push -u origin main',

git push -u origin main is not working when im doing it in the terminal, I need to run git branch -M main first. Then it works. Is there some kind of config when Im creating the repository I need to have in order?
I'm using node 18.

Weird thing because I'm using the classic token setup.

I solved the issue.
The problem was that your primary branch is main and mine was master. And I couldn't change my primary branch because of old git version. Now I updated git, changed my primary branch to main it worked like a charm :)


Database schema for adding is_ami_identifier column to infrastructure_parameter table

Description:
Database ALTER schema:
ALTER TABLE infrastructure_parameter ADD is_ami_identifier BOOLEAN DEFAULT FALSE  NOT NULL;
UPDATE infrastructure_parameter
SET is_ami_identifier = FALSE;

Affected Product Version:
0.9.0-m11
OS, DB, other environment details and versions:
MySQL
Steps to reproduce:
See above
Related Issues:
N/A

Closing the temporarily since we are trying out a different mechanism to map the infrastructure parameters (OS/JDK) to AMI IDs.

The alternative mechanism can be tracked from https://github.com/wso2/testgrid/issues/512.


DESCW-2479 update package-lock deps for ws.

I made edits to the version numbers for the ws dependencies in package-lock.json.
This works, as long as nobody runs npm update on the repo, for now.
summary:

this eliminates the audit issues, but is not ideal because it is temporary.
the maintainers of @wordpress/scripts have a 10-version downgrade patch, but that is not going to work for us.
I suggest going with this for now, and waiting for a patch to<EMAIL_ADDRESS>

@robrien-bcgov @ShawnTurple Yeah it doesn't look like this vulnerability is fixable yet. I think manually editing the package lock is too fragile a fix so I think we should just hold off on this until a fix though @wordpress/scripts is available.
The EBADENGINE error is caused by the package.json's node and npm version requirements. You'll have to use nvm (nvm install lts/hydrogen should put you at a compatible version).

Closing this because the wordpress-scripts team doesn't have a patch for `ws integrated into their dependencies yet.


Add repl link at top of roc-lang.org

Maybe add https://www.roc-lang.org/repl link to top of roc-lang website next to tutorial?

Thanks for your input @B-Teague, I've started a discussion on zulip about this.

Per zulip chat: playground link that has editor for testing multiple line roc-wasm4 programs.


Additional view: Custom note

What would you like to be added?
It would be great if we could add a custom note as an additional view in the dashboard.
Preferably this would be a regular note from the vault so it can be accessed from outside the plugin dashboard.

Why is this needed?
Adding the feature to "pin" a custom note in the Project dashboard would open a ton of possiblities: Personally I would use it to build a compact project landing page and include an agenda of project related tasks from the obisidan tasks plugin.
This would allow a much more streamlined workflow than having to switch from the project dashboard to my notes back and forth.

Thanks for the suggestion! 🙏
I think the idea of pinned notes is interesting. I could even see the potential of pinning a note within other views, for example in a sidebar, to give supporting documentation for that view.
Could you share more details on how you'd use the view as a landing page?
I don't think we should simply embed the note editor inside a view. Instead of reimplementing what Obsidian already does well natively, I'm open to explore what you could do differently with Projects. For example, switching between Obsidian tabs is the same number of clicks as switching between views.

Thanks for considering my request.
Currently I'm using a landing page similar to the screenshot below.
I have set up two big projects and need to switch between them frequently.
I'm using the projects plugin to handle the "big blocks" in the project but don't want to create an extra note for every "micro task", so each project note may contain several micro tasks which I access via the obsidian-tasks plugin from my landing page.
It would feel much more natural to have everything project related accessible from within the projects dashboard even if it's the same number of clicks. Especially since I switch between the board and calendar view quite often.
So for me it would already be a huge improvement being able to embed a specific note as a view. But pinning notes within views would open up even more possibilities. For example I'd love to include a small priority color legend beside the board view.

I would loooooooooove to explain how I use custom note view,
and what we(I'm pretty sure dataviewjs user are too) need to integrate for ours own systems.
I was working to build a PKM and PM systems in obsidian at least half year.
the most important is I learn how to build it via database,
define note entity as type field , making field for each type...
Also we want the information can be display quickly when we need in the page,
and we can control it as easy as possible.
but we may need to have a overview of the database,
for example , I make a task map via dataviewjs to generate dynamic mermaid code block:

so, landing page will be a one usecase for custom note
the other option is making page which is current view option can't handle some solution

Example1,
I need to change my task group as easy as possible,
If I edit one by one , I will waste a lot of time.
Bulk change UI need.
Example2,
I did use Templater and dataviewjs to generate record(bridge entity) to apply a relationship which is also inculde detail.
Some times, the linked note in the record was delete by me , that will be a problem if i didn't find.
so I will want to make a note as a control panel to handle solution and
also append the warning in landing page if we have the problem.
for both, I need to index what I need to handle and build a UX for me to control it.

I did looking over a tool can be change some field quickly these day,
I did find kanban and I know MetaEdit can be make kanban change the field when move
but the sadly fact is, I can not insert my note via script or setting
(kanban is not support DQL or apply API for embed custom kanban via script)
(And I can't change the field using project's board view,Ah~!!)
accrocding to this, there have some suggestion in roadmap,
first of all, I think custom note view is a must have in project.
we can be mange the problem themself, specifically filter(index for view) is not fit their solution.
Also dataview have render problem sometime,
highly recommend make a refresh button for custom note page
(close the page and open it to force reload, dataview forcereload function is not working)
also for dynamic display reload.
and then, We love having api to rent the wheel:
1.the most I want is, I can create view for project via code(by few click in landing page)(if build-in view is difficult,only custom note view and always return a Tfile is ok.)
2.and I would like to catch the notes via dataviewjs by myself and embed project's view with insert my note.
(acutally the problem is DQL is not enough,one DQL for all the project's view is also not enough)
That mean everyone using Project can be make the panel inside or outside project UI, no need to split off, everyone happy!

last but not least, I vote status assignment function once.

Also, Sidebar is a interesting concept, I will like to having information of where the sidebar in, I do have making display the checklist after filter condition via dataviewjs.
but that maybe impossible if project window more than one,
I don't know obsidian API,but must be hard.
I hope my information can help! If you have any question, I would be glad to help! Thank You!

Thanks for your sharing you use cases! 🙏 I don't know when I'll have time to work on this, but if anyone wants to work on this, I'd be happy to review a PR.

I can create view for project via code

@Another5405 There's a basic API for creating custom views for Projects, though you'd need to build a separate Obsidian plugin that integrates with it. For more information, check out the Custom View API. Also, note that all the built-in views uses the same API (for dog-fooding purposes), so any custom views built by other users can be easily merged as a core view.

I think this is a great idea. I think often a project needs a note to provide context: something like a guideline or readme. Imagine if the Obsidian community plugins window didn't show the readme, we'd be lost!
It is super helpful to have something that gives clear insight on how to start back up with a project, or that mentions what was left to be done in a different way than just a roadmap Kanban board allows.
It can just be a view which embeds an Obsidian note inside it, it doesn't have to be too complicated!


How can I get call_state when I accepted a call?

Hi,
I am using this lib and can make a call, but I can not get call_state when I accept a call.
I mean no events, no callbacks, nothing happend
What should I do?
Thanks,

Any news about this ? I'm having the same issue

@vherrera1991 You can get it from your server (nodejs)

@vherrera1991 There are everything in Twilio docs, if you are still not get it, ping me on Tele: @thaivuvo


Update Lissi wallet instructions

I just downloaded the app. I did not need any further configuration before scanning Faber's QR invitation (https://github.com/hyperledger/aries-cloudagent-python/blob/main/demo/AliceGetsAPhone.md#run-an-instance-of-indy-tails-server). The election of the network probably happens automatically.

Thanks!  Happy to merge, but the DCO needs to be updated.  DCO - Developer Certificate of Origin - https://github.com/apps/dco. if you can do that, we can merge.

@opleno would you be able to amend your commits to include DCO? We cannot merge the PR otherwise.

Yes, I added this commit in a rush because I had a big trip on March 15th so sorry for that.
I am not a git expert yet (as you probably noticed), a little help on how to proceed would be appreciated: should we start a new branch where I can commit with --signoff or is there any way to reuse "patch-1" and commit changes with "-s"? For me, the first option is easier. Thanks

@opleno, try following the examples here; https://github.com/bcgov/issuer-kit/pull/349/checks?check_run_id=5538609065

@WadeBarnes following the instructions, I am able to rebase succesfully but when trying to "git push --force-with-lease origin patch-1" (step 3), I get a 403 forbidden error. Branch "patch-1" is not published (not accessible with "git branch -r"), could this be the reason the 403 error?

@opleno, It looks like you were able to update the branch, but the commit message still does not contain the sign-off.  You can see the current comment message here; https://github.com/bcgov/issuer-kit/pull/349/commits/f92339ffb580f489b3bab6ee336a1626d8d62cbe

@opleno, Yes, you can start fresh with a new branch and a new PR.

Great, so please let me ask before doing any change, because I am mostly used to Bitbucket.
I assume I should create a new issue in the project, then create a bugfix branch somehow linked to that issue, commit the signed off changes, merge and create PR. Is it possible in Github to create the bugfix branch using a GUI like in Bitbucket? Otherwise, I can just create a "bugfix/name". Is there a naming convention? (Sorry for my lack of experience in contributing to open source code)

I do also see here that the commit/PR can be linked to an issue using a keyword


Can we add Logo/Watermark without FFMPEG?

I was thinking if it is possible to add a new directive like logo_path that affects all push directives:
application myapp {
            live on;
            logo_path /path/to/file/logo.png;
            push rtmp://<IP_ADDRESS>:1936/rtmp/live1;
            push rtmp://<IP_ADDRESS>:1936/rtmp/live2;
            push rtmp://<IP_ADDRESS>:1936/rtmp/live3;
            }

or worst case, can this work using ffmpeg https://stackoverflow.com/questions/61998020/cant-get-watermark-on-my-nginx-rtmp-live-streams-with-ffmpeg/62748610#62748610 ?

its cpu intensive using ffmpeg, but you can add a logo to the top right corner this way:
exec_push ffmpeg -i rtmp://<IP_ADDRESS>:1936/rtmp/myapp -c:v libx264 -c:a copy -b:v 1920k -vf "movie=/home/logo.png[logo];[0][logo]overlay=main_w-overlay_w-20:20" -preset ultrafast -crf 10 -g 50 -r 19 -maxrate 1920k -bufsize 960k -x264opts keyint=50:min-keyint=50:scenecut=-1 -f flv rtmp://<IP_ADDRESS>:1936/rtmp/live1


Understanding vector map format

Hi,
Me and my colleagues working on developing an autonomous car are trying to decipher the meaning of the data fields in the csv vector map files (we are checking out the files in the quick start: area.csv, crosswalk.csv, etc.). We want to construct similar vector maps for the maps in the CARLA simulator.
We would be grateful if you could tell us what each data field in the vector map files represents.

Hi Alex. As I understand, the vector map format is not open source and nobody is willing to reveal it's exact specification, because HD mapping business is currenlty very competitive and has big business potential.
I can give you and overview and rought descriptions, because we have tried to understand the format in our university. PM me in the Autoware Slack if you're interested.
Aivo Olev

Thank you a lot!
I left you a message on Slack.

@alex-mocanu, @aivo0, Could you post the format here?

Here is the link to documentation of vector map ( I don't know why no one shared this yet ?!)
Please visit this site [https://tools.tier4.jp/vector_map_builder/user_guide/]
P.S - you may have to first create an account, login and access this.

PPS - Signing up in this site is free as of now.

@alex-mocanu , @aivo0 , @DmitryRedin , Could you post me the csv vector map specification, thank you !

Could you post me the csv vector map specification, thank you<EMAIL_ADDRESS>

@BigMouseFive Unfortunately, the format is proprietary. This was much of the reason that we started using Lanelet2 as of 1.13.0. If you create an account at https://tools.tier4.jp, you'll see that their map tool allows for the creation of either a Vector Map for versions prior to 1.13.0 or a Lanelet2 map for versions 1.13.0 and above. Their User Guide at https://tools.tier4.jp/vector_map_builder/user_guide/ does have some information on the map format but the CSV file contents and header descriptions are not available.

Go with the Lanelet2 as suggested.
We never completely figured out the format. I have been off the project for a while but now this startup is supplying the maps four our self-driving car: https://eyevi.tech/ . I am sure you can ask them for some tips.


Random SVGs are undefined upon first compilation

This is a funny bug. Upon first webpack compilation a code line like this among many similar ones
import broomSvg from 'broom.svg'
gives me undefined, nothing.
But when I make a change and webpack recompiles, then the above works and that missing SVG can be seen. Using the latest version v3.6.2 here with all the latest webpack packages.
DOM is loaded and the SVG symbols exist in the HTML which is fine. Still, do not understand why some random SVG import statements do not work upon first compilation.
With some debugging, I can see that deep inside webpack, where it holds all installed modules in the installedModules variables, this broom SVG is missing and not included. But few other random SVGs are.

This issue is still bugging me and studying webpack's HMR does't make me believe it's their problem. What makes you think so @kisenka ?


Ensure the correct Index is visible on range selection

When selecting a range in the timegraph chart, the correct row shall be visible in the events table. Compare the behavior with the Tracecompass.
Related to #343

@muddana-satish, isn't it already implemented? Range selection selects the corresponding rows in the table and scrolls to the first row.


Generate Proguard rules file for sealed classes and their adapters

Moshi 1.10.0 started generating Proguard rules for classes annotated with @JsonAdapter. However, if custom generator is used (like in moshi-sealed case), Moshi assumes that it is custom generator codegen's responsibility to provide Proguard rules. Since moshi-sealed generates JsonAdapter for sealed classes, there is a need to prevent both sealed class and generated adapter from shrinking and obfuscating to prevent "class not found" exception in runtime.
ProguardConfig and PreparedAdapter classes are based on the corresponding classes from the moshi-ksp module.

Thanks for this! Would you mind adding a simple smoke test for this like we do in moshi? We'll need to do this for the ksp implementation of moshi-sealed's code gen but I can look at that separately if you don't want to wade into that in this PR.

Nevermind, I'll take care of it as part of the next release

#60


Cedar needs a sticker.

Where can I find cool Cedar stickers that will make me the envy of non - BDD testers?

Aww that's such a sweet thought. We had some made up about a year ago in SF, but they were a fairly limited run.
Are there any sites that make it easy to upload a design and make stickers?
Also, it sounds like you haven't moved on from Cedar, despite Swift being "the new hotness" and Objective-C's days being numbered. Why is that, Jeff? What keeps you excited and passionate about Cedar?
Sent From A Very Small Keyboard

On Jan 15, 2017, at 18:12, Jeff Kunzelman<EMAIL_ADDRESS>wrote:
Where can I find cool Cedar stickers that will make me the envy of not BDD testers?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I like the BDD format. I've wanted to start a real project in swift, but no project has had enough slack time yet to make the transition. Where's pivotal at with swift? You guys were kind of on the fence when I was working with you in 2015. Stick with Cedar for Swift or is there a better BDD test framework for swift?

Swift codebases in search of BDD solutions are probably best using Quick and Nimble. If you have a hybrid ObjC/Swift project Cedar and Nimble is a pretty good combo too (use Cedar matchers in ObjC specs and Nimble in Swift specs)

Thanks! Appreciate your comments.


v1.8.0 BC Break - missing RegistryLoader class

Hello, I found a breaking change in a project I work on using a ^1.2 version constraint where the build fails when installing v1.8 as the Iban\Validation\Swift\RegistryLoader class does not exist anymore.

src/Swift at v1.7
src/Swift at v1.8

Was it intentional or a refactor targetting a v2 ?

Thanks for reporting this. That was a mistake. The registry loader was marked as final in v.1.7.0 and should only be removed in v2.0.0. I will fix it as soon as possible. Please use v1.7.0 in the meantime.

@AymDev Could you please check if this fixes the issue. Thank you.

Hi @jschaedl and thanks for the quick reply. Yes this should fix the issue.


Added comment related to Task Queue for SAP OData Connector

@mayankmendix I've tried to clarify a bit, let me know if it looks OK.

@mayankmendix I've made the correction per your comment. Let me know if there's anything else, or if I can publish the update.


Autoflagging info text is covered by chat controls on own autoflags

Own autoflag:

Other's autoflag:

This is not really a serious issue at all, but it would be nice to have the controls not cover up the text.

@Mego The reason this is like this is because the autoflagging indicator is hidden by the popup menu, so I just put a copy in that popup.

This was fixed by adding the “You autoflagged” indicator to the hover icons.


Overriding CSS variables

Hi there,
Thanks for all your work on this theme; it’s so organised and nice to work with! I’m not sure if this would qualify as a bug, so do let me know.
I’ve forked Casper to make some minor modifications to the templates & stylesheets to suit our needs, while still making sure that we can get major updates on the theme (e.g. 4.0). To keep things as clean as possible, I’ve created custom.css which loads after screen.css.
I noticed that the CSS variables are in screen.css; I’ve declared my own colour & font variables in my custom.css file. However, after compilation, this means that selectors will still use variables from the original screen file, not mine, unless I re-declare every single selector that includes either a font or colour variable. To keep things separate & avoid modifying the original theme, would it be a good idea to maybe break down the theme’s stylesheets into separate files so that we can override the variables without having to modify the original code?
Not sure if I’m explaining this correctly... or if perhaps there is a better way to do this. Should I be modifying the variables in screen.css directly instead?
Thanks!

Hey there,
As far as I understand, you're trying to change the CSS custom properties which are colors and fonts. If that's the case, you can just override them in your custom.css like:
:root {
    --color-green: NEW_GREEN_VALUE;
    --color-yellow: NEW_YELLOW_VALUE;
}

Hope I didn't misunderstand your question. Showing some CSS you added to custom.css might also help understanding the context :)

Hi @minimaluminium -- thanks for your response!
I know we can simply override the variables in our own file but that’s not the issue for me. Here’s an example of what I meant:
In the templates, in <head>, I load up our two CSS files like this:
<link rel="stylesheet" type="text/css" href="{{asset "built/screen.css"}}" />
<link rel="stylesheet" type="text/css" href="{{asset "built/custom.css"}}" />

In Casper’s screen.css, we have:
:root {
  --color-wash: #e5eff5;
}

.gh-content pre {
  color: var(--color-wash);
}

In my custom.css file, I want to change color-wash’s value, so I could declare it like this for example:
:root {
  --color-wash: blue;
}

However, upon compilation, because the CSS is compiled one by one, our selector .gh-content pre will not inherit our new --color-wash: blue declaration. It will still be displayed as #e5eff5;, from custom.css’s variables.
In order to override that, I have to re-declare .gh-content pre { ... } in my custom.css on top of changing the variable (as shown above). This becomes inconvenient and makes the stylesheets very bloated when we realise that both ---font-... and ---color-... variables are used in numerous CSS rules and we have to individually call them again to override these colours.

This shouldn't be an issue. I've just tried this workflow on my end, and it works as expected.


Offset value is only applied if it is divisible by 5

Describe the bug
the offset value is only applied if it is divisible by 5 (= if it exists in the dropdown list), every other value (eg. 12 or 17) is rounded to the nearest value in the list
To reproduce
Steps to reproduce the behavior:

Create an even and set the offset to 12
Click on Done
Re-open the node
The offset is changed to 10

Expected behavior
The offset should stay what was entered
Screenshots
https://user-images.githubusercontent.com/5128967/150681142-72e0cdbe-ba94-418f-ae81-078daf2a569b.mp4
Context information
Please complete the following information.

Platform & OS: docker
node-red-contrib-chronos version: 1.16.0
Node-RED version: 2.0.6
Node.js version: 14.17.6

Fixed in release v1.17.0.


(bug) Possible memory leak in IOS

I'm submitting a ...  (check one with "x")
[ ] question
[x] any problem or bug report
[ ] feature request
If you choose 'problem or bug report', please select OS:  (check one with "x")
[ ] Android
[x] iOS
cordova information:  (run $> cordova plugin list)
com-sarriaroman-photoviewer 1.1.10 "PhotoViewer"
com.etq.reliance.plugins.CompressionPlugin 0.2.9-dev "CompressionPlugin"
com.etq.reliance.plugins.FileUtilities 0.2.9-dev "FileUtilities"
com.googlemaps.ios 2.5.0 "Google Maps SDK for iOS"
cordova-plugin-3dtouch 1.3.5 "3D Touch"
cordova-plugin-app-preferences 0.99.3 "AppPreferences"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-background-mode 0.7.2 "BackgroundMode"
cordova-plugin-camera 2.3.1 "Camera"
cordova-plugin-check-installed-services 0.0.2 "CheckInstalledServices"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-console 1.0.7 "Console"
cordova-plugin-cookieemperor 1.0.0 "CookieEmperor"
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-opener2 2.0.17 "File Opener2"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-filechooser 1.0.1 "File Chooser"
cordova-plugin-filepath 1.0.2 "FilePath"
cordova-plugin-filepicker 1.1.4 "File Picker"
cordova-plugin-googlemaps 2.1.1 "cordova-googlemaps-plugin"
cordova-plugin-image-picker 1.1.1 "ImagePicker"
cordova-plugin-inappbrowser 1.6.1 "InAppBrowser"
cordova-plugin-media 2.4.1 "Media"
cordova-plugin-media-capture 1.4.3 "Capture"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-screen-orientation 2.0.1 "Screen Orientation"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.3 "StatusBar"
cordova-plugin-video-editor 1.1.2 "VideoEditor"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova-safe 2.0.1 "Safe"
cordova-sqlcipher-adapter 0.1.9 "Cordova sqlcipher adapter"
cordova.plugins.diagnostic 3.4.2 "Diagnostic"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-deeplinks 1.0.15 "Ionic Deeplink Plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-barcodescanner 6.0.6 "BarcodeScanner"
uk.co.workingedge.phonegap.plugin.istablet 1.2.0 "Is Tablet"

If you use @ionic-native/google-maps, please tell the package.json (only @ionic-native/core and @ionic-native/google-maps are fine mostly)
"@ionic-native/google-maps": "4.3.2",
"@ionic-native/core": "4.3.2",

Current behavior:

Possible memory leak..
the app becomes laggy and unresponsive
the problem happens when opening a new page the contains a map the going back
Expected behavior:

the shouldn't become laggy or unresponsive
Additional Notes:

The issue doesn't replicate in android.
The problem is resolved when i reverted back to

cordova-plugin-googlemaps 1.4.3 "cordova-googlemaps-plugin"
"@ionic-native/google-maps": "3.12.0",

v1.4.3 and v2.1.1 are completely different code.
While v1.4.3 watches only the child elements of the map div, v2.1.1 monitors all html elements in order to detect overlays automatically.
In order to reproduce your issue, please share your project files on github.
If you don't want to share your project files, please stay on v1.4.3 (but no longer supported)

ping

Sorry for not responding sooner...
unfortunately i won't be able to share with you the project code as it a project in a private company,
and i don't have access for an IOS device right now,
i'll have access to one in Sunday, i'll create a new project and try to replicate the issue in it,
i'll post my updates then

Since this plugin is open source, you can use this plugin as free, but support is not free, because you spend my private time.
So, if the demo project file you will create that is not enough to detect as a bug, there is no further support. Please keep in mind.

I'm not looking for a free support, i just wanted to help
anyway i couldn't duplicate the issue,  so i'm closing the issue


Chrome raises 'cross-origin security exception' and recaptcha fails when inside a TBS Modal

Hello, I am experiencing a strange issue that is specific to Chrome Version 52.0.2743.82 m (64-bit) from a windows 7, MacOS, and linux mint machines.
I have a Twitter Bootstrap 3.3.7 modal with form, and a recaptcha inside the modal.
<div id="entry" class="modal" role="dialog">
...
<%= recaptcha_tags>
</div>
The reCaptcha works for all other browsers, but in Chrome the blue spinner just continues to turn indefinitely. The JS error in the console is as follows
Uncaught SecurityError: Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "https://rndev.mcfinternal.com". Protocols, domains, and ports must match.
My application is a ruby on rails app with apache on a linux server.  (I can provide more info if necessary.)
The issue can be viewed/tested at https://rndev.mcfinternal.com/ (you will get a warning that we are using a self-signed cert.) Or at http://recognitionnotes.com/ (production site)
Thank you for your help.

Closing super old issues. Please re-raise if still relevant.

I have the same issue, so I think it's still relevant:
https://github.com/google/recaptcha/issues/288


[Snyk] Security upgrade cypress from 4.12.0 to 7.2.0

Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.

Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

e2e/package.json
e2e/package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

693/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 6
Cross-site Scripting (XSS) SNYK-JS-CYPRESS-1255446
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Will update dependencies manually


Scaling on individual process CPU usage

Description of the feature, modification, idea or suggestion
Would like to see scaling adjustment of the CPU usage for individual processes.
Proposed implementation details (optional)
No response

HI @mdblack98, if I'm interpreting your request correctly, I believe there is already an option for this in the nightly. Hacker > Options... > General > Enabled fixed graph scaling (experimental).

Yep...that's it ...thanks
Mike
On Monday, February 14, 2022, 05:56:24 PM CST, Johnny Shaw<EMAIL_ADDRESS>wrote:

HI @mdblack98, if I'm interpreting your request correctly, I believe there is already an option for this in the nightly. Hacker > Options... > General > Enabled fixed graph scaling (experimental).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>


Update SQSConstants to include missing queue attributes

Removed unused usings
Added missing attribute ReceiveMessageWaitTimeSeconds
Added missing attribute RedrivePolicy

Thanks for the pull request.

This was released with version <IP_ADDRESS> of the SQS NuGet package

Thanks! My first ever GitHub commit. Only a small one, but still :)


formatter does not work on itemstyle of tree type

Currently, any setting of formatter in tree type series itemstyle does not work at all.

found the same issue with you, i use tooltip for instead.
but my problem is even for other type of chat, formatter in itemstyle can't input html tab to formate label  content.

found the same issue too,is it a bug?


Always crashes

It will not work, it always crashes. As soon as I open it, it says "Unfortunately, block launcher has stopped working." Every single time. I am running Android 5.0.2 on an HTC one m7

Same here but im on galaxy s5

I think I have found a solution. I had originally gotten the MC apk from Aptiode and apparently that apk wasn't up to date. I updated it, and it works fine now

Ohh you updated it from aptoide also?

Yaaaa broooo ur the best it worked tysm!!!!


fix: handle context cancellations during instance refresh

Change Description
Context cancellation was being checked after the immediate retries for errored instance refreshes. This moves the check up a bit further so the background refresh process exits once the context is cancelled.
Checklist

[x] Make sure to open an issue as a
bug/issue
before writing your code!  That way we can discuss the change, evaluate
designs, and agree on the general idea.
[ ] Ensure the tests and linter pass
[ ] Appropriate documentation is updated (if necessary)

Relevant issues:

Fixes #370

@jault3 If sign the CLA, we can get to this quickly.

@jault3 If sign the CLA, we can get to this quickly.

👍 apologies for the delay. Trying to track this down on my side. I believe my employer has something set up that I need added to. Will post back once I have it sorted out.

You'll have to update the commit to include whatever email you used to sign the CLA, I believe. I forced a re-scan and it's still not happy.

Do the commits have to use the email address of the Authorized Contributors Group? Because I am a member of that group I submitted in that field. And the email I used in my commits (and shown in the CLA output) is the correct one. But its just my email address, not the group address.

I'll check my end to see what we can do.

@enocom it is now signed!


fix/Rating : clicking while hovering over the edge of Rating component doesn't maintain clicked state

Closes #640
Description
clicking while hovering over the edge of Rating component doesn't maintain clicked state
Current behavior (updates)

Please describe the current behavior that you are modifying

New behavior

Please describe the behavior or changes this PR adds

Is this a breaking change (Yes/No):
No
Additional Information

@madangopal16072000
It seems that some unnecessary commits are included. I recommend the following commands.
git fetch --all
git rebase origin/main
git push --force

Thanks!


bug: OTP complains of "rpc error: code = Unknown desc = database is locked" logger="transport-controller" objectKey="appwrapper-sample-default" workerID=1

Describe the bug
E0412 17:16:21.778987       1 generic_transport_controller.go:248] "failed to process Binding object" err="failed to process object with key 'appwrapper-sample-default' - failed to propagate wrapped object 'appwrapper-sample-default-wds0' to all required WECs - failed to propagate wrapped object to cluster mailbox namespace 'edgeplatform-test-wec1' - failed to create wrapped object 'appwrapper-sample-default-wds0' in destination WEC mailbox namespace 'edgeplatform-test-wec1' - rpc error: code = Unknown desc = database is locked" logger="transport-controller" objectKey="appwrapper-sample-default" workerID=1
while attempting to sync an MCAD appwrapper to a remote wec.
clusters:
edgeplatform-test-kscore, edgeplatform-test-wec1
ks environment:
its1, wds0 (hosted), wds1 (k8s)
edgeplatform-test-wec1 is connected to wds1
managedcluster:
kubectl --context its1 get managedclusters -o yaml                              edgeplatform-test-kscore/default ⎈
apiVersion: v1
items:
- apiVersion: cluster.open-cluster-management.io/v1
  kind: ManagedCluster
  metadata:
    annotations:
      remoteLokiURL: https://logging-loki-openshift-logging.edgeplatform-test-kscore-9ca4d14d48413d18ce61b80811ba4308-0000.us-south.containers.appdomain.cloud/api/logs/v1/application
      remoteWriteURL: http://thanos-receiver-router-monitoring.edgeplatform-test-kscore-9ca4d14d48413d18ce61b80811ba4308-0000.us-south.containers.appdomain.cloud/api/v1/receive
    creationTimestamp: "2024-04-11T19:02:52Z"
    finalizers:
    - cluster.open-cluster-management.io/api-resource-cleanup
    generation: 4
    labels:
      cluster.open-cluster-management.io/clusterset: default
      feature.open-cluster-management.io/addon-addon-status: available
      location-group: edge
      name: edgeplatform-test-wec1
    name: edgeplatform-test-wec1
    resourceVersion: "820"
    uid: 7e545b9f-423d-4a62-8d40-4fde64837ea3
  spec:
    hubAcceptsClient: true
    leaseDurationSeconds: 60

bindingpolicies:
kubectl --context wds0 get bindingpolicies  -o yaml
apiVersion: v1
items:
- apiVersion: control.kubestellar.io/v1alpha1
  kind: BindingPolicy
  metadata:
    creationTimestamp: "2024-04-12T17:16:06Z"
    finalizers:
    - bindingpolicy.kubestellar.io/kscontroller
    generation: 1
    name: appwrapper-sample-default
    resourceVersion: "165195261"
    uid: 8f105e39-fb8f-48c4-be43-964cb8fbf526
  spec:
    clusterSelectors:
    - matchLabels:
        location-group: edge
        name: edgeplatform-test-wec1
    downsync:
    - namespaces:
      - default
      objectNames:
      - appwrapper-sample
      objectSelectors:
      - matchLabels:
          appwrapper.mcad.ibm.com/assignedCluster: edgeplatform-test-wec1
    wantSingletonReportedState: true
- apiVersion: control.kubestellar.io/v1alpha1
  kind: BindingPolicy
  metadata:
    creationTimestamp: "2024-04-03T20:51:43Z"
    finalizers:
    - bindingpolicy.kubestellar.io/kscontroller
    generation: 1
    name: edgeplatform-test-wec1-hosted-mcad-bp
    resourceVersion: "150814756"
    uid: 06d0d22f-e3b2-48a5-ac61-a4fdecdd04d2
  spec:
    clusterSelectors:
    - matchLabels:
        location-group: edge
        name: edgeplatform-test-wec1
    downsync:
    - objectSelectors:
      - matchLabels:
          app.kubernetes.io/cluster: edgeplatform-test-wec1
    wantSingletonReportedState: true
kind: List
metadata:
  resourceVersion: ""

the bindings:
kubectl --context wds0 get bdg -o yaml
apiVersion: v1
items:
- apiVersion: control.kubestellar.io/v1alpha1
  kind: Binding
  metadata:
    creationTimestamp: "2024-04-12T17:16:11Z"
    finalizers:
    - transport.kubestellar.io/object-cleanup
    generation: 1
    name: appwrapper-sample-default
    ownerReferences:
    - apiVersion: control.kubestellar.io/v1alpha1
      blockOwnerDeletion: false
      controller: true
      kind: BindingPolicy
      name: appwrapper-sample-default
      uid: 8f105e39-fb8f-48c4-be43-964cb8fbf526
    resourceVersion: "165195353"
    uid: 7bdb9802-8832-4306-8d75-e26b60c49c2a
  spec:
    destinations:
    - clusterId: edgeplatform-test-wec1
    workload:
      namespaceScope:
      - group: workload.codeflare.dev
        name: appwrapper-sample
        namespace: default
        resource: appwrappers
        resourceVersion: "165195282"
        version: v1beta1
- apiVersion: control.kubestellar.io/v1alpha1
  kind: Binding
  metadata:
    creationTimestamp: "2024-04-03T20:52:42Z"
    finalizers:
    - transport.kubestellar.io/object-cleanup
    generation: 1196
    name: edgeplatform-test-wec1-hosted-mcad-bp
    ownerReferences:
    - apiVersion: control.kubestellar.io/v1alpha1
      blockOwnerDeletion: false
      controller: true
      kind: BindingPolicy
      name: edgeplatform-test-wec1-hosted-mcad-bp
      uid: 06d0d22f-e3b2-48a5-ac61-a4fdecdd04d2
    resourceVersion: "165232125"
    uid: 8e8d6f27-4529-4bbc-8579-e289d87f519b
  spec:
    destinations:
    - clusterId: edgeplatform-test-wec1
    workload:
      namespaceScope:
      - group: workload.codeflare.dev
        name: edgeplatform-test-wec1
        namespace: mcad
        resource: clusterinfo
        resourceVersion: "165232094"
        version: v1beta1
kind: List
metadata:
  resourceVersion: ""

manifestworks:
kubectl --context its1 get manifestworks edgeplatform-test-wec1-hosted-mcad-bp-wds0 -n edgeplatform-test-wec1 -o yaml

apiVersion: work.open-cluster-management.io/v1
kind: ManifestWork
metadata:
  annotations:
    transport.kubestellar.io/originOwnerReferenceBindingGeneration: "1198"
  creationTimestamp: "2024-04-12T17:15:12Z"
  finalizers:
  - cluster.open-cluster-management.io/manifest-work-cleanup
  generation: 1
  labels:
    transport.kubestellar.io/originOwnerReferenceBindingKey: edgeplatform-test-wec1-hosted-mcad-bp
    transport.kubestellar.io/originWdsName: wds0
  name: edgeplatform-test-wec1-hosted-mcad-bp-wds0
  namespace: edgeplatform-test-wec1
  resourceVersion: "154014"
  uid: 9083acb9-d120-48d3-8f29-daf38cafe620
spec:
  workload:
    manifests:
    - apiVersion: workload.codeflare.dev/v1beta1
      kind: ClusterInfo
      metadata:
        annotations:
          meta.helm.sh/release-name: mcad-controller
          meta.helm.sh/release-namespace: mcad
        creationTimestamp: "2024-04-12T16:56:34Z"
        labels:
          app.kubernetes.io/cluster: edgeplatform-test-wec1
          app.kubernetes.io/managed-by: Helm
          managed-by.kubestellar.io/singletonstatus: "true"
        name: edgeplatform-test-wec1
        namespace: mcad
status:
  conditions:
  - lastTransitionTime: "2024-04-12T17:15:14Z"
    message: Apply manifest work complete
    observedGeneration: 1
    reason: AppliedManifestWorkComplete
    status: "True"
    type: Applied
  - lastTransitionTime: "2024-04-12T17:15:14Z"
    message: All resources are available
    observedGeneration: 1
    reason: ResourcesAvailable
    status: "True"
    type: Available
  resourceStatus:
    manifests:
    - conditions:
      - lastTransitionTime: "2024-04-12T17:15:14Z"
        message: Apply manifest complete
        reason: AppliedManifestComplete
        status: "True"
        type: Applied
      - lastTransitionTime: "2024-04-12T17:15:14Z"
        message: Resource is available
        reason: ResourceAvailable
        status: "True"
        type: Available
      - lastTransitionTime: "2024-04-12T17:15:14Z"
        message: ""
        reason: NoStatusFeedbackSynced
        status: "True"
        type: StatusFeedbackSynced
      resourceMeta:
        group: workload.codeflare.dev
        kind: ClusterInfo
        name: edgeplatform-test-wec1
        namespace: mcad
        ordinal: 0
        resource: clusterinfo
        version: v1beta1
      statusFeedback: {}

kubectl --context its1 get manifestworks appwrapper-sample-default-wds0 -n edgeplatform-test-wec1 -o yaml
apiVersion: work.open-cluster-management.io/v1
kind: ManifestWork
metadata:
  annotations:
    transport.kubestellar.io/originOwnerReferenceBindingGeneration: "1"
  creationTimestamp: "2024-04-12T17:16:21Z"
  finalizers:
  - cluster.open-cluster-management.io/manifest-work-cleanup
  generation: 1
  labels:
    transport.kubestellar.io/originOwnerReferenceBindingKey: appwrapper-sample-default
    transport.kubestellar.io/originWdsName: wds0
  name: appwrapper-sample-default-wds0
  namespace: edgeplatform-test-wec1
  resourceVersion: "150436"
  uid: b7f9a638-a732-4fac-8702-e45a798d6466
spec:
  workload:
    manifests:
    - apiVersion: workload.codeflare.dev/v1beta1
      kind: AppWrapper
      metadata:
        annotations:
          appwrapper.mcad.ibm.com/serializedStatus: '{"state":"Running","step":"dispatching","dispatchTimestamp":null,"requeueTimestamp":null,"restarts":0,"transitions":[{"time":"2024-04-12T17:16:06Z","controller":"Dispatcher","state":"Pending"},{"time":"2024-04-12T17:16:06Z","controller":"Dispatcher","state":"Running","step":"dispatching"}],"transitionCount":2,"conditions":[{"type":"Pending","status":"False","lastTransitionTime":"2024-04-12T17:16:06Z","reason":"Dispatched","message":"Selected
            for dispatch"}]}'
        creationTimestamp: "2024-04-12T17:16:06Z"
        labels:
          appwrapper.mcad.ibm.com/assignedCluster: edgeplatform-test-wec1
          managed-by.kubestellar.io/singletonstatus: "true"
        name: appwrapper-sample
        namespace: default
      spec:
        priority: 5
        priorityslope: "0"
        resources:
          GenericItems:
          - custompodresources:
            - replicas: 1
              requests:
                cpu: 10m
                memory: 10Mi
            generictemplate:
              apiVersion: v1
              kind: Pod
              metadata:
                name: appwrapper-sample-1
              spec:
                containers:
                - command:
                  - sh
                  - -c
                  - sleep 5
                  image: quay.io/project-codeflare/busybox
                  name: busybox
                  resources:
                    requests:
                      cpu: 10m
                      memory: 10Mi
                restartPolicy: Never
            priorityslope: "0"
        schedulingSpec:
          dispatchDuration: {}
          minAvailable: 2
          requeuing:
            forceDeletionTimeInSeconds: 570
            growthType: exponential
            maxNumRequeuings: 5
            maxTimeInSeconds: 0
            numRequeuings: 0
            pauseTimeInSeconds: 90
            timeInSeconds: 270
        service:
          spec: {}
status:
  conditions:
  - lastTransitionTime: "2024-04-12T17:16:23Z"
    message: Apply manifest work complete
    observedGeneration: 1
    reason: AppliedManifestWorkComplete
    status: "True"
    type: Applied
  - lastTransitionTime: "2024-04-12T17:16:23Z"
    message: All resources are available
    observedGeneration: 1
    reason: ResourcesAvailable
    status: "True"
    type: Available
  resourceStatus:
    manifests:
    - conditions:
      - lastTransitionTime: "2024-04-12T17:16:23Z"
        message: Apply manifest complete
        reason: AppliedManifestComplete
        status: "True"
        type: Applied
      - lastTransitionTime: "2024-04-12T17:16:23Z"
        message: Resource is available
        reason: ResourceAvailable
        status: "True"
        type: Available
      - lastTransitionTime: "2024-04-12T17:16:23Z"
        message: ""
        reason: NoStatusFeedbackSynced
        status: "True"
        type: StatusFeedbackSynced
      resourceMeta:
        group: workload.codeflare.dev
        kind: AppWrapper
        name: appwrapper-sample
        namespace: default
        ordinal: 0
        resource: appwrappers
        version: v1beta1
      statusFeedback: {}

Steps To Reproduce

setup kubestellar with its1, wds0, wds1
install MCAD dispatcher on wds0, and MCAD runner on wds1
attempt to synchronize appwrapper

Expected Behavior
appwrapper should sync to remote wec and execute
Additional Context
No response

development team has access to edgeplatform-test-kscore to investigate further

Some of us have that access, I lack it temporarily.
Software version? Pod statuses?

Looking at the timestamps, it appears that the intended ManifestWork object was successfully created during the same second as the error message was logged --- quite possibly on a retry after the error message was logged. The status of that ManifestWork seems to be saying that the requested workload has happily camping on the WEC. Is that so? Is this just a too-alarming message about a transient problem?

Andy deployed the latest. The transport controller log attached. Not much there except for the two errors shown above.
 If OCM is not transporting from the ManifestWork to the WEC, then that is where the actual problem is. The log posted recently shows successful handling of the relevant Binding shortly after the error messages.  Here is an excerpt (blank lines added for clarity):
...
I0412 17:15:58.890433       1 generic_transport_controller.go:250] "synced Binding object successfully." logger="transport-controller" objectKey="iris-bindingpolicy" workerID=3

E0412 17:16:16.656324       1 generic_transport_controller.go:248] "failed to process Binding object" err="failed to process object with key 'appwrapper-sample-default' - failed to propagate wrapped object 'appwrapper-sample-default-wds0' to all required WECs - failed to propagate wrapped object to cluster mailbox namespace 'edgeplatform-test-wec1' - failed to create wrapped object 'appwrapper-sample-default-wds0' in destination WEC mailbox namespace 'edgeplatform-test-wec1' - rpc error: code = Unknown desc = database is locked" logger="transport-controller" objectKey="appwrapper-sample-default" workerID=1

E0412 17:16:21.778987       1 generic_transport_controller.go:248] "failed to process Binding object" err="failed to process object with key 'appwrapper-sample-default' - failed to propagate wrapped object 'appwrapper-sample-default-wds0' to all required WECs - failed to propagate wrapped object to cluster mailbox namespace 'edgeplatform-test-wec1' - failed to create wrapped object 'appwrapper-sample-default-wds0' in destination WEC mailbox namespace 'edgeplatform-test-wec1' - rpc error: code = Unknown desc = database is locked" logger="transport-controller" objectKey="appwrapper-sample-default" workerID=1
I0412 17:16:23.595473       1 generic_transport_controller.go:250] "synced Binding object successfully."

logger="transport-controller" objectKey="appwrapper-sample-default" workerID=1
...

Attached is controller manager log from wds0. It's complaining about lack of status but I think that is normal given that the object does not exist on the WEC. The AW name is: test-appwrapper-2
cm-new.log

After some investigation on the WEC, I determined that the error in the issue is transient, the ManifestWork is correctly created in the ITS and the AppWrappers are created in the WEC, however there are 2 CRDs for the same appwrapper resource name, with different API groups:
$ k get appwrappers.workload.codeflare.dev
NAME                STATUS   RESTARTS   AGE
appwrapper-sample                       34m
test-appwrapper-2                       16m
$ k get appwrappers.mcad.ibm.com
No resources found in default namespace.

The default for non-qualified resource name is based on the first applied CRD:
$ k get appwrappers
No resources found in default namespace.

so since you were syncing appwrappers.workload.codeflare.dev the default appwrappers.mcad.ibm.com seems to find nothing.
I recommend removing the CRD for appwrappers.mcad.ibm.com unless it is required.

Also, @clubanderson @cwiklik - since this is not a KS issue, and the error in the log is of transient nature and had no bearing on the syncing of the objects, can we close this issue ?

found the error - wrong version of CRD was on the remote. Perhaps it would be good to soften the tone of the error in this issue.

@clubanderson: no maybe about it. #2053


Operators (@ and ^) and side effects

There's a nagging worry in my head that our overloading of @ and ^ might cause people problems, since these operations involve not only Nodes or Edges - they also modify the parent TensorNetwork. I can't think of another case where operators work like this.
Perhaps we should make it necessary to use these within a context, to make this clearer? For example:
net = TensorNetwork()
n1 = net.add_node(tensor1)
n2 = net.add_node(tensor2)

with net:
  n1[1] ^ n2[0]
  res = n1 @ n2

print(res.get_tensor())

Apart from providing __enter__ and __exit__ methods for TensorNetwork, AFAICT this would require defining a global variable to hold the "current network", but I don't see an obvious problem with that.

I can't see how this is helpful. Edge and Node already point to their parent network, and we already throw an error if the networks are mismatched.

require defining a global variable

No! Bad ash.
Tensorflow did something similar with their tf.Graph objevt, and they are gutting that feature in TF 2.0 because it confused the hell out of users and caused code to break in really subtle ways.

I can't see how this is helpful. Edge and Node already point to their parent network, and we already throw an error if the networks are mismatched.

Indeed, it would just be a different syntax for the same thing. The idea was just to clarify the context-dependency (on the parent network).

Tensorflow did something similar with their tf.Graph objevt, and they are gutting that feature in TF 2.0 because it confused the hell out of users and caused code to break in really subtle ways.

Well, my thought was to have this global only set (and unset) by the TensorNetwork context manager. If an expression with @ or ^ were used outside such a context, this would still be an error. Probably one would want to make nesting such contexts an error also.
Anyway, I recognize I am probably just being a little paranoid here, so if nobody else agrees there is a problem, I promise I will try forget about it :)

Let's revisit it in 2 weeks. If you can find a code sample that doesn't give a clear error message already and can be fixed with the context manager, then we'll implement it. Sound good?


Change the pack schema

As discussed with @Kami, we need to do something about packs meant for newer StackStorm versions than whatever the user might have. Ideally, StackStorm should be able to figure it out and ask the user to update if they want to install a newer pack:
$ st2 pack install sensu

ERROR: You are running StackStorm 2.1dev, but this pack requires StackStorm 3.14.

Consider updating or install an older version of the pack: sensu=940faea3 is
the latest version that would work for you (requires 1.6).

This PR does not implement this feature, but it lays the groundwork by preventing StackStorm from throwing on unknown pack.yaml fields. We also add properties that are very likely to appear in the next version: dependencies and system. Even if there's no implementation for these fields right now, they are pretty self-explanatory (and there's a description in the schema, too) and helpful to the user, so it's better if 2.1 still allows to install a pack meant for whenever those features are implemented. Then users can handle versions and deps themselves or consider updating.
dependencies will be implemented either in the content management release (see https://github.com/stackstorm/discussions/issues/204), or earlier, but in a basic form: for instance, conflicting dependencies won't be resolved.
system is a way to specify system requirements. We could use it to require a minimal StackStorm version, but also for packages. Even if StackStorm can't check and install system requirements right now, at least with this field users would know where to look for them. I'll try to take a stab at it it as soon as I can, but only after everything critical is done for the current release.

Current coverage is 76.43% (diff: 100%)

Merging #2988 into master will decrease coverage by 0.06%

@@             master      #2988   diff @@
==========================================
  Files           426        426
  Lines         21812      21811     -1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          16684      16671    -13
- Misses         5128       5140    +12
  Partials          0          0

Diff Coverage
File Path

•••••••••• 100%
st2common/st2common/constants/pack.py

•••••••••• 100%
st2common/st2common/bootstrap/base.py

•••••••••• 100%
st2common/st2common/models/db/pack.py

•••••••••• 100%
st2common/st2common/models/api/pack.py

Powered by Codecov. Last update 9329a60...be5bc37

Discussed this schema change with @bigmstone, I think we came up with a decent structure for storing system requirements:
name: mypack
description: A pack that does things
[...]
system:
  stackstorm: 2.1
  packages:
    - libxml
    - pkg2
    - pkg3
  deb-packages:
    - libpcap-dev
    - happy-package
  rpm-packages:
    - libpcap-devel
    - happy_package

StackStorm can act upon the params inside system that it knows about (i.e. if stackstorm is specified, it would check if the version matches), and even if handling of some parameters isn't implemented yet because of an older version, it's still pretty self-explanatory for a user.

I also think that st2_version should be a top level field and system should just be used for OS level package deps. @Kami what are your thoughts?

Yeah, could use @Kami's opinion on this. My thinking is system would collect not just packages, but various other system-level dependencies: additional packages, StackStorm version, required action runners if we decide to pack them separately, Ruby version if the pack implements a Ruby runner, etc. I can get behind making StackStorm version special, so I'm not exactly opposed, but I'd still rather put all external requirements in one place to have consistency. Otherwise we'll just find ourselves wondering if we should promote every new kind of requirement. Is the ruby version special for a ruby runner pack? Is it "top level" special or just sorta special? Etc.
So I'm fine with either, but I think system for requirements and system.stackstorm for st2 version is better because there's consistency and even some degree of tidiness, so to speak. There's not enough consistency and tidiness in the package management world as it is, let's introduce some 😛

I also think that st2_version should be a top level field and system should just be used for OS level package deps. @Kami what are your thoughts?

Yeah, I agree :)
As mentioned in my comment above, I would also prefer st2_version to be a simple string since there is not much need for anything else.

I added some comments - some things which still need to be decided and changes, but overall nice work :+1:
I also just checked out this branch and will make the version changes  we discussed yesterday directly in this branch so there won't be any merge conflicts :)

  deb-packages:
    - libpcap-dev
    - happy-package
  rpm-packages:
    - libpcap-devel
    - happy_package

Even if that part is not implemented, just a thought: I think it will be a bit dangerous to specify/install OS-level dependencies, because it could be harder than we initially think.
Different packages can provide same libraries(package1|package2), different flavors of distros can have different package naming, dependency could be installed/configured from sources, add here OS package versioning requirements and so on underwater rocks.
pip doesn't install OS-level dependencies, why should we? Maybe it could be a bit of a nightmare, I don't know. But it's good to think about the change like that carefully.

@emedvedev I merged my PR into this one so only thing we need to decide is version normalization (cc @m4dcoder, @lakshmi-kannan).
Besides that, we should be good to go.
Oh, and of course we also need some docs + upgrade notes on it (I can tackle upgrade notes once it's merged).

@armab

Even if that part is not implemented, just a thought: I think it will be a bit dangerous to specify/install OS-level dependencies, because it could be much harder than we initially think.

I definitely think StackStorm should not be be touching or handling OS-level dependencies. This info is more just like a metadata for packaging (and perhaps package maintainers can use it to auto-generate files based on this metadata).

Yeah, what that guy said. :)

@emedvedev @Kami ^^ Huh, I thought you smoked something, but looks like I've smoked something wrong :smile:
Just to make sure the naming is not confusing, so users won't think that os-level packages will be really installed. Something along recommends keyword.

@Kami I've removed the .0 stuff as I think it should be a separate discussion in another PR, and the version validation should probably be done during the installation for a few reasons, so also removed the check (but not utils). So normalization can be returned later, I just didn't want to hold off this PR until everyone has time for discussions.
Merging.


Updated Bot for DMs

Signed-off-by: gdsoumya<EMAIL_ADDRESS>

Can you run yarn lint:fix when you get a chance, inside packages/aztec-cli?
It looks like your text editor is making a lot of whitespace changes that obscure your actual work.
The .eslintrc.json file contains the style we use in this project. There might be a way to get Sublime Text to read from these settings as well. Thank you!


[QUESTION] Try to dl 4Kwebm+opus in webm container

Hi I can't find how to get a webm muxed of vp9+ opus
I tried youtube-dl -f webm+webm --merge-output-format webm
Which obviously failed ....

Post the full output of youtube-dl when run with --verbose option.

Sorry it works perfectly with default ! Thanks for this great tool !
youtube-dl --prefer-free-formats https://www.youtube.com/watch?v=UceRgEyfSsc
[youtube] UceRgEyfSsc: Downloading webpage
[youtube] UceRgEyfSsc: Downloading video info webpage
[youtube] UceRgEyfSsc: Extracting video information
[youtube] UceRgEyfSsc: Downloading DASH manifest
[youtube] UceRgEyfSsc: Downloading DASH manifest
[download] Destination: The Curvature of Earth 4K 60FPS-UceRgEyfSsc.f315.webm
[download] 100% of 637.85MiB in 06:58
[download] Destination: The Curvature of Earth 4K 60FPS-UceRgEyfSsc.f251.webm
[download] 100% of 2.96MiB in 00:02
[ffmpeg] Merging formats into "The Curvature of Earth 4K 60FPS-UceRgEyfSsc.webm"
Deleting original file The Curvature of Earth 4K 60FPS-UceRgEyfSsc.f315.webm (pass -k to keep)
Deleting original file The Curvature of Earth 4K 60FPS-UceRgEyfSsc.f251.webm (pass -k to keep)

Use -f bestvideo[ext=webm]+bestaudio[ext=webm]/best[ext=webm] if you don't want anything apart from webm ever to be downloaded.


Add the text param to findAndPreserve in the ERB template

As mentioned in the doc and used in the method.

Thanks a lot!


Updated navigation bar and also added icons

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Feature
Why was this change needed? (You can also link to an open issue here)
Added the feature to hide the navigation bar for medium and large sized devices, according to the Figma design. Also updated the icons-GitHub and Discord.
Other information:

https://github.com/arc53/DocsGPT/assets/119007659/d1400891-c6e9-42cf-a086-2b809d96fd88

@tenokami  please check this out

Looks good to me

@holopin-bot @SoumyadiptoPal  Thank you!


XML documentation for code and Coverage 90% before any release

XML documentation for code and Coverage 90% before any release.

There is enough functionalities at this time, let's start completing unit tests and writing documentation.


Question: Transactions and JSON/RPC

Hello.
I'm sorry if I'm spamming too much here.
But you guys are answering here very quickly and on point, I couldn't find much info on the forums or somewhere else.
Just have quick questions:

Is there any analog of bitcoin's walletnotify to get notified of the new transactions coming to the ripple wallet? So instead of querying the daemon every minute to get instant notification of the new incoming transaction from the daemon itself..

Is there confirmations of the transaction?

How do I make a new account via JSON-RPC.

Fee is fixed or is it dynamic?

Thanks.

You can subscribe to various event streams, I think there is also one where you can watch certain account activity.
If it is included in a ledger, it is immutable. Unlike PoW coins like Bitcoin where you always just have a probability of actually being at the current tip of the chain, in RCL creating a fork needs manual intervention and coordination by a supermajority of relevant validators.
Send a transaction of at least the account reserve in XRP to a new address. You can generate that new address offline or (not recommended) get a random secret (effectively a private key) from a rippled server.
dynamic with a fixed floor.

@MarkusTeufelberger
Thank you, but you didn't exactly answered my questions.

how do I create a new account (e.g. new wallet address), e.g. ./bitcoin-cli getnewaddress is for bitcoin, how do I do this in ripple?

So regarding confirmations you're saying there is no point in checking them for ripple? Once transaction is there it's valid as long as validators are there?

How can I send ripple coins via JSON-RPC?

How do I get that fee? Can I calculate it before sending out ripple ?

Thanks a lot.

You create a public-private keypair yourself and encode the public key to get the address or you let your local rippled server do it for you (or ripple-lib or some custom software you wrote yourself or got from somewhere else) - see https://ripple.com/build/rippled-apis/#wallet-propose for example

Yes. Once it was successful it requires external intervention to remove it, which would be a major event in Ripple. In PoW scenarios, you only have a certain probability that your chain actually is the longest one, so you need to wait for a few more blocks to be relatively sure that you are actually on the main one. RCL only has a single one.

see the documentation and/or read the forums. (https://ripple.com/build/fees-disambiguation/ and https://ripple.com/build/transactions/)

Hi. Another question I have.
How do I distinguish multiple payments via destination_tag to the same wallet address ?
I can't seem to find an example how to submit a transaction with destination_tag via JSON/RPC or command line.
Maybe @MarkusTeufelberger you know it?
Thank you.

Look up the DestinationTag field in the transaction you received.

https://ripple.com/build/transactions/#payment --> set the DestinationTag field to whatever you want, sign the transaction and submit it.

Ok, thanks again @MarkusTeufelberger
Do you know why https://ripple.com/build/rippled-apis/#tx-history tx_history method is considered to be deprecated and what to use instead for getting history of the account?
And also is there any way to determine time of the transaction in tx_history? I do not see any field in the output representing time of the arrival.
Thanks again!

No

look at the time of the ledger a transaction was included in.

@MarkusTeufelberger upon further inspection of the docs I've found this: https://ripple.com/build/rippled-apis/#account-tx
So it seems to be possible and there is a date already present.

@MarkusTeufelberger how do I check if Ripple address is valid? Is there any function to do that? (e.g. checksum or something like in bitcoin)
Thanks.

Sorry, but I am not your personal free support person. Please ask these kind of questions on stackoverflow or contact Ripple Inc. Maybe someone else wants to drop in and answer your questions?
Alternatively feel free to make an offer to hire me as a consultant.

I'm sorry for the spam here :)) Your help was much appreciated!

I have  Two Test Accounts in Ripple  I Can  Send XRP One Account To Another Account  is there any possibility help me thank you

For Testing Purpose

Sorry, but I am not your personal free support person. Please ask these kind of questions on stackoverflow or contact Ripple Inc. or read https://ripple.com/build/. Maybe someone else wants to drop in and answer your questions?
Alternatively feel free to make an offer to hire me as a consultant.

Please don't re-animate old issues @MadhusudhanReddyKalathuru :)


Beautify selection

It's nice to have an option to beautify only selected area.

This plugin is useless without this; the most common use case (copying css from Chrome console, pasting it as sass)


Blazor library with Javascript interop fails server-side

Describe the bug
I have created a Blazor library package (using the blazorlib template). In that library I have only created a simple JavaScript interop that should set focus on a element.
Here is the source code for that library: https://github.com/haavamoa/BlazingFocus
When referencing this in a client-side Blazor project (blazor and blazorhosted templates), everything is working.
When I reference this in a server-side project (blazorserverside) I will get an exception that tells me that my JavaScript can't be found:
Message = "Could not find '<myjavascriptmethod>' in 'window'.\nError: Could not find '<thejavascriptmethod>' in 'window'.\n    at http://localhost:5000/_framework/<myproject>.server.js:8:20878\n    at Array.forEach (<anonymous>)\n    at d (http://localhost:5000/_framework/blazor.server.js...
When I use the developer tools and go to Sources I can not locate my Javascript either.
To Reproduce
Steps to reproduce the behavior:

Using this version of ASP.NET Core : 3.0.100-preview6-012264
Create a blazorlib
Create a JavaScript interop that runs a method that is defined in a JavaScript file inside content folder. Or you can just use the template as is.
Surround the calling interop method with a  try-catch(Exception e).
Create a blazorserverside project.
Add reference to the blazorlib you just created
Try to use your interop class, in example in the OnAfterRenderAsync method in a page.
Breakpoint the interop call and observe the exception.

Expected behavior
My JavaScript in the blazorlib should be called.

The server-side Blazor template has never supported the old-style static content feature you're using here (i.e., the default static content mechanism in blazorlib).
The server-side Blazor template supports only the new-style static content feature: see "Static assets in Razor class libraries" in this blog post.
To unify the situation across all scenarios, we're also migrating the new-style static content feature into the client-side templates and removing the old one. We will be retiring the blazorlib template entirely and making client-side and server-side Blazor share the same components class library template.

That guide worked perfectly. The only issue I have with this option is that the users of my package has to include the JavaScript file in their index.cshtml. This is not needed if I follow the guide and use my package in a client-side blazor project. So if you are migrating this style, I would appreciate the latter style for both scenarios.

Auto-adding <script> tags (etc) is something we've made a deliberate decision to exclude from the newer mechanism, because there are so many cases where this can't possibly work (e.g., if the developer needs to control the inclusion order, or if they have to select 1 out of N possible files (e.g., for localisation), or because they are going to do a custom Webpack build over all the files).
Package authors should document the suggested markup to be added to index.html, as well as any guidance on what order things should be put into. I know that feels less convenient, but it's the only approach that really scales up to real-world complexity in general.

Thank you so much for clarifying.


Add Byobu in Tools and Plugins

Byobu is a GPLv3 open source text-based window manager and terminal multiplexer.

Hi there @jgaribaldi. Thank you for your contribution. Please resolve all conflicts with the master branch. Thanks!

@k4m4 There, all done.  Hope that you can merge to master before new conflicts appear.


[Docs] Add change log process documentation

Autogenerated notes have been discussed, but this approach has the pros of:

Curated, meaningful change documentation.
Changelog is always in sync with the codebase.
Release process is simplified.

At the expense of:

PR Conflicts when many PRs are in flight at once.

@feltech also fixed this.


Documentation?

About kurkle/color :
How do I install it?
How can I set it on a web site?
Which file(s) should I use?

Hmm, how did I miss this.
You are right, the documentation is very much missing.
What were you planning to do with it on a website? (could possibly be a case for an example)

Hello,
I think I forgot.
On that time I was looking for a way to generate graphical SVG pictures.
Finally I made it without any library.


Pass task args to tasks in depends

We can pass arg to task like mise run build arg1. But if build task depends on, for example, lint task, lint task will not get arg1  as arg. It's very handy to have this feature imo.

I don't understand how this could work in a useful way. Maybe you could show me an example.

it's usefull for the tasks that require args.
See 'docker pull --help'.

Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Download an image from a registry
mise [pull] exited with code 1

But an invocation of pull directly works:
❯ mise r pull ubuntu
[pull] $ docker pull
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:562456a05a0dbd62a671c1854868862a4687bf979a96d48ae8e766642cd911e8
Status: Image is up to date for ubuntu:latest
docker.io/library/ubuntu:latest

it's usefull for the tasks that require args.
See 'docker pull --help'.

Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Download an image from a registry
mise [pull] exited with code 1

But an invocation of pull directly works:
❯ mise r pull ubuntu
[pull] $ docker pull
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:562456a05a0dbd62a671c1854868862a4687bf979a96d48ae8e766642cd911e8
Status: Image is up to date for ubuntu:latest
docker.io/library/ubuntu:latest

OK but the second you add an extra dependency to either of these you're sending ubuntu to something that probably shouldn't receive that.

You are right. Maybe it's better to add a new option for task to be able to inherit args?

You are right. Maybe it's better to add a new option for task to be able to inherit args?

I think you should just use an environment variable like DOCKER=ubuntu.

It's ok to use env variable for single arg. But it's not handy to do it with a changeble number of args =(
I've added -q arg:
mise r run -q ubuntu

You're not thinking this through. The second you want to run any param that isn't supported by docker build this would break: mise r run -q ubuntu -w $PWD for example. This might work in a handful of contrived use-cases but that's it.

I will say though that I plan to make the arg functionality in mise tasks vastly more comprehensive in the future and supporting global args is something I'm thinking about.

Also, not that you can do anything about this, I've always felt that docker is a poorly designed CLI and this is a good example. It blows my mind there still isn't (to my knowledge) a simple docker build-and-run command.

yes, and imo it's a responsibility for a mise-user to decide how to set task dependencies. So additional switchers are a way to go.
[tasks.pull]
run = "docker pull"
inherit_args = true

or
[tasks.run]
depends = ["pull"]
run = "docker run —rm"
propagate_args = true

I agree with you about the cli design of docker. But docker is just an example, i'm actually trying to use tasks for terraform cli. But examples with terraform more complicated to show 🙂

Another idea: just propagate shell args like $1, $2, $@ and so on to the depends task. Because $1 and $2 are accessible only in task that have been called directly from command line for now.
Actually, it provides more opportunities to user to compose run commands with args. And also it's optional to use $1 or $2 in a task.
# .mise.toml

[settings]
experimental = true

[tasks.pull]
run = """
#/bin/bash
docker pull $1
"""

[tasks.run]
depends = ["pull"]
run = """
#/bin/bash
docker run —rm $1
"""

Yeah I like that idea. It'll need to wait until task args get overhauled using my work on usage though. It may end up looking differently though, I may take advantage of templates so you could do it like this:
[tasks.pull]
run = """
#/bin/bash
docker pull {{ args.0 }}
"""

reason being is you could make it work like this alternatively:
[tasks.pull]
run = """
#/bin/bash
docker pull {{ options["docker-image"] }}
"""

which would be called with mise r run --docker-image=ubuntu

Excited to see your updates on task arguments! Thanks in advance for your work)

This would be a useful feature I'm also looking forward to.
Maybe just can be used as additional inspiration for some aspects. E.g. I like it's explicit argument handling in recipes. E.g.
test target tests="all": (build target)
  ./test --tests {{tests}} {{target}}

This is nice because recipes explicitly define what input they expect and fail otherwise, giving the user a hint how to use it.