mixed setter 临时存放参数

mixed setter 切换 setter 时临时存放切换前的参数

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Zhizhi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

CLA需要签一下


[Bug]: Auto left-tab when typing "end"

Current Behavior
Auto-indent triggers left-tab when typing end, even for a variable name (e.g. endmember or endian) or typing in a comment.  This occurs both in the editor and notebooks.
Expected Behavior
Possibly stricter left-tab rule when typing:

ignore comments
require a space after end, endfor, endif, etc.
alternatively, new feature to auto-complete logic blocks similar to the Eclipse IDLDE

GitHub Repo
No response
Steps to Reproduce

Indent one tab
Type end

Failure Logs
No response
Operating System

[ ] macOS (Intel x86_64)
[ ] macOS (ARM64)
[ ] Linux
[X] Windows

IDL Version
IDL 9.0 (test)
Additional Information
No response

Hmm, this is a tricky one. Doing some testing, it's pretty easy to reproduce this issue within VSCode. Unfortunately, I don't think there's anything we can do to fix this one.
The regular expressions for reducing indentations are very specific already (you can find them here). There are two reasons that a reduction in indentation seems to happen:

The rule specified in the link above triggers "end" as you are typing your variable name "endsomethingelse".
We also have bracket pairs and, typing the closing of the bracket pair, seems to reduce indentation.

Because of the second one, I'm not sure there's a great path forward here. I think it's nice to see the outlines around terms like "pro", "begin", and "end" like other languages have so I don't want to take that out completely.
About the only thing I can think of is to use auto-complete after you type "en" which should show the variables you can use. I guess if you are using the formatter it will take care of it for you, but that's not everyone's cup of tea.
I did remove the "end" from the reduce indentation rules, but the issue will still persist because of the bracket pairs.

After giving this a few weeks, marking as "wontfix" because we have to disable useful functionality to fix the auto-indent logic at this point in time.
If anyone else is annoyed by this, feel free to re-open and add a comment!


Missing the icon from the original design.

Missing the icon from the original design.

@clesaege @pliniobraga Don't you think it feels redundant so close to the logo on the top left?

Done


Release

Merge this to make "next" be the new "latest".

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

GitHub release
npm package (@latest dist-tag)
v1.5.0

Your semantic-release bot :package::rocket:


Assertion error on deletion of negative map-cache entry

Setup:

OOR latest master (ee707f1)
OOR in xTR mode on Ubiquiti EdgeRouter Lite on beta network - I appreciate this is not a "supported" platform, but I thought to document this in case there's anything to be learned from this anyway (other than this bug OOR does seem to work).
1 laptop with IP address from EID prefix for testing, sitting mostly idle

It looks like OOR sends a Map-Request for a DNS packet (must be the first excluding initial SMRs), gets back a negative map-reply, and then 6mins later when it expires asserts because the map-cache entry doesn't exist.
[2017/7/16 19:46:36] INFO:

 Open Overlay Router (v1.1.1): started...

...
[2017/7/16 19:46:38] DEBUG: Map-Request-> flags:a=0,m=0,p=0,s=0,P=0,S=0, irc: 0 (+1), record-count: 1, nonce: <nonce>, itr-rlocs: <my RLOC>, src-eid: <my EID>, req-eid: <IP_ADDRESS>/32
[2017/7/16 19:46:38] DEBUG: ECM -> flags:s, inner IP: <my EID> -> <IP_ADDRESS>/32, inner UDP: 4342 -> 4342
[2017/7/16 19:46:38] DEBUG: Sent control message IP: <my RLOC>-> <IP_ADDRESS> UDP: 4342 -> 4342
[2017/7/16 19:46:38] DEBUG: Received Map-Reply-> flags:P=0,E=0,S=0, record-count: 1, nonce: <nonce>, IP: <IP_ADDRESS> -> <my RLOC>, UDP: 4342 -> 4342
[2017/7/16 19:46:38] DEBUG:   Mapping-record -> ttl: 6 loc-count: 0 action: native-forward auth: 1 map-version: 0 eid: <IP_ADDRESS>/3
[2017/7/16 19:46:38] DEBUG: Balancing locator vector for <IP_ADDRESS>/3:
[2017/7/16 19:46:38] DEBUG:   IPv4 locators vector (0 locators):
[2017/7/16 19:46:38] DEBUG:   IPv6 locators vector (0 locators):
[2017/7/16 19:46:38] DEBUG:   IPv4 & IPv6 locators vector (0 locators):
[2017/7/16 19:46:38] DEBUG: The map cache entry of EID <IP_ADDRESS>/3 will expire in 6 minutes.
...
[2017/7/16 19:52:36] DEBUG:  Successfully probed RLOC <IP_ADDRESS> of cache entry with EID ::/0
[2017/7/16 19:52:37] DEBUG: Got expiration for EID <IP_ADDRESS>/3
[2017/7/16 19:52:37] DEBUG: Got expiration for EID <IP_ADDRESS>/3
oor: lib/map_cache_entry.c:64: mcache_entry_del: Assertion `entry' failed.
Aborted

I did see the following two ERRors, but not sure if they are related, they look like transient failures?
[2017/7/16 19:47:37] DEBUG: Sending Map-Reply-> flags:P=1,E=0,S=0, record-count: 1, nonce: NNNN
[2017/7/16 19:47:37] DEBUG: Sent control message IP: <my RLOC> -> <IP_ADDRESS> UDP: 4342 -> 4342
[2017/7/16 19:47:45] ERR: LMAPI: Error while ZMQ receiving: Resource temporarily unavailable

[2017/7/16 19:47:45] ERR: oor_api_loop: Error while trying to retrieve API packet

[2017/7/16 19:47:47] DEBUG: Got expiration for EID <IP_ADDRESS>/6
[2017/7/16 19:47:51] DEBUG: No map cache for EID <some IP>. Sending Map-Request!

I had a look with gdb to see if I can find any more useful info.
Stack trace:
(gdb) bt
#0  0x77ba5b48 in raise () from /lib/mips-linux-gnu/libc.so.6
#1  0x77baab14 in abort () from /lib/mips-linux-gnu/libc.so.6
#2  0x77b9d6c0 in __assert_fail () from /lib/mips-linux-gnu/libc.so.6
#3  0x0044bc18 in mcache_entry_del (entry=0x0) at lib/map_cache_entry.c:64
#4  0x00416ad4 in tr_mcache_remove_entry (xtr=0x4931e8, mce=0x4918e8)
    at control/lisp_xtr.c:1862
#5  0x00410404 in mc_entry_expiration_timer_cb (timer=0x491988)
    at control/lisp_xtr.c:126
#6  0x00458738 in handle_timers () at lib/timers.c:362
#7  0x00458808 in process_timer_signal (sl=0x487c20) at lib/timers.c:384
#8  0x00454854 in sock_process_fd (lst=0x487c68, fdset=0x487c78)
    at lib/sockets.c:245
#9  0x00454978 in sockmstr_process_all (m=0x487c68) at lib/sockets.c:271
#10 0x0045fc84 in main (argc=3, argv=0x7fdffc84) at oor.c:500

The EID being deleted in tr_mcache_remove_entry @ lisp_xtr:1862:
(gdb) p eid
$1 = (struct _lisp_addr_t *) 0x491890
(gdb) p *eid
$2 = {{{ip = {afi = 2, addr = {v4 = {s_addr = 0}, v6 = {__in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0,
                0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}}}, ippref = {
        prefix = {afi = 2, addr = {v4 = {s_addr = 0}, v6 = {__in6_u = {
                __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0,
                  0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}}},
        plen = 3 '\003'}, lcaf = {type = LCAF_IID, addr = 0x0}},
    lafi = LM_AFI_IPPREF}}
(gdb) p data
$3 = (void *) 0x0

Thank you Michiel for your fantastic guide in how to compile OOR into Ubiquiti EdgeRouter. When we have a moment we will put a link in the wiki.
Have you tried if this error is still appearing with the new release of last week? I tried to reproduce it an I was not able to do it.

Hi Albert,
Thank you, I'll try the latest version and let you know.


Allow name edit in zip import

Should at least remove the resolution from the name

That would be great!

@MaciejCzekanski will close this for now since the resolution will be now removed automatically. If you have any requirements on how to change the regex, let me know.

Looks good, thanks!


Update Composer dependencies (2020-05-08-00-10)

Visual regression test passed!
View the visual regression test report


chore(release): v0.11.3 🎉

:robot: I have created a release beep boop
0.11.3 (2024-05-26)
Bug Fixes

tests: add test to verify that .npmrc files are covered (05a9f52)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ehmpathy/declapract/releases/tag/v0.11.3 :sunflower:


refine issue template

Signed-off-by: Aylei<EMAIL_ADDRESS>What type of PR is this?

[ ] API-change
[ ] BUG
[x] Improvement
[ ] Documentation
[ ] Feature
[ ] Test and CI
[ ] Code Refactoring

Which issue(s) this PR fixes:
Refine the issue template.
What this PR does / why we need it:
Github will automatically render the content of issue in markdown, add an markdown code block only makes the experience worse (e.g. issue and PR cannot be referenced via #NUMBER in the markdown code block)
Not Available
Special notes for your reviewer:
Not Available
Additional documentation (e.g. design docs, usage docs, etc.):
Not Available

@wanglei4687 PTAL


Android version

There's no a good Lynx emulator for Android
Ten years ago
aLynx Handy Android port Google Play
but now it's not the best choice
it's made for Android 2.3, for my modern Android 13, 14 phones its virtual button is hard to touch and edit
as far as i know, Felix is the only one active Atari Lynx emulator
I requested BigPEmu (closed source Jaguar emulator)'s developer for Android version, but he didn't reply to me
People are welcome to play Handheld console games with more popular handheld platforms (systems)

Now Felix is not mature enough, but potentially in the near future it's core could be used to drive some emulator on Android. I'm just not an Android programmer, but everyone is welcome to participate in the project.

Making Android version isn't in scope of this project. But i'll try to make Felix portable enough to be possible in the future.


An integrated SELECT FOR UPDATE solution

Problem
To avoid mid-air-collisions in REST there are two primary techniques: Last-Modified / If-Unmodified-Since, and ETags.
Prisma makes it extremely difficult to support these techniques.
There is no concept of SELECT FOR UPDATE, which is required to ensure that nothing issues an update underneath me while I am verifying the @updatedAt value for If-Unmodified-Since,  or the hash of the select results if I am using ETags.
Suggested solution
I would recommend a solution that uses a callback.
This is just one idea.  It would create a transaction and use a FOR UPDATE on the SELECT if it detects an 'update' or 'delete' property.
My callback is placed in 'update.before', as to not pollute the root property list.
If my callback throws, the transaction is broken and we are done.
If it goes through, we issue the update... or delete.
It could look like this:
// My own custom 'middleware' allowing me to do what ever I'd like before the update.
const myCallback = result => {

    if (!result) {
        throw new HTTPException(204, 'No Content');
    }

    if (result.updatedAt > myLastModifiedDate) {
        throw new HTTPException(412, 'Record has been modified');
    }
};

prisma.user.findUnique({
    where: {
        id: id
    },
    select: {
        updatedAt: true
    },
    update: {
        before: myCallback,
        data: myUpdatedData
    }
});

Alternatives
There may be a number of ways one could accomplish this.
Additional context

I would suggest to allow findUnique().forUpdate() and pass around a transaction object in "interactive transactions" like here: https://vincit.github.io/objection.js/guide/transactions.html#using-a-transaction

FOR UPDATE is a core tool for achieving atomic guarantees for distributed applications.
Here are some issues that have been closed but aren't totally resolved without better FOR UPDATE settings:
https://github.com/prisma/prisma/issues/1918
https://github.com/prisma/prisma/issues/1986
And this issue would also be avoidable with FOR UPDATE by enabling developers to manually serialize operations
https://github.com/prisma/prisma/issues/8668

Hey, I will respectfully +1 since it's not been udpated in a long time.
Transactions and Nested Write are great and solve many issues, but locking for update (and all the others keywords https://www.postgresql.org/docs/current/explicit-locking.html) have very specific meaning that are not solved by the proposed solutions right now.
It would be great to have more updates on this since it's a core feature in many databases and makes the switch to Prisma quite harder.

I'm having bad time trying to work around this mess with .executeRaw and that not working very well because of how Prisma does things.
Transactionality is the prime reason to use RDBMS in the first place, and Prisma gets in the way of that...
Related to #1918

Potential duplicate: https://github.com/prisma/prisma/issues/17136

I really hope this can be done with Prisma instead of using weird workarounds or executing a bunch of raw SQL queries, so here is my +1 for this feature 🙏

Lobbing another +1, this is potentially a deal breaker for us

+1

Hello, maintainers!
It is basic functionality.
Why you not implement it?
3 years awaiting is so bad.
Add fast some flag to "select" queries (it may be platform depend flag as temporary solution).
Or give us ETA at least

I was able to implement SELECT FOR UPDATE in Prisma following the info in this comment: https://github.com/prisma/prisma/issues/17136#issuecomment-2272195564
It was pretty straightforward

Would love to not have to write workarounds for this so here's another +1

it is a shame that Prisma has no support for this core feature +1

If we take an example of a transaction from the Prisma documentation - example, where Alice and Bob have $ 100 each and quickly trigger a transaction twice, for example by simultaneously clicking on a button from two browser tabs, this will lead to Alice having -100$ and Bob having 300$
+1

If we take an example of a transaction from the Prisma documentation - example, where Alice and Bob have $ 100 each and quickly trigger a transaction twice, for example by simultaneously clicking on a button from two browser tabs, this will lead to Alice having -100$ and Bob having 300$
+1

SELECT FOR UPDATE is crucial for atomic operations. It's a shame that a tool as mature as Prisma still hasn't implemented it. I'm certain it blocks many enterprise clients from using the library.
But the example from the docs should work because it uses an update query.

@romanticsoul being person 1 and @rivatove being person 2; this is what chatgpt has to say:
The situation described in the Prisma documentation example has potential for race conditions, and person 1 is correct. Here's why:
Analysis of the Example
Transaction Logic Recap:

Step 1: Decrement the sender's balance.
Step 2: Check if the sender's balance went below zero. If yes, throw an error and roll back.
Step 3: Increment the recipient's balance.

Potential Issue:

Two transactions triggered in parallel (e.g., two clicks on the "Transfer" button from different browser tabs) can execute concurrently.
If these transactions overlap, they may both decrement the sender's balance without seeing the updated balance from the other transaction. This can result in incorrect balances (e.g., Alice ends up with a negative balance).

Why does this happen?

PostgreSQL's READ COMMITTED isolation level (the default) allows each query within a transaction to see the latest committed state. This means:

When Transaction A and Transaction B read Alice's balance simultaneously, they might both see the same starting balance of $100.
Each transaction then decrements the balance independently and checks if it's valid, leading to inconsistent results.

Why SELECT ... FOR UPDATE Would Help
Using SELECT ... FOR UPDATE ensures that:

The row being updated (Alice's account) is locked by the first transaction.
The second transaction is forced to wait until the first transaction completes before it can proceed.

This guarantees that only one transaction can decrement Alice's balance at a time, avoiding the race condition.
Person 2's Argument
Person 2 claims that "the example should work because it uses an update query." However:

Incorrect Assumption: An UPDATE query in itself does not prevent race conditions unless combined with locking.

In the example, tx.account.update() is simply modifying the balance but does not ensure that the check (if sender.balance < 0) is performed atomically with the update.
Without row-level locks, two transactions can decrement the same balance simultaneously, leading to inconsistent states.

Correct Point: Prisma does use a single SQL UPDATE statement for decrement operations. However, the atomicity of that statement does not extend to the subsequent logic in the transaction (e.g., checking the balance). This gap allows race conditions.

Solution: Adding SELECT ... FOR UPDATE
To make this example robust, you can:

Use SELECT ... FOR UPDATE to lock the row when reading the sender's balance.
Ensure that no other transaction can modify the row until the current transaction completes.

In Prisma, you would need to use a raw SQL query for this since Prisma currently does not natively support SELECT ... FOR UPDATE:

await prisma.$transaction(async (tx) => {
  // Lock the sender's row
  const sender = await tx.$queryRaw`SELECT id, balance FROM account WHERE email = ${from} FOR UPDATE`

  if (sender.balance < amount) {
    throw new Error(`${from} doesn't have enough to send ${amount}`)
  }

  // Decrement sender's balance
  await tx.account.update({
    data: {
      balance: {
        decrement: amount,
      },
    },
    where: {
      email: from,
    },
  })

  // Increment recipient's balance
  await tx.account.update({
    data: {
      balance: {
        increment: amount,
      },
    },
    where: {
      email: to,
    },
  })
})

