Config values getting stringified

The title-footer plugin : https://github.com/e-gor/Reveal.js-Title-Footer requires the following in the config:
config.yml
revealjs_config:
  dependencies:
    -
      src: 'plugin/title-footer/title-footer.js'
      async: true
      callback: function() { title_footer.initialize("My footer","rgba(255,255,255,0.1)"); }

When this gets generated, the function is stringified in index.html
var configOptions = {"dependencies":[{"src":"plugin/title-footer/title-footer.js","async":true,"callback":"function() { title_footer.initialize('github.com/dinshaw/promise','rgba(255,255,255,0.1)'); }"}]}

removing the quotes from the initializer above fixes the issue.

I've had a chance to take a look, and I see what you're talking about.
I see the problem when I use the yaml that you included. Once generated, I can "fix" the end result by manually editing the generated slides/index.html with my editor and removing the quotes.
However, I do not see a way to fix it so that the generated result is functional without additional hand editing.

I haven't dealt with reveal.js plugins before, and so, the support for revealjs_config: in the yaml stems from putting in bare options, ala: https://relishapp.com/jedcn/reveal-ck/docs/how-to-configure-reveal-js-initialization-options which are just about data, and don't include functions.
With simple values (i.e.: no functions) this is workable: the yaml contents are transformed into a string by running a to_json on them. But-- this is not going to be so smooth for values that are functions (i.e.: function() {... }; because functions are JavaScript, not JSON.

It's also not so cool that anyone has to write JavaScript in a YML file. I don't mind simple values-- but full on JavaScript? Bummer.
I intentionally don't track usage on reveal-ck, but I have a feeling that most people don't use the revealjs_config section of config.yml, and so, I am thinking I might remove it or enhance it to pay attention to a file called something like revealjs-config.js.
You could edit this as a proper JS file, and to match your yaml file above, you'd have something like:
{
  "dependencies": [
    {
      "src": "plugin/title-footer/title-footer.js",
      "async": true,
      "callback": function() {
        title_footer.initialize("My footer","rgba(255,255,255,0.1)");
      }
    }
  ]
}

When generating slides, if it was present, it would be inserted into the generate index.html verbatim, and then merged with the defaults. That happens over here: https://github.com/jedcn/reveal-ck/blob/master/files/reveal-ck/templates/index.html/script.js.erb#L18.
Let me know if you have any thoughts. I'm mulling it over, and I expect I'll see how it works/feels in a branch and with a couple of plugins.
I also see that reveal.js 3.0.0 has been released-- that may impact what happens here.

I'm going through old issues and closing this one out because there's been no action for a bit.
In the future, if someone reads this and wishes reveal-ck had stronger support for integrating plugins.. then please:

Open a new issue along the lines of, "Support plugin configuration for XYZ plugin"
Provide an example of what you'd normally supply for configuration to that plugin.

And we'll take a look at supporting it.
I'd lean toward creating a distinct JavaScript file that'd let you write JavaScript naturally which would be melded together with the presentation at generation time.


Besu Kubernetes issue fixes verification

There are couple of issues related to Besu Kubernetes NAT manager which need to be verified. These requires running Besu on Kubernetes cluster and re-produce the issue then verify the fix.
PRs
https://github.com/hyperledger/besu/pull/6578
https://github.com/hyperledger/besu/pull/6088


test: add Export test on bluepirnts page to address PR#604

Add blueprint export test on blueprints page.
Move apiFetchTest() function to utils/commands.js because it will be re-used by api.test.js and blueprints.test.js

Codecov Report

Merging #620 into master will increase coverage by 1.06%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #620      +/-   ##
=========================================
+ Coverage   67.13%   68.2%   +1.06%
=========================================
  Files          68      68
  Lines        3463    3463
  Branches      690     690
=========================================
+ Hits         2325    2362      +37
+ Misses       1138    1101      -37

Impacted Files
Coverage Δ

components/ListView/ListItemImages.js
58.73% <0%> (-3.18%)
:arrow_down:

core/sagas/inputs.js
71.42% <0%> (-3.07%)
:arrow_down:

components/ListView/ListItemComponents.js
80% <0%> (-2.23%)
:arrow_down:

core/selectors.js
92.96% <0%> (-0.79%)
:arrow_down:

core/sagas/blueprints.js
64.85% <0%> (+3.96%)
:arrow_up:

components/ListView/BlueprintListView.js
82.35% <0%> (+5.88%)
:arrow_up:

core/reducers/modals.js
71.21% <0%> (+6.06%)
:arrow_up:

core/actions/modals.js
85.18% <0%> (+7.4%)
:arrow_up:

pages/blueprints/index.js
81.52% <0%> (+13.37%)
:arrow_up:

Continue to review full report at Codecov.

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

@henrywang : I manually triggered a RHEL 7.7 and 8.1 test, to see if that works. The code doesn't have any special-cases for rhel-8-0, but we do have a special case for rhel-7-6 (depending on which lorax version/image formats are available). I'll send a separate PR if that needs adjustments.

@martinpitt, Thanks.
And one more special for rhel-7-x is repo setting in vm.install


ShouldBeZero matcher

Int, Double, Long, (...) should have a special matcher to verify if it's zero.
This matcher should also have an opposite, to verify it's not zero.
myInt.shouldBeZero()
myDouble.shouldNotBeZero()

Special cases to pay attention to: Double.NaN and Double.POSITIVE_INFINITY/Double.NEGATIVE_INFINITY.
These can be added to the kotlintest-assertions module. There can be a matcher for each numeric type, or a Number matcher that match them all.
An example on how to start the isZero method:
fun Number.isZero(): Boolean {
  return when(this) {
    is Double -> this == 0.0    // Verification for NaN
    is Float -> this == 0.0     // Verification for NaN
    else -> this.toLong() == 0L
  }
}

This could go in either 3.4 or 3.5 depending on time.


WSL Ubuntu 18.04 display freezes when cat file with some binary

freeze.gz
Please fill out the below information:

Your Windows build number:  (Type ver at a Windows Command Prompt)
Microsoft Windows [Version 10.0.18363.778]

What you're doing and what's happening:  (Copy&paste the full set of specific command-line steps necessary to reproduce the behavior, and their output. Include screen shots if that helps demonstrate the problem.)

copy the attached file freeze.gz to another linux machine (mine was a remote ubuntu server).
unzip the file.
it is text file with some binary characters. you can run cat freeze | xxd to see what is inside
now ssh to the remote machine from the WSL ubuntu 18.04 terminal
run: cat freeze
This will freeze the terminal.
But if you type exit, you will exit the ssh session and things will start to work normally.
freeze.gz

i usually run ssh service in WSL, and use XShell to connect to WSL.
It fails in WSL but not in XShell.

Did you try that in the new Windows Terminal?
In any case the upcoming Windows 10 version 2004 (build 19041) has a fix that perfectly fits your problem. #4495

Did you try that in the new Windows Terminal?
In any case the upcoming Windows 10 version 2004 (build 19041) has a fix that perfectly fits your problem. #4495

bro, help me
https://github.com/microsoft/WSL/issues/5168

But also, why would you cat binary files to your terminal?

But also, why would you cat binary files to your terminal?

Not intentionally doing it. When you cat a text file, it has few random non printable text, terminal hangs. It's really bad experience. All the other terminal programs handle it perfectly.

I also encountered a similar problem, when cat file with Chinese characters


[Worker Script] Allow import statements in the content script file.

What happened?
I have a WorkerScript.content that points to a local js file, and the js file contains import statements. However, Pulumi does not currently allow to upload these successfully.
     * error updating worker script: Uncaught SyntaxError: Cannot use import statement outside a module

Example
Here's an example of a WorkerScript file with import statements.
If we store the above example in an app.js file to define in a WorkerScript resource:
const script = new cloudflare.WorkerScript("test" + DEMOFLAG, {
  accountId: accountId,
  name: "test" + DEMOFLAG,
  content: fs.readFileSync("app.js", "utf8"),

});

fails with the above error.
Output of pulumi about
CLI
Version      3.106.0
Go Version   go1.22.0
Go Compiler  gc

Plugins
NAME        VERSION
cloudflare  5.21.0
nodejs      unknown

Host
OS       darwin
Version  14.3
Arch     arm64

Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Hey @desteves. Have you tried setting module to true?
const script = new cloudflare.WorkerScript("test" + DEMOFLAG, {
  accountId: accountId,
  name: "test" + DEMOFLAG,
  content: fs.readFileSync("app.js", "utf8"),
  module: true,
});

That should enable "ES Module syntax" for the script.

Thank you, @iwahbe. I'm giving that a try. I overlooked that setting due to its description -- "The base64 encoded wasm module you want to store."

That description is wrong. We're working on our description generation process, but it's not perfect right now.

Great. I'm going to leave this issue open as a tracker for the incorrect docs.


Prepare package for PyPI

https://pypi.python.org/pypi/amqpconsumer/1.0

@gertjanol
Once the hn-control change is merged, I think we're good to merge this pr and rename the repo to amqpconsumer.
In the meantime, @allardhoeve added a Scrutinizer Code Quality badge. I guess we'll also need to 'scrutinize' the renamed repo?


🌐 Add Korean translation for docs/ko/docs/tutorial/schema-extra-example.md

Hello,
I added a translation of this part of the tutorial.
I would be grateful if you take a look if I had made any mistakes or mistranslations.
Please feel free to tell me if there's something to be improved.
Thank you.
This PR translates tutorial/schema-extra-example.md in Korean.
related: #2017

@tiangolo
Hello, thank you for your review.
I removed the image file right away :)

Can you update (fetch) this document to the latest version? Because some of sentences are deprecated.

