Setup instructions on Windows - README.md

Assumes you have Conda installed and know what it is.
Might be worth expanding that section of the how to landing page to include some links for Windows users:
Maybe link to the Mini Conda installer:
https://docs.conda.io/projects/miniconda/en/latest/
Then be clear that just typing 'conda' into a terminal on Windows will do nothing except throw an error, you have to specify the install path first so these commands don't work:
conda create -n ChatDev_conda_env python=3.9 -y
conda activate ChatDev_conda_env
the need to be more like
C:\Users\ *****\miniconda3\condabin\conda create -n ChatDev_conda_env python=3.10 -y
C:\Users\ *****\miniconda3\condabin\conda activate ChatDev_conda_env
Also note worth moving to recommending Python 3.10 as it's a security release to fix CVE's in 3.9. Using 3.9 is not recommended anymore and all users should have long since upgraded.

I also had problems with the setup instructions for Linux. Specifically, using Python version 3.9 does not work with Ubuntu, but Python 3.10 does.
So instead of
conda create -n ChatDev_conda_env python=3.9 -y
the doc should say
conda create -n ChatDev_conda_env python=3.10 -y

Thank you very much for your supplementary suggestions on the details. We will fully consider incorporating this idea in the next update of the README. Please look forward to it.


Black Screen with The Sinking City

Software information
Epic's exclusive title: The Sinking City
System information
From inxi:
System:    Host: ANTHONYJ Kernel: 5.1.15 x86_64 bits: 64 Desktop: LXDE 0.10.0
Distro: Linux From Scratch SVN-20190519 20190519-systemd/multilib
Graphics:  Display: server: X.Org 1.20.5 driver: amdgpu unloaded: fbdev,modesetting resolution: 1600x900~60Hz
OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.30.0 5.1.15 LLVM 8.0.0) v: 4.5 Mesa 19.1.1 (git-22eddd8b9d)

Wine version:  Tested both 4.11(Staging) and ge-protonified-4.10-x86_64(from Lutris)
DXVK version:  1.2.3

Log files

d3d11.log:
TSCGame-Win64-Shipping_d3d11.log

dxgi.log:
TSCGame-Win64-Shipping_dxgi.log

wine ouput: TSCconsole.log

Problem Summary
Epic's exclusive title: The Sinking City
Playing the game via Lutris  gave me a back screen with a message at the bottom stating that it was compiling shaders, then the screen went totally black.  The lines in the wine log involving: "Unhandled modifier 0x800000c2, 0x00155543 and 0x80000042" are spammed continuously. I excised those  from the posted log above.

Your console log indicates that you're using wined3d and not DXVK. Also, this game uses mfplat, which is probably why you're getting a black screen in the first place since that's not implemented properly in wine yet.
The game does work with DXVK, but may require some manual setup.

I got it working. Thanks!
Do you mean DXVK doesn't output any lines at the wine terminal and if I see lines like those then the wined3d backend is live?

01ae:fixme:d3d11:d3d_blend_state_create Per-rendertarget blend not implemented.
01ae:fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x80000042.

This kind of stuff most definitely is wined3d-related. DXVK prints the same stuff that it writes to the log files into the console, but some games may "eat" that output so you may see nothing.

OK, I forgot to reinstall dxvk when switching wine versions.


feat: add options option to structures

Please describe the changes this PR makes and why it should be merged:
Status and versioning classification:

This PR changes the library's interface (methods or parameters added)

I am not sure if this should be added, as users can just extend the Command class for this feature, and with the new slash commands I don't see it getting used anyways. I'll let @xHyroM decide on this

Option 1
I agree with @S222em that people can extend the command like I have in my bot for example:
import { Command, CommandOptions } from 'gcommands';

export type CommandCategory = 'management' | 'moderation' | 'utility' | 'developer';
export type ExtendedCommandOptions = CommandOptions & {
    syntax?: string;
    category?: CommandCategory;
}

export class ExtendedCommand extends Command {
	syntax?: string;
	category?: CommandCategory;
	constructor(options: ExtendedCommandOptions) {
		super(options);

		this.syntax = options.syntax;
		this.category = options.category;
	}
}

We could add this example to the guide.
Option 2
Maybe we could still make some raw proper ones options or data where all the raw options you put in the command would be.

Option 1
I agree with @S222em that people can extend the command like I have in my bot for example:

import { Command, CommandOptions } from 'gcommands';

export type CommandCategory = 'management' | 'moderation' | 'utility' | 'developer';

export type ExtendedCommandOptions = CommandOptions & {

    syntax?: string;

    category?: CommandCategory;

}

export class ExtendedCommand extends Command {

	syntax?: string;

	category?: CommandCategory;

	constructor(options: ExtendedCommandOptions) {

		super(options);

		this.syntax = options.syntax;

		this.category = options.category;

	}

}

We could add this example to the guide.
Option 2
Maybe we could still make some raw proper ones options or data where all the raw options you put in the command would be.

Agreed

Option 1
I agree with @S222em that people can extend the command like I have in my bot for example:

import { Command, CommandOptions } from 'gcommands';

export type CommandCategory = 'management' | 'moderation' | 'utility' | 'developer';

export type ExtendedCommandOptions = CommandOptions & {

    syntax?: string;

    category?: CommandCategory;

}

export class ExtendedCommand extends Command {

	syntax?: string;

	category?: CommandCategory;

	constructor(options: ExtendedCommandOptions) {

		super(options);

		this.syntax = options.syntax;

		this.category = options.category;

	}

}

We could add this example to the guide.
Option 2
Maybe we could still make some raw proper ones options or data where all the raw options you put in the command would be.

Agreed. @SebestikCZ can you do what hyro suggested in option 2?

I could do that, but I don't know, what do you want from me

@SebestikCZ as hyro suggested in option 2, add a Command#options field (for Components, Plugins and Listeners as well please) where the options for the command are stored instead of command.name for example, it would became command.options.name

okay, seems legit to make

@SebestikCZ as hyro suggested in option 2, add a Command#options field (for Components, Plugins and Listeners as well please) where the options for the command are stored, so instead of command.name, it would become command.options.name
Discord.js also uses this in their Client class for example

But we need keep this.name for example for minor change

I comitted it to another branch reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
once again

hm, a little change will be needed

@xHyroM what about removing all the options on the command level? e.g. remove command.name etc, so options will only reside in the command.options and the run method can be replaced with one that catches any errors itself, instead of doing that in the handler.

@xHyroM what about removing all the options on the command level? e.g. remove command.name etc, so options will only reside in the command.options and the run method can be replaced with one that catches any errors itself, instead of doing that in the handler.

hm, idk we want minor change now

@SebestikCZ as hyro suggested in option 2, add a Command#options field (for Components, Plugins and Listeners as well please) where the options for the command are stored, so instead of command.name, it would become command.options.name
Discord.js also uses this in their Client class for example

But we need keep this.name (example) for minor change
Just set this.options after constructor and then valid it with zod and set this.name for example

@xHyroM shouldn't this.options be set after zod validated it? Zod actually transforms the value on some cases as well, and that wont be reflected into this.options then. Zod is also set to let any additional items trough so there should be no issue.

@SebestikCZ as hyro suggested in option 2, add a Command#options field (for Components, Plugins and Listeners as well please) where the options for the command are stored, so instead of command.name, it would become command.options.name
Discord.js also uses this in their Client class for example

But we need keep this.name (example) for minor change
Just set this.options after constructor and then valid it with zod and set this.name for example

@xHyroM shouldn't this.options be set after zod validated it? Zod actually transforms the value on some cases as well, and that wont be reflected into this.options then. Zod is also set to let any additional items trough so there should be no issue.

ah, okay then @SebestikCZ time to revert it xd

@SebestikCZ

If you have ideas, how to make it right, set up commits and I will add it to this pull

If you have ideas, how to make it right, set up commits and I will add it to this pull

Just type options in Plugin.ts
export interface PluginOptions {
    name: string;
    run: (client: GClient) => any;
}


Flag sensitive values as described in terraform 0.14 upgrade

what

Fixing problem with terraform 0.14 sensitive output variables