Conclusion

Person 1 is correct: The example as written in the documentation is susceptible to race conditions without proper row-level locking.
Person 2 is incorrect: The fact that update queries are used does not inherently solve the race condition without additional safeguards like FOR UPDATE.

Prisma's lack of built-in support for SELECT ... FOR UPDATE is indeed a limitation, but workarounds using raw SQL can mitigate this issue.

counter to chatGPT:
while this is true for read queries; prisma's example uses update query. if two transaction simultaneously try to update the same row; wouldn't second transaction wait for the first one to finish or rallback even if isolation level is read commited?
response:
You're absolutely correct that UPDATE operations in PostgreSQL inherently acquire row-level locks, even under the READ COMMITTED isolation level. This means the second transaction will wait for the first transaction to complete (commit or rollback) before proceeding. Let’s revisit the Prisma example in light of this.
How UPDATE Queries Handle Concurrent Transactions
In PostgreSQL:

When a row is updated, a row-level exclusive lock (RowExclusiveLock) is acquired.
This lock prevents other transactions from modifying the same row until the current transaction finishes.
Concurrent UPDATE queries on the same row will result in the second transaction waiting for the first to complete.

In the Prisma Example
Here’s what happens when two transactions simultaneously execute the transfer function:

First Transaction:

Executes the UPDATE query to decrement Alice's balance.
Acquires an exclusive lock on Alice's row.
Continues to step 2 to check Alice's balance.

Second Transaction:

Attempts to execute the UPDATE query to decrement Alice's balance.
Encounters the exclusive lock held by the first transaction and is forced to wait.

Resolution:

If the first transaction commits successfully, the second transaction will see the updated balance after acquiring the lock and proceed accordingly.
If the first transaction rolls back, the second transaction will proceed as if the first transaction never happened.

Why This Example Works
Because both transactions use UPDATE, PostgreSQL's locking mechanism prevents a race condition. The second transaction cannot modify the row until the first transaction releases its lock, ensuring consistency even at the READ COMMITTED isolation level.
Person 1's Concern
Person 1 argues that this example could allow Alice to end up with a negative balance. However, this can only happen if the balance check (if sender.balance < 0) is not coupled with the UPDATE. In the Prisma example:

The UPDATE and subsequent balance check happen within the same transaction.
The row lock ensures that the second transaction sees a consistent state (post-commit of the first transaction).

Thus, the example is safe as written because:

The UPDATE query locks the row.
Other transactions are blocked until the lock is released.

Person 2's Argument
Person 2 is correct in stating that the use of an UPDATE query ensures row-level locking. This inherent behavior of PostgreSQL makes the example work even without SELECT ... FOR UPDATE.
Summary

Person 1 is incorrect: The example is not vulnerable to race conditions because the UPDATE query locks the row, ensuring serial execution of concurrent transfers.
Person 2 is correct: The row lock from the UPDATE query makes FOR UPDATE unnecessary in this scenario.

Additional Notes
If the example were using SELECT to check the balance before updating (instead of directly decrementing it in the UPDATE), then FOR UPDATE would be required to prevent race conditions. This is likely the confusion in person 1's argument.