Thank you for your contribution @SueNaEunYang 🚀
However, we have decided to close this pull request as another one (https://github.com/tiangolo/fastapi/pull/11121), which includes more recent updates, has already been merged. We appreciate your effort and encourage you to continue contributing in the future. Please feel free to check out the other open issues and PRs. Thanks! 🤓


"Baldovinești" is listed in the drop-down menu

Description:
"Baldovinești" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Baldovinești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Baldovinești, Brăila (Unirea)".


Merge release 1.0.0 into master

Containing all the changes for our [1.0.0 Release](Warning: Permanently added 'github.com,<IP_ADDRESS>' (RSA) to the list of known hosts.
The operation couldn’t be completed. (com.nerdishbynature.octokit error 404.)
).

Messages

:book:

View more details on Bitrise

:book:
Poes-Package: Executed 1 test, with 0 failures (0 unexpected) in 0.264 (0.266) seconds

  Generated by :no_entry_sign: Danger Swift against 82adb9e791c21ee596d4de7210e7cf17dfdb50f9


Mirror: if no content is fetched, updated should not be changed

Gogs version (or commit ref): 0.10.18
Git version: git version 2.11.0
Operating system: Debian Stretch
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist (usually found in log/gogs.log):

Description
When setting up mirrors, the explore page displays the "Updated" field as the last time the repo was polled for an update. It would be better if it showed the last time it was polled when at least one new change was pulled in from the upstream git repo. Otherwise, all of the projects show as updated every X hours.
Alternatively, as I am now using the mirror sync API, having the ability to disable polling all together would also meet my needs.

How do you determine which branch has the latest commit?

I would iterate over all of the branches looking for new changes. Does this answer your question?

Found answer: http://stackoverflow.com/questions/5188320/how-can-i-get-a-list-of-git-branches-ordered-by-most-recent-commit :smile:
git for-each-ref --sort=-committerdate refs/heads/

Good find.

Patch has pushed to fix this issue, please test on develop branch or https://try.gogs.io.

Build from source on develop branch and tested. This functionality works great. Thanks!


Composer improvements

@beberlei what do you think about removing microsoft/windowsazure and related pear dependencies?
  Problem 1
    - The requested package pear-pear2.php.net/http_request2 could not be found in any version, there may be a typo in the package name.

@EmanueleMinotto this should work given the composer file sets a new repository to enable PEAR.

@EmanueleMinotto yes please remove, i cant get it to work myself anymore.

I'm having this problem even with the PEAR repository included.
$ composer install
Loading composer repositories with package information
Initializing PEAR repository http://pear.php.net
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for microsoft/windowsazure dev-master -> satisfiable by microsoft/windowsazure[dev-master].
    - microsoft/windowsazure dev-master requires pear-pear2.php.net/http_request2 * -> no matching package found.

:+1:

@beberlei done, let me know if something else should be done


Quickstart Jupiter Docu does not work.

The jupiter quickstart example on testcontainers.org refers to version 1.14.3 but runs only with release candidate of 1.15.0
This has the potential to slow down the quickstart....
See also:
https://stackoverflow.com/questions/64204602/testcontainers-quickstart-example-does-not-work

Duplicate of #3166


Replace custom base-URL method with standard NSURL one

Unless I'm missing something, I don't see the need for AFURLWithPathRelativeToURL(). It seems like [NSURL +URLWithString:relativeToURL:] does the same thing, but more correctly.

AFAICT, URLWithString:relativeToURL: does the right thing. Here are all the cases I can think of:
NSURL *base = [NSURL URLWithString:@"http://example.com/v1/"];
[[NSURL URLWithString:@"/foo" relativeToURL:base] absoluteString]; // http://example.com/foo
[[NSURL URLWithString:@"foo" relativeToURL:base] absoluteString]; // http://example.com/v1/foo
[[NSURL URLWithString:@"foo/" relativeToURL:base] absoluteString]; // http://example.com/v1/foo/
[[NSURL URLWithString:@"/foo/" relativeToURL:base] absoluteString]; // http://example.com/foo/
[[NSURL URLWithString:@"http://example2.com/" relativeToURL:base] absoluteString]; // http://example2.com/
I believe that the first case might have been causing some confusion -- if the path begins with "/", it will indeed clip off the path from the base URL (just like a "/foo" link in HTML would). But the second case shows that you can use relative paths as expected. And the last case shows that you can override the entire base URL if desired -- whereas in the current AFURLWithPathRelativeToURL implementation, that would become http://example.com/v1/http://example2.com/, which is clearly wrong.

Yeah, those cases with the leading slash clipping the original base path is enough of a deal breaker.
The last example, overriding the base url is interesting, but that use case would be inconsistent with the semantics of the methods that use it, which take a path, not a URL.

I feel pretty strongly that we should follow the standard for how relative URLs are resolved (RFC 2396 Section 5 seems to be the most relevant). In other words, I think that the "leading slash clipping the original base path" issue is a feature, not a bug. If you want a base URL that contains a path (like /v1/), then your relative paths should just not contain a leading slash -- it's easy and predictable. If it doesn't work that way, then it shouldn't be called a "base URL" -- it should be called a "prefix" or something like that.
I do agree that it's a bit unfortunate that a bunch of methods pass around a "path" param, when IMHO it should actually be interpreted as "URL string".
Here's a real-world case where the current implementation became a problem: the Instagram API has a "base URL" like "https://api.instagram.com/v1/". But occasionally I need a relative URL that starts at the root -- specifically "https://api.instagram.com/oauth/authorize". With the current implementation, that's not possible, but if we use the standard relative-URL-resolver, it's easy.
The last example hints at a very important case. Standard REST dogma is that the server should entirely control its namespace. But that becomes impossible if we don't follow standard URL resolution -- we've made some types of links impossible. E.g., today's Instagram API puts photos at URLs like https://api.instagram.com/v1/media/42, so clients that assume the usual base URL can handle links like media/42 fine. But suppose they want to start sharding or load-balancing their photos, giving them names like https://users-3.api.instagram.com/42. If we resolve URLs properly, they'd just provide more specific links and everything would work fine. If we just treat the "base URL" as a string to prepend, it's impossible for the server to control its namespace.

Y'all are absolutely correct. With proper documentation, I strongly prefer this approach. These changes have been incorporated into e08f236, and will be part of 0.8, which will be released sometime this week. Thanks!


✨ Add complex aggregators

The LIST aggregation type allows the values in each group to be collected and complex aggregations (i.e. ones that require more than one function call, or the output to be transformed) to be written.
Such as 'MODE' (i.e. most common value), 'RANGE' (i.e. MAX - MIN) and 'IQR'

These should be implemented as plan rewrites rather than in Python. For example,
SELECT mode(age) FROM people GROUP BY location;

-->
SELECT mode(list(age)) AS mode(age) FROM people GROUP BY location;


Update README.md

Hi !
First of all thank you for working on this much needed azure storage layer.
I think the readme is not correct for the Gen 2 details. I think it should pass the AzureBlobFileSystem class instead of the AzureDatalakeFileSystem.
If that is correct. Here is the PR fixing the readme.

Thank you for picking up on this.
After the coming change in fsspec, this step should not be necessary at all, so I expect this PR to be superseded ( cc @TomAugspurger )
(note that the failure is due to the implementation of linting)

Thanks for the quick reply ! Regarding the upcoming change in fsspec. Do you mean this PR: intake/filesystem_spec#206 ?

That is an issue yet to be implemented, and that would work too, but I actually mean directly adding the implementation classes here to fsspec.registry.known_implementations

Oh ok, I couldn't find the related PR.! Are you interested in this PR then ? If yes, do you want me to edit the setup.py file for the linting to pass ?

Yes, that PR to fsspec should be made.
Following that, the lines here concerning the fsspec registry should simply be removed, they will not be necessary. Regarding linting, yes, we should just accept what the linter says is the right format (I don't know why it changed).

Cross-referencing with this PR.

Correct — once the protocols are in the fsspec known_protocols registry, we can remove this from the adlfs Readme.

On Nov 28, 2019, at 2:02 PM, Martin Durant<EMAIL_ADDRESS>wrote:

@martindurant commented on this pull request.
In README.md:

@@ -23,7 +23,7 @@ To use the Gen2 filesystem:

import dask.dataframe as dd
from fsspec.registry import known_implementations
-known_implementations['abfs'] = {'class': 'adlfs.AzureDatalakeFileSystem'}
+known_implementations['abfs'] = {'class': 'adlfs.AzureBlobFileSystem'}
This shouldn't be needed anymore, right?

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ok I guess when intake/filesystem_spec#209 is released, this PR can be closed ? Thank you for adding this support !

I'm closing this PR. The ffspec known_protocols registry no longer needs patching as adl and abfs are now there in fsspec.


Ashishonce/integration test

adding processioning on machine

It seems like when two delete request go in short span , the resource is still under deletion process.  It looks like that might cause a problem.

Let me look at this on the weekend.


[ASCII-1843] Ensure configcheck result is written to stdout

What does this PR do?

On the work done on this PR https://github.com/DataDog/datadog-agent/pull/25595 we modified the configcheck command to ensure scrubbing would happen in the server an not in the client.
On that PR we missed a tiny detail for the cluster agent. We forgot to write the result from communicating with the server 🤦
In this PR we ensure that we write the result from the server into the writer, and that the CLI flag for color -n is respected
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Ensure the main agent flare archive includes the config-check.log file with the right information. Ensure the output does not have ANSI color strings
Ensure the cluster agent flare archive includes the config-check.log file with the right information. Ensure the output does not have ANSI color strings
Ensure CLI command cluster-agent configcheck works as expected. The output must include colors
Ensure CLI command cluster-agent configcheck -n works as expected. The output must not include colors
Ensure CLI command agent configcheck works as expected. The output must include colors
Ensure CLI command agent configcheck -n works as expected. The output must not include colors

/trigger-ci --variable RUN_ALL_BUILDS=true --variable RUN_KITCHEN_TESTS=true --variable RUN_E2E_TESTS=on --variable RUN_UNIT_TESTS=on --variable RUN_KMT_TESTS=on

/merge


Documentation specifies defaults but they are not actually used

Describe the issue
Documentation explicitly specifies that the following fields have defaults:

But they are actually not applied. If the builder doesn't explicitly specify them, they will instead be explicitly be set to None

This makes the request fail with error:
ValidationException: The provided Content Type is invalid or not supported for this model

Setting those explicitly on InvokeModelFluentBuilder avoids the error:
builder
    .accept("application/json")
    .content_type("application/json")

Links
https://docs.rs/aws-sdk-bedrockruntime/1.18.0/aws_sdk_bedrockruntime/operation/invoke_model/builders/struct.InvokeModelFluentBuilder.html
https://docs.rs/aws-sdk-bedrockruntime/1.18.0/aws_sdk_bedrockruntime/operation/invoke_model/struct.InvokeModelInput.html

closing in favor of #1114


Fix Buffer error "If encoding is specified then the first argument must be a string"

Fixed in https://github.com/kkaefer/utf7/pull/4


COR-418 fix(clerk-js): Improve organization invitation form UX

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[x] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[x] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[x] npm test runs as expected.
[x] npm run build runs as expected.

Improve UX for organization invitation form

https://github.com/clerkinc/javascript/assets/23478420/996f6174-5e40-43a4-8c5e-b822ec34d15f

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


$TTcoin🔺contract 2024oct26

TimberTime coin contract 🔺per grok
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>contract TimberTimeToken is ERC20, ERC20Burnable, Ownable2Step, Pausable, ReentrancyGuard {
using SafeMath for uint256;
string public constant NAME = "TimberTime";
string public constant SYMBOL = "TT";
address public immutable timHagedorn = 0x19a0f118F028Edbe6e42B7E8986a8f696E6c4920; // Address of Tim Hagedorn, the contract owner

uint8 private constant _decimals = 18;
uint256 private constant _initialSupply =<PHONE_NUMBER> * (10 ** uint256(_decimals)); // 1 billion tokens
uint256 public constant MAX_SUPPLY =<PHONE_NUMBER> * (10 ** uint256(_decimals)); // Cap at 1 billion tokens
uint256 public transferFeeRate = 5; // 0.05% fee rate

// Whitelist to control who can interact with the token
mapping(address => bool) public whitelist;

// Events
event FeeRateChanged(uint256 oldFeeRate, uint256 newFeeRate);
event AddressWhitelisted(address indexed user, bool status);
event TokensLocked(address indexed beneficiary, uint256 amount, uint256 unlockDate);
event Staked(address indexed user, uint256 amount);
event Unstaked(address indexed user, uint256 amount, uint256 reward);

// Staking
mapping(address => uint256) public stakedAmounts;
mapping(address => uint256) public stakeStartTime;
uint256 public constant STAKING_REWARD_RATE = 1; // 1% per year

constructor() ERC20(NAME, SYMBOL) {
    _mint(msg.sender, _initialSupply);
    whitelist[msg.sender] = true; // Initial deployer should be whitelisted
}

// Minting can only be done by the contract owner
function mint(address account, uint256 amount) public onlyOwner whenNotPaused {
    require(totalSupply() + amount <= MAX_SUPPLY, "Cannot mint beyond maximum supply");
    _mint(account, amount);
}

// Override transfer function to include a fee mechanism and whitelist check
function _transfer(address sender, address recipient, uint256 amount) internal virtual override whenNotPaused {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");
    require(whitelist[sender] || whitelist[recipient], "One of the addresses must be whitelisted");

    uint256 feeAmount = amount.mul(transferFeeRate).div(10000); // Assuming 4 decimal places for percentage
    uint256 transferAmount = amount.sub(feeAmount);

    super._transfer(sender, recipient, transferAmount);
    if (feeAmount > 0) {
        _burn(sender, feeAmount); // Burn the fee
    }

    emit Transfer(sender, recipient, amount);
}

// Function to change fee rate
function setTransferFeeRate(uint256 _transferFeeRate) public onlyOwner {
    require(_transferFeeRate <= 100, "Fee must not exceed 1%");
    emit FeeRateChanged(transferFeeRate, _transferFeeRate);
    transferFeeRate = _transferFeeRate;
}

// Governance functions
function pause() public onlyOwner {
    _pause();
}

function unpause() public onlyOwner {
    _unpause();
}

// Whitelist management
function addToWhitelist(address _address) public onlyOwner {
    whitelist[_address] = true;
    emit AddressWhitelisted(_address, true);
}

function removeFromWhitelist(address _address) public onlyOwner {
    whitelist[_address] = false;
    emit AddressWhitelisted(_address, false);
}

// Staking functionality
function stake(uint256 amount) external whenNotPaused {
    require(amount > 0, "Cannot stake 0");
    stakedAmounts[msg.sender] = stakedAmounts[msg.sender].add(amount);
    stakeStartTime[msg.sender] = block.timestamp;
    _transfer(msg.sender, address(this), amount); // Stake by transferring to contract
    emit Staked(msg.sender, amount);
}

function unstake(uint256 amount) external whenNotPaused nonReentrant {
    require(stakedAmounts[msg.sender] >= amount, "Not enough staked");
    uint256 reward = calculateReward(msg.sender, amount);
    stakedAmounts[msg.sender] = stakedAmounts[msg.sender].sub(amount);
    _transfer(address(this), msg.sender, amount.add(reward)); // Unstake and send reward
    emit Unstaked(msg.sender, amount, reward);
}

function calculateReward(address account, uint256 amount) public view returns (uint256) {
    uint256 timeStaked = block.timestamp.sub(stakeStartTime[account]);
    uint256 dailyRewardRate = STAKING_REWARD_RATE.mul(1e18).div(365 days); // Convert annual rate to daily rate
    uint256 reward = amount.mul(timeStaked).mul(dailyRewardRate).div(1e18); // Avoid precision loss with 1e18
    return reward;
}

// Lock tokens functionality with events
mapping(address => LockInfo) private _locked;

struct LockInfo {
    uint256 amount;
    uint256 releaseTime;
}

function lockTokens(address _beneficiary, uint256 _amount, uint256 _unlockDate) public onlyOwner whenNotPaused {
    require(_unlockDate > block.timestamp, "Unlock time should be in the future");
    require(_amount <= balanceOf(owner()), "Not enough tokens to lock");
    _transfer(owner(), address(this), _amount);
    _locked[_beneficiary] = LockInfo(_amount, _unlockDate);
    emit TokensLocked(_beneficiary, _amount, _unlockDate);
}

function unlockTokens() public whenNotPaused {
    LockInfo storage lockInfo = _locked[msg.sender];
    require(block.timestamp >= lockInfo.releaseTime, "Tokens are still locked");
    require(lockInfo.amount > 0, "No tokens locked for this address");

    uint256 amount = lockInfo.amount;
    _locked[msg.sender] = LockInfo(0, block.timestamp); // Reset lock info

    _transfer(address(this), msg.sender, amount);
}

}
￼
￼

[ ] Where/how**do I add_this contract to implement @**_``


Add Dark Mode

adds dark mode using a sass mixin and a short script
renamed all colors to avoid overlap with named values (black/white/grey) and make their purposes clear

added a couple colors for links, to avoid defaulting to -webkit-link (which doesn't work for dark mode)

replaced svgs for social icons with font awesome icons
added layouts/_default/_markup/render-link.html to open all links in new tabs (except internal ones)

Much needed feature. Thanks @vishwa35 🥳

@vishwa35 I apologize for the late response, real life has been keeping me pretty busy these days. I am going to take a look at the PR now but I also want to note that a few recent PRs as of this morning have caused some conflicts in your branch. Just wanted to ping you so you're aware.
Thanks for your effort on this!

Any updates on this ? Would love to use dark mode for this theme

Any updates on this ? Would love to use dark mode for this theme

Much needed feature. Thanks @vishwa35 🥳
A few knits though:

You don't need to delete the social icons entirely, changing the stroke="currentColor" to stroke="white" would give you a white version of the current icons. Refer wickedbrat.com
The theme, as is picked from localstorage takes a fraction of sec to actually load..

I second @WickedBrat here. I don't find it terribly important that we continue to support these inline svg icons that have been included in the project since its inception, and having the ability to use Font Awesome is always a nice win, but I think this feature might be better implemented in a separate PR where we can discuss it further. I'd like to keep this one as streamlined as possible, i.e., dark mode. Because it's a neat feature that clearly many people are looking for.
Now, as far as the dark mode implementation itself, it looks aces. However, I am also noticing this split-second flash of light mode before dark mode takes effect. Is there are a way to avoid this @vishwa35 ? It isn't a pleasing experience for the end-user.
All-in-all this was clearly a ton of effort on your part and I'm glad you've decided to include your PR to this project. I'd love to get it merged ASAP. But we should iron out these few things:

Continue to support inline svg for now using the suggestion @WickedBrat has mentioned in his comment.
Find a way to prevent this flash of light mode if dark mode is enabled

Much needed feature. Thanks @vishwa35 🥳
A few knits though:

You don't need to delete the social icons entirely, changing the stroke="currentColor" to stroke="white" would give you a white version of the current icons. Refer wickedbrat.com
The theme, as is picked from localstorage takes a fraction of sec to actually load..

I second @WickedBrat here. I don't find it terribly important that we continue to support these inline svg icons that have been included in the project since its inception, and having the ability to use Font Awesome is always a nice win, but I think this feature might be better implemented in a separate PR where we can discuss it further. I'd like to keep this one as streamlined as possible, i.e., dark mode. Because it's a neat feature that clearly many people are looking for.
Now, as far as the dark mode implementation itself, it looks aces. However, I am also noticing this split-second flash of light mode before dark mode takes effect. Is there are a way to avoid this @vishwa35 ? It isn't a pleasing experience for the end-user.
All-in-all this was clearly a ton of effort on your part and I'm glad you've decided to include your PR to this project. I'd love to get it merged ASAP. But we should iron out these few things:

Continue to support inline svg for now using the suggestion @WickedBrat has mentioned in his comment.
Find a way to prevent this flash of light mode if dark mode is enabled

I've been playing around with the prefers-color-scheme property over at https://github.com/lazerl0rd/hugo-theme-codex/commits/master.

I've sent a different PR utilising the prefers-color-scheme property at https://github.com/jakewies/hugo-theme-codex/pull/159.


Make python_wrapper.sh a copy instead of a symlink.

Fixes Bazel error when a WORKSPACE imports
https://github.com/grpc/grpc/archive/master.zip:
"Zip entries cannot refer to files outside of their directory:
master.zip has a symlink to ../../../tools/distrib/python_wrapper.sh"

Thank you for your pull request. Before we can look at your contribution, we need to ensure all contributors are covered by a Contributor License Agreement.
After the following items are addressed, please respond with a new comment here, and the automated system will re-verify.

User @g-easy isn't covered by a CLA. They will need to complete the form at https://identity.linuxfoundation.org/projects/cncf

Regards,
CLA GitHub bot

Retry CLA.

I think instead of making a copy, we should use the original version directly. There's got to be a way to do that. I'll look into this later. Just curious, how come the tests pass with a symlink?

yes, if a symlink does not work, it is better to directly use the original file. We would just need to be able to export that file from tools/distrib.

Symlink worked as far as the test is concerned. I don't know where this error comes from and whether it's a real issue...

I'm sorry I wasn't clear: the error comes from a project that wants to use gRPC, importing gRPC via WORKSPACE. bazel refuses to unzip master.zip if it has symlinks pointing outside of their immediate directory.

Ping. This is still preventing bazel from unzipping master.zip (although master.tar.gz works!)

This may be related to https://github.com/bazelbuild/bazel/issues/2656 although I'm running bazel 0.10.1 and still hitting this problem.

This looks more like a bazel-specific issue when expanding zip files. From the mentioned link, it is supposedly fixed, but just hasn't propagated maybe.

This is fixed in bazel 0.11.0, withdrawing this PR.


Fixed bug with not calling range init by default

depends on #25

@ljaljushkin please resolve conflicts.

Jenkins please retry a build


When will the cluster code be merged?

Really looking for cluster mode

I made a cluster implementation using helm charts, haven'y really test it too much
https://github.com/rexmalebka/nms-streaming-cluster


README is not more visible

README is not more visible on latest https://github.com/local-first-web/auth

Eric - thanks for catching that!


Using variables in PR status msg/comments

Hello,
I might be missing something but is there a way I can use variables defined during build in the status message of the PR once build finishes? Or in a comment for that matter.
Simply said, on build failure I mean to set commit status result to:
Build log - ${MY_URL}
But the variable ${MY_URL} doesn't get evaluted. Note that it is created during post-build execute shell step (which does get executed). Any hints appreciated.

Oops, probably should have created this at the original repo. Will do that instead.


Bug 1965368: fix clusterresourcequota admission

some of the namespaced objects (eg CRDs) were being ignored due to
not being of type ObjectMetaAccessor
this was causing over logging ~so logging level was decreased~

/bugzilla refresh

some of the namespaced objects (eg CRDs) were being ignored due to
not being of type ObjectMetaAccessor

very unfortunate, seems like we miss an e2e test

I have returned the log level to warn

@soltysh

update for openshift/kuberenetes: https://github.com/openshift/kubernetes/pull/971
update for openshift-apiserver is strictly not needed ATM since it doesn't handle clusterresourcequotaadmission. Other issue is that apiserver-library-go requires 1.22 and this is currently blocked by https://github.com/openshift/openshift-apiserver/pull/244

/cherry-pick release-4.9


Downloads .xlsx files

.docx files download perfectly, but i can't downloading an excel (xlsx) file. Excel files are displayed in the browser window.

This is either a browser or server configuration error.  Please check your browsers options and server configuration files to address this issue.


Improve trimming of images with transparency (#1597)

Retrieve the background colour alpha value and pass image alpha band to find_trim() if background colour is not fully opaque. Attempt to fix issue #1597

Coverage remained the same at 99.756% when pulling 8bff1638796587113773a5e0131df0eb85551faf on Monotype:trim-fix-alpha into fb5c393fbdb936ca2d3b829a6f9ee44cd3884b1c on lovell:master.

Closing PR as unintended changes were submitted. Will create new PR with original changes.

New PR #1879


[BPF] Decorate import "C" with CFLAGS and LDFLAGS for libbpf consumption

Description
Decorate import "C" with CFLAGS and LDFLAGS to probe for libbpf header files and static library.
Makes it possible to run UTs more easily with IDE and go test.

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note
ebpf: Allows unit tests to be run/debug locally from within IDE

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

Checked the makefile, we do support multiple arches in OS, we support both amd64 and arm64 so I think we should maintain that.  I also tried a local hack that removes the flags for the makefile and it still seemed to work!

/merge-when-ready delete-branch


Add a Pipfile with required dependencies

Hi,
I'm unfamiliar with pipfiles. They're a way to install all required packages with pip at once right?
I have two questions:

NintendoClients supports any python version >= 3.6 at the moment, but your pipfile requires python 3.8. Is there a reason for that? I don't want to raise the required python version unless I need some feature that only exists in a higher version.
Why is pylint in there? It's in no way a requirement of NintendoClients. I see it's under the dev-packages section, but in my opinion everyone should decide which packages they need during development themselves.

Hi,
They are, but as far as I know they require pipenv right now to be used. So I also added a requirements.txt file.

I removed the Pipfile.lock and updated the Pipfile so that multiple python versions can be used. Unfortunately there's no way to specify python >= 3.6 in the pipfile, so I just removed the requirements entirely.
Sorry about that! That was left over from my own work, I've removed that from the dependencies.

Ok I've been reading a bit. Apparently pipfiles and requirements.txt are only intended for applications, not for libraries. The difference is that the requirements of libraries should be flexible, whereas applications are often deployed into a specific environment. That also seems to be the reason that you can only specify a specific python version in pipfiles, instead of a range of python versions. See https://pipenv-fork.readthedocs.io/en/latest/advanced.html#pipfile-vs-setuppy.
NintendoClients is definitely a library and I also want to support as many python versions as possible, so I don't think a pipfile or requirements.txt is the right way to go here. Instead, the correct approach would be to specify the requirements in setup.py with install_requires. If you run pip install . you'll automatically install the nintendo package and its requirements.
What's your opinion on this?

Oh good to know! And sorry about that, I should have researched more.
The setup.py with install_requires does sound like the way to go. Mind if I make a new PR for it?

Sure, go for it 😉


getCapabilities()

Bug report

Node Version: 4.2.6
Protractor Version: 3.2.2

used default config and test angularjs homepage todo list
added into test
browser.getCapabilities().then(function (x) {
        console.log(x.caps_.browserName)
    })

cause Cannot read property 'browserName' of undefined
since capabilities by getProcessedConfig() working

Hi, something like this will get your capabilities for browser name:
describe('specs loaded to selenium', function() {
  it('should have the right capabilities', function() {
    browser.get(browser.baseUrl);
    browser.getCapabilities().then(function(capabilities) {
      console.log('browserName:', capabilities.get('browserName'));
    });
  });
});

This looks like a support question. Please ask further support questions on StackOverflow, Google Group discussion list, or Gitter. For more information please reference https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions
Thank you!


[Bug]: Exported/Exporting Images Doesn't Work

What happened?
(Click the texts to see images)
Seems related to #448
What Happened
I tried to add images to a document, but they wouldn't load. (I tried without the plugin that's making them into a grid too)

I tried viewing the image itself, that also didn't load

I tried reloading the image after editing something and the website got messed up

The export directory doesn't have the Media folder, but the website does

What I expected to happen
The document with images should look like this

I should be able to view the image on its' own

Reproduction

Set up a vault with this plugin
Add an image in a folder
Add a document with a link to the image
Export to Online Web Server
View exported document or the image online
Image doesn't load
Check export directory
Image file/folder isn't there

Last Working Version
No response
Version
1.8.01 and 1.8.1-2b
Operating System
Linux (NixOS)
Obsidian Version
v1.6.7
Which browsers can you reproduce this in?
Firefox, Chrome
Relevant log output
N/A

Additional Info
My repository is here in case that might be helpful: https://github.com/DEATHB4DEFEAT/Obsidian-SS14-Character-Relations

Thanks, I am not sure what is happening here. Could you try to reproduce this in a sandbox vault with only one image and one note with all settings at default and no other plugins?
Then can you include the log output from during the export (ctrl + shift + i) so I can see if there are any errors?

I also notice that the styles on your site are a little messed up. This is because of #455. I will be releasing an update soon to fix this

I tested with a new vault and am getting slightly different results, though it's not working still
Images

Oh, weird, I just re-exported my original vault after that test (I deleted everything in the export directory) and now the images are working, though styles are super wrong.

Hey, I just released a beta version that should address this. If you could try it out and let me know if his issue is fixed and if you find any other issues. There are instructions for installing the beta in the readme :)
Thanks!

Tested the beta version this morning, received [ERROR] Problem initializing document: INdex.md. TypeError: tags.forEach is not a function
It's worth noting there is a tag on the index page, and only  one tag: "Home".

Thanks for testing it! I am glad everything is showing up correctly.
I am not able to reproduce the errors you mentioned.

It's worth noting there is a tag on the index page, and only one tag: "Home".

Was this tag defined in the frontmatter or inline on the page?
Do the backlinks duplicate if you navigate using links or graph view? Or only when in the tree. Also were any errors logged in the console on the website itself when the backlinks duplicate.

Sorry for the large delay. I've tried the latest beta and seem to not have this issue anymore, though there are several other issues I noticed;

Settings no longer lets me set a site URL and the output log complains about it for RSS (scroll this block when expanded, there's multiple images)

I can't click my images from the image-gallery plugin any more, though they and normal images *display* fine

The graph view can't be clicked and can't pan around

Queries from clicking a tag take me to Nginx's home/root page (which I set to home.html) and don't do anything else

Searching seems to not work at all

Selected pages are pretty much unreadable

Tags should be titled, like backlinks are

Multiple tags don't have space between them

Tags and backlinks should probably be in a colored box or separated somehow, it took me a bit to realize where and what they were

I don't seem to be getting the issues saerich was, you probably fixed them in this time.

@DEATHB4DEFEAT
Thanks for the details! I will look into these bugs.

 You can manually edit the data.json for now if you like. A much cleaner and more advanced settings menu is coming :)
What do you want to happen when you click your images?
Could you give me the console outbut in your browser after trying to do the search and graph view? I am not able to reproduce these issues.
I am still working on making tags work again after rewriting the frontend, should be fixed soon
"Selected pages are pretty much unreadable" - this is probably caused by your theme. My suggestion would be to override this using a custom snippet. You can let me know which theme you use and I can look into it. (assuming it is fixed by switching your theme)
You can add a title to tags if you want in the settings.
Backlinks should be seperated into their own box already. What does it look like for you? I will think about tags

What do you want to happen when you click your images?

The linked plugin usually (and did before the beta iirc) expands the images in a carousel modal (I think that's what it's called) when clicked

Could you give me the console outbut in your browser after trying to do the search and graph view? I am not able to reproduce these issues.

It's no longer sending me home, but this is what the console says:

"Selected pages are pretty much unreadable" - this is probably caused by your theme. My suggestion would be to override this using a custom snippet. You can let me know which theme you use and I can look into it. (assuming it is fixed by switching your theme)

I use the Catppuccin mocha theme

Backlinks should be seperated into their own box already. What does it look like for you? I will think about tags

@DEATHB4DEFEAT

The linked plugin usually (and did before the beta iirc) expands the images in a carousel modal

It is unlikely it opened in a carousel. If you just mean that it made it larger in a static way, that is possible through CSS. Have you tried enabling the CSS for the Image Gallery plugin in the settings?

It's no longer sending me home, but this is what the console says:

For the console output I actually meant can you try to do a search in the search bar, as well as try to drag and click on the graph view. I want to see if any errors are being thrown that could be releated to these two problems

Backlinks image

I guess I removed the box around the backlinks and forgot about it. I can add it back haha

Have you tried enabling the CSS for the Image Gallery plugin in the settings?

Yeah, didn't seem to do anything, can try again later in case I cached an old version on accident and will confirm if it worked before.

For the console output I actually meant can you try to do a search in the search bar, as well as try to drag and click on the graph view. I want to see if any errors are being thrown that could be releated to these two problems

I get this when the page loads:

And this when hovering over the graph for the first time:

No other errors when interacting with things.


Add int64 Tperm type support for Transpose

This fix adds int64 Tperm support for Transpose. In array_ops.cc, Transpose and ConjugateTranspose have been specified as accepting int32 and int64 perm types. However, only int32 kernels has been registered.
This fix adds the int64 perm support by removing the constraint on Tperm, resolve the type at runtime, and copying the data type accordingly to correctly handle the int64/int32 types.
Additional tests have been added as well.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Can one of the admins verify this patch?

@tensorflow-jenkins test this please


EllipsoidalOccluder updated with check

Worked on issue #4794. updated EllipsoidalOccluder with Check.

Same problem as #5557. Once #5555 goes into master, you will want to rebase!

Can you make the checks more specific? For example, if a variable is expected to be a number use Check.typeOf.number. It implicitly checks if the variable is defined.

@omh1280 updated EllipsoidOccluder.js with the recommended changes.

Looks good! Thanks

Thanks again @Rudraksha20 @omh1280!


Switch to using vector tile basemaps for all 2D exercises

[x] Android
[ ] AppStudio
[ ] iOS (new exercises)
[x] Java
[x] macOS
[x] .NET
[x] Qt

If they work on all platforms, we can do it.

I will check and make sure.  Hopefully they are. :)

But they don't appear to work in 3D.

That's fine. We're showing imagery in 3D anyway. Let's change our 2D basemaps to vector tiles (if it works).

Done for most platforms via #108
@jofraley can you please change to vector basemaps for the 2D AppStudio exercises and solutions (if AppStudio works with vector basemaps)?
I will take care of iOS when I write those exercises.

iOS is done in #85


It is possible to create sphere and never see mnemonic

If you abort the first run experience (quit the app) before getting to the mnemonic step, you will never see the mnemonic.
We should show the mnemonic immediately after creating the sphere to reduce the chance of this failure case.
I ran into this case IRL while working with the simulator. The simulator hung, leading me to stop the app and re-start it after redeeming an invite code. The result was that I had a sphere, but by the time I reached the mnemonic step, I had lost my mnemonic (it was no longer in memory).

Maybe something like:

(Informational) Welcome to subconscious [Next]
(Informational) "Your sphere stores all your data" [Create sphere]
(Sphere created) Show mnemonic [I've written it down]
Nickname [Next]
Invite code [Redeem]


Teams App Business Model lacking

There is no information on the business model of Teams Apps. How do developers get paid? Is it though AppSource?

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

ID: d0f1115e-693c-25f8-e0e7-103fb63753c2
Version Independent ID: 9726dee6-7fd2-1c98-7c2b-dfcb858e540e
Content: Apps for Microsoft Teams - Teams
Content Source: msteams-platform/concepts/apps/apps-overview.md
Product: msteams
GitHub Login: @o365devx
Microsoft Alias: o365devx

There isn't any information because it varies greatly. Developers are not paid via AppSource except inasmuch as it functions as a lead generation system (which is what it is). Generally speaking the apps are either free or require a subscription/account in a separate service that itself is freemium or paid.

Wow Thanks Bill, that was a really quick response👍🏻
It makes it somewhat clearer to someone like me who is a newbie in the ISV realm.
These follow up questions might or might not be appropriate for this thread. If not can you point me in the right direction?
Is publishing a Teams App to AppSource the correct way to bring a Teams App to market? Are Teams Apps surfaced in the Teams client when browsing for apps automatically or does it require a Teams App tagging in AppSource?
So the backend service that the Teams App connects to will have to have the commercia/subscription model itself, including billing capabilities? Are there any offerings from Microsoft or 3rd party that provide this capability?
And there is no fee to publish a Teams App in AppSource? Can customers buy the Teams App/Service through AppSource? (Your remark of it being nothing more than a leads generation system would contradict that but I thought it worked similarly to Apple's App Store...)
Hämta Outlook för iOShttps://aka.ms/o0ukef

Från: Bill Bliss<EMAIL_ADDRESS>Skickat: onsdag, november 7, 2018 12:18 fm
Till: MicrosoftDocs/msteams-docs
Kopia: extcon; Author
Ämne: Re: [MicrosoftDocs/msteams-docs] Teams App Business Model lacking (#313)
There isn't any information because it varies greatly. Developers are not paid via AppSource except inasmuch as it functions as a lead generation system (which is what it is). Generally speaking the apps are either free or require a subscription/account in a separate service that itself is freemium or paid.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/msteams-docs/issues/313#issuecomment-436445103, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AdO2dh7Md1tAcr5LF2B_GF_Z9RnqbYdRks5ushjAgaJpZM4YRbbg.


Clarification request: bitfield deserialisation (to tree form) logic

Update 2: I just made a quick animation that we could add to the book or use in presentations to illustrate the flattening of the tree:

flat-tree.key.zip
(Original Keynote file attached under Creative Commons Attribution-ShareAlike 4.0 International. Please feel free to use in your own presentations if you want to.)

Update 1:  OK, having now seen the diagram at the top of the Storage section, I now get how the tree is serialised. It would make sense to have that diagram in the Bitfield chapter to make it clear how the serialised version is arrived at.
So my deeper tree:
            01
      01          00
  01     11    00    00
11  00 11 11 00 00  00 00

Would flatten (now that I can see it visually it makes perfect sense, as we are literally squashing the tree down from the top node) to:
110100011111110100000000000000

I’ll prepare a PR to add a note about how the flattening happens to the Bitfield chapter.
Read on only if you want to see my late-night ramblings from last night and an alternative way to serialise a tree :)

A 🔦 question regarding bitfield serialisation logic:
In the Bitfield chapter, we have the following tree structure (top-down)
       01
  01       00
01  11   00  00

That is serialised as:
01 01 11 01 00 00 00

The logic I could work out for that was:
Start at the top (01) then take left (01), left (01), right (11). Having exhausted the left arm of the tree from the root, then proceed (from root) to (I’m assuming, following the previous pattern), right (00), left (00), and right (00) until you’ve exhausted the right arm of the tree.
While I can see how, given the tree structure, you can serialise it as such. I don’t understand how, given the serialised form, you can recreate the tree without having a delimeter for where the left arm of the tree ends.
Is it because the bitfield is always guaranteed to be balanced that you know to delimit after the (n-1)/2 th position?
What if there was another level to the tree?
Would:
            01
      01          00
  01     11    00    00
11  00 11 11 00 00  00 00

Serialise as:
01 01 11 01 00 11 11 11 00 00 00 00 00 00 00

In which case, dividing at (n-1)/2 would give:
01 | 01 11 01 00 11 11 11 | 00 00 00 00 00 00 00 |

And again, recursively:
01 | 01 ( 11 01 00 ) ( 11 11 11) | 00 ( 00 00 00 ) ( 00 00 00 ) |

And, finally:
01 | 01 ( 11 [01 00] ) ( 11 [11 11] ) | 00 ( 00 [00 00] ) ( 00 [00 00] ) |

Which, dropped into tree form, becomes:
            01
      01          00
  11     11    00    00
01  00 11 11 00 00  00 00

Which differs from the original… telling me that my original assumption of the serialisation logic was incorrect. The deserialisation logic makes sense, though, so, to backtrack, the original tree:
            01
      01          00
  01     11    00    00
11  00 11 11 00 00  00 00

Should have been serialised as:
01 | 01 ( 01 [11 00] 11 [11 11] ) | 00 (00 [ 00 00 ] 00 [ 00 00] ) |
Right, that makes sense. And it also makes sense in that the moment we read the 6th bit-pair, we know that we don’t have to look any further down that branch.
I think I just rubber-ducked my own question.
If the conclusion is sound, I think it would benefit the chapter for me to write it up in a concise few paragraphs. Thoughts?
Related: #1

Hmm… although, if my final technique is correct, then the example in the chapter:
       01
  01       00
01  11   00  00

Should serialise as:
01 01 01 11 00 00 00

Instead of what is in the chapter, which is:
01 01 11 01 00 00 00

(The 3rd and 4th positions are flipped.)
If the example in the chapter is correct, then I don’t understand the logic behind why we go left-to-right while serialising the second level but flip to right to left at the third level.

@aral that diagram is fantastic! -- would you like to make a PR to add it to the book?

Sure. Will aim to do that this week.

Yay, awesome!

Hey @yoshuawuyts, just a quick update to let you know I haven’t forgotten about this. Away without my Mac for the holidays so will get to it after I’m back. (Created the animation in Keynote and need to export it again as I noticed a hairline border on two edges from the Screenflow capture.)

@aral thanks heaps for the update! -- happy holidays! :sparkles:


Documentation Example are broken

Hi there! Really interesting project here!
I've been trying to run through the examples in the documentation and I can't seem to get a single one of the tutorial projects to work without major changes. It seems like maybe the examples are out of date?
I've experienced the following issues:
Dependency Version Conflicts
So far I've only experienced this with numpy and argilla. However, it illustrates that dependencies are not handled well.
Broken Example Code
Many pieces of example code are simply broken. They have missing/incorrect imports, calls to methods that don't exist, missing dependencies, and references to undefined variables.
Example:
response = vector_indices["Toronto"].query("What are the sports teams in Toronto?")
print(str(response))

This example will not work. It needs to be changed to:
response = vector_indices["Toronto"].as_query_engine().query("What are the sports teams in Toronto?")
print(str(response))

General Documentation Quality
I know this project is fairly new and I shouldn't expect perfect documentation. However, the documentation as it stands is confusing and outdated(I think) in many places. I would expect that the getting started and tutorial sections at least would work and explain things well, but they do not. Unfortunately, this makes it very difficult for me to test llama-index and next to impossible to recommend adoption at my organization.
I am willing to help improve the documentation, but I honestly have a poor understanding of how the library works and would not be able to update the documentation myself. I want to be clear that I'm not just complaining; I am very willing to help in any way I can. I have some suggestions:
Suggestions:

All example code should "just work". This means that as long as I have the dependencies installed, I should be able to copy-paste the code and run it without any major issues. Of course, any issues with 3rd-party tools/APIs are excluded from this.
Ensure all code examples are up-to-date with every release.
Restructure tutorials and guides for less confusing control-flow. For example,I ran into several issues where variables defined inside loops were used outside of the loop which requires re-running the loop in order to ensure the variable is present or having to re-write the example code myself
Ensure all tutorials and guides explicitly call out required dependencies.
Ensure all tutorials and guides are actually importing the modules/functions/classes/etc needed for the code to run.

Really appreciate the detailed and thoughtful feedback.
You are absolutely right and we are actively working on making this better.

Really appreciate the detailed and thoughtful feedback. You are absolutely right and we are actively working on making this better.

Took me a bit to get things working.  Happy to make PRs on the doco if that helps.

Thanks for the replies. Once again, I'm willing to help where I can. If someone could point me in a direction, I'd be happy to try making a PR or whatever else needs doing.

Thanks for the replies. Once again, I'm willing to help where I can. If someone could point me in a direction, I'd be happy to try making a PR or whatever else needs doing.

All the docs seem to live in here  :  https://github.com/jerryjliu/llama_index/tree/main/docs

@FFX01 Thanks for the feedback and suggestions. Happy to have contributions to the docs. We are trying to actively improve them as well.
Docs contribution guide is here:
https://gpt-index.readthedocs.io/en/latest/development/documentation.html


Add support for detekt_input argument

On a large repository, I have detekt hanging unless I explicity provide the input paths.
This adds support for detekt_input as an argument, which in turn transforms into a --input ... argument in the detekt-cli execution.

Hello! Thank you!


Broken links | reference content | hybridaks extension | showing in azure-cli-extensions-list.md

Describe the bug
Bug category:
Broken links
Document URL:
https://learn.microsoft.com/en-us/cli/azure/azure-cli-extensions-list
Broken links
https://dev.azure.com/msazure/msk8s/_git/hybridaks-utils
Reference commands
https://learn.microsoft.com/en-us/cli/azure/hybridaks
Similar GitHub issue

akshybrid - https://github.com/Azure/azure-cli/issues/29498

Related command
az hybridaks
Errors
404 for customers without permissions to https://dev.azure.com/msazure/
Issue script & Debug output
n/a
Expected behavior
n/a
Environment Summary
GitHub issue created during Azure CLI 2.62.0
Additional context
No response

Thank you for opening this issue, we will look into it.


fluffychat failed to build

seems related to #186839
Build log
error: hash mismatch in fixed-output derivation '/nix/store/ckplimhxc0wji2xly4b9wdinvgfj1cid-fluffychat-1.2.0-deps-flutter-v2.10.5-x86_64-linux.tar.gz.drv':
         specified: sha256-1PDX023WXRmRe/b1L+6Du91BvGwYNp3YATqYSQdPrRY=
            got:    sha256-xpc4NkK8W1Xojtdv81kqr8MJFXRNj8N1w+PU2ReZYhk=

Notify maintainers
@mkg20001
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 6.0.0, NixOS, 22.11 (Raccoon), 22.11.20221012.f634d42`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.0`
 - nixpkgs: `/nix/store/4lbmf3pbrsb0a5l4713mal64w8hp6na9-source`

Same problem over here

Seems to me like some input is not properly pinned, because I am getting a different hash:
error: hash mismatch in fixed-output derivation '/nix/store/8vv7y4zw0ipb4jczzbfyv0r1bfbcj9mg-fluffychat-1.2.0-deps-flutter-v2.10.5-x86_64-linux.tar.gz.drv':
         specified: sha256-1PDX023WXRmRe/b1L+6Du91BvGwYNp3YATqYSQdPrRY=
            got:    sha256-b4BSOTnA3118HnzG8knLxFBu9NVn5puG/XesacySo10=
error: 1 dependencies of derivation '/nix/store/jnrpaiamx5fx7psq6v1f8fvza30m92ic-fluffychat-1.2.0.drv' failed to build

shell -p nix-info --run "nix-info -m":
 - system: `"x86_64-linux"`
 - host os: `Linux 6.0.7-xanmod1, NixOS, 23.05 (Stoat), 23.05.20221206.1c9ffcf`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.1`
 - channels(user): `""`
 - channels(root): `""`
 - nixpkgs: `/etc/channels/nixpkgs`

@mkg20001

I'm getting the same error as @baduhai , looks like Flutter is not pinned as one of the inputs.
At least the error is deterministic!
 - system: `"x86_64-linux"`
 - host os: `Linux 6.0.12, NixOS, 23.05 (Stoat), 23.05pre435044.0f5996b524c`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.12.0`
 - channels(pmarreck): `""`
 - channels(root): `"nixos, nixos-hardware, nixos-master, nixos-stable-22.05, nixos-unstable"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

also seeing this

@pmarreck looks like you're not fully up to date. Your error indicates Fluffychat 1.2.0, whereas the version available in unstable is 1.10.0.

That's odd. Maybe something is ill-defined with my master overlay. I'll try the unstable overlay.

Yup, works now after forcing my channels to update manually (which I thought sudo nixos-rebuild switch --upgrade included as part of its process, but was I mistaken there? Perhaps it only updates the main channel?)
Sorry about the confusion

bash> sudo nix-channel --list
nixos https://nixos.org/channels/nixos-unstable
nixos-hardware https://github.com/NixOS/nixos-hardware/archive/master.tar.gz
nixos-master https://github.com/NixOS/nixpkgs/archive/master.tar.gz
nixos-stable https://nixos.org/channels/nixos-22.11
nixos-unstable https://nixos.org/channels/nixos-unstable

(yeah, I haven't flake'd it out yet)


[Workshop Proposal] Introduction to Crypto Wallet (Beginners) Workshop by @LesHackeuses

About your workshop
Title
Introduction to Crypto Wallet (Beginners) Workshop by @LesHackeuses
Workshop type

[ ] Debate
[x] Hands-on
[ ] Poster creation
[ ] Course

Languages

[x] 🇫🇷
[ ] 🇬🇧

Required knowledge level

Network
Cryptography
Blockchain
General Tech

[x] None
[x] None
[x] None
[ ] None

[ ] Beginner
[ ] Beginner
[ ] Beginner
[x] Beginner

[ ] Advanced
[ ] Advanced
[ ] Advanced
[ ] Advanced

[ ] Expert
[ ] Expert
[ ] Expert
[ ] Expert

Prerequisites for participants

bring your laptop or phone

Description of your workshop
The workshop will take place during the "FFA" part of the Paris P2P (after the traditional "person-to-person" of P2P meetings) and is open to all. Intended for beginners wishing to learn how to use a cryptocurrency, it does not require any special skills.
Usually reserved for women, this workshop will teach you how to install and create a wallet on your device, basic security principles, and perform your first transactions on a testnet network (OSM).

intro: <5 min

Quick introduction by Mamie Crypto to the approach of the association @LesHackeuses, defending the place of women in the world of technology, blockchain and crypto-currencies
Invitation to participate in a workshop to  familiarize yourself with a crypto wallet.

workshop: no time-limit

Free workshop during the FFA session

About you

Name: Mamie Crypto
Matrix handle: N/A
Discord handle: Mamie Crypto #8721
Other contact info: www.leshackeuses.fr
Other (your projects, etc...): https://leshackeuses.fr/decouvrir/presse-on-parle-de-nous
Availability (monthly number, date): 2/10/2019 @ Paris P2P ~3

Announced in #37 and here: https://p2p.paris/en/event/monthly-2/


Poor error reporting for resource deployment failure in Bicep recipe

Bug information
Steps to reproduce (required)
I've written a function test for this issue. Search for the issue number in our codebase to find it.
Observed behavior (required)
Error is reported like with JSON-encoding text inside a string, inside a JSON response. This can't be easily parsed or understood by a user.
The output is similar to #6045
Desired behavior (required)
Error is reported in a reasonable format.
Workaround (optional)
Not blocked, this is a bad error message.
AB#8939
AB#8940
AB#8941

Addressed by #6551


HaLVM GHC does not list TemplateHaskell in the supported extensions

Problem
GHC 8 added the new TemplateHaskellQuotes extension for the subset of TH that a stage 1 GHC supports: https://ghc.haskell.org/trac/ghc/ticket/11102. HaLVM uses a (modified) stage 1 GHC, except it hacks in TH support: https://github.com/GaloisInc/HaLVM/wiki/What-is-the-Difference-Between-GHC-and-the-HaLVM?#the-games-we-play-with-ghc.  Those hacks aren't aware of the new treatment of the TemplateHaskell extension in GHC 8, and so TemplateHaskell is not listed by halvm-ghc --supported-languages. Cabal uses <Haskell compiler> --supported-languages to determine which extensions the Haskell compiler supports, so halvm-ghc can no longer be used to build Cabal packages that list TemplateHaskell in the extensions in the .cabal file.
Easy workaround
Patch halvm-ghc to treat --supported-languages specially:
--- /usr/bin/halvm-ghc.orig     2017-03-22 15:07:42.945173502 -0700
+++ /usr/bin/halvm-ghc  2017-03-22 16:06:35.588340911 -0700
@@ -16,6 +16,18 @@
   then echo "2.4.0"; exit;
 fi

+# In GHC 8, for stage 1 compilers, the TemplateHaskellQuote extension
+# was added and the TemplateHaskell extension was removed from the
+# list of supported extensions. Cabal uses the list of supported
+# extensions returned by '--supported-extensions' to check that the
+# extensions listed in the .cabal file are supported.
+for arg in "$@"; do
+  if [[ "$arg" == "--supported-extensions" ||
+       "$arg" == "--supported-languages" ]]; then
+    echo TemplateHaskell
+  fi
+done
+
 GHCBIN="${bindir}/x86_64-unknown-HaLVM-ghc"
 LINKSCRIPTOPT="-pgml ${libdir}/ldkernel -optl -static -rtsopts"
 LIBDIROPT="-L${libdir}"

I've tested this hacky fix.
Proper (?) fix
Reverse the logic added to GHC 8 to not list TemplateHaskell as supported for stage 1 GHCs: https://git.haskell.org/ghc.git/commitdiff/98a4fa5fb740ce43a1787eb5730e35b463a2de79.

Turns out the above workaround is not sufficient to build projects using Template Haskell, because altho it's enough to get cabal-install to attempt to build the project, halvm-ghc then rejects any files mentioning TemplateHaskell in a LANGUAGE pragma.


Details for real estate use case

Here are the details we'll want to represent for the RE use case: https://github.com/LinkedDwellings/linkedDwellings-misc/blob/master/ontology-development/competency-questions-sat.md
These are ordered by priority.

@#discuss: what's the question to be discussed here? :)

@#discuss: In my eyese we should discuss how much details we want to implement. So far we discussed, that we add only a few to test the usecase and keep the demonstrator simple?

Mhm, I agree. The lean approach would be to implement a very small number (or even none) and see how people use the system / if it works for them.

Ok, This issue is done as soon as we have the following:

Size of apartment in square meters
Number of rooms
Address of the apartment? (--> location picker)
Monthly rent (including taxes)

Possible RDF representation/pickers to use. This needs at least one new picker (for numbers), and something for entering rent details.
Title - (e.g. "2 room apartment for rent")
use title-picker, dc:title.
What's the address of the apartment?
use location-picker, won:hasLocation.
This covers house number, street name, post code, city, state/province, country, and geographic location (latitude and longitude).
To be considered:

How to enter stairwell number or floor?
How would someone searching for real estate enter multiple locations?

How big is the apartment, in square meters?
we could use s:floorSize here, which expects a s:QuantitativeValue.
This could be entered using existing detail pickers, e.g. description-picker or title-picker. If we want to ensure that only numbers are entered, we'd need a new number-picker.
Using an existing text-picker allows for values like "100 square meters" to be entered, while a pure number picker would need to add the unit with a label. Alternatively, we could create a new number-and-dropdown-picker, that allows entering a value and selecting the unit from a dropdown.
How many rooms does the apartment have?
we could use s:numberOfRooms here, which expects a s:QuantitativeValue.
If entered with an existing text picker, the result probably can't be matched well (e.g. "a living/sleeping room, a kitchen and a bathroom"). So we'd need a new number-picker.
Monthly Rent
s:PriceSpecification could be useful here.
Things to be considered:

Someone offering real estate for rent wants to enter a price per time unit
Someone searching real estate for rent wants to enter a minimum and maximum price per time unit
Someone offering real estate for sale wants to enter a fixed price, a minimum price or a base for negotiation
Someone searching real estate for sale wants to enter a maximum price
is s:valueAddedTaxIncluded suitable for representing rent with/without taxes?

For future reference: http://wiki.goodrelations-vocabulary.org/Cookbook/Real_estate


Movable - update callback is fired unnecessarily when has snap

Steps to reproduce:

got to: https://codesandbox.io/s/quizzical-greider-szyr3?file=/Example.jsx
grab (with the mouse) the movable element and move the mouse just a little bit so the element doesn't move
see the update callback is fired many times, even through the component hasn't moved.

https://user-images.githubusercontent.com/845031/117292532-fedae900-ae78-11eb-8cf1-c7e4e372706c.mp4
It's worth internally wrapping the callback with requestAnimationFrame if not already done

Thanks Yair, that's a good point. I think we can solve this by maintaining the previous coordinates through shared, and only calling update when the coordinates change.

:tada: This issue has been resolved in version 1.3.0-next.3 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Horizontal panel header colour conflicts with colour for indicating focus

We should change the colour of the header from blue to the same colour as the title bars inside each viewlet.
Opened while testing #3246

Setting to Feb for discussion

Actually dupe of #2300
I set that one to feb so we can discuss it in our bug triage


Help debug slow processing of gitlabform

Hello,
I'm still using gitlabform v1. One issue I have right now is that gitlabform is very slow applying some configs.
I have separated my configs into multiple files. The example config below shows configuring access to all projects under group1/. I execute the following config as gitlabform --config path/to/config/file.yml --skip-archived-projects group1.
My main issue is that the following config takes almost an hour to complete. The group1 has about 100 projects. What I can't figure out is why it takes so long. I have a separate config file that I use for managing other settings (i.e. merge request, pipeline, approval, branch protection, etc.) for each projects in the same group. For that config to be applied to all projects in that same group takes only a few minutes.
I'd appreciate if you can give some insight to this.
gitlab:
  api_version: 4

common_settings:
  # Common settings to set for all groups
  group_settings:
    project_creation_level: maintainer
    subgroup_creation_level: owner
    visibility: internal

  # Common settings to set for all projects
  members:
    groups:
      group-team1:
        group_access: 30  # Developer
      group-team2:
        group_access: 30  # Developer
      group-team3:
        group_access: 30  # Developer
      group-team4:
        group_access: 30  # Developer
      group-team5:
        group_access: 30  # Developer
      group-team6:
        group_access: 30  # Developer
      group-team7:
        group_access: 30  # Developer
      group-team8:
        group_access: 30  # Developer
      group-team9:
        group_access: 40  # Maintainer
      group-team10:
        group_access: 30  # Developer
      group-team11:
        group_access: 30  # Developer

  ## API: https://docs.gitlab.com/ee/api/projects.html#edit-project
  ### GitLab UI: Project -> Settings -> General -> Visibility, project features, permissions

  project_settings:
    visibility: internal
    issues_access_level: enabled
    request_access_enabled: false
    repository_access_level: enabled
    merge_requests_access_level: enabled
    forking_access_level: disabled
    builds_access_level: enabled
    public_builds: true
    lfs_enabled: true
    packages_enabled: false
    show_default_award_emojis: true
    wiki_access_level: disabled
    snippets_access_level: disabled
    analytics_access_level: enabled

# Manage projects with special access controls
project_settings:
  group1/project1:
    project_settings:
      visibility: private
    members:
      groups:
        group-team1:
          group_access: 30  # Developer
        group-team2:
          group_access: 30  # Developer

  group1/project2:
    members:
      groups:
        group-team3:
          group_access: 40  # Maintainer

    deploy_keys:
      deploy-key-name1:
        key: "ssh-ed25519 abcd1234wxyz key-comment"
        title: deploy-key-title
        can_push: true

  group1/project3:
    deploy_keys:
      deploy-key-name1:
        key: "ssh-ed25519 abcd1234wxyz key-comment"
        title: deploy-key-title
        can_push: false

  group1/project4:
    members:
      groups:
        group-team4:
          group_access: 40  # Maintainer

  group1/project5:
    project_settings:
      visibility: private
    members:
      groups:
        group-team5:
          group_access: 40  # Maintainer

  group1/project6:
    project_settings:
      visibility: private
    members:
      groups:
        group-team5:
          group_access: 30  # Developer
        group-team6:
          group_access: 30  # Developer
      users:
        user1:
          access_level: 40  # Maintainer
        user2:
          access_level: 30  # Developer
        user3:
          access_level: 30  # Developer
        user4:
          access_level: 30  # Developer
        user5:
          access_level: 30  # Developer
        user6:
          access_level: 30  # Developer

  group1/project7:
    members:
      groups:
        group-team10:
          group_access: 30  # Developer

group_settings:
  ## Settings of group ##
  commerce-cloud:
    group_settings:
      description: Group description.

skip_groups:
  # Skip processing the following group as it is managed using a separate configuration
  - group1/playground

Hi @amimas !
I would very much prefer to invest time fixing the problem that blocks you from upgrading to v2, rather than analyzing the unmaintained v1 code. Of course if you have the same issue in v2, then we will try to fix it.
So can you please  share what is stopping you from upgrading?

(Sorry for closing - mistap :P)

Thank you @gdubicki  for the suggestion. I've been wanting to upgrade to v2. I just haven't been able to make time for it among other work.
I agree that it's not worthwhile to fix this in V1. guess I'm just curious to find how long it takes for others (using either V1 or V2) assuming they're also using gitlabform to manage 100s of projects access related settings (i.e. add direct members, share projects with groups, etc.).

For us at Egnyte running v2.2.0 for 3 groups and 1036 projects takes ~30 minutes.
Maybe you are hit by #240 ?

Any progress on solving your issue, one way or another @amimas ? I would like to get this issue closed.

Thanks for following up @gdubicki .
I haven't had a chance to upgrade to V2 yet. Let's close it for now. I'll reach out for help if the issue still persists after upgrading.
Thanks again.

Thanks @amimas !
Please check out https://github.com/egnyte/gitlabform/blob/main/docs/UPGRADING.md , it should not be that hard to upgrade with this guide.

Yup. I'm using v2.10.0 for managing group and project permissions. Will be upgrading my process for managing project settings to v2 soon.
Thanks so much for all the work and improvements.


Screenshot in headless mode

Hello,
for a project in need to capture a screenshot in headless mode.
I try to do it with puppeteer-sharp but the task ScreenshotAsync never returns after called.
How can i take a screenshot in headless mode ?
Thanx in advance

I use this args in cmdline: --disable-features=MojoVideoCapture,SurfaceSynchronization
Maybe it s the problem

Could you share some code?

My issue in fact is screenshot take lot of time:
    Dim s As String = Await ChromiumPage.ScreenshotBase64Async()         await ChromiumPage.ScreenshotAsync("test_.png")         Dim s1 As New Stopwatch         s1.Start()         For i As Integer = 0 To 50             await ChromiumPage.ScreenshotDataAsync()         Next         s1.Stop
For 50 screenshot it tooks more than 20 seconds :-(
There is a better way to capture 30 screenshot in 1 second ? Maybe access directly to chromium buffer ?

We had some discussions about performance here https://github.com/kblok/puppeteer-sharp/issues/703
After that we implemented a Burst Mode which might help you to get some speed bump https://github.com/kblok/puppeteer-sharp/pull/705

Burst mode is better but still very slow :-(

No plans to improve this yet.


fix: DeepZoom resize fix

Codecov Report
Base: 89.24% // Head: 82.78% // Decreases project coverage by -6.46% :warning:

Coverage data is based on head (8419da3) compared to base (3c25235).
Patch coverage: 20.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #8      +/-   ##
==========================================
- Coverage   89.24%   82.78%   -6.47%
==========================================
  Files           9        9
  Lines         679      732      +53
==========================================
  Hits          606      606
- Misses         73      126      +53

Impacted Files
Coverage Δ

src/wrapper.rs
81.06% <8.82%> (-18.22%)
:arrow_down:

src/deepzoom.rs
76.49% <34.61%> (-7.94%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


LiveUpdate issue when using custom compiler define symbols

Live update works fine if DEBUG compiler define is used, but if a custom compiler define is used then live update fails.
A possible solution would be to make live update work with custom compiler define symbols or make it work with LIVE_UPDATE compiler define.

@sandeep-eroad I think you're hitting the same problem as I did.
The interpreter ignores custom compiler instructions.
https://github.com/fsprojects/FSharp.Compiler.PortaCode/issues/12

It is possible to define custom compiler symbols on the comand line when starting the live update tool --define:LIVE_UPDATE.
The full command is then fabulous --watch --send --define:LIVE_UPDATE
Note this does not work if you specify the fsproj file as well - https://github.com/fsprojects/FSharp.Compiler.PortaCode/blob/7bc5e17b32d848024e4635553eda3fc0afbb5156/src/ProcessCommandLine.fs#L118

Would be great to write documentation on that subject.
As well as see if a simple change to PortaCode would allow to support fsproj files

Right now in v2, we abandon LiveUpdate. Might come back later in the future.


class=("foo-bar", bool) tuple syntax doesn't work on components

Describe the bug
The usual class:foo-bar=bool syntax works on components in 0.7 beta, however the more advanced syntax for classes wrapped in quotes does not work. class=("foo-bar", bool)
Leptos Dependencies
Please copy and paste the Leptos dependencies and features from your Cargo.toml.
For example:
leptos = { version = "=0.7.0-rc1", features = ["csr"] }

To Reproduce
Use the class tuple syntax on a component and see an error due to the syntax not being supported.

If the component has no class prop, the error is:

191 | |                                     <NumberWithTrend class=("foo-bar", bool) ...
    | |                                                     -^^^^^ method cannot be called on `NumberWithTrendPropsBuilder` due to unsatisfied trait bounds
    | |_____________________________________________________|
    |
    |
   ::: src/components/number_with_trend.rs:19:1
    |
19  |   #[component]
    |   ------------ method `class` not found for this struct because it doesn't satisfy `_: AsRef<Element>` or `_: ElementExt`

If the component has a class prop, the error is:

error[E0308]: mismatched types
  --> src/components/number_with_trend.rs:44:27
   |
44 |                     class=("foo-bar", bool)
   |                           ^^^^^^^^^^^^^ expected `IconPropsBuilder_Error_Repeated_field_class`, found `(&str, Signal<bool>)`
   |
   = note: expected enum `IconPropsBuilder_Error_Repeated_field_class`
             found tuple `(&'static str, Signal<bool>)`

Expected behavior
As with the class:foo=bool syntax being supported on components, class=("foo", bool) should also be valid.
I'm not entirely sure how to handle situations where the component itself has a class prop, since that will conflict. Possible breaking change solution is to move the syntax to be class:"foo"=bool. Or if its even possible, it would be cool if class:foo-bar=bool just worked with no problems.

There was a PR to fix this, and we're currently on rc1, beta is a few versions old. Can you update and retry?

Sorry when I said beta I meant rc1. As shown in the leptos version I'm using, its set to rc1 which this issue was still occuring on. Is there a link to the PR for me to check it out?

Interesting, I found the PR I was referring to, which is for a slightly different syntax: https://github.com/leptos-rs/leptos/pull/3152

So, the one commit in this PR so far should support class:foo-bar=true on components.
In fact, that sort of name is valid anywhere in the view macro now. That was the originally use case for the tuple syntax, but changes to rstml enabled it, I think. Still, people will always come up with crazier and crazier Tailwind class names, so there's always a place for the string literal syntax.
The tuple syntax can be supported by using a spread instead:
#[component]
pub fn App() -> impl IntoView {
    let attrs = view! { <{..} class=("foo-bar", true)/> };

    view! {
        <SomeDiv {..attrs}/>
    }
}

#[component]
pub fn SomeDiv() -> impl IntoView {
    view! { <div/> }
}

I do not think there is a good way to support the tuple syntax for classes being added directly to components, but the spread above works fine.

Interesting, I guess thats a workaround for now. Thankfully it seems like <SomeDiv {..} class=("foo-bar", true)/> directly also works. Happy to close this issue given there's a workaround.
This has probably been asked before, but is class:"w-[10px]"=|| true syntax not possible with proc macros? I would imagine it could be done, but maybe there's something I'm missing which made leptos have to use the tuple class=(..., ...) syntax? As a user who hasn't read the book, but knows of class:w=[10px]=..., the first thing I'd try would be wrapping "w-[10px]" in quotes there

Is there anything wrong with this snippet?
view! {
    <Icon
        attr:class=class
        icon=icon
        {..}
        class=("opacity-0", move || !trend_visible.get())
        class=("opacity-100", move || trend_visible.get())
        class=("transition-opacity", move || !trend_visible.get())
    />
}

error[E0797]: base expression required after `..`
  --> src/components/number_with_trend.rs:94:20
   |
94 |                 {..}
   |                    ^

error[E0308]: mismatched types
  --> src/components/number_with_trend.rs:96:23
   |
96 |                 class=("opacity-100", move || trend_visible.get())
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `IconPropsBuilder_Error_Repeated_field_class`, found `(&str, {closure@number_with_trend.rs:96:39})`
   |
   = note: expected enum `IconPropsBuilder_Error_Repeated_field_class`
             found tuple `(&'static str, {closure@src/components/number_with_trend.rs:96:39: 96:46})`

Besides the {..} syntax having issues, it also is interpreting class as a prop

Interesting, I guess thats a workaround for now. Thankfully it seems like <SomeDiv {..} class=("foo-bar", true)/> directly also works. Happy to close this issue given there's a workaround.

Good point. I can confirm that this also works.

This has probably been asked before, but is class:"w-[10px]"=|| true syntax not possible with proc macros? I would imagine it could be done, but maybe there's something I'm missing which made leptos have to use the tuple class=(..., ...) syntax?

As a matter of fact, this has never been asked before!
I am sure that it is possible with proc macros. However, whether it's possible with the particular library we use for parsing the view macro (which is called rstml) is another question. I don't think it would be possible as currently implemented: attribute names are defined as something like a syn::Punctuated<syn::Ident, P> (this is probably not the exact type, but you get the idea I hope), i.e., a list of Rust idents punctuated by something else (say, a : or -, or mixture of both) Adding in primitives (like "w-[10px]") makes that parsing API more complicated.
Historical syn-rsx (the original parsing crate, whose maintainer unfortunately died) tried to preserve as close to a valid XML syntax as possible, so wasn't open to things like class:"w-[10px]" as attribute names. I'm not sure about the position of rstml on this topic. But that's the origin of the tuple syntax.
Today, the tuple syntax is also convenient because we actually do implement IntoClass or whatever for (&'static str, C)... So the class=("foo-bar", baz) syntax actually expands to .class(("foo-bar", baz)) which is nice for several reasons (discoverability, docs, feels good to my brain, etc.)

As a user who hasn't read the book, but knows of class:w=[10px]=..., the first thing I'd try would be wrapping "w-[10px]" in quotes there

I'm sympathetic to the argument "I think X is more intuitive than Y," but the tuple syntax is described both in the book and also in the docs for the view macro. "I haven't read the docs or the book but this would be my guess" is reasonable, but there's only so much we can do with API design IMO, sometimes reading docs is helpful.

(Oh, and I don't see anything wrong with the second <Icon/> snippet, and wasn't able to reproduce an issue with it -- Could you share a more complete repro if it's still causing an error? Otherwise I think we can close this.)

Thanks for the detailed response! I wasn't aware of rstml, and it being used for leptos.
I understand the reasoning behind the tuple syntax, and it definitely makes sense as you described it. I guess the only two arguments for class:"..."` syntax support are:

Might be a guessable syntax by new leptos users who know about class:foo
Would probably solve the workaround mentioned earlier with <MyComponent {..} class=("foo-bar", bool) />, since it would disambiguate from class prop letting it be <MyComponent class:"foo-bar"=bool />

Perhaps its something that can be looked into in the future if others might come across this issue.
I'll try and share a repro repo with the issue and reply back with a link 👍🏿

Ahh so I opened your repro up after a couple week's delay.
This one is an unfortunate result of the fact that we don't require curly braces around attribute values.
This compiles:
    view! {
        <Icon
            // Only errors if we use the `icon` variable/ident. If we put the string directly here, it works
            icon={icon}
            {..}
            draggable="true" // This isn't needed, it still errors with no attributes after `{..}`
        />
    }

but this doesn't
    view! {
        <Icon
            // Only errors if we use the `icon` variable/ident. If we put the string directly here, it works
            icon={icon}
            {..}
            draggable="true" // This isn't needed, it still errors with no attributes after `{..}`
        />
    }

This is because the macro is parsing this as icon=icon { .. }, i.e., as if icon were a struct.
That's not even universally a bad assumption: something like this is perfectly valid:
    struct Foo {
        bar: String,
    }

    view! {
        <Icon
            // Only errors if we use the `icon` variable/ident. If we put the string directly here, it works
            icon=Foo { bar: "foo".to_string() }
            {..}
            draggable="true" // This isn't needed, it still errors with no attributes after `{..}`
        />
    }

That's also why the icon="..." {..} (i.e., where you include the literal string) is fine—".." { } is not a struct syntax, because the string literal isn't an identifier, so there's no parsing ambiguity here.
The problem is that it's more or less impossible to make this parsing case unambiguous without requiring all values to have curly braces. Whereas, this particular issue just requires that you opt in to curly braces for that one case. But it's a rather nasty one, I admit.

(I'm closing this just so it doesn't stay on my todo list, but I do get notifications on closed issues so feel free to comment and I'll see it if there's anything additional to be said.)


chore(object_merger): rework parameters

Description
Rework parameters

Tests performed

Launch logging simulator and confirmed that the parameters can be changed as intended
Effects on system behavior

Not applicable
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

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

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

[ ] The PR follows the pull request guidelines.

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

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

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

@YoshiRi @yukkysaito Hi, would you approve this PR?


Change oauth token path to match hydra

Change-type: minor

Related to: https://github.com/product-os/jellyfish/pull/8244


Add Dutch internationalization

Even though the name doesn't change I added a translation for verbosity sake

Even tho adding this i18n description seems like a no brainer, isn't this misleading? Since the application itself is english only?
I don't have any plans adding internationalization, because it would complicate things.
I want to keep the code as simple as possible for other people.
If you still think it would be valuable to have just the description internationalized, let me know your thoughts.

Even tho adding this i18n description seems like a no brainer, isn't this misleading? Since the application itself is english only?
I don't have any plans adding internationalization, because it would complicate things. I want to keep the code as simple as possible for other people.
If you still think it would be valuable to have just the description internationalized, let me know your thoughts.

That definitely makes sense. It's been a while, but if I recall correctly I made this PR in response to a PR that contributed German internationalization. I'd gladly help with translating the rest of the application as well if it is ever implemented.


Add OpenID/OAuth2 Role Mappings

Description
I have my Gitea instance setup with OIDC and it works well. However at the moment anyone with an account in the realm Gitea accesses also has access to Gitea, regardless of their groups/roles/permissions. It's not a "break" for me as I don't mind providing Gitea access to all users, however I would like to be able to control it and especially control admin access or even organizational access from within my OIDC provider (keycloak in this case).
A lot of clients that use OpenID/Oauth2 allow to create roles and role mappings so you can assign a user a role in the identity manager and they automatically receive that role in the client application.
I am assuming that this would be a new feature request, as I haven't found this feature in Gitea, the docs, my web searching, or the code I've looked through thus far.

I believe this is a dupe of https://github.com/go-gitea/gitea/issues/10016

Closed as duplicated.