why
When I wanted to use module with terraform 0.14 I got error:
Error: Output refers to sensitive values

  on .terraform/modules/akamai_ssm_data/outputs.tf line 48:
  48: output "values" {

Expressions used in outputs can only refer to sensitive values if the
sensitive attribute is true.

Error: Output refers to sensitive values

  on .terraform/modules/akamai_ssm_data/outputs.tf line 53:
  53: output "map" {

Expressions used in outputs can only refer to sensitive values if the
sensitive attribute is true.

To Fix this issue we need to add sensitive   = true flag to both outputs. Now Terraform will not display sensitive values, but we can still use them in other modules. Look into provided link in references if you want to know more.
references

https://www.terraform.io/upgrade-guides/0-14.html#sensitive-values-in-plan-output
Fixing #28

/test all


How can a backend service communicate with a Razor Component?

What is the proper way to let a background process/task raise an event or notification that a Razor Component can consume?
For example, if I have a background queue processor, it might make changes to a record through a service class, and the service could raise an event or notification that the entity has changed.
Using Angular or other SPA frameworks, it was pretty easy to listen for SignalR hub messages with notifications from the service which would signal to the component to either apply the record change, or signal to the component to pull fresh data.
With Razor Components there is no SignalR connection needed to send messages, as they would all be handled server side (only the rendering is passed to the browser), but there should be a generic way to send messages to a component to enable the same kind of functionality you would have using a JS SPA framework with SignalR.
Is there, or could there be an IComponentHubContext that could be injected into backend services that would let you invoke methods on all component instances (much as you would invoke a SignalR method on a IHubContext) and it would handle calling using the appropriate execution/thread context (as opposed to running it on the thread that the service making the call is currently running on). On Blazor it could push the call to the client to execute, over the existing SignalR hub connection.
Maybe it could be constrained to calling event handler methods in the component, since such calls wouldn't be able to wait for or use the results of the methods if they had a return type.

Thanks for contacting us, @keithwill.
It's actually much simpler with Razor Components in ASP.NET Core. You can inject a service you want to listen to directly into the component using the @inject directive and subscribe to the event of your interest. When the event fires, the component will handle it and should call the StateHasChanged() method to indicate that a UI update is required. That will cause the runtime to do the needful and send UI updates to the browser.

So the events would need to be async delegates if the component event handler needs to do any database or network IO to avoid causing substantial delays in user perception of the event propagation.
Thanks!

@mkArtakMSFT can you give code snippets as an example? We're trying to do the exact same thing but isn't able to to so. Thanks!


Kibana 5.0

are you have any plan to update tag cloud for kibana 5?

+1

+1

It works for kibana 5, only with a bit changes:
In the file "tagcloud/public/cloud.js", line 6 and 7 must be changed to:
 var TemplateVisType = Private(require('ui/template_vis_type/template_vis_type'));   var Schemas = Private(require('ui/vis/schemas'));

There seems to be issues with the installation of plugins between 4.x and 5.0 so not only will it need this update but apparently something in gulp needs to be changed also.

Given that the core Kibana team is working on implementing a tag cloud visualization (which modifies this plugin for Kibana 5.0), I don't have any plans to update this for Kibana 5.


[CP Stag] Remove unnecessary chatOptions computation

Details
We already compute chatOptions in useEffect and we shouldn't do it in addParticipantToSelection because it has state participants since we only merge those into Onyx here
Fixed Issues
$ https://github.com/Expensify/App/issues/32819
Tests

Start a money request + > Request money
Add/remove multiple participants to the split
Verify that the list is instantly updated and there's no duplicate/missing participant
Type in and select random user's email address i.e<EMAIL_ADDRESS>Verify that individuals don't appear as participant options for distance request

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

Offline tests
N/A
QA Steps
Same as tests

[ ] 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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 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(theme.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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[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.

Screenshots/Videos
https://github.com/Expensify/App/assets/22219519/670e3f2a-6ca3-4f4d-b8e7-67616d0bec00

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Assigning @situchan since this fixes a blocker and I asked for an expedited review here.

We can add one more step as this fixes #30210 regression as well:
4. Type in and select random user's email address i.e<EMAIL_ADDRESS>5. Verify that individuals don't appear as participant options for distance request

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
[x] 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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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(theme.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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[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 reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/108292595/73b35534-74cb-4ebe-9266-cd62f3676c2d

Android: mWeb Chrome
https://github.com/Expensify/App/assets/108292595/f25687f9-2c18-4c66-bacf-fcff56c2c8bd

iOS: Native
https://github.com/Expensify/App/assets/108292595/83cf9d11-63cd-447e-84bc-15a6ce9d073f

iOS: mWeb Safari
https://github.com/Expensify/App/assets/108292595/3ff623cc-9e3b-44ab-9e3f-02d1509ac3c6

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/108292595/f903b381-f7c5-4d3b-858b-d20ec4425fb2

MacOS: Desktop
https://github.com/Expensify/App/assets/108292595/4c928214-035e-4f66-8e44-3f6283f679b8

Added

: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.

🚀 Cherry-picked to staging by https://github.com/luacmartins in version: 1.4.11-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.11-25 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Added setup script for spinel-cli (#795)

This PR fixes #795. Please verify if author_email field works for you.

Current coverage is 72.76% (diff: 100%)

Merging #959 into master will decrease coverage by 1.14%

@@             master       #959   diff @@
==========================================
  Files           118        117     -1
  Lines         17615      17606     -9
  Methods        2452       2448     -4
  Messages          0          0
  Branches       2127       2127
==========================================
- Hits          13020      12811   -209
- Misses         3905       4103   +198
- Partials        690        692     +2

Powered by Codecov. Last update dd44c23...2097ed6


more docs samples needed

Hi,
would be nicer to have more help for :

basic layout with responsive sidebar + tabbed panes content selection
dynamic html : generate buttons according to a list of items
board games with dynamic : a Tic-Tac-Toe example

if possible, with the lowest external packages dependencies footprint
Thanks in advance

for example, given the array : labels = 'a,b,c,d'.split(',')

create 4 buttons with labels from 'a' to 'd'
log from 'created a' to 'created d' in console
each click on a button logs its label

Here are my tries :
import { at, tap, map, constant, mergeArray, merge, continueWith, empty } from '@most/core'
import { click } from '@most/dom-event'

const buttons = [
  { label: 'Game' },
  { label: 'Display' },
  { label: 'History' },
  { label: 'About'}
]

const mergedButtons = mergeArray(buttons.map((b, idx) => at(idx, b)))

// const clicks = empty()

const buttonRender = b => {
  let button = document.createElement('button')

  button.innerHTML = b.label

  // continueWith(() => tap(e => console.log(e), constant(b.label, click(button)), clicks))
  // continueWith(() => tap(e => console.log(e), click(button)), clicks)

  return button
}

const buttonsStream = map( buttonRender, mergedButtons)
const tapped = container => tap(button  => container.appendChild(button), buttonsStream)
const clicks = tap(b => tap(e => console.log(e), click(b)), buttonsStream)

// export const newTabs = container => continueWith(() => buttonsClicks, tapped(container) )
// export const newTabs = container => merge(tapped(container),buttonsClicks)
// export const newTabs = container => merge(tapped(container),clicks)
// export const newTabs = container => continueWith(() => clicks, tapped(container))

export const newTabs = container => merge(tapped(container), clicks)

Hi @hefeust.  Thanks for your interest!
What mostjs is and isn't
Let me start with a few things up front, just to make sure they're clear (and I apologize if they weren't).  If you haven't already read it, please read the introduction in the docs to get a feel for what mostjs is and isn't.
Mostjs is a library for declarative asynchronous event programming.  It isn't a replacement for Array or any synchronous collections library--you can keep using array or other collection libraries for the things they are good at.  It also isn't a full application framework, but you can use it with other things like a virtual DOM or other DOM libraries.
Existing examples
Ok, with that out of the way.  Here are existing examples you can look at:

Standard JS examples - these are intended primarily to be simple, and to show mostjs features, so they don't use any additional DOM libraries--they just use the DOM directly.
Typescript Examples, including TodoMVC - the TodoMVC example here is more involved, and uses hyperhtml to update the DOM.

I hope those are helpful to you.
Your button example
Let's start with some imports:
import { constant, mergeArray, tap, runEffects } from '@most/core'
import { newDefaultScheduler } from '@most/scheduler'
import { click } from '@most/dom-event'

Your button example constructs buttons from an array of objects.  While you can do that with mostjs, it's really best to do synchronous array processing with an array.  So, let's try that with just arrays:
const defs = [
  { label: 'Game' },
  { label: 'Display' },
  { label: 'History' },
  { label: 'About' }
]

const buttonRender = def => {
  const element = document.createElement('button')
  element.innerHTML = def.label
  return element
}

const buttons = defs.map(buttonRender)
const buttonsRender = container => buttons.forEach(b => container.appendChild(b))

Note that so far, we've not used mostjs at, because we didn't need to.  Now we can use mostjs to represent the clicks as an event stream.  I see you've used per-element click events (as opposed to container-level events), so let's stick with that:
// Create a click event stream for each button, and merge them together
const clicks = mergeArray(buttons.map(button => constant(button.innerHTML, click(button))))
const logClicks = tap(c => console.log(c), clicks)

Let's render the buttons into the DOM:
const container = document.getElementById('app')
buttonsRender(container)

And finally, we need to run all the side-effects.  Mostjs streams are lazy: they don't do anything until you call runEffects and provide a scheduler.
runEffects(logClicks, newDefaultScheduler())

If you build and run that example, and then click the buttons, you'll see each button's innerHTML in the console.
I hope that's helpful in getting started.  Please do join us in gitter for more help if you need.


Add grpc metrics and logs

[x] Generate jl files from protos and manually merged them into one module
[x] There used to be some misunderstanding of Views in MeterProvider, need revisit

Oops. Yeah, I forgot to tag a new release. To make sure the latest code work as expected, I'll examine the main branch and then tag the new release this weekend.


M3-3785 Source Linodes from Redux in Networking and Backups

Description
The components in the "Restore to Linode" drawer (Linode Detail -> Backups) and the "Networking Actions" section (Linode Detail -> Networking) were making their own requests to /linode/instances in order to populate options in the Selects.
They were only requesting the first page, which means that if you had more than 25 Linodes in one region, you would not see all of them listed.
In this PR, the data is sourced from Redux.
Notes:

I thought about using the LinodeSelect component but wanted to keep the changes to an absolute minimum.

Type of Change

Bug fix ('fix', 'repair', 'bug')

Note to Reviewers
Use production test account 1

Navigate to the Backups Tab for pagination-test-source.
Click "Restore to Existing Linode" in the Action Menu of one of the backups.
Observe: pagination-test-target should be listed. In Production this is not the case.

For Networking Actions, test IP Transfer and IP Sharing for the following Linodes:

pagination-test-source
pagination-test-target
singular-linode-in-mumbai

While checking this PR in prod to validate the issue, I did see that 100 options were in the list to be selected from. The pagination linodes could not be found but there were certainly more than 25 available.

I compared against prod, this looks good to me! Per the testing instructions, I wasn't really able to test anything for IP transfer or sharing for singular-linode-in-mumbai as those options weren't available, just want to make sure that's expected (seems to be but wanted to double-check).

Thanks @WilkinsKa; this is expected.

@Jskobos good catch. I just created M3-3786 to address this separately.


subscribe and listen functions

Do you have any sample to know to use subscribe and listen functions?

@Vruizvil did u get any sample ? If yes, would you mind sharing?


SRT http hook call missing ip in request data

Note: Please read FAQ before file an issue, see 2716

Note: 提问前，请先看FAQ, 即 2716

As part of the ingest flow we use http hooks to ensure valid incoming stream - for RTMP we currently use the ip part of request data - we need to do the same for SRT but the ip field appears missing in the request data

Please description your issue here(描述你遇到了什么问题)

SRS Version(版本): 5.0.33

SRS Log(日志):

RTMP connection calling on_publish hook:
[2022-07-11 09:23:04.066][Trace][17][n8w1q032] http: on_publish ok, client_id=n8w1q032, url=http://srs-helper:8089/on_publish/, request={"server_id":"vid-2f42ds2","action":"on_publish","client_id":"n8w1q032","ip":"<IP_ADDRESS>","vhost":"__defaultVhost__","app":"broadcast","tcUrl":"rtmp://<IP_ADDRESS>:1935/broadcast","stream":"46746746746746746746","param":""}, response=0

SRT connection calling on_publish hook:
[2022-07-11 09:22:29.601][Error][17][y87l7038][11] srt serve error code=4005 : srt: callback on publish : srt on_publish http://srs-helper:8089/on_publish/ : http: on_publish failed, client_id=y87l7038, url=http://srs-helper:8089/srs/on_publish/, request={"server_id":"vid-2f42ds2","action":"on_publish","client_id":"y87l7038","ip":"","vhost":"","app":"broadcast","tcUrl":"","stream":"46746746746746746746\"","param":"vhost=\""}, response=403: Forbidden, code=403 : http: status 403

SRS Config(配置):

listen              1935;
max_connections     10000;
srs_log_tank        console;
srs_log_level       trace;
daemon              off;
http_api {
    enabled         on;
    listen          1985;
}
http_server {
    enabled         on;
    listen          1995;
    dir             ./objs/nginx/html;
}
srt_server {
    enabled         on;
    listen          10080;
    maxbw<PHONE_NUMBER>;
    connect_timeout 4000;
    # https://github.com/ossrs/srs/wiki/v5_EN_SRTParams#common-live
    peerlatency 0;
    recvlatency 0;
    latency 0;
    tlpktdrop off;
    tsbpdmode off;
}
vhost __defaultVhost__ {
    srt {
        enabled     on;
        srt_to_rtmp off;
    }
    http_hooks {
        # https://github.com/ossrs/srs/wiki/v4_EN_HTTPCallback
        enabled     on;
        on_publish <IP_ADDRESS>/on_publish/;
        on_unpublish <IP_ADDRESS>/on_unpublish/;
        on_play <IP_ADDRESS>/on_play/;
    }
    publish {
        # 1st packet timeout in ms for encoder.
        # default: 20000
        firstpkt_timeout    20000;
        # normal packet timeout in ms for encoder.
        # default: 5000
        normal_timeout      5000;
    }
}

Replay(重现)

Please describe how to replay the bug? (重现Bug的步骤)

RTMP tested with:ffmpeg -re -i live_005.mp4 -c copy -f flv 'rtmp://<IP_ADDRESS>:1935/broadcast/46746746746746746746'
SRT tested with: ffmpeg -re -i live_005.mp4 -c copy -f mpegts 'srt://<IP_ADDRESS>:10080?streamid=#!::r="/broadcast/46746746746746746746",m=publish'

Expect(期望行为)

Please describe your expectation(描述你期望发生的事情)
I expect the ip field in the request data to be populated, regardless of RTMP/SRT protocol being used

The ip is in the clients(on_play or on_close) callback event, not the streams event.


added Screen

changed syntax in order to use Node-Webkit definitions without the usual require("nw.gui") since the method to retrieve a nw.gui Object in the node webkit client side is quite different from the usual mechanism.
added HtmlWindow property to nw.gui Window
added require() to Window

@xperiments could you review this PR?

I checked again and maybe the type definitions need more restructuring:
Typing the classes as interfaces to separate the static- and instance-methods/properties.
This would enable an interface that defines the "nw.gui"-module in a way that is usable when required via require("nw.gui") and e.g. global.window.nwDispatcher.requireNwGui();
The use case when the module is passed into a typescript class used in node scope is not yet handled.
E.g. node-webkit index.html
...
<script>
    // getting class defined in node-main.ts
    var nodeMain = process.mainModule.exports;

    var gui = require('nw.gui');

    // creating instance of class node main
    new nodeMain(gui);
</script>
...

node-main typescript class
class NodeMain {

    constructor(gui: [MISSING INTERFACE] ) {

        LoggingProvider.setLogPath(gui.App.dataPath);
        LoggingProvider.debug("Set log path to " + gui.App.dataPath);

        gui.App.setCrashDumpDir(gui.App.dataPath);
        LoggingProvider.debug("Set crash dump path to " + gui.App.dataPath);

        var nwWindow = gui.Window.get();
    }
}

Hello and thank you for your contribution!
Due to an excessively long queue of pull requests that have become stale, we are "declaring bankruptcy" and closing all PRs opened before May 1, 2016. If you'd still like to merge this code in, please open a new PR that has been merged and rebased with the master branch.
Going forward, we are committing to review or merge all PRs on a regular basis so this bankruptcy will not occur again. We apologize for the incovenience and hope you will continue to contribute to DefinitelyTyped in the future.
Thanks
The TypeScript and DefinitelyTyped teams


next: Revise record gear routes

proposal:
(change)
/record/schema/access -> /record/creation_access/update
(not existed yet) -> /record/creation_access/get
/record/schema/default_access -> /record/default_access/update
(not existed yet) ->/record/default_access/get
/record/schema/field_access/get -> /record/field_access/get
/record/schema/field_access/update -> /record/field_access/update
(no change)
/record/schema/rename
/record/schema/delete
/record/schema/create
/record/schema/fetch
/record/fetch
/record/query
/record/save
/record/delete

On the other hand, we may also consider revise the underlying record store (skydb) function name and comments.
https://github.com/SkygearIO/skygear-server/blob/master/pkg/server/skydb/conn.go#L136


ScrollViewer not scrolling to end with bottom padding...

Describe the bug
ScrollViewer not scrolling to end with bottom padding.
To Reproduce
create scrollviewer -> create content that is bigger than scrollviewer view -> add padding to scrollviewer (bottom)
see result
Expected behavior
No response
Avalonia version
11.1.3
OS
No response
Additional context
No response

Can't reproduce with vanilla Avalonia-FluentTheme. Do you use any custom Theme?

look at my repro, no im using the default FluentTheme atm or forever idk yet
the last row schould be red but its not visible and with a padding of 100 at bottum i should have a gap bottom.
https://github.com/trashhacker/Avalonia.Repro.git

Ah I see. DataGrid doesn't work well inside a ScrollViewer which is by design. It's due to virtualization and performance reasons. So either move the dg outside of the scrollviewer or consider to use a different control like ListBox or ItemsControl. TreeDataGrid might work but never tried it yet.

Hmm was a items Control!!
3red tab

@trashhacker I hope dude was meant just nice in this context and not disrespectful!
We will not debug your App on tab 3 of a larger App. If you have an issue, make the sample to reproduce as small as it can be. Not somewhere in this or that region of the App.... Sorry but we don't have enough time to debug bigger Apps. If you have a support agreement that may be a different thing.
Thanks for your understanding.b

Sure it was, but im Not an Idiot at all thats a Bug in Scrollviewer If i dont see the Last Line, neither the padding
Hmm OK thought would be a good Idee to collect the issues in one repro and Not makind x of them for every issue
ITS Not as bog as you think Just 3 tabs

Thank you, I updated the issue labels accordingly. Indeed, looks like Padding is calculated wrong for ScrollViewer 🤔

I thank u for your great work with Avalonia and your fast support, im sorry for any disagreements

@trashhacker just to make sure we're on the same line, we can have different opinions and we can have misunderstandings, but we all should be kind to each other. Your recent comment is how community can and should work together 👍🤗.


update dummy data with team description

update dummy data with team with missing description field

In a similar vain, is there any plans to update my mysql version support? The current version in the compose file is quite old. When i tried using newer mariadb it threw connection errors


Default to v4.4

Sister PR: https://github.com/esp-rs/esp-idf-template/pull/9
AFAIK we can't change the esp-idf version in esp-idf? Therefore I removed the patching for pio.
Marking as draft until pio v4.4 release.

Thanks! I've accommodated bits and pieces of your PR here: https://github.com/esp-rs/esp-idf-sys/commit/9d09145d8ee8017aa828b6c74162a0f38a798f73
That is, most of it except for not really switching to 4.4 as default (yet), as PlatformIO is still on 4.3.
By the way, last night we were hit by PlatformIO releasing their "espressif32" "platform" with 4.3.2 support (previously it was 4.3.1) and the esp-idf-sys stopped compiling under PIO as one of the v4.3 patches does no longer apply as it was merged upstream in 4.3.2). Fixed that here too: https://github.com/esp-rs/esp-idf-sys/commit/abebdf6cb96bd1a6e7ddfd21575e99d51d22f9ff


Issue reporter doesn't create issues - Safari - Codespaces Web

Steps to Reproduce:

Do the "report issue" flow in Copilot Chat
Try to create an issue in the Issue reporter that pops up
Create Issue button does nothing

I didn't see anything interesting in the logs... but hopefully the repro steps are easy enough.

Did some digging and it looks like it's happening in Safari and Chrome. Works fine in Edge, so it's not a github auth issue 👍
likely an issue with how we open external urls tho.


rust-build does not seem to exist

In order to use the rsenv install, the documentation refers you to install rust-build, which now gives a 404.

Sorry for the late answer. This project is not maintained anymore and was not feature complete (regarding rust-build).
Instead I highly recommend one of the following Rust version managers:

multirust
The de-facto tool nowadays, I use it as the only tool right now.

rsvm
Haven't tested it, but since there is still some activity in the repo, I'd say you can still use it.


add minimum version for slacker dependency

slack-cleaner requires 0.13 or greater at present.

thx


Usage fault when enabling USB device debug logging level on cdc_acm sample on mimxrt685

Describe the bug
Stack overflow when enabling USB device debug logging level on cdc_acm sample on mimxrt685
To Reproduce
The below log output was from doing  west build -b mimxrt685_evk_cm33 -p always samples/subsys/usb/cdc_acm -DCONFIG_USB_DRIVER_LOG_LEVEL_DBG=y -DCONFIG_DEBUG_OPTIMIZATIONS=y -DCONFIG_USB_DEVICE_LOG_LEVEL_DBG=y -DCONFIG_LOG_PROCESS_THREAD_STACK_SIZE=10000 -DCONFIG_MAIN_STACK_SIZE=10000 (or any stack sizes)
Attach, detach, reattach board to host computer to see fault
Expected behavior
No usage fault
Impact
Adds difficulty to debugging
Logs and console output
end of console output:
[00:31:30.065,488]  usb_cdc_acm: Device configured
[00:31:30.065,577]  os: ***** USAGE FAULT *****
[00:31:30.065,594]  os:   Stack overflow (context area not valid)
[00:31:30.065,614]  os: r0/a1:  0x30181630  r1/a2:  0x00000012  r2/a3:  0x00000000
[00:31:30.065,619]  os: r3/a4:  0x301815ec r12/ip:  0x00000002 r14/lr:  0x180047c7
[00:31:30.065,624]  os:  xpsr:  0x01000000
[00:31:30.065,630]  os: Faulting instruction address (r15/pc): 0x180033c4
[00:31:30.065,660]  os: >>> ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0
[00:31:30.065,680]  os: Current thread: 0x301819b0 (unknown)
[00:31:30.283,814]  os: Halting system
Environment (please complete the following information):

OS: WSL
Toolchain  Zephyr SDK 0.15
Commit SHA d4ed0d7a2de8530923b8a53b7cc6328e2e4cd3f7

Additional info
faulting instruction address in log above is:
180033c4:	e92d 4ff0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
which is the first instruction of cbprintf_packet_convert

Update: I am able to avoid the stack overflow by increasing the size of CONFIG_USB_MCUX_THREAD_STACK_SIZE


About the datasets

Hello ！
Your work is outstanding, could you also share the shifted datasets?
I will cite your work as it's inspiration for me.

Thank you very much.

Thank you for your recognition. Since the article is still under review, it may not be made public for now. You can use the data from another one of our projects instead: https://github.com/Dreamzz5/ST-OOD.


[KYUUBI #1919] Add more enum values for OperationModes

Why are the changes needed?

Add more enum values for OperationModes.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Thanks, merging to master


Improve verification tests in the policy package

The policy package implements verification functions for RSL entries and commit signatures. However, not all behavior is well tested, in part because of how the test repositories are setup. The package uses helpers like createTestStateWithOnlyRoot and createTestStateWithPolicy to set up policy states that can be used during testing. These are not amenable for creating a variety of policy states to test edge cases, especially around key revocation events.

I would like to work on this issue. I was thinking about mainly testing VerifyRelativeForRef and verifyEntry, since they are the two most important functions that the whole verify file relies on, that are also not tested on edge cases, and are too long to fully understand. I was planning on splitting VerifyRelativeForRef, so that a seperate helper function is called when an invalid entry is found, and VerifyRelativeForRef checks if a fix entry was made.


Restlet 2.1.4 has issues

We managed to catch this issue with jminix 1.2.0:
https://github.com/restlet/restlet-framework-java/issues/805
Updating to at least 2.2.1 should solve it.

It seems there are some java package name changed....

Solved by 18#


Add title and description about the webpage

Add a title and description of the webpage.

fixed
Add title and description of the homepage: <Head>         <meta name="description" content="Come sip our best-selling coffee and make your day epic. Enjoy a cup of our signature brew and take the most of the buy one, get one 50% off deal on any of your favorite sweet."/>          <title>Epic Café</title>       </Head>


Add a test utility that creates block with invalid squares

For testing purposes, we will need to create many different types of invalid blocks. Eventually, we will need to be able to create invalid blocks for each block validity rule. This can be cumbersome, since we need to follow the other block validity rules, and the current implementations of prepare and process proposal have many protections baked in to ensure that we are following those.
A good starting point would be to create a function that creates a block that has invald erasure encoding. Since the roots are typically generated in the rsmt2d repo, and we cannot edit the shares there, we will need to redo some of that functionality just to be able to commit to an invalid encoding.

can close with #2003


Create new content API with more readable keys and integrate it with playerStatus.py

Create new github repo that

Fetches FNFest's public content API daily
Parses the json
Converts keynames to more readable ones
publishes the results to github pages

Then integrate it with playerStatus.py.
This should eliminate any potential rate limiting. Additionally, will make the data easier to read and understand.

Step 1 completed, see LeviSnoot/FNFest-Content-API.
Will commence script integration tomorrow.

Closed with 320d65e15ec54813be83239fb50ef26dbabf41f9 and 5c8d2d02062f4104129cdc2d65d36ae540809abb


Add ability to force mapbox update via workflow

Currently orthomosaic imagery that is already present on mapbox is not updated even if the underlying orthomosaic is changed. This is based on a manual check in upload_mapbox.py to avoid excessive uploads during development.
It is possible to force imagery to be updated when running upload_mapbox.py by using the CLI argument python upload_mapbox.py /path/to/file --force-upload. We should implement a way to pass this argument to Snakemake so that we can trigger this behavior for workflow runs.
Looks like the general approach to this is here:
https://snakemake.readthedocs.io/en/stable/snakefiles/configuration.html
See example here:
https://stackoverflow.com/a/40523933

Implemented in e246f4e5dfd815a2a44679993a8f3b03e0232670


Suggestion: yarn.lock XOR package-lock.json

This is a nitpick, but it could save you or an unfortunate user quite a bit of headache down the road: I suggest using either yarn or npm to manage deps, but not both, and, in particular, don't commit both yarn.lock and package-lock.json. They aren't always compatible, and weird things can happen, especially if you switch between the two.

Closed via #59


Consoliated unit test asserts

Is your feature request related to a problem? Please describe.
Our unit test coverage of the main package is low.
Describe the solution you'd like
As part of an effort to improve code coverage, a small assert library is needed to prevent unit tests from recreating func eqaul over again. Existing unit tests need to be modified to use this library.
Describe alternatives you've considered
Testify was considered, but for our small unit test cases, a local package was considered more desirable.

Closing PR as this is only a test change issue.


Create CODE_OF_CONDUCT.md

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


[T2A5][T11-A1]Tan Jun Hao

Ready for review

I am unable to find any additional features you have added. Please add meaningful commit descriptions

closing this PR. resubmit making changes to  AddressBook.java


Refactored SecurityFilter in more Scala way

Copy that

@unkarjedy are we good on this one or do you plan to add more tests? Thanks

@leleuj
Sorry, did not find time to cover entire SecurityFilter logic.
Writing these tests turned out to be quite a difficult task =)
But at least I've managed to create a basic test that can be enhanced in the future by others.

Thanks for adding tests. LGTM. Merging...


Add breaking-change triage in release notes

With this config, PRs labelled "breaking-change" will automatically be categorized as such in release notes

Codecov Report

Merging #46 (26ede3c) into main (036919c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #46   +/-   ##
=======================================
  Coverage   45.31%   45.31%
=======================================
  Files          17       17
  Lines        1068     1068
=======================================
  Hits          484      484
  Misses        560      560
  Partials       24       24

Flag
Coverage Δ

unittests
45.31% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

E2e are broken, but don't hesitate to merge manually the changes.

/retest


MSID: 102702 Version: 1 DOI: 10.1101/2<IP_ADDRESS>9026

MSID: 102702
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>9026
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=102702
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>9026

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/102702v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>9026
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/102702/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

chased

OK to proceed


utils/curl: fix flag handling

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

https://github.com/Homebrew/homebrew-core/pull/86415#issuecomment-933651344

Review period skipped due to critical label.


Share extension limitations from Apple

Firstly thanks for the library.
As we try to implement share extension in our app, we saw that it firstly opens native share extension for a second then open the app. In this manner we don't have ability to customize the UI of share extension and also when we checked the documentation of Apple, it states that:
The dotted line in Figure 2-2 represents the limited interaction available between an app extension and its containing app. A Today widget (and no other app extension type) can ask the system to open its containing app by calling the openURL:completionHandler: method of the NSExtensionContext class.
Apps hosting or containing extensions must comply with the App Extension Programming Guide or the Safari App Extensions Guide and should include some functionality, such as help screens and settings interfaces where possible. You should clearly and accurately disclose what extensions are made available in the app’s marketing text, and the extensions may not include marketing, advertising, or in-app purchases.
Links:
4.4 Extensions
https://developer.apple.com/app-store/review/guidelines/#business
https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionOverview.html#//apple_ref/doc/uid/TP40014214-CH2-SW2
Now we are highly concerned about if we distribute our app to AppStore with this library/logic we can be banned. Is there a way to customize the share extension on Flutter side, rather than opening the app?
Thanks

Also concerned, what did you end up doing? @objectorientedperson

@nilekell what wrote our own share extension. Unfortunately this library is not good for iOS.

I see. I managed to get this library working for me on iOS reliably. However the biggest upset is that the share target doesn't open within the app, but redirects to your app, where you have to show a screen. Unfortunately, I think to get something like this would always require native code anyway.

Yes, we also did it, but like you said it redirects to your app which made us curious if Apple could accept and release our build on the market. So we 'had to' go with native.


Install on HPC

In HPC, one doesn't have all the desktop related files, and if I don't specify directories, build.sh fails.
Need to add an option to install without the desktop stuff/menus

@civier - you don't need to run build.sh on an HPC. Only install and than download containers
Could be made more explicit in the documentation @aswinnarayanan?

You don't need to run install.sh on HPC. Just build.sh ( --lxde mode will stop any menu errors)
Will  just create a proper containers flag to fix this properly

Even with the --cli option, I still get an error on /etc/xdg/menus/lxde-applications.menu
Traceback (most recent call last):
File "/apps/skylake/software/compiler/gcc/6.4.0/python/3.7.4/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/apps/skylake/software/compiler/gcc/6.4.0/python/3.7.4/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/ocivier/git/neurodesk/neurodesk/main.py", line 2, in
neurodesk.main()
File "/home/ocivier/git/neurodesk/neurodesk/neurodesk.py", line 138, in main
appmenu.resolve(strict=True)
File "/apps/skylake/software/compiler/gcc/6.4.0/python/3.7.4/lib/python3.7/pathlib.py", line 1151, in resolve
s = self._flavour.resolve(self, strict=strict)
File "/apps/skylake/software/compiler/gcc/6.4.0/python/3.7.4/lib/python3.7/pathlib.py", line 355, in resolve
return _resolve(base, str(path)) or sep
File "/apps/skylake/software/compiler/gcc/6.4.0/python/3.7.4/lib/python3.7/pathlib.py", line 339, in _resolve
target = accessor.readlink(newpath)
File "/apps/skylake/software/compiler/gcc/6.4.0/python/3.7.4/lib/python3.7/pathlib.py", line 437, in readlink
return os.readlink(path)
FileNotFoundError: [Errno 2] No such file or directory: '/etc/xdg/menus/lxde-applications.menu'

https://github.com/NeuroDesk/neurodesk/commit/fa3239e2ef7b66be7120708ce9bbd62caee94c68
Does this fix the error?

Some containers.sh issues:

Need to print an error if Singularity is not in path (otherwise, there are errors all thorugh).
It searches for ts_binaryFinder.sh in my home directory (i.e. print "FATAL:   stat /home/ocivier/ts_binaryFinder.sh: no such file or directory")
Still prints "Container successfully installed" after each container install, which is a problem I believe

I manually copied ts_binaryFinder.sh to my home directory, and now it works (but please fix for the future).
Now I get another error, though:
./run_transparent_singularity.sh: line 156: commands.txt: No such file or directory
See below full log for when containers.sh tries to install tgvqsm

IMPORTANT: you need to set your system specific mount points in your .bashrc!: e.g. export SINGULARITY_BINDPATH="/opt,/data"
containerName: tgvqsm
containerVersion: 1.0.0
containerDate: 20200929
containerEnding: sif
trying if tgvqsm_1.0.0_20200929.sif exists in the cache
tgvqsm_1.0.0_20200929.sif exists in the cache
checking for singularity ...
deploying in /fred/oz120/oren/neurodesk/local/containers/tgvqsm_1.0.0_20200929
checking if container needs to be downloaded
container downloaded already. Remove to re-download!
making container executable
checking which executables exist inside container
create singularity executable for each regular executable in commands.txt
./run_transparent_singularity.sh: line 156: commands.txt: No such file or directory
creating activate script that runs deactivate first in case it is already there
deactivate script
create module files one directory up
Container successfully installed

Could you post your config.ini?
It says successful container install when the installation failed?

Fixed the commands.txt issue in https://github.com/NeuroDesk/neurodesk/commit/0b80cb05f48191f758e93e12a16f1c750c74cfde
Hope it's ok for me to edit. If not, revert.

@civier, saw your changes and comments
My guess is pwd -P in transparent_singularity is causing the issues.
If that's the case, I think we should switch to this snippet to find and use the script directory.
_script="$(readlink -f ${BASH_SOURCE[0]})" ## who am i? ##
_base="$(dirname $_script)" ## Delete last component from $_script ##
I'll give it a try and see if it resolves things

@civier, feel free to re-open if more issues present. Closing


fix: move RequestContext to externs

Could you rewrite the PR title to what users might need to see in a changelog?  (Like Fix foo attribute missing in CMCD requests, etc)  If you need to say more to elaborate, please use the PR description.  Thanks!

No, they are two separate issues.


chore(analytic): send install event on lvm-localpv initialization

Signed-off-by: Abhishek Agarwal<EMAIL_ADDRESS>Why is this PR required? What issue does it fix?:
What this PR does?:
This PR enables lvm-localpv to send Installation and Ping event
Does this PR require any upgrade changes?:
If the changes in this PR are manually verified, list down the scenarios covered::
Any additional information for your reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[ ] Fixes #
[x] PR Title follows the convention of  <type>(<scope>): <subject>
[ ] Has the change log section been updated?
[ ] Commit has unit tests
[ ] Commit has integration tests
[ ] (Optional) Are upgrade changes included in this PR? If not, mention the issue/PR to track:
[ ] (Optional) If documentation changes are required, which issue on https://github.com/openebs/openebs-docs is used to track them:

@Ab-hishek can you cherry-pick this to v0.8.x branch.


Show browser extension's polling status in the popup window.

Add some sort of visual indicator in the pop-up window to show the polling status.

Added a section to the popup window that shows the status based on lock owner, lock time, and polling times.  Commit: [dbbce3c](https://github.com/remlaps/Steem-Conversation-Accelerator/commit/dbbce3c17fe69243a9969907c04af795ab91e121).

Merged into master.


Style/MethodCallWithArgsParentheses and Style/SuperWithArgsParentheses cause an infinite loop

When omitting parentheses with Style/MethodCallWithArgsParentheses, it is not possible to also use Style/SuperWithArgsParentheses as this causes an infinite loop

Expected behavior
Rubocop does not crash! And probably leaves super with parentheses.
There could possibly be support in Style/MethodCallWithArgsParentheses for a list of methods that are allowed parentheses when EnforcedStyle is omit_parentheses? It's possible to do the reverse when enforcing parentheses.
Actual behavior
Infinite loop detected in code.rb and caused by Style/SuperWithArgsParentheses -> Style/MethodCallWithArgsParentheses

Steps to reproduce the problem
.rubocop.yml
Style/MethodCallWithArgsParentheses:
  Enabled: true
  EnforcedStyle: omit_parentheses

Style/SuperWithArgsParentheses:
  Enabled: true

code.rb
class Class1
  def initialize(foo)
    @foo = foo
  end
end

class Class2 < Class1
  def initialize(foo)
    super foo
    bar
  end
end

RuboCop version
$ rubocop -V
1.59.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.30.0, running on ruby 3.3.0) +server [x86_64-linux]

This issue is a dup with #12437.

Sorry - I should have searched.


Share Extension Crashes when sharing a screenshot

When I try to share a screenshot on iPhone, the extension crashes as soon as a I call ShareMenuReactView.data().  Works fine if I save the screenshot to photos and then share the photo from the photos app.  Is there a different way of handling screenshot shares, or is this a bug?

To be clear, I mean when I try to share a screenshot directly using the share from here

@scottnash Did you found any solutions here? Facing the same issue.
@Gustash maybe you have any ideas what can brokes here?

I'm getting the error message in the console:
SLComposeServiceViewController got NSURL (null) for public.image error: Error Domain=NSItemProviderErrorDomain Code=-1100 "Cannot load an object of class NSURL" UserInfo={NSLocalizedDescription=Cannot load an object of class NSURL}

@scottnash
Just made a fork that fixes this issue. Due to the answer, the problem is that just after making a screenshot the image still not stored anywhere, so it's doesn't have any URL. So I'm storing it into a temporary folder (as described here) and then providing the link to the share extension app.
https://github.com/dabakovich/react-native-share-menu

Very cool, @dabakovich, thanks ! Are you planning to submit a PR?

Thanks, @caiosba. Yes, I can if it makes sense. But it would be great to gracefully review my code and test the extension behaviour because that was my first experiences in Swift.

Yeah, we can review the PR and test it before merging. Thanks! :)

That crash still isn't fix @caiosba!
I do get the URL but it won't work once I navigate to app by means of
ShareMenuReactView.continueInApp({
      data: data,
      mimeType: mimeType,
});

What ought to be done?

guard let url = data as? URL else {
  self.exit(withError: COULD_NOT_FIND_IMG_ERROR)
  return
}

This is where the problem seems to be occuring.
Under ShareMenuReactView.swift, you aren't updating the imageProvider with the latest URL. Please update that.

please help... kindly explain i am trying to send data in my app from share by using continueInApp but i can't receive that data in my app. can anyone please help. @m-zaink  @caiosba @dabakovich @scottnash
ShareMenuReactView.data().then(item => {
     ShareMenuReactView.continueInApp({
       anykey:"anyValue",
       data: item.data[0].data,
       mimeType: item.data[0].mimeType,
     });

   });

I always have this problem:
version: "react-native-share-menu": "^6.0.0",
When I try to share a screenshot the application doesn't open.
how can I solve this problem?

In the ShareMenuReactView class, I noticed a variable name inconsistency in the extractDataFromContext function.
The issue is in this block of code:
let imageData: Data! = image.pngData();

// Creating a temporary URL for image data (UIImage)
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("TemporaryScreenshot.png") else {
  return
}

do {
  // Writing the image to the URL
  try imageData.write(to: imageURL)

  results.append([DATA_KEY: imageUrl.absoluteString, MIME_TYPE_KEY: imageURL.extractMimeType()])
} catch {
  callback(nil, NSException(name: NSExceptionName(rawValue: "Error"), reason:"Can't load image", userInfo:nil))
}

The temporary variable defined for "TemporaryScreenshot.png" is imageURL, but it is incorrectly used as imageUrl here:
results.append([DATA_KEY: imageUrl.absoluteString, MIME_TYPE_KEY: imageURL.extractMimeType()])

To fix this issue, you should change it to:
results.append([DATA_KEY: imageURL.absoluteString, MIME_TYPE_KEY: imageURL.extractMimeType()])

Add this in your ShareViewController in the storeFile function
ShareViewController
if let uiImage = data as? UIImage {
  let fileExtension = "png"
  let fileName = UUID().uuidString
  let filePath = groupFileManagerContainer
                  .appendingPathComponent("\(fileName).\(fileExtension)")

  guard let rawData: Data = uiImage.pngData() else {
     self.exit(withError: "Error while getting raw data")
     return
  }

  guard FileManager.default.createFile(atPath: filePath.path, contents: rawData) else {
      self.exit(withError: "Error while createFile")
      return
  }

  self.sharedItems.append([DATA_KEY: filePath.absoluteString, MIME_TYPE_KEY: "image/png"])
  semaphore.signal()
  return
}


Unable to select cards

Player.log
The issue happened just after I regained control the first time from Owsald. I was unable to select any cards similarly to when you are staggered.

https://www.youtube.com/watch?v=P3cAV1m6g_0

Player.log
Player log file again in case it helps


find_first(realm::StringData, unsigned long, unsigned long) const + 200

For the past 2 months, we are observing a lot of crashes in Fabric through Realm. These crashes are not reproducible by us, but are affecting a lot of real users. I've attached some images from our Fabric Dashboard where you will see a lot of different Realm crashes. Additionally, I have attached the stack trace of the top most crash. It is happening in different areas of code but root cause remains same. I'm unable to find anything on the internet or in your docs related to this issue. Please help me find a solution.
Goals
No crashes while using realm.
Expected Results
Realm queries should not crash.
Actual Results
For real users, Realm crashes while performing queries
Steps to Reproduce
Not able to reproduce.
Code Sample
The queries in function chooseLessonsForHome()
    let updatedLessons = RealmBaseUtils.getObjects(LessonList.self, predicate: NSPredicate(format: "completionStatus == 2 AND hasVideo == false"), sortKey: "submittedOn", isAscending: true)

    let freeQbankLessons = RealmBaseUtils.getObjects(LessonList.self, predicate: NSPredicate(format: "completionStatus != 2 AND isPaid == false AND isComingSoon == false AND hasVideo == false"), sortKey: "masterOrder", isAscending: true)

    let freeVideoLessons = RealmBaseUtils.getObjects(LessonList.self, predicate: NSPredicate(format: "completionStatus != 2 AND isPaid == false AND isComingSoon == false AND hasVideo == true"), sortKey: "masterOrder", isAscending: true)

    let paidQbankLessons = RealmBaseUtils.getObjects(LessonList.self, predicate: NSPredicate(format: "completionStatus != 2 AND isPaid == true AND isComingSoon == false AND hasVideo == false"), sortKey: "masterOrder", isAscending: true)

    let paidVideoLessons = RealmBaseUtils.getObjects(LessonList.self, predicate: NSPredicate(format: "completionStatus != 2 AND isPaid == true AND isComingSoon == false AND hasVideo == true"), sortKey: "masterOrder", isAscending: true)

Our custom functions to get objects
class func getObjects<R: Object>(_ entityClass : R.Type, predicate: NSPredicate? = nil, sortKey: String? = nil, isAscending: Bool = true) -> Results<R> {
        var objects = realmInstance().objects(entityClass)
        if predicate != nil {
            objects = objects.filter(predicate!)
        }
        if sortKey != nil {
            objects = objects.sorted(byKeyPath: sortKey!, ascending: isAscending)
        }
        return objects
}

class func getFirstObject<R: Object>(_ entityClass : R.Type, predicate: NSPredicate? = nil, sortKey: String? = nil, isAscending: Bool = true) -> R? {
    var objects = realmInstance().objects(entityClass) as Results<R>
    if predicate != nil {
        objects = objects.filter(predicate!)
    }
    if sortKey != nil {
        objects = objects.sorted(byKeyPath: sortKey!, ascending: isAscending)
    }
    return objects.first
}

class func getObject<R: Object>(_ entityClass : R.Type, primaryKey: String) -> R? {
    return realmInstance().object(ofType: entityClass, forPrimaryKey: primaryKey as AnyObject)
}

Version of Realm and Tooling

Realm framework version: 3.7.6
Xcode version: 9.4.1
iOS/OSX version: iOS 11
Dependency manager + version: Cocoapods 1.5.0

All of the stacktraces shown are in the first place where we touch the file on disk for the given operation. This is usually due to NSFileProtection: if the data protection capability is enabled for your app, the OS revokes access to the file while the device is locked (but only on an actual device with a pin set), and trying to read from it will fail. Is it possible that this is what you're hitting?

We have the data protection capability enabled. Should we try disabling it?

Repro steps would be something like: install app on device with PIN set, kick off some operation which performs i/o after a delay, immediately lock device. It may take several tries to actually trigger the problem, and as the crash happens while the device is locked the crash may not actually be noticeable.
Potential solutions are:

Disable the data protection capability entirely
Disable NSFileProtection for just the Realm files (or set it to NSFileProtectionCompleteUntilFirstUserAuthentication).
Listen for UIApplicationProtectedDataWillBecomeUnavailable notifications and somehow ensure that you don't touch the Realm file until you receive the corresponding WillBecomeAvailable notification.

Thank you for the repro steps. I was able to simulate the crashes on my device. However, the exception still occurs even after disabling the Data protection capability entirely. PFA the crash which I see after disabling data protection. Also, this exception is different than "find_first" exception. One last question, is there a way to catch these errors rather than crashing the app?

@tgoyne Hi, can you please look into this issue? It is still not solved.

@sanchitgarg1909 please update to the latest version of Realm. I will now close this issue, if you have any other questions please open a new issue.
Thanks.


Invoking an item in a secondary command's flyout does not close the command bar.

Repro in this gif:

The 95% solution here is to, if the flyout is a menu flyout, recursively iterate through the children attaching the CommandBar close function to the MenuFlyoutItem's click event, the MenuFlyoutToggleItem's toggle event, and recursing on MenuFlyoutSubItem's

I would like to work on this issue, if nobody else is currently working on this.


Record work item revisions (#840)

When a work item is created, modified or deleted (softly),
a copy of the data is stored in a new work_item_revisions table along
with a timestamp, the type of operation and the author/modifier
of the operation. In case of a deletion, the work item version is the same
as the last one (ie, before the deletion) but none of the fields are stored
in the revision table.
At the database level, there is a new a foreign key between the modifier_id
and an identity to verify that the identity of the modifier exists.
This required few changes in the existing test to comply with this constraint.
Fixes #840
Signed-off-by: Xavier Coulon<EMAIL_ADDRESS>

Codecov Report

Merging #909 into master will increase coverage by 0.05%.
The diff coverage is 72.09%.

@@            Coverage Diff             @@
##           master     #909      +/-   ##
==========================================
+ Coverage   69.61%   69.66%   +0.05%
==========================================
  Files          86       88       +2
  Lines        6611     6662      +51
==========================================
+ Hits         4602     4641      +39
- Misses       1588     1595       +7
- Partials      421      426       +5

Impacted Files
Coverage Δ

remoteworkitem/trackeritem_repository.go
66.33% <0%> (ø)
:white_check_mark:

workitem/undoable_wi_repo.go
17.74% <0%> (ø)
:white_check_mark:

workitem/workitem_revision.go
100% <100%> (ø)

workitem/workitemtype_repository.go
84.71% <100%> (-0.2%)
:x:

migration/migration.go
43.2% <100%> (+0.17%)
:white_check_mark:

account/user.go
44% <100%> (+0.75%)
:white_check_mark:

workitem/workitem.go
75% <100%> (ø)
:white_check_mark:

controller/workitem.go
88.52% <40%> (-2.16%)
:x:

workitem/workitem_repository.go
71.86% <80.64%> (-0.16%)
:x:

workitem/workitem_revision_repository.go
92.85% <92.85%> (ø)

... and 2 more

Continue to review full report at Codecov.

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

Nice! :+1:

@alexeykazakov and @aslakknutsen thanks for your review. I just pushed an update of the PR with all your comments taken into account. Please let me know if you have any further concerns.

Sweet
Jsonb diff function:
CREATE OR REPLACE FUNCTION jsonb_diff_val(val1 JSONB,val2 JSONB)
RETURNS JSONB AS $$
DECLARE
  result JSONB;
  v RECORD;
BEGIN
   result = val1;
   FOR v IN SELECT * FROM jsonb_each(val2) LOOP
     IF result @> jsonb_build_object(v.key,v.value)
        THEN result = result - v.key;
     ELSIF result ? v.key THEN CONTINUE;
     ELSE
        result = result || jsonb_build_object(v.key,'null');
     END IF;
   END LOOP;
   RETURN result;
END;
$$ LANGUAGE plpgsql;

Funky window function diff over WI rev sql:
SELECT username, revision_time, revision_type, work_item_version, jsonb_pretty(diff) diff FROM (

	SELECT
		username,
		revision_time,
		CASE WHEN revision_type = 1 THEN 'create' ELSE 'update' END revision_type,
		work_item_version,
		CASE WHEN prev = null THEN curr ELSE jsonb_diff_val(curr, prev) END diff
	FROM (

		SELECT
			revision_time,
			revision_type,
			modifier_id,
			work_item_version,
			LAG(work_item_fields) OVER(ORDER BY work_item_version) prev,
			work_item_fields curr
		FROM work_item_revisions
		WHERE work_item_id = '58645'
	) AS hist, identities
	WHERE modifier_id = identities.id
) AS a;

   username   |         revision_time         | revision_type | work_item_version |                              diff
--------------+-------------------------------+---------------+-------------------+----------------------------------------------------------------
<EMAIL_ADDRESS>| 2017-03-02 22:42:28.008301+00 | create        |                 0 | {                                                             +
              |                               |               |                   |     "system.area": null,                                      +
              |                               |               |                   |     "system.state": "new",                                    +
              |                               |               |                   |     "system.title": "Test 1",                                 +
              |                               |               |                   |     "system.creator": "df37af4f-6e10-41fa-82d3-07224e499e7c", +
              |                               |               |                   |     "system.assignees": null,                                 +
              |                               |               |                   |     "system.iteration": null,                                 +
              |                               |               |                   |     "system.description": {                                   +
              |                               |               |                   |         "markup": "PlainText",                                +
              |                               |               |                   |         "content": "Test test"                                +
              |                               |               |                   |     },                                                        +
              |                               |               |                   |     "system.remote_item_id": null                             +
              |                               |               |                   | }
<EMAIL_ADDRESS>| 2017-03-02 22:48:53.406668+00 | update        |                 1 | {                                                             +
              |                               |               |                   |     "system.description": {                                   +
              |                               |               |                   |         "markup": "PlainText",                                +
              |                               |               |                   |         "content": "Test **test**"                            +
              |                               |               |                   |     }                                                         +
              |                               |               |                   | }
<EMAIL_ADDRESS>| 2017-03-02 23:38:13.017025+00 | update        |                 2 | {                                                             +
              |                               |               |                   |     "system.iteration": "727ce385-1c12-44b8-bc1c-03714c1d9ee9"+
              |                               |               |                   | }
<EMAIL_ADDRESS>| 2017-03-02 23:38:22.387703+00 | update        |                 3 | {                                                             +
              |                               |               |                   |     "system.iteration": "7d64a81e-a8a9-41e2-9ab8-eaa5c92560eb"+
              |                               |               |                   | }
(4 rows)

this diff function is very interesting, I'll keep it when time comes to compute the diffs. Thanks a lot for this resource !

ok, let me check the WI deletion case.

@aslakknutsen the latest patch fixes the "null" value in the work_item_fields column by setting it to an empty JSON document ({}) when the work item is deleted. Is that good enough for you ? (I ran into JSON conversion issues in GORM when setting the field to Nil).

@xcoulon Problems when this is a pointer and null? https://github.com/almighty/almighty-core/pull/909/files#diff-ca9eef6c70beaac5b3bb0ee5625042deR39


fix: switch from True/False to 1/0 to match API expectations

This PR if accepted resolves #27, an issue where we were transmitting True or False when the API expected 1 or 0.

I am working on some integration tests to verify this so let's hold off on review for the moment.

When I shim this into the integration test, said test works therefore I believe this to be a valid fix.


[feature] templates: type var.tags as an object rather than a map

Summary
Change the automatically generated var.tags from a type of map(string) to an object type. This lets us make stronger assertions in modules that might want to accept these tag objects.
I found this while trying to write a new module:
variable tags {
  description = "Standard tags. Typically generated by fogg."
  # type        = object({ env : string, owner : string, project : string, service : string })
  # NOTE: fogg.tf types this as a map(string) rather than an object. Have to fix there first.
  type = map(string)
}

Test Plan
Unit tests
References

Codecov Report

Merging #492 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #492   +/-   ##
=======================================
  Coverage   59.27%   59.27%
=======================================
  Files          19       19
  Lines        1994     1994
=======================================
  Hits         1182     1182
  Misses        654      654
  Partials      158      158

Continue to review full report at Codecov.

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

@edulop91 can you manually test this on at least 1 repo?

@edulop91 can you manually test this on at least 1 repo?

verified in an internal repo in the new module i'm working on


Arm's Length cannot used

Sorry, I don't know if my setting is incorrect or not but I can't press Arm's Length during mob pulls in normal dungeons.
That makes the 20% slow debuff very hard because I need to on off the plugin to execute it.

Ok figured it out, will be fixed in next version.

Fixed in latest.


Install kubectl via winget - in 2023

Dear kubernetes team,
I would like to have the option to install kubectl via winget. I already asked for this feature years ago #968 , but now things have changed and with winget 1.4 it is possible to deploy / install zip files and portable apps.
See this announcement: https://devblogs.microsoft.com/commandline/windows-package-manager-1-4/
Why is this needed:
This is a great benefit for developers working on windows to have an opportunity to easily install the correct kubectl version according to their kubernetes cluster version and it's all done with just one cli call.
Could you guys please check, if there is now a solution for this feature request?
And thank you for your great work in general! I love the kubernetes platform and the whole kubernetes ecosystem!
Kind regards,
Bjego

The kubernetes org builds binaries for each release, but generating (and maintaining) all the various package manager packages for different platforms is out of scope of this SIG.
/close

Well I'm not sure who to thank but the package exists now (Kubernetes.kubectl):
https://github.com/microsoft/winget-pkgs/tree/master/manifests/k/Kubernetes/kubectl
It's also officially documented:
https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/#install-nonstandard-package-tools


beanstalkd: 1.12 -> 1.13

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/beanstalkd/versions.
meta.description for beanstalkd is: A simple, fast work queue
meta.homepage for beanstalkd is: http://kr.github.io/beanstalkd/
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.13 with grep in /nix/store/rwpsrcvjf3i0jgbbh1bxnxpikdmxwb3x-beanstalkd-1.13
found 1.13 in filename of file in /nix/store/rwpsrcvjf3i0jgbbh1bxnxpikdmxwb3x-beanstalkd-1.13

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
beanstalkd

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

beanstalkd

Maintainer pings
cc @zimbatm for testing.

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

1 package built:

beanstalkd


DisCoCirc: Add a filtering mechanism for the nouns

The set of entities corresponding to wires in a DisCoCirc diagram should be controlled in some way to keep the size of the diagram manageable and to avoid the inclusion of insignificant entities that could appear in the document. Using a simple metric such as TF-IDF might be a good first step. The metric can apply on simple noun tokens, or on dependencies derived from a dependency parser for more robust coverage.

@AnnaNPearson suggested that the nouns that do not make the threshold shouldn't be discarded completely but it would be useful to appear in the diagram as single boxes, interacting with their context. This feature can be offered to the user as an extra option.

Resolved by #192, at least the filtering part. For @AnnaNPearson 's comment above there is now a separate issue opened (#194).


README and docs

so far:

add docker and pgxman
add a Docker-specific readme intended for Dockerhub
misc edits

Feel free to continue edits on this branch.

maybe put features above installation
not sure where is best to put the duckdb.force_execution note, but it feels out of place atm


vendor: update selinux

inherit a change for not failing a recursive relabelling if the file
is removed between the directory is read and the lsetxattr syscall.
Signed-off-by: Giuseppe Scrivano<EMAIL_ADDRESS>

/test all

/test e2e_rhel

/test e2e_rhel

/lgtm

/approve

@giuseppe Do you mind backporting to 1.11 and 1.12?


Add primitive types null, true, and false

Starting with TypeScript 2, we can use all kinds of literal types. These three are very common literal types which also happen to be reserved words, so I guess it makes sense to handle them in a special way.
Ultimately, it might make sense to expand the syntax structure for literal types a bit.

Hi @poke, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

thanks @poke for the PR. The TM Language file is maintained in https://github.com/Microsoft/TypeScript-TmLanguage. this is shared between the sublime text plugin and other plugins like VSCode for instance. Please submit your PR to that repo instead.

Oh, alright, I’ll move over there then. Thanks for the quick response!


Question about determinism across multiple saves

Hello, thanks for this initiative!
I have faced hashing/comparison problems with pickle as the serialized output is known to be non-deterministic for the same object (e.g. dictionaries with the same items but with different insert histories). Does this library (and its associated format) provide a guarantee regarding the serialization being deterministic for the same input?

This library now does order keys on save.
This is not a promise of the spec though, so don't necessarily expect it when reading files.

Got it. Thanks!


simple_uart_describe

Add win32 implementation, return key/value string pair list. Linux implementation is WIP.

I sort of feel that the double indirect list of strings is an awkward API for people to use. It makes the chances of memory leaks quite high - that was the intention behind using simple_uart_describe(const char *uart, char *description, size_t max_desc_len) - it's pretty straight forward.
I do agree that the downside to the simple API is consistency between OSs, but since we're only talking about 2/3 options, it feels like it's ok to just manually manage that?

Okay then do it as sind mole string, this reduces at least the code in simple_uart. For windows case I would for start only append the hardware id. The rest on request. For linux I would simply output the udevadm result.
I can adjust for win and Linux. For Mac I have no clue.

Hi Andre, please take a look. From my point of view is the WIndows/Linux part ready for merge. For MacOS we need volunteers ;)
BR,
Andreas

From my point of view is the PR now ready.

Sorry, I've been busy and haven't had a chance to look at this. I'll try and check it out in the next few days.

No worry, thanks :). Please don't feel pushed by me

Hi Andre, i applied your proposal.
snprintf(basePath, sizeof(basePath), "/sys/class/tty/%s/device/../..", basename((char *)uart)); On my machine i recieved for /dev/ttyACM0 the result manufacturer='Linux 5.11.0-37-generic ohci_hcd',product='OHCI PCI host controller',PID=0001,VID=1d6b,serial=0000:00:06.0. Therefore i adjusted your path building.

Now it's working with two adapters:

manufacturer='Prolific Technology Inc.',product='USB-Serial Controller',PID='2303',VID='067b'
manufacturer='Devantech Ltd.',product='USB-ISS.',PID='ffee',VID='04d8',serial='00060147'

and under windows:

hwid='USB\VID_04D8&PID_FFEE&REV_0100'

After adjustment looks the windows string PID=FFEE,VID=04D8. I check at the moment the WIN API for gathering information comparable to product and manufacturer under linux. But it seems a little bit difficult.

Is this good to merge now?

Yes bring to main, and if i find something related to Manufacturer i create a new PR.

Thanks for all your work on this

Thanks for merge :D


General: Fix links query on hero version

Brief description
Fixed function to find links which crashed on hero versions.
Description
Don't lookup for hero versions in get_linked_representation_id because they don't have links. Made safer access to "data" key on found items to avoid possible crashes on items without links.
EDITED: Added query of hero version to use standard version to which is pointing.
Testing notes:

Run Add to Site action on hero version
It should not crash on finding linked representations

Right mouse click on representation of Hero version in bottom right in Loader throws this:

Hi, is there anything to do for helping this fix to land?


Assign AppEUI from the Foundation's MAC block

When creating a new application, optionally assign an EUI from The Things Network Foundation's MAC block. Users should not be able to register an application with a specific AppEUI from this block.
The EUI should be generated in the Broker, not in ttnctl.

@johanstokking: What is our MAC block?

36-bit Base Value (OUI-36)	EUI-48 Address Block
70-B3-D5-7E-D	0-00 through F-FF

We need atomic increment in a distributed way. Since we're going to use Redis anyway (see #100), we can use INCR here and convert the returned value to a byte array.

We should implement this in the authentication and authorization server. The Broker trusts the token provider and thus the assigned AppEUIs. Will leave this issue here until it is closed.


Fix one way example

There is a minor problem in the crates/avian2d/examples/one_way_platform_2d.rs example - If you drop all the way down you can not climb back up because the lower platform will pass you through.
https://github.com/user-attachments/assets/15e5af2b-f711-460d-81c0-129b4ff22164

This no longer occurs on main.
I ran a bisect and this appears to be fixed as-of 4d082a79fd30078e5b536ae23656f690091ae285 (PR: https://github.com/Jondolf/avian/pull/457: switching to FixedPostUpdate)
It's a 100% repro until that commit.

Closing as fixed in that case; feel free to reopen or make a new issue if this is still reproducable for you


The result on CIFAR10

Hello,
Thank you for sharing your valuable codes.
I modified your codes for CIFAR10 (without pre-trained), and my result was just around 81%. (ViT was 79%)
I used resnet50 (ACC was around 94%) as a teacher network.
Although it was better than the ViT, the result was very low compared to the teacher's performance.
It seems that I made something wrong with my codes.
Do you have some results on CIFAR10 (without any other dataset).
And if you have some advice, please reply to it.

Hi @DOHA-HWANG,
Thanks for your question,
Yes, as mentioned p14 in the paper (arXiv version) we reach 98.5% on CIFAR10 only with ViT-B and a teacher network pre-trained on CIFAR-10 only.
Since we kept the patch size at 16 and kept the RegNet-16GF as a teacher we train on CIFAR-10 at 224x224 resolution by upscaling the images. We train for 1000 epochs.
Let me know if you need more details.
Best,
Hugo

Thank you for your reply:) I didn't resize it. I will fix it as well.
Have a nice day.


Resampling from arbitrary sample rate to another by ACM Resampler

Hello,
I am using ACM Resampler (WaveFormatConversionStream) for resampling. Source sample rate is 17896Hz, target sample rate is 44100Hz. When using WaveFormatConversionStream I am getting poor quality output. If I tried to resample to double sample rate (35792Hz) sound is great. I suppose that poor output quality for 44100Hz is result of aliasing,right? Is there any simple way to improve result quality?
When using MediaFoundationResampler for resampling 17896Hz -> 44100Hz result if perfect.

yes, ACM resampler does not appear to do anything to avoid aliasing. You'd need to implement your own filter, or just use MediaFoundationResampler which is good quality.