ghetto pixart app

completion: 4.5
comfort: 5 for some parts, -5 for others.

I'm glad you got this to work, nice job! :+1:


No Indicator on Firefox

On Firefox no indicator/app icon is added to the toolbar. Also there isn't one added to the "customize" menu so you can't even add it later.
Not sure if this is directly an issue of the extension or firefox not completely copying chrome...

Same as https://github.com/google/service-worker-detector/issues/7?

@tomaya nope, the indicator is completely absent in firefox. I'm on the beta channel.

Thanks, need to investigate tomorrow, I’m away from my desk right now.

Duh, believe it or not, my Mac wouldn’t boot today and I am working on a Chromebook now where Firefox isn’t an option. I hope to look into this soon once IT re-images my machine. ¯\_(ツ)_/¯

I think this is working fine. See the screenshot for details. Did you soft-reload twice? I'm on Firefox 55.0.3 (64-bit). I am closing the Issue for now, please comment if you still hit this and I am happy to investigate further.


Disable lifetime service in TransformationContextProvider

Addresses #54

It turned out that, despite the fact that this solution is documented, it didn't completely resolve the problem. I would glad if someone with a better understanding in that remoting staff could suggest a working code snippet to avoid the disconnection.

@ItielBeeri  Thanks for the PR and my apologies for the delayed response.
If I understand correctly, by returning null from InitializeLifetimeService we are making the lifetime of the TransformationContextProvider service infinite. Does that mean that the service instances created for each transformation will not be released, creating a memory leak?
If so, can we avoid the memory leak by making the TransformationContextProvider.Register add service to the IServiceContainer as a single object instance instead of a ServiceCreatorCallback?
Alternatively, can we keep the lifetime as is and avoid the object disconnected error (#54) by making the TransformationContext get the ITransformationContextProvider service every time it's needed instead of getting it once at the start of the transformation?

@olegsych, thanks for your reply.
I thought VS anyway manages the provider lifetime to be a singleton through the VS instance lifetime, just returns different values on various transformations.
Apparently I wrong, and indeed, your both suggestions could prevent the memory leak. The later seems more robust, by avoiding retain a static instance, but it might fail if TransformationContextProvider will evolve in a way so it will depend on an internal state. What do you think?
Anyway, I'll try out both approaches and will come back soon with a better solution.


Research Spike: Twitter Scraping

keywords
geolocating
-user locations (home town)
-search in the content of the tweet


Storage SDK Blob service feature parity

until STG 74 (API version 2020-02-10)

[x] xml tag EnumerationResults.Where and EnumerationResults.Blobs.Blob.TagValue in the response of FindBlobsByTags
EnumerationResults.Where is the same as query statement in request, there's no need to give the same value provided by the customer back to them. This aligns with the prefix parameter in list-blobs operations.
EnumerationResults.Blobs.Blob.TagValue is going to be replaced with Tags.TagSet in STG75. We skipped this tag to avoid a breaking change.
[x] Lease ID in BlobContainerClient::GetAccessPolicy request
[x] xml tag EnumerationResults.Blobs.BlobItems.Blob.Properties.{CopyId,CopyStatus,CopySource,CopyProgress,CopyCompletionTime,CopyStatusDescription,IncrementalCopy,DestinationSnapshot,DeletedTime,RemainingRetentionDays,ArchiveStatus,CustomerProvidedKeySha256,EncryptionScope,AccessTierChangeTime,TagCount,RehydratePriority} and EnumerationResults.Blobs.BlobItems.Blob.Tags.TagSet.Tag.{Key,Value} in the response of ListBlobs and ListBlobsByHierarchy
[x] EnumerationResults.Blobs.BlobItems.Blob.Metadata.Encrypted  in the response of ListBlobs and ListBlobsByHierarchy
Metadata is encrypted with CPK, there's nothing we can do. .Net doesn't parse it either.
[x] x-ms-tags header in AppendBlobClient::Create and PageBlobClient::Create and BlockBlobClient::Upload and BlobClient::StartCopyFromUri and BlockBlobClient::CommitBlockList
[x] ETag and Last-Modified in BlobClient::ScheduleDeletion
[x] x-ms-request-server-encrypted, x-ms-encryption-key-sha256 and x-ms-encryption-scope aren't parsed in the response of BlobClient::SetMetadata.
[x] BlobClient::SetMetadata doesn't return x-ms-blob-sequence-number at all. This is a breaking change.
Won't fix
[x]  BlobClient::ReleaseLease doesn't return x-ms-blob-sequence-number at all.
[x] BlobClient::StartCopy doesn't support x-ms-source-lease-id since 2012-02-12.
Won't change.
[x] BlobClient::SetAccessTier needs to support lease Id and if-tags
[x] PageBlobClient::UploadPagesFromUri needs to support 4 source conditions.
[x] Missing API: PageBlobClient::UpdateSequenceNumber
[ ] Blob Batch
[ ] Query
[ ] Change Feed

partial done in https://github.com/Azure/azure-sdk-for-cpp/issues/2515

Looking forward for BlobBatch!
Is there a way to schedule several deletions at a time without it?..

Were there known problems with BlobBatch implementation removed with 4527798bd1fc0cf0687fe35eda912b9d458b61a6 for #1309?
As a temporary workaround, I would love to revert it...

Is there a way to schedule several deletions at a time without it?..

No.

Were there known problems with BlobBatch implementation removed with 4527798 for #1309?

The API interface wasn't approved by arch board. We're going to redesign the API interface.

close in favor of https://github.com/Azure/azure-sdk-for-cpp/issues/3566


pythonPackages.plover-stroke: init at 1.1.0

See https://github.com/NixOS/nixpkgs/pull/347354.
https://pypi.org/project/plover-stroke/

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

see my comment https://github.com/NixOS/nixpkgs/pull/347354#issuecomment-2402784140


Fix Raven Docker Image

Overview
Changes:

Updated base to Python3.8
Updated docker image to use condaforge/mambaforge and mamba
Set Debian/Ubuntu image frontend settings to "noninteractive"

Related Issue / Discussion
Additional Information
Links to other issues or sources.

@tlvu Tests are failing due to the newest release of Pandas (v2.0) not being compatible with xarray. Should I be fixing that here at the same time?

@tlvu Tests are failing due to the newest release of Pandas (v2.0) not being compatible with xarray. Should I be fixing that here at the same time?

Sure why not.  Just rename the PR title and description o make it clear you are fixing more than just the docker image.
Thanks for the quick fix.


added tiny host extension

Description
This pull request introduces a new Chrome extension designed to provide quick and easy access to Tiny Host's live server functionality. The extension features a welcome page with a typewriter effect that greets users and introduces them to Tiny Host. After the greeting, users can click a button to navigate directly to the Tiny Host login page. This extension aims to streamline the process of hosting projects locally, making it more accessible and efficient for users.
Fixes:  #1049

Type of change

[X ] New feature (non-breaking change which adds functionality)

Checklist:

[X ] I have made this from my own
[ ] I have taken help from some online resourses
[ X] My code follows the style guidelines of this project
[ X] I have performed a self-review of my own code
[ X] I have commented my code, particularly in hard-to-understand areas
[ X] I have made corresponding changes to the documentation
[ X] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

I am contributing upon Gssoc24

@Sulagna-Dutta-Roy added tiny host extension please verify and accept my pull request


Prevent infinite CPU exception loops

I replaced the panic counter with a separate counter for cpu exceptions in order to avoid infinite cpu exception loops, which apparently can happen if something is severely broken. E.g. if trying to print registers causes a CPU exception. I disabled setting is_panicking from in here, which might not be the right thing - or if we keep this we might want to decrease the max number of panics the counter can reach before triggering double fault.


Enable building universal binaries for macos

This adds a kuberlr_<version>_darwin_all.tar.gz (containing a macOS universal binary that works on x86_64 and arm64) to releases. For compatibility, it keeps the separate x86_64 and arm64 binaries around too.
This would let people grab a singular executable without worrying about which architecture is in use.
I pushed a test build at https://github.com/mook-as/kuberlr/releases/tag/v0.0.2 if that helps looking at results.

Thanks for your contribution!


Feat/update es locale

the key "benedict_of_nursia_abbot_patron_of_europe" wasn't present in spanish locale but there was "benedict_of_nursia_abbot", so copied and added the key.

@miguelms95 hey, i think you need to sync your dev branch and rebase to just have the latest commit.
alternatively, you should delete the branch on your fork after each of your PRs is merged and update your dev branch so you don't have all those extra commits

Okey! @TobiTenno I will close this PR and open a new one.


Fix sanity_patterns for GpuBandwidthCheck

It seems that the output of the executable has a different format that the expected one as defined in the sanity_patterns attribute of the test.

The test now passes:
[==========] Running 1 check(s)
[==========] Started on Wed Nov 21 09:18:37 2018

[----------] started processing GpuBandwidthCheck (GpuBandwidthCheck)
[ RUN      ] GpuBandwidthCheck on daint:gpu using PrgEnv-cray
[       OK ] GpuBandwidthCheck on daint:gpu using PrgEnv-cray
[ RUN      ] GpuBandwidthCheck on daint:gpu using PrgEnv-gnu
[       OK ] GpuBandwidthCheck on daint:gpu using PrgEnv-gnu
[----------] finished processing GpuBandwidthCheck (GpuBandwidthCheck)


Ensure that a constructor cannot be run twice on the same data account

The constructor code path was not checking that the data account magic number is not populated.
The change also exposed another issue: when a pure function is called, there should be no load of data magic number, this may result in a access violation.

The change also exposed another issue: when a pure function is called, there should be no load of data magic number, this may result in a access violation.

This is not solved here, is it?

The change also exposed another issue: when a pure function is called, there should be no load of data magic number, this may result in a access violation.

This is not solved here, is it?

Yes, it is. When I added the magic check for the constructor code path, suddenly I was getting access violations. I've moved the magic load to where it is needed

I'd expect this change to break some existing codegen tests; I also don't see this fix being verified in a codegen.

I've added a MockVM test


Visual Studio restarts when hitting '.' as last character in F# file

When editing an F# file, if you type . as the last character in the file, Visual Studio will error and restart. I can't get a stack trace, sorry, so I don't know what's going wrong. But if I disable EmojiVS, it works fine, and if I enable it, well, it doesn't :smile: This is VS2015 + F#4, all other extensions disabled (apart from ReSharper. I'm not disabling that. No sir.)

Ah :)

@citizenmatt hm, I can't repro. Any chance you could get a stack trace?


Rename RESTWrapperOfSkipService to SkipServiceBroker and document it

Rename RESTWrapperOfSkipService to SkipServiceBroker

This class provides methods that mirror and have thin implementations over
the skip service HTTP interface. This class is providing a method-call
interface for the HTTP interface. In this context, the term "broker" seems
more appropriate and clear.

Document SkipServiceBroker

Does anyone have comments on renaming RESTWrapperOfSkipService to SkipServiceBroker?


allow building despite TS errors

Currently app-scripts' TS transpiler cancels the build on TS errors. I definitely like the pretty screen, but enforcing this behavior as a default setting presumes that the typings of all libraries, and in fact, TypeScript itself, are both infallible. I feel this might not be fully realistic in all cases, especially given even just the TypeScript repo itself has around 1.5k outstanding issues. Might it be an option to allow overriding this behavior with e.g. a command-line switch?
Related:

ng-cli
ionic-gulp-tasks

We may someday allow this but this behavior does not jive with what we think provides the best experience. I'll keep it open as a low priority issue.
Thanks,
Dan

In the event you'd nevertheless be willing to take a PR on this, I've made one from my fork.

@tycho01,
Sorry, this is outside of the scope of what we intend to do. Maybe in the future but in all sincerity probably not.
Thanks,
Dan


Add more operators to line continuation

This is a feature request.  Currently, it seems that only ,  (and perhaps (), though I haven't tested it) allows for line continuation.  Sometimes it may be useful to have line continuation on operators such as + - / * %.  This may affect parsing and/or formatting on the back end, so it may not come without issues.

You can add a line break with \.

Expressions within parentheses can be split into many lines.

I think so.


Refine imports of Write.Tx module

[x] Don't import Write.Tx qualified from Write.Tx.Balance
[x] Prefer as Write over as WriteTx or as Write.Tx everywhere

https://input-output-rnd.slack.com/archives/C03JV5A74E4/p1678351553434049

Comments

We probably should also create a Cardano.Wallet.Write umbrella module, but didn't do that in this PR.

Issue Number

bors r+


Outdated CodePipeline configuration for global customizations

Terraform Version & Prov:
all
AFT Version:
1.12.2
Bug Description
I'm reaching out to investigate a potential discrepancy in my CodePipeline configuration. It appears that the global customizations are not executing as expected.
Upon reviewing the source configuration within CodePipeline, I noticed that:

The configuration points to CodeBuild as the source code provider, while the actual VCS is GitHub.
The stage names seem outdated.

Background:
Initially, I was using CodeBuild as the VCS. However, I have since migrated to GitHub.
Question:
Given these inconsistencies, I'd like to understand the recommended approach to ensure my CodePipeline reflects the current configuration and update any outdated resource.
Additionally, are there any specific actions I need to take within CodePipeline to refresh its configuration and integrate with GitHub effectively?

I just destroyed and recreated everything, so now it's working.


[MoveOS] Publish modules in Move

The AccountStorage provides a function to publish modules in Move
public fun publish_modules(ctx: &mut StorageContext, account: &signer, modules: vector<vector<u8>>);

The function is incomplete, and MoveOS need to provide some native function:

Get the module name in Move by the module bytecode.
Verify the modules.
Check the module's compatibility.

What upgrade policies are Rooch going to support?

TBD, any idea?

The basic three policies: arbitrary, compatible, immutable are essential.
The two-phase upgrade policy in Starcoin is also a good approach, but coupling it with the DAO system makes it somewhat cumbersome and inflexible.
We can simplify it as follows: In the first phase, developers submit the binary file of a package and receive a capability that can only be stored. In the second phase, the package is actually submitted to the blockchain using the capability, completing the upgrade. In between these two phases, developers can customize a contract to determine when it's appropriate to trigger the second phase. Our framework can also provide some basic management contracts.

We may not support arbitrary upgrades, at least we need to ensure compatibility.

I'd like to try this issue. Before we start, we can discuss it in the next community meeting.


verifyTokenId tests for non existing ['id_token'] retrieved via getAccessToken

Environment details

OS: Windows
PHP version: 7.4
Package name and version: 2.12

Steps to reproduce

Follow implementation code example as described: https://developers.google.com/identity/protocols/oauth2/web-server#example
Add $client->verifyIdToken() after $client->setAccessToken() which should be allowed as per the exception
Trace back error in code, see comments in code example below

Code example
login.php
$client = new Google_Client();
$client->setAuthConfig($authCodeFile);
$client->setApprovalPrompt('consent');
$client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { //Set in callback
  $client->setAccessToken($_SESSION['access_token']);
  $token_data = $client->verifyIdToken()->getAttributes(); //Error occurs on this line
}

google-api-php-client/src/Client.php starting line 773
public function verifyIdToken($idToken = null)
  {
    ...
    if (null === $idToken) {
      $token = $this->getAccessToken(); //This function is called to get the access token
      if (!isset($token['id_token'])) {
        throw new LogicException(
            'id_token must be passed in or set as part of setAccessToken' //This exception is thrown
        );
      }
      $idToken = $token['id_token'];
    }
    ...
  }

google-api-php-client/src/Client.php starting line 487
public function setAccessToken($token)
  {
    if (is_string($token)) {
      if ($json = json_decode($token, true)) {
        $token = $json;
      } else {
        // assume $token is just the token string
        $token = array(
          'access_token' => $token,
        );
      }
    }
    if ($token == null) {
      throw new InvalidArgumentException('invalid json token');
    }
    if (!isset($token['access_token'])) {
      throw new InvalidArgumentException("Invalid token format");
    }
    $this->token = $token;
    /**
      * At this point $token should only contain [access_token], [expires_in], [scope], [token_type] and [created]
      * as per the callback; does not contain [id_token]
      * /
  }

public function getAccessToken()
  {
    return $this->token; //Only contains ['access_token'] and not ['id_token'] when set via setAccessToken
  }

We've also been running into this same error message. Looking forward to a possible fix

After some debugging I figured out that the issue can be fixed adding an extra scope.
$client->addScope('email');

We did fetch some basic account information, which requires this scope, it sounds like a BC break to me that this was required, and not before.

Validated the comment of @jaapio and indeed adding the 'email' scope does include the 'id_token' in the response and the rest of the code works as expected.
Proposed solution: Update the code example in the docs.

The sample includes the "email" scope.
As for updating the code examples in the docs, @nick-van-h, which docs you're referring to?

I am closing this as working as designed (the email scope has always been required to fetch the id_token).
I am not sure which doc needs to be updated, and it's been two months with no reply. Please open a new issue with the doc that needs to be updated if there is still an issue here.
Thank you!


Fix/windows docker

KB4052623 update excluded as it downloads but refuses to install. the cause seems to be due to it not being applicable
comment added for sysinternals to ignore checksums
fixes the docker problem found on the june image as the previous API for installing docker for containers on windows was removed
Increased timeouts

Out of curiosity what was the fix? was it removing that final reboot and extending the timeout?


[image_picker] Fix iOS RunnerUITests search paths

RunnerUITests crashes at runtime because Flutter is correctly not embedded in the bundle.  XCUITest targets should not be linking against development frameworks.
Remove inherit! :search_paths from Podfile and remove the base Flutter xcconfig configuration.
https://github.com/flutter/flutter/issues/93325#issuecomment-966527981
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Looks like this is ready to go, so I'm going to go ahead and land it.


CLI changes for Sunrise initiative

### Tasks
- [ ] Make `subgraph-studio` the default deployment  target
- [ ] Remove `--from-hosted-service` from `graph deploy`
- [ ] Remove `--product` from `graph init`
- [ ] Remove `--studio` from `graph init`
- [ ] Remove `--access-token'` from `graph deploy`
- [ ] Remove `graph remove` command from top level instead Introduce a subcommand part of `graph local` module
- [ ] Simplify subgraph name validation logic
- [ ] `graph auth` to only work for Studio. Remove all other flags
- [ ] drop `graph create` command

@saihaj for graph create I think this would also need to be added as a graph local subcommand


ssh can not access to ubuntu20.04 virtual machine

Describe the bug
ssh failed information:
kex_exchange_identification: read: Connection reset by peer
Connection reset by <IP_ADDRESS> port 22
here is the full information：

❯ ssh -vvv<EMAIL_ADDRESS>                                                                            ─╯
OpenSSH_9.0p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/jasper/.ssh/config
debug3: /Users/jasper/.ssh/config line 1: Including file /Users/jasper/.orbstack/ssh/config depth 0
debug1: Reading configuration data /Users/jasper/.orbstack/ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug2: resolve_canonicalize: hostname <IP_ADDRESS> is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/jasper/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/jasper/.ssh/known_hosts2'
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug3: ssh_connect_direct: entering
debug1: Connecting to <IP_ADDRESS> [<IP_ADDRESS>] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: Connection established.
debug1: identity file /Users/jasper/.ssh/id_rsa type 0
debug1: identity file /Users/jasper/.ssh/id_rsa-cert type -1
debug1: identity file /Users/jasper/.ssh/id_ecdsa type -1
debug1: identity file /Users/jasper/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/jasper/.ssh/id_ecdsa_sk type -1
debug1: identity file /Users/jasper/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /Users/jasper/.ssh/id_ed25519 type -1
debug1: identity file /Users/jasper/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/jasper/.ssh/id_ed25519_sk type -1
debug1: identity file /Users/jasper/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /Users/jasper/.ssh/id_xmss type -1
debug1: identity file /Users/jasper/.ssh/id_xmss-cert type -1
debug1: identity file /Users/jasper/.ssh/id_dsa type -1
debug1: identity file /Users/jasper/.ssh/id_dsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.0
kex_exchange_identification: read: Connection reset by peer
Connection reset by <IP_ADDRESS> port 22

To Reproduce
No response
Expected behavior
No response
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.1.0
Commit: bfae870a3b9d4fba5c1c26711ac5a5b9183bdb74 (v1.1.0)
System info:
macOS: 13.6 (22G120)
CPU: arm64, 12 cores
CPU model: Apple M2 Max
Model: Mac14,6
Memory: 32 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2023-12-04T02-30-48.593883Z.zip

Screenshots and additional context (optional)
No response

You have a subnet conflict with Surge and/or #529. You'll have to fix the conflict on your side.


Release 1.3.1 (Fixes 1.3.0 for Helm Charts)

New business features
None
New technical/security features
None
Tasks implementing the new features
None
Bug Fixes
Overview: Changes in paths to accommodate with the read only images for build
Copy demiurge apihub messages to external-volume at build #719
Ignore errors when copying files from trust-loader-config to apihub-root #720
Save mq messages in external-volume #717
Save epi logs in external-volume #718
Make private keys paths configurable in OauthMiddleware #713
Minor fixes:
Import JSON feature - in the JSON object, array of valid SNs accepts only string values but array of recalled and decomm. SNs accept both string and numbers #680
Adding new group in the Demiurge seems to not working #702
Better error when not using https #712
Security Fixes
Remove vulnerabilities in ethadapter docker image #716
Better error when not using https #712
Configuration Changes
Various, will be covered by the helm-charts documentation

Closing this issue since the release is completed.


set_dnn_prefer_smallest_algorithms() in Python

Long story short, My program crashes when I try to use the CNN face detector, Saying its out of memory( Even though my images are way smaller then the amount of memory in my GPUs, 4GB ). After reading other issues it seems that CUDA is selecting larger architectures, And I should run set_dnn_prefer_smallest_algorithms(). I cant seem to find that method in Python, Is there any way to call it from Python or will I have to use C++?

A binding for python needs to be added.  You should add one and submit a PR
:)

Thanks for the quick reply! I'm not too familiar with bindings but will give it a try!

For future reference, I have added a python binding for set_dnn_prefer_smallest_algorithms() and it fixed the problems I was having!


Adding Checkout-ShoppingCart

Added all the required files for new project "Checkout-ShoppingCart" created using HTML, CSS. Do check @vijaygupta18 and help me getting my PR accepted for Hacktoberfest '21 .

Congratulations for your Open source contribution. Don't forget to add a star on this repo.. Happy hacking


Properly support newlines

Was wondering if it was possible to make this support some kind of character for newlines (like \n) beccause currently I have to put in actual newlines which is less than desireable

i could probably add a <break> tag


feat(cxx_common): support proto encoding of compilation units in kzips

(This still looks fine with that change, though).


carapace: 1.0.3 -> 1.0.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/carapace/versions.
meta.description for carapace is: Multi-shell multi-command argument completer
meta.homepage for carapace is: https://carapace.sh/
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.0.4 with grep in /nix/store/i2pap4h2bqjj2c8kmkyp978j0zf92ck8-carapace-1.0.4
found 1.0.4 in filename of file in /nix/store/i2pap4h2bqjj2c8kmkyp978j0zf92ck8-carapace-1.0.4

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

carapace

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/4d297465082fca216dbe6bad051f8bbe3f4d79d9#carapace

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

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

1 package built:

carapace

Maintainer pings
cc @mimame for testing.

@ofborg eval


Add -passin arg to ocsp

Add support for -passin to ocsp so the ocsp responder can be started programmatically.
Docs are updated, but no testing was added since after a quick look at the tests, it didn't seem like command-line switches were explicitly tested. Happy to add a test if necessary.
I did test it manually.
Fixes #10682
Checklist

[x] documentation is added or updated

Please let me know if this counts as non-trivial and I can submitted a CLA

@mattcaswell Emailed the CLA.
Do I need to submit a separate PR to get this on the 1.1.1 branch?

Do I need to submit a separate PR to get this on the 1.1.1 branch?

Unfortunately this is not eligible for backport to 1.1.1 because it is a new feature. We only allow bug fixes in 1.1.1.

reopening for cla check


Damage rolls below 1 return 1 non-lethal damage

As per CRB pg. 240, damage below 1 becomes 1 point of non-lethal damage.
(This may rarely come up, but it may come up a bit more after by archaic -5 damage PR 😛)

Looks good, merging.


How to add global styles without impacting the content generated by the info addon?

Bug or support request summary
I would like the components to have the same look and feel in storybook and in the application where they are used. That's why I would like to apply in storybook the same reset.css and the same global styles (font-family, color, box-sizing, ...) as in the application.
My concern is that theses global styles are also applied to the content generated by the info addon. And the reset.css completely breaks the markdown 😕
So here is my question: How can I apply global styles to my components without impacting the content generated by the info addon?
Steps to reproduce
// config.js
require('../src/reset.scss'); // from Eric Meyer
require('./storybook.scss');

// storybook.scss
@import 'variables';
html {
  background-color: $color-white-smoke;
  color: $color-dark-lava;
  font-family: Helvetica, sans-serif;
  font-size: 14px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

I use markdown to describe the component with the addon info, but the style is completely broken by reset.css. We don't see anymore bullet lists, strong text, ...
Instead of using the html selector I could use #root but the content generated by info is also in this div and I have no other id or class to help me target only my components.
Maybe a solution could be to add an id on the div that encapsulates the component and nothing else. What do you think?
Please specify which version of Storybook and optionally any affected addons that you're running

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Sadly it can't be done currently since addon info is rendered to the preview area - side by side with the users' code. We had an attempt to move parts of the info-addon to the addons panel, but this PR was not finished.


channeldb: return more detailed errors in DeleteInvoice

This PR was created in order to help to debug the failures in:
https://github.com/lightningnetwork/lnd/issues/5113
We add some more contextual errors so we can figure out where the
assumptions of the current scan to delete function in the invoice
registry is incorrect.

Seeing this error in lnd.log after restarting with this PR:
[WRN] INVC: Deleting old invoices failed: unknown invoice in pay addr index


Add Trezor wallet connector

This PR implements wallet support for Trezor. It introduces a custom subprovider and connector, so as to support our internal testnet's chainId.

[ ] Inject RPC URL and chain ID

Depends on: #205
Epic: #177

@r-czajkowski going to merge - looks like you've addressed all your comments! 🙇♀  If there is anything else we can do it on the heath-ledger one.


Memory usage issue

After importing xmlschema memory usage is increased to more than 200MiB.
Requirements (tested with python 2.7 and python 3.5):
pip install xmlschema
pip install memory-profiler

Create script test.py:
@profile
def my_func():
    import xmlschema
    return 2

if __name__ == '__main__':
    my_func()

Run: python -m memory_profiler test.py
Results:
Line #    Mem usage    Increment   Line Contents
     2   10.762 MiB   10.762 MiB   @profile
     3                             def my_func():
     4  233.723 MiB  222.961 MiB       import xmlschema
     5  233.723 MiB    0.000 MiB       return 2

@brunato  I haven't investigated issue too deep yet. Do you have any ideas why library needs so much RAM? Any ideas where to start digging?

The package needs to build Unicode categories to parse XML Schema's regular expressions. Take a look at codepoints.py. Without them the regexp validation maybe unpracticable. The best solution should be to build a C module for that.
Another source of RAM consumption can be the XSD metaschema (xmlschema.XMLSchema.META_SCHEMA), but should be significatively less than codepoints.

Thanks. You are right. After loading categories from 'unicode_categories.json' memory usage is increased on ~100Mb. Building categories['C'] leads to additional consumption of 40Mb. So dict UNICODE_CATEGORIES consumes ~140Mb of ram. It is dict with 2228224 ints. It is really huge overload especially in multiprocessed applications.

I agree, but currently is the best that I can do for keep XML regex validation working. Probably the best solution is a reworking of the Python's C module, adding a call for get a representation of the unicode categories.
Thanks

I wrote a new version of the class UnicodeSubset that resolves the
memory issue. Now UnicodeSubset uses an ordered-list to store the code
points, instead of a set() instance. Many overrides of MutableSet's
methods were needed to reach good performances.
Seems pretty memory-efficient now:
$ python -m memory_profiler test_xmlschema_memory.py
Filename: test_xmlschema_memory.py

Line #    Mem usage    Increment   Line Contents
================================================
     1   14.625 MiB   14.625 MiB   @profile
     2                             def my_func():
     3   24.574 MiB    9.949 MiB       import xmlschema
     4   28.062 MiB    3.488 MiB       import lxml.etree
     5   28.781 MiB    0.719 MiB       import unicodedata
     6   28.781 MiB    0.000 MiB       return 2

The codepoints module, including all Unicode categories, now uses less
than 0.7 MiB.

You can found the new code in the master branch or in the version 0.9.16 on PyPI.
Please try the new version and tell me if I you consider this issue resolved.

Thanks for update.
Python 2.7.12 (default, Jan 16 2017, 11:42:38)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-8<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import xmlschema
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/__init__.py", line 18, in <module>
    from .validators.exceptions import (
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/validators/__init__.py", line 19, in <module>
    from .attributes import XsdAttribute, XsdAnyAttribute, XsdAttributeGroup
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/validators/attributes.py", line 26, in <module>
    from .simple_types import XsdSimpleType
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/validators/simple_types.py", line 31, in <module>
    from .facets import (
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/validators/facets.py", line 25, in <module>
    from ..regex import get_python_regex
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/regex.py", line 20, in <module>
    from .codepoints import UNICODE_CATEGORIES, UNICODE_BLOCKS, UnicodeSubset
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/codepoints.py", line 573, in <module>
    UNICODE_CATEGORIES = get_unicode_categories()
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/codepoints.py", line 570, in get_unicode_categories
    return {k: UnicodeSubset(v) for k, v in categories.items()}
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/codepoints.py", line 570, in <dictcomp>
    return {k: UnicodeSubset(v) for k, v in categories.items()}
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/codepoints.py", line 192, in __init__
    self.update(args[0])
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/codepoints.py", line 291, in update
    self.add(cp)
  File "/Users/yr/.virtualenvs/test/lib/python2.7/site-packages/xmlschema/codepoints.py", line 296, in add
    raise XMLSchemaValueError("not a Unicode code point range: %r" % value)
TypeError: not all arguments converted during string formatting

Is related to Python 2.7 configure option:
--enable-unicode[=ucs[24]]    Enable Unicode strings (default is ucs2)
It seems ucs4 is generally selected for distro compiled version of Python 2.7, but from the source it compiles with ucs2 for default.
$ /usr/local/bin/python2.7
Python 2.7.13 (default, Dec 26 2017, 12:27:34)
[GCC 7.2.1 20170915 (Red Hat 7.2.1-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.maxunicode
65535

$ /usr/bin/python2.7
Python 2.7.14 (default, Nov  2 2017, 18:42:05)
[GCC 7.2.1 20170915 (Red Hat 7.2.1-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.maxunicode
1114111

I'll insert a pair of checks of maxunicode value in codepoints.py in order to use JSON file and codes > 65536 only if UCS-4 is enabled.

great job, thanks


[release-3.8] Use older versions of jsonschema and urllib3 for Lambda Layer

Use older versions of jsonschema and urllib3 for Lambda Layer
Pcluster API execution fails if using the latest version of the packages.

jsonschema introduced breaking changes in 4.18.0 in July 2023. Therefore, we use version 4.17.3. https://github.com/aws/aws-cdk/issues/26300
urllib released 2.0 in May 2023. Pcluster API has been released with urllib 1.x. Therefore, we use version 1.x.

The root cause of both issues are because Lambda Function environment has older boto3/botocore versions than latest released versions on PyPi.
Specifically, when we prepare lambda layers, the dependencies are installed according to new boto3/botocore versions. When running the Lambda function, the older boto3/botocore are not compatible with the dependencies we provide in Lambda layers.
Signed-off-by: Hanwen<EMAIL_ADDRESS>Checklist

Make sure you are pointing to the right branch.
If you're creating a patch for a branch other than develop add the branch name as prefix in the PR title (e.g. [release-3.6]).
Check all commits' messages are clear, describing what and why vs how.
Make sure to have added unit tests or integration tests to cover the new/modified code.
Check if documentation is impacted by this change.

Please review the guidelines for contributing and Pull Request Instructions.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Seems like Lambda Function is gradually upgrading their runtime. We may don't have to merge the PR


Updated msi windows installers to use wix v5

In moving to wix v5, some of the code could be simplified a bit (mainly: light.exe and candle.exe commands could be combined into one). For end users to use this wix installer creation tool, they will just need to run:
dotnet tool install --global wix --version 5.0.0
To install wix 5.0.0 (or they can install another version of wix v4 or wix v5 if they so choose).

Link to successful run on my fork (although I believe that this PR will also do the same checks): https://github.com/jmjaffe37/openjdk-installer/actions/runs/8624015173

Converted to draft due to ongoing release. Note: currently passing all PR checks

Note: I had to change the xml propery ID ALLUSERS in Main.wxs.template to ALLUSERSSETUP to avoid a duplicate symbol error that I was getting locally. Here is a link to a run I did on github actions to recreate this error that I previously had locally:
https://github.com/jmjaffe37/openjdk-installer/actions/runs/8635538967/job/23673480230#step:7:61

Just did a test run using wix 5.0.0 and it seems to have built properly:
https://github.com/jmjaffe37/openjdk-installer/actions/runs/8635971450
I also did an internal test run to create Microsoft OpenJDK MSIs and the resulting MSIs passed the test outlined above (install, correct java version, uninstall as expected)

Is anyone able to help me test if the installer translations into other languages/cultures is still behaving as expected? I am unsure on how to do that at the moment 😅

I think some useful testing will be to upgrade from older installations of Eclipse Temurin and MSFT builds of OpenJDK respectively.

Is anyone able to help me test if the installer translations into other languages/cultures is still behaving as expected? I am unsure on how to do that at the moment 😅

@douph1 - Are you able to check for French?
For the rest I recommend adding a note to the installer channel in Slack and giving folks some instructions on how to self serve this PR and test translations.

Is anyone able to help me test if the installer translations into other languages/cultures is still behaving as expected? I am unsure on how to do that at the moment 😅

@douph1 - Are you able to check for French?
For the rest I recommend adding a note to the installer channel in Slack and giving folks some instructions on how to self serve this PR and test translations.

@karianna I actually figured out how to do it after posting that comment 😅
I updated it to instead explain how I tested it (I made that update before I saw your reply)

Another note: wix v5 was officially release (taken out of beta) on april 5th according to this blog post on their website:
https://www.firegiant.com/blog/2024/4/5/wix-v5.0.0-has-been-released/
Since I did my testing on both wix v4.0.5 and wix v5.0.0 (the first non-beta version), would we like me to change the default wix version to 5.0.0?

Another note: wix v5 was officially release (taken out of beta) on april 5th according to this blog post on their website: https://www.firegiant.com/blog/2024/4/5/wix-v5.0.0-has-been-released/
Since I did my testing on both wix v4.0.5 and wix v5.0.0 (the first non-beta version), would we like me to change the default wix version to 5.0.0?

Yes please

@jmjaffe37 great work getting this sorted! I'll take a more thorough review this week. One note though is that it kinda sucks that we've lost the <?xml version="1.0" encoding="utf-8"?> definition at the top of the files as it means that GitHub no longer highlights the XML files for us. Does v4 not support this at the top?

I can try a run with this added back. I believe the inclusion of this line is optional for wix v4 and v5

I can try a run with this added back. I believe the inclusion of this line is optional for wix v4 and v5

There's certainly no harm to add it back if it's optional :)

@jmjaffe37 great work getting this sorted! I'll take a more thorough review this week. One note though is that it kinda sucks that we've lost the <?xml version="1.0" encoding="utf-8"?> definition at the top of the files as it means that GitHub no longer highlights the XML files for us. Does v4 not support this at the top?

xml tags have been added back :)

/thaw

My initial testing shows that the default install dir is wrong. See the new installer on the left vs the old installer on the right

InstallPrivileges

I can look into this some more, but it looks like the InstallPriveleges attribute is no longer part of the package element in wix v4 or v5. See this page for a list of available attributes:
https://wixtoolset.org/docs/schema/wxs/package/#attributes

My initial testing shows that the default install dir is wrong. See the new installer on the left vs the old installer on the right

Doing some research I think this may be linked to `InstallPrivileges="elevated"` which can be defined at the `` definition although we don't want to break perUser installs so we may need some logic here
E.g:
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" />

I can look into this some more, but it looks like the InstallPriveleges attribute is no longer part of the package element in wix v4 or v5. See this page for a list of available attributes:
https://wixtoolset.org/docs/schema/wxs/package/#attributes

/thaw

Note: to address a request made here: https://github.com/adoptium/installer/issues/888, I implemented a feature to allow vendors to implement custom licenses for hotspot JVMs. It also allows the vendors to choose whether or not to have the end user read and agree to this license (for example, this is optional for the GPLv2 license)
Successful test run with visible GPLv2 license for Eclipse Adoptium vendor: https://github.com/adoptium/installer/actions/runs/8902373183?pr=851
See the PR check for a successful test run for Eclipse Adoptium vendor MSIs without the license showing (default behavior for all vendors with the GPLv2 license unless specified)

raised https://github.com/adoptium/infrastructure/pull/3545 to install wix v5.0.0 on the CI machines

Ok, I believe that this PR is ready to be merged now!
CC: @gdams, @karianna, @douph1

Probably worth communicating this major change to the whole community and landing all of the related PRs in sync.  Then we should ask for volunteers to test various scenarios (fresh install, upgrade from previously installed version with old WIX installer, downgrade etc).

Hi @jmjaffe37  great work.
I have seen you have made best effort to maintain dual capability of installer to work perUser or perMachine.
I have added perUser installer capability in https://github.com/adoptium/installer/pull/107
Some time later, Adoptium team have decided that perUser is not the way to go and won't be supported anymore:
See
https://adoptium.net/installation/windows/

The installer is designed for use on a per-machine basis, not per-user basis, so you can have only one installation of the MSI on a machine for all users.

If ALLUSERS was here it was only because cleanup was not done by the dev who disable perUser capability..

Hi @jmjaffe37 great work. I have seen you have made best effort to maintain dual capability of installer to work perUser or perMachine.
I have added perUser installer capability in #107
Some time later, Adoptium team have decided that perUser is not the way to go and won't be supported anymore: See https://adoptium.net/installation/windows/

The installer is designed for use on a per-machine basis, not per-user basis, so you can have only one installation of the MSI on a machine for all users.

If ALLUSERS was here it was only because cleanup was not done by the dev who disable perUser capability..

Thanks for letting me know @douph1! This raises a few questions for me:

Does this mean that additional work would be necessary to support a perUser installation? From my understanding, my update takes care of the necessary prerequisites to support this.

Do we prefer to turn off the perUser option?

I noticed that the linked page states that only windows x64 is supported, but Microsoft has been using this code to generate installers for x86 and aarm64 without issue. In fact, recent updates have specifically debugged aarm64 installer creation. Is there somewhere I can prupose new wording?

Thanks!
CC: @d3r3kk

@jmjaffe37 For that last point (docs) - you can send a PR into the adoptium.net  repo.

I think TSC don't want to support "perUser", I don't understand why, as it worked by the past. If changing we probably need a little more testing for install/upgrade/uninstall and maybe cohabitation with x64. I have no time for this.

I have no opinion, nor interest, but thanks for asking :)

Adoptium seems to not build x86 MSI installer after JDK 19. JDK 20/21/22 installer for x86 is missing. I don't know why but it is maybe the meaning of "Note: Windows installer packages are supported only on Windows x64 systems."
If someone has clue on this we can fix the docs of the website.
Adoptium don't build/test/publish arm64 (AArch64) MSI installer. So this is not documented on the Website, but you can add some wording on wix/README.md


Add Spring Cloud CircuitBreaker To Initializr

@ryanjbaxter - I have been working a bit in Initializr (I have a few PRs over there) and we have a custom installation at my company. I am saying that to say that I am fairly familiar w/ it and would love to take this issue. Unless I hear otherwise I will start heading in that direction.

Created issue in nitializr for this. Will see if there is any pushback from team there.

My above issue was closed as it was invalid - there is already the necessary ticket https://github.com/spring-io/start.spring.io/issues/319 .

Closing in favor of the start.spring.io issue


Can not use Travis-Listener

Hi developers,
When I try to use the tool as suggested in the README.md, it turns out to be empty in the configuration page. Did I miss something here?
Best,

It is normal, I did not implement the configuration page.
I had disabled the scanner by accident. I pushed the changes.


Footer

Review and adjust current content

Cleaned up footer section adding CSS found here https://www.freecodecamp.org/news/how-to-keep-your-footer-where-it-belongs-59c6aa05c59c/


getting the a2dp_sink example to work

Hello, I've followed the steps to flash the example to my board and have configured the correct BT settings via 'make menuconfig', but I still can't manage to get the example to work.  Any ideas on what I should check/change or what direction I should start in debugging this?

Hi
need little more info from you
what does not work?
compile, flash, finding the ESP32 as BT Device bluetooth speaker, connect the BT Device, hear the Sound
so here a small list:
first part:

does it compile?
you can upload it ( flash ) to the esp32 device?
which esp32 modul you use?
modul boots fine and wait for the BT connection?

second part:

do you use esp32 for sound output or do you use an DAC? Which?
do you connect it by earphones / speaker?
do you use a DAC that need I2C comands for loudness and so on?

hope this helps in the meantime to sort out your manage to get the example to work
best wishes
rudi ;-)

Hi Rudi,
Thanks for your help with this.  I'm able to compile and flash the example
to the ESP32 w/o any issues, but the board does not show up on BT capable
devices.  Also, when I attempt to make monitor,  I get a bunch of randomly
generated characters as a console output.
I plan on eventually connecting this to a speaker via an I2S codec, but for
now, I will use the onboard DAC to output low quality sound.
I am using the ESP32 Thing from the following site:
https://www.sparkfun.com/products/13907
Best,
Radiylon
On Tue, Feb 20, 2018 at 3:26 AM, rudi ;-<EMAIL_ADDRESS>wrote:

Hi
need little more info from you
what does not work?
compile, flash, finding the ESP32 as BT Device bluetooth speaker, connect
the BT Device, hear the Sound
so here a small list:
first part:

does it compile?
you can upload it ( flash ) to the esp32 device?
which esp32 modul you use?
modul boots fine and wait for the BT connection?

second part:

do you use esp32 for sound output or do you use an DAC? Which?
do you connect it by earphones / speaker?
do you use a DAC that need I2C comands for loudness and so on?

hope this helps in the meantime to sort out your manage to get the example
to work
best wishes
rudi ;-)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/1643#issuecomment-366948310,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AV-3TV3dLbySS6aOTSTufDGSTG53HELDks5tWqvXgaJpZM4SLPUT
.

Afaik your devboard uses 26 Mhz crystal. You need to set correct settings in menuconfig.
Also, report if you get any sound using internal DAC. It used to work but I've been unable to make it work recently.

@blueMoodBHD please help to view the issue, thanks.

Can you output the log now? if you can,please check whether BT  works well or not.
If "ESP_LOGI(BT_AV_TAG, "Audio packet count %u", m_pkt_cnt)" in bt_app_a2d_data_cb() have been printf, BT works well and the problem is in DAC settings.

Closing due to lack of response, please feel free to reopen if this is still an issue and you can supply more details. Thanks.


"Publication has been modified by another user. Please reload the page." keep appearing even if nobody else is inside the document.

Bug
"Publication has been modified by another user. Please reload the page." keep appearing even if nobody else is inside the document.

Steps to reproduce
It's hard to find a pattern, but it even happens during demo's when they're creating records from scratch and nobody else is editing.
The patterns up until now:

When deleting a department – and none of the departments remain
Often when there's a record starting from scratch
When deleting a link

Things to do in order to further investigate this:

Log when there is a conflict error (there is none now, it just renders a response for the end user). That way we track the flow.
Log request parameters. Maybe the header If-Match is not sent, and it is a browser issue?

Happened today with one of our reviewers:

wanted to remove the only department in the list
when they checked the last edit, it was edited by themselves, not by anyone else
the record was open in two tabs – but only one had edits
the record wasn't open longer than usual

Would having the record open in two tabs, but only one is being edited, still trigger that notification?

Well, if you have a modal open in both tabs, belonging to the same record, then you will get this error.
e.g. you open the "edit details" modal but do nothing in one tab, and in another tab you try to remove a link. What happens is that in the second tab new version is created, while tab one is still working on a previous version. If you then would "save" in that tab, you will get the error. Let's not forget that all of the data is located in one and the same record, so reasons like "I was not editing that does not apply".
In short: if you have opened a modal, do not try to edit something of that same record using another way.

@mietcls does that make sense?

@nicolasfranck Yes, it does, thank you for explaining! The modal wasn't open, just the record. It was not in edit mode. So it should not have triggered it, correct?

Another, similar use case:

open tab "Description" and tab "Files" each in a separate browser tab.
Click "Edit" in the "Description" tab, and then click "Save"
Go to the second browser tab, and try to upload a file: you'll get an error dialog saying "Publication has been modified by another user. Please reload the page."

As said above, it would be handy to add a warning dialog (or a less intrusive flash warning) that warns you about a possible future version conflict:

as soon as a browser tab is focused, a call is done to the server with the current version contents. The server responds back if that version is still valid.
if the version is outdated, a non intrusive flash message is shown to the user. "your page is outdated, content has been updated". I can imagine of course that such a message is not welcome if it appears on your file upload page, the upload takes a long time, and then such message appears, possibly followed by the previous modal "publication has been modified.." when the upload ends. In that case two messages are sent.


Installing open_spiel with g++ doesn't work?

When I create a new Python Virtual Environment (Python 3.11.1), and run pip install open_spiel, I get the following error:
      ...
      RuntimeError: A C++ compiler that supports c++17 must be installed to build the following extensions: pyspiel. We recommend: Clang version >= 7.0.0.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for open_spiel
  Running setup.py clean for open_spiel
Failed to build open_spiel
ERROR: Could not build wheels for open_spiel, which is required to install pyproject.toml-based projects

However, I do have a C++ compiler that supports C++17 (it's not clang but I assumed it'd still work (it says so in the open_spiel documentation))?
>> g++ --version
g++.exe (GCC) 13.1.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ah yes, setup.py seems to still have clang++ hard-coded (back from when we only supported Clang). If you change them to g++ and install via setup.py locally, it might run.
But it seems you are on a Windows machine.. is this through Cygwin or WSL? (We have only minimal support on Windows.)
You might want to follow the build from source instructions rather than installing from source via pip.. but it might not work.

See also https://github.com/deepmind/open_spiel/blob/master/docs/windows.md

But it seems you are on a Windows machine.. is this through Cygwin or WSL? (We have only minimal support on Windows.)
You might want to follow the build from source instructions rather than installing from source via pip.. but it might not work.

I'm on a Windows machine and I'm using neither Cygwin nor WSL. I hadn't noticed you had minimal support on Windows. I'll check what I can do to make it work and will post an update.

Yeah thanks for catching that and keeping it open so we can fix the setup.py.
If you do ever look into compiling on Windows, let me know. OpenSpiel compiles in MSVC on Windows and it'd be great to ship a binary version via pip like we do on MacOS and Linux, but it would require some digging. I know that the the open build system we're using (cibuildwheel) supports creating Windows wheels, so it's just a few (albeit large) steps from having easy Python support on Windows.

Hi, just checking back in on this.
It seems that I responded too quickly at the time. We do indeed hardcode clang++ as the default, but you can customize using environment variables. Did you ever try using environment variables?
See here: https://github.com/google-deepmind/open_spiel/blob/7cbb52e7beae5c4bb3d8371149bdbc69130ae247/setup.py#L80
Seems to work on Linux:
lanctot@nife:~/open_spiel$ CC=gcc CXX=g++ python3 setup.py build
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-311
creating build/lib.linux-x86_64-cpython-311/open_spiel
copying open_spiel/__init__.py -> build/lib.linux-x86_64-cpython-311/open_spiel
                      .
                      .
                      .
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Found CMake
g++ (Ubuntu 13.2.0-4ubuntu3) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Found C++ compiler: g++
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
                         .
                         .
                         .

Hmm... wait... that won't work on Windows. 🥲
So actually I think compiling from source via pip does indeed work with g++ on supported platforms if you use the environment variables. Maybe we can improve the docs for this, though.. but for now I'll close this issue.
Feel free to reopen if you disagree.

Sorry didn't see you had answered @lanctot. I'm running a Virtual Machine to do my open_spiel projects as the support for Windows is minimal (which is totally understandable) and it runs smoothly.


Tags could be displayed in each page as like Octotree

Thus, I can quickly goto my similar projects .

Hi @debbbbie, can you explain or show me a bit more what you mean?

Octotree is a chrome extension, you can try it~~

I see, so your suggestion would be to use a sidebar when you're on a repository page and it would show other repos you have starred and tagged with the same tag as the one on the page?

Yeah! Can you realize that, Or I come to help.

@artisologic

Hi @debbbbie, I filed it as an enhancement as there are other things I want to get done in priority first (see #3 for example). But if you want to have a go at it, feel free to send a PR. Thanks!


spelling correction

There appears to be an overlooked spelling/typographical error for the word 'researcher'.

Thanks for the heads up!


show similar species on taxon page

I think we definitely have enough data in the identifications to automate 'similar species'. For example:
What taxa do the identifications of non-monarchs on observations of monarchs represent? (i.e. things people mistakenly thought a photo of a monarch might be) ordered by descending frequency:

Here's the query I used to get that. I excluded inactive taxa, ancestors and descendants (ie ssp/var) of monarch, and also things in different iconic-taxa (these seem to result more from confusion over what the photo is of 'did you mean the plant or the bug?' more than mistaken identity)
t = Taxon.find(48662)
ids = Identification.joins(:observation).includes(:taxon).where("observations.taxon_id = ? AND identifications.taxon_id != ?",t.id,t.id)
ids.select{|a| a.taxon.is_active && a.taxon.rank_level >= Taxon::RANK_LEVELS["species"] && a.taxon.iconic_taxon_id == t.iconic_taxon_id && !(t.ancestor_ids.include? a.taxon_id)}.map{|a| a.taxon_id}.inject(Hash.new(0)) {|hash,word| hash[word] += 1; hash }.sort_by{|k,v| v}

For fun I also did the inverse of this: for all the identifications of monarchs on observations of non-monarchs, what are the taxa the observations represent? (i.e. photos of things people mistakenly thought might be monarchs) ordered by descending frequency:

That query is similar
t = Taxon.find(48662)
ids = Identification.joins(:observation).includes(:observation,:taxon).where("observations.taxon_id != ? AND identifications.taxon_id = ?",t.id,t.id)
ids.select{|a| a.observation.taxon.is_active && (a.observation.taxon.rank_level.nil? ? true : a.observation.taxon.rank_level >= Taxon::RANK_LEVELS["species"]) && a.observation.taxon.iconic_taxon_id == t.iconic_taxon_id && !(t.ancestor_ids.include? a.observation.taxon_id)}.map{|a| a.observation.taxon_id}.inject(Hash.new(0)) {|hash,word| hash[word] += 1; hash }.sort_by{|k,v| v}

With either approach the top 3 certainly seem reasonable. I was thinking these might be good fodder for the species page revamp. Thoughts @kueda @joellebel ?

For any of these similar pairs, e.g. Monarch vs. Viceroy or Monarch vs. Queen, it would be awesome to  have some way of crowdsourcing from the community simple comparisons of annotated images like:

@pleary do you think this is something that could emerge off of voting-on-helpful-comments if we could encourage the community to author that kind of pairwise comparison content in their ID remarks?

I don't have too much to add except this is awesome. Even our mistakes
provide useful data. At least for the more common species (and as the site
grows other ones too).
Do we want a spatial layer to this? Maybe it doesn't matter.
On Mon, Sep 12, 2016 at 1:02 PM, Scott Loarie<EMAIL_ADDRESS>wrote:

For any of these similar pairs, e.g. Monarch vs. Viceroy or Monarch vs.
Queen, it would be awesome to have some way of crowdsourcing from the
community simple comparisons of annotated images like:
[image: screen shot 2016-09-12 at 9 53 43 am]
https://cloud.githubusercontent.com/assets/598026/18444738/579e70a0-78cf-11e6-97cf-57b204bba94d.png
@pleary https://github.com/pleary do you think this is something that
could emerge off of voting-on-helpful-comments if we could encourage the
community to author that kind of pairwise comparison content in their ID
remarks?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/inaturalist/inaturalist/issues/1138#issuecomment-246415947,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG1tk_AOMi3BeeNkm3Vgh9mlt1bASyAhks5qpYXCgaJpZM4J6QJD
.

--
Charlie Hohn
Montpelier, Vermont

Definitely a good / intelligent approach, but please rephrase as something actionable, e.g. "show similar species on taxon page" or something. That implies that a) we need an API endpoint that shows taxa similar to a requested taxon, b) we need design, and c) we need to actually add it... to a page that doesn't yet exist, in that case. Annotating particular pairs seems like a separate issue.

Ok changed the title, will make a separate issue for annotating pairs once we see how the taxon pages and the voting-on-helpful-coments progresses. Do you / @joellebel recommend trying to get this into the first cut of the Taxon pages, or reserve for down the road?

Love this idea and the approach. Talked @kueda. Looks like we can get this in the fist cut of the taxon pages. We were thinking about putting it under the "Related Species" tab.
As for the crowdsourcing simple comparisons of annotated images that's a ui that could definitely be incorporated into adding an ID to an ob. Lots of open source software out there for annotating photos.

i think there are a lot of applications throughout inat for annotating
photos! This being a good example but there are others too
On Wed, Sep 14, 2016 at 8:08 PM, joellebel<EMAIL_ADDRESS>wrote:

Love this idea and the approach. Talked @kueda https://github.com/kueda.
Looks like we can get this in the fist cut of the taxon pages. We were
thinking about putting it under the "Related Species" tab.
As for the crowdsourcing simple comparisons of annotated images that's a
ui that could definitely be incorporated into adding an ID to an ob. Lots
of open source software out there for annotating photos.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/inaturalist/inaturalist/issues/1138#issuecomment-247194446,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG1tk70FBIsE-P_VLuv9FiTAzc_HbirMks5qqIxygaJpZM4J6QJD
.

--
Charlie Hohn
Montpelier, Vermont

related to #1142
In a commit to a branch of the API (https://github.com/inaturalist/iNaturalistAPI/commit/1cc306ae6a2e9fd3bfe46aa052b9800d02736c8f) I made it so we can do species counts of IDs, either based on the ID's taxon or the obs' taxon. You can also query on wether or not the ID taxon matches the obs taxon. And I think those together can achieve the two sides of what Scott is proposing:

Show me all species on IDs of obs currently ID'd to monarch, where the ID isn't a monarch
Show me all species on obs ID'd as monarchs, which aren't currently ID'd as monarchs

@pleary, since I think you're close to releasing this, can you name the endpoint similar_species instead of related_species? related_species implies some kind of evolutionary relationship to me, which isn't necessarily the case here.

We have http://api.inaturalist.org/v1/identifications/similar_species?taxon_id=48662 now. Sounds like we still need the ticket though since the data isn't "shown" anywhere. Presumably this is a requirement of the taxon page, so I'll leave it up to you @kueda if you want to keep this or merge the requirement into another ticket


Revert value of "MSBUILD_EXE_PATH" variable

Change should fix this issue. The idea is to revert the value of the environment variable after it has been used by MSBuild.

Thanks for your contribution! 😄🎉


Humidity control on start cooking

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
Not applicable
Describe the solution you'd like
Ability to set humidity level
Describe alternatives you've considered
Can't control it currently
Additional context
None

Fixed in v0.0.2


Save fully processed chunks to optimize decoding

Saw some TODO comments while looking through the repo, thought I would address them
The performance boost is minor, and only when processing long files
I'll add comments to my code changes
I welcome any and all feedback!

Dug deeper into the code and found another issue upstream, will potentially re-open this one later


[CLI] Running "libman restore" on a file with invalid provider id could produce a better message

Functional impact
No functional impact, error could be better though
Minimal repro steps

Add invalid provider to one of the libraries in libman json, e.g. "foo"
Execute

libman restore

Expected result
Error message stating provider "foo" is not installed, like I would get for specifying it in "libman install" command
Actual result
[LIB007]: The provider is undefined
Further technical details
This could be a limitation of the code outside of the CLI (probably is). Still, it would be nice to tell user which provider is invalid so they could search libman.json for that specific provider id

This is a really unhelpful error message, and should be fixed. (It's a little more helpful if the error message has a line number.)

I don't think this is an issue anymore.  I'm getting the message,

[LIB001]: The "foo" provider could not be found

If I'm reading things correctly, this was fixed around line 44 of Extensions.cs in https://github.com/aspnet/LibraryManager/pull/266/commits/4519e1831ccdfaf78bdae80a3a07f1be63430133

Thanks @RobJohnston for confirming


How to setup token secret brute force protection?

Request details
Does reposilite have protection against the brute force of secrets? I didn't find any information in the docs.
I wanted to try setup fail2ban, but one thing worries me: there is no IP address in the authentication error line.
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | GET /api/auth/me from HOST
# Error
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | USER failed to authenticate with Basic realm due to ErrorResponse(status=401, message=Invalid authorization credentials)
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | ERR RESULT | GET /api/auth/me errored with ErrorResponse(status=401, message=Invalid authorization credentials)

Could this be the case if there are 2 parallel authentication attempts and line with the error will not go immediately after GET /api/auth/me from HOST? Because in this case, regex may not work/will not work correctly.
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | GET /api/auth/me from HOST
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | GET /api/auth/me from HOST
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | USER failed to authenticate with Basic realm due to ErrorResponse(status=401, message=Invalid authorization credentials)
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | ERR RESULT | GET /api/auth/me errored with ErrorResponse(status=401, message=Invalid authorization credentials)
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | USER failed to authenticate with Basic realm due to ErrorResponse(status=401, message=Invalid authorization credentials)
com.reposilite.journalist.slf4j.Slf4jLogger DATE TIME DEBUG | ERR RESULT | GET /api/auth/me errored with ErrorResponse(status=401, message=Invalid authorization credentials)

UPD: I found a solution: I run Reposilite behind Nginx, so I can just catch 401 in its logs. But I will still leave the issue open, as others may not have a web server.
UPD 2: Reposilite tries to authorize user every time they visit site, so catching 401 will be more annoying than useful.

Now, it'll be logged as<EMAIL_ADDRESS>failed to authenticate with ${authenticator.realm()} realm due to $it". I think your setup should be easily able to catch this now :)

Thank you very much! I will try to set up protection after release.

Also, what about the built-in mechanism? As far as I know, for example, Grafana has some kind of protection against brute force when log-in to dashboard by default.

Sure, we can think about it. Could you submit a new issue with some more details about the requested feature? :)