TarOutputStream doesn't flush buffer on Finish()

When you call Finish() on the TarOutputStream, it doesn't flush everything.
Finish():
    public void Finish()
    {
        if ( IsEntryOpen )
        {
            CloseEntry();
        }
        WriteEofBlock();
    }

However, Close() includes a buffer.Close() call:
    public override void Close()
    {
        if ( !isClosed )
        {
            isClosed = true;
            Finish();
            buffer.Close();
        }
    }

This effectively flushes the TarBuffer. The upshot is that, if you want to have all of the data flushed, you need to close the TarOutputStream, which will automatically close the Stream object that you gave it. The exception for this is with the GZIP functionality, whose GzipOutputStream has a IsStreamOwner property that provides you the option of -not- closing the base stream.
This means that in order to get all of the data out of the Stream, you need to either use a MemoryStream wrapped by GzipOutputStream, or use a FileStream so that you can recover the data after the mandatory close.

I'm going to label this a bug, but I think it's more of a documentation bug.
-Neil

My suggestion would be to add  the flush to Finish() as well but also mark it as deprecated, suggesting the combination of IsStreamOwner and Dispose() (preferably using a using scope)


update after code migration to ArgoData.jl

Codecov Report

Merging #23 (cd87f82) into master (f6e11a0) will decrease coverage by 9.84%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #23      +/-   ##
==========================================
- Coverage   58.67%   48.83%   -9.85%
==========================================
  Files           2        2
  Lines         121       86      -35
==========================================
- Hits           71       42      -29
+ Misses         50       44       -6

Impacted Files
Coverage Δ

src/read_data.jl
32.30% <ø> (-17.70%)
:arrow_down:

Continue to review full report at Codecov.

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


Debugging extension in dev environment doesn't unpack current backend build

Debugging the extension launches yarn watch which does a sbt universal:packageBin which builds the backend, but the newly built backend isn't installed into the local XDG directory, so whatever release was previously installed there (from an official release, etc.) will be used. This causes confusion if you are expecting the existing backend code to be run.
Workaround: delete your daffodil-dap XDG directory and the extension will look in the current directory to install the local backend. (FYI, the tests unpack the current backend build into a custom directory and point the extension to there.)
Fix: do this install during the extension build.

Yeah so all of the jars would still be jars and not be extracted. So what I am referring to is we currently bundle zip file created from running sbt universal:packageBin. I think we should actually extract that zip and bundle the folder, which has a name like daffodil-debugger-${daffodil_version}-${extension_version}. Inside of that folder it has a bin and lib folder for running the debugger and all of the jars needed, those would stay untouched.

Possibly add a flag to .vscode/launch.json something like devMode: (true/false). This will make it so in the future if we need to be able to do one thing during development and not in production. This would make it so we use one variable instead of a bunch of different one for each item that comes out.


Provide markers with the functionality to see their past markings

Is your feature request related to a problem? Please describe.
Currently, the markers cannot see content that they have marked as potentially racially biased.
Describe the solution you'd like
Provide a way for markers to see the content that they have marked as racially biased so that they can update or change what they have marked.

Hey @naagma5
Currently in the tool, the user can see content that they have already marked (these show still higlighted with the corresponding category color) and they can update and delete it. Perhaps you can be more specific about the functionality that you would like to see added.
Thanks!

Closing because the tool already does this and we don't have any more specific info about the issue.


Move "DNS with unavailable resolver" test to JUnit

Motivation and Context
The test takes 50 seconds in Travis, so I move it to JUnit.
We might want to add UI for DNSCacheManager UI: timeout and the number of retry attempts.

Codecov Report

Merging #502 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #502      +/-   ##
============================================
- Coverage     54.68%   54.67%   -0.01%
+ Complexity     9770     9766       -4
============================================
  Files          1016     1016
  Lines         62821    62821
  Branches       7085     7085
============================================
- Hits          34356    34350       -6
- Misses        26034    26039       +5
- Partials       2431     2432       +1

Impacted Files
Coverage Δ
Complexity Δ

.../jmeter/protocol/http/control/DNSCacheManager.java
72.78% <0%> (-1.9%)
36% <0%> (-2%)

...n/java/org/apache/jmeter/reporters/Summariser.java
85.49% <0%> (-0.77%)
18% <0%> (-1%)

.../jmeter/protocol/http/sampler/HTTPSamplerBase.java
70.37% <0%> (-0.26%)
217% <0%> (-1%)

Continue to review full report at Codecov.

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


Add Watcher implementations

This adds subscribe and unsubscribe methods to watch for changes to a directory. There are several backends:

FSEvents on macOS
Inotify on Linux
ReadDirectoryChangesW on Windows
watchman if available

Unlike nsfw, which starts up a thread per watched directory, fschanges starts up a single thread per backend and adds multiple watchers to it. Once all watchers have been closed, the backend thread is also closed.
Events are also denounced. Rather than spamming the JS thread when file changes come in, we queue up changes and emit them when things settle down. This is very useful for e.g. npm installs, git checkouts, or other large changes where we end up calling into JS only once with all of the events rather than separately for each one.
Another advantage to having the watchers be part of this package is that we can keep our in-memory snapshot up to date incrementally instead of potentially traversing the entire filesystem again on exit. This should make Windows and Linux a bit faster.

Running the current index.js (fschanges.subscribe) returns relative paths with watchman and absolute paths with fsevents
fschanges (watcher *)$ node index.js
[ { path: 'yarn.lock', type: 'update' } ]
[ { path: 'yarn.lock', type: 'update' } ]
[ { path: 'index.js', type: 'update' } ]
^C
(watcher *)$ node index.js
[ { path:
     '/Users/niklas/.../parcel/fschanges/yarn.lock',
    type: 'update' } ]

yeah I was planning on writing some tests to ensure consistency next.

🎉


plugin is not syncing highlights from all books

Hi @sinayanaik. Can you provide some more information about the issue that you are experiencing and how it can possibly be replicated?

I have annotated nearly 50 books but the plugin is only syncing 10-20 books

Some more questions to try and help me understand the issue at play if I may:

Are you syncing via Kindle online or uploading your My Clippings file?
What version of the app are you running?
If you are syncing via Kindle online, can you see all your books when you goto https://read.amazon.com?

If it's a "personal" doc or book, meaning you didn't get it from the Kindle store, there isn't an easy way to get your highlights to Obsidian. What I do is rather circuitous:

Go to the list of highlights on my iPad (or your device where the doc is).
Click on the little share icon.
Send it to email. (Make sure to have apple mail app installed and configured)
Use a nifty script to check my mail, extract the highlights html and sync it to obsidian.

Pain...

If you want to get highlights for books that you haven't purchased from Amazon (and hence won't be available via the Amazon notebook online, then the plugin allows you to upload your My Clippings file from device.
In terms of the bug that you have raised, I still don't understand how to recreate the problem.
Are you suggesting that this is an issue for books that you have purchased from Amazon and you are trying to import through the plugin?
If you can share with me some screenshots of your steps, and what you expect, that will probably help me understand the issue at play.

Can you please try v1.0.x and let me know if its fixes the issue that you were running into?


Defaults for map, foldMap, bimap, and bifoldMap

Traversable

Added mapDefault
Added foldMapDefaultT

Bitraversable

Added bimapDefault
Added bifoldMapDefaultT

I'd forgotten about this.
@paf31 / @garyb - everything look okay?

My 2¢:
I think it's cool that these instances can be written, but honestly, it's a lot of code in a core library for something which probably wouldn't be used that much, to be blunt. I would still write my Functor instances by hand, for example, just to avoid the extra indirection.
Does it make sense to put these in a library somewhere? There aren't instances, so no orphan instances to worry about.


Migrate from setuptools + setuptools_scm to hatchling + hatch-vcs

Changes proposed in this pull request:

Migrate from setuptools to hatchling
And setuptools_scm to hatch-vcs
With help from https://github.com/abravalheri/ini2toml/ and https://github.com/abravalheri/validate-pyproject/

I’m curious what you found appealing about hatchling that made it worth using over something more well known like poetry.

Does renovatebot support hatchling?

I’m curious what you found appealing about hatchling that made it worth using over something more well known like poetry.

Well first of all, I'd like to move away from setuptools which is getting a bit old (or "setuptools is a hot mess of legacy code" :). It is being modernised, but there may be some disruption in the process (e.g. https://github.com/pypa/setuptools/issues/3532).
Hatchling is standards compliant, and specifically built based on the new packaging standards for build backends (PEP 517/PEP 660) and the format for metadata declaration (PEP 621/PEP 631).
Also I haven't used Poetry much, so it doesn't gain much familiarity points.
And I've seen a lot of interest and other projects moving over, here's a few: https://hatch.pypa.io/latest/users/ (It's also the default option in this PyPA tutorial https://packaging.python.org/en/latest/tutorials/packaging-projects/.)

Does renovatebot support hatchling?

No, renovatebot doesn't support PEP 621 / hatchling: https://github.com/renovatebot/renovate/issues/10187 But it doesn't matter as we're not pinning any dependencies there (as libraries shouldn't). We're only using it for GitHub Actions.

Any update on this?

@djmattyg007 Do you have any further questions or concerns?

Nope. I was just curious.

Good stuff, let's get this merged! 🚀


Use require over require_relative to avoid double-loading

Was seeing the following warnings using rbenv. Seems require_relative and require don't agree on paths of already loaded files.
/usr/local/Cellar/rbenv/0.4.0/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/matchers/matchers.rb:19: warning: already initialized constant Pact::Matchers::NO_DIFF_AT_INDEX
/usr/local/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/matchers/matchers.rb:19: warning: previous definition of NO_DIFF_AT_INDEX was here
/usr/local/Cellar/rbenv/0.4.0/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/matchers/matchers.rb:20: warning: already initialized constant Pact::Matchers::DEFAULT_OPTIONS
/usr/local/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/matchers/matchers.rb:20: warning: previous definition of DEFAULT_OPTIONS was here
/usr/local/Cellar/rbenv/0.4.0/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/matchers/matchers.rb:21: warning: already initialized constant Pact::Matchers::NO_DIFF
/usr/local/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/matchers/matchers.rb:21: warning: previous definition of NO_DIFF was here
/usr/local/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:13: warning: already initialized constant Pact::Configuration::DIFF_FORMATTERS
/usr/local/Cellar/rbenv/0.4.0/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:13: warning: previous definition of DIFF_FORMATTERS was here
/usr/local/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:26: warning: already initialized constant Pact::Configuration::DIFF_FORMATTER_REGISTRATIONS
/usr/local/Cellar/rbenv/0.4.0/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:26: warning: previous definition of DIFF_FORMATTER_REGISTRATIONS was here
/usr/local/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:31: warning: already initialized constant Pact::Configuration::DIFFERS
/usr/local/Cellar/rbenv/0.4.0/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:31: warning: previous definition of DIFFERS was here
/usr/local/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:39: warning: already initialized constant Pact::Configuration::DEFAULT_DIFFER
/usr/local/Cellar/rbenv/0.4.0/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pact-support-0.4.0/lib/pact/configuration.rb:39: warning: previous definition of DEFAULT_DIFFER was here

Thanks. I prefer require to require_relative anyway.

Thank for the quick merge. Any chance of a point release?

Done.

Many thanks.


'@repo/eslint-config@*' is not in npm registry

Verify canary release

[X] I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue
npm install --prefix=apps/web
What package manager are you using / does the bug impact?
npm
What operating system are you using?
Windows
Which canary version will you have in your reproduction?
1.1.7
Describe the Bug
I was trying to install any random package in my turborepo's web directory. The default devDepencies contain :  "@repo/eslint-config": "*", Which couldn't be fetched from the npm registry and showed this error.
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@repo%2feslint-config - Not found
npm ERR! 404
npm ERR! 404  '@repo/eslint-config@*' is not in this registry.

Expected Behavior
While installing anything in the web workspace it was suppose to install all the existing dependencies and the package itself only if it was present in the npm registry.
To Reproduce

`npm --prefix=apps/web install socket.io-client `
This reproduces the error.
Additional context
No response

This won't be a Turborepo issue. 😄
I can do see the same error message, however! Looking through the documentation for the npm CLI, I don't see anything for a --prefix flag. 🤔 Possible that it's out of date (or could you point me to it if I just haven't found it)?
Either way, I think the command you might be wanting is npm install socket.io-client -w web.

@lifeofsoumya where did you deploy to?
This flag was suddenly in my build settings on vercel: {project}/settings/general and I had failing builds with: Running "install" command: npm install --prefix=../.....

added my imported packages to transpilePackages: https://stackoverflow.com/a/77686714
did some clicks in the ui and removed the prefilled command in the npm field: npm install --prefix=../.....

i was using --workspace=web and it's shorthand -w web and getting the same error. realized that it's because the workspace name in my package.json for my web folder was frontend instead of web


API is returning a 500 when user is un-authenticated instead of a 401.

tested with http://localhost:4200/api/v1/auth/workspaces
I am assuming that all APIs follow the same pattern using the middleware setup.
In addition, APIs should be checked to determine:

if save /post return a 201
if valid users without permissions on a resource return a 403
any other response codes per the /api-docs

Complete - verified.


Add Changes template to Individual Storage.

Adding Change Analysis (preview) to usage docs and add a new template for Individual Storage using Change Analysis.
Changes workbook template

PR Checklist

[x] Explain your changes, so people looking at the PR know what and why, the code changes are the how.
[x] if updating templates, it is helpful to post a screenshot of what the changes look like.
[x] if updating templates, ensure that your parameters and steps have meaningful names.
[x] if adding new templates, or changing items in a gallery, it's helpful to post a screenshot of what the gallery looks like now

Marking as draft until portal changes are in. ETA end of May.

sent a suggestion about adding a generic details link so people can see the details of the changes through IM.
also suggesting for now that the changes template be added by itself standalone until we can discuss the cloud scenarios.

Thanks, John. I've made the template standalone. For the linking, I think the series setting won't be compatible with the improved automatic settings, so I'll address linking via code instead of the template.


Passwords not masked in terminal

Hi all,
I am pulling from docker and running eos:v1.4.2
docker run --rm --name eosio -d -v ~/eosio-wallet:/root/eosio-wallet eosio/eos:v1.4.2 /bin/bash -c 'keosd'
I am then aliasing cleos using the following command.
alias cleos='docker exec -i eosio /opt/eosio/bin/cleos --wallet-url unix:///root/eosio-wallet/keosd.sock -u https://api.eosnewyork.io:443'
Whenever I create a wallet, and then subsequently try to unlock it once it has been locked - it correctly prompts for my wallet password. When entering this password in my terminal it appears in plain text and is not masked like it usually should be when entering passwords in the terminal.
Please let me know if there is anything else needed thanks :)

Use -it rather than -i in the cleos alias.  See #4548.


Missing informations in Firebase

Hi,
I worked with your pluggin today and it works very well.
In order to optimize the deployment of our application, I removed "versionCode" & "versionName" from my "build.gradle" and I pass its information at compile time with the "gradle" command of Fastlane.
gradle(
        task: 'assemble',
        build_type: 'Debug',
        properties: {
            "versionCode" => ENV['VERSION_CODE'],
            "versionName" => ENV['VERSION_NAME']
         }
    )

My application compiles well but when it is deployed on Firebase App Distribution, the information is missing as you can see below.

For the first, only one information miss because i put "versionCode" back
The second one is correct because I put the information back to test.
The last one is completely broken

Is there a way to work around this problem without having to put the information back into my "build.gradle"?
My "firebase_app_distribution" script :
firebase_app_distribution(
      app: ENV['FIREBASE_ID'],
      apk_path: "app/build/outputs/apk/debug/app-debug.apk",
      testers: ENV['TESTERS']
    )

Hi @clement-petitcunot, thanks for the detailed report! This is a feature we'll consider adding down the road, but the only way to get version info currently is by having it in your build.gradle.

@clement-petitcunot I'm not sure exactly your use case, but you may be able to use https://github.com/beplus/fastlane-plugin-versioning_android to optimize your deployment instead

Hi @rebehe, thanks for your answer.
Unfortunately the plugin you sent me doesn't answer my problem. It seems that we still need "versionCode" & "versionName" in the "build.gradle" ( or in the AndroidManifest ) for Firebase take it into account ( i tried to upload APK file without your plugin and still had the problem).


Microsoft.Security/governanceRules - Incorrect Route - ruleId can't be empty Guid

Bicep version
v0.18.4
Describe the bug
I try to deploy the resource Microsoft.Security governanceRules.
Bicep docs: https://learn.microsoft.com/en-us/azure/templates/microsoft.security/governancerules?pivots=deployment-language-bicep
When I deploy, I get the following error:
"details":[{"code":"InvalidParameter","message":"Incorrect Route - ruleId can't be empty Guid"}]}}

The configuration in Bicep for this resource does not provide this parameter called ruleId.
To Reproduce
Steps to reproduce the behavior:
I use the following bicep config:
resource mediumGovRule 'Microsoft.Security/governanceRules@2022-01-01-preview' = {
  name: 'testgovRule'
  properties: {
    conditionSets: [
      {
        property: '$.Metadata.Severity'
        value: 'Medium'
        operator: 'Equals'
      }
    ]
    displayName: 'Medium sec recomm'
    governanceEmailNotification: {
      disableManagerEmailNotification: false
      disableOwnerEmailNotification: false
    }
    isGracePeriod: false
    ownerSource: {
      type: 'Manually'
      value<EMAIL_ADDRESS>    }
    remediationTimeframe: '30.00:00:00' // 30 days
    rulePriority: 101
    ruleType: 'Integrated'
    sourceResourceType: 'Assessments'
  }
}

Additional context
Add any other context about the problem here.
When I look at the Azure REST API to create this resource I can see that ruleId is a required parameter.
URL REST API create method: https://learn.microsoft.com/en-us/rest/api/defenderforcloud/governance-rules/create-or-update?tabs=HTTP#uri-parameters
This ruleId is a GUID which should get auto-generated as part of the Bicep config for this resource.

According to the resource provider's doc, the ruleId URI parameter must be a GUID, which is actually the name property of the Bicep resource, so you can fix the error by setting the name property to a GUID string. However, the resource provider should fix their error message since the value provided is not an empty GUID.

@shenglol thx for your reply.  I got this indeed fixed using the following param as name of the resource.
param highGovRoleGuid string = newGuid()


[Doc] Adaptive authentication script doc improvements

This issue is to track the doc improvements for the adaptive authentication documentation for 5.8.0 doc space.
Authenticated user of the step can be changed in the adaptive authentication.
(Introduced with https://github.com/wso2/product-is/issues/4885)
In adaptive JS API reference of the user object change the following,
user.username : (Read/Write)The user’s username.
user.tenantDomain : (Read/Write)The user’s tenant domain (only for local users; federated users will have this as carbon.super).
user.userStoreDomain : (Read/Write)The user’s user store domain (only for local users).
user.roles : (Read)List of user’s roles.
Utility function to get unique User with claim values
(Introduced with https://github.com/wso2/product-is/issues/4884, available in 5.8.0 WUM pack)
In the JS API reference of the utility function   add the getUniqueUserWithClaimValues(claimMap, tenantDomain, profile)
The utility function will search on the underlying user stores and return a unique user with the claim values. The claim map will consist of the claim and value. The function will get the 1st key from the map and get all users with the claim and add to list. Then remove the users from that list not having the other claims. So the order of the map will decide the performance of this function. The first claim in this must have a low number of users.

Parameter
Description

claimMap
A map contains the claim URI and claim value

tenantDomain
The tenant domain of the user

profile
Profile of the user. (Optional, the default value is 'default'

var claimMap = {};
claimMap[MAPPED_FEDERATED_USER_NAME_CLAIM] = federatedUserName;
claimMap[MAPPED_FEDERATED_IDP_NAME_CLAIM] = idpName;
var mappedUsername = getUniqueUserWithClaimValues(claimMap, context.tenantDomain);

Utility function to get the associated local user of a federated user
(Introduced with https://github.com/wso2/product-is/issues/3984)
In the JS API reference of the utility function   add the getAssociatedLocalUser(federatedUser)

Parameter
Description

federatedUser
The federated user object

According to this issue https://github.com/wso2/product-is/issues/11777, we are changing the method signature as

Parameter
Description

claimMap
A map contains the claim URI and claim value

context
JsAuthenticationCOntext

profile
Profile of the user. (Optional, the default value is 'default'

var claimMap = {};
claimMap[MAPPED_FEDERATED_USER_NAME_CLAIM] = federatedUserName;
claimMap[MAPPED_FEDERATED_IDP_NAME_CLAIM] = idpName;
var mappedUsername = getUniqueUserWithClaimValues(claimMap, context);

Utility function to associate a federated user with a local user
Introduced with https://github.com/wso2-extensions/identity-conditional-auth-functions/pull/44
doAssociationWithLocalUser(fedUser, localUsername, tenantDomain, userStoreDomain)

Parameter
Description

fedUser
Federated user object

localUsername
Username of the local user to be associated

tenantDomain
The tenant domain of the local user

userStoreDomain
The user store domain of the local user

The requested changes are updated in IS 5.8.0 docs.
https://docs.wso2.com/display/IS580/Adaptive+Authentication+JS+API+Reference

Hi Sajith,
Sure, I will update those as well. Thank You!


Arrows appear on different band section

The arrow and the words appear when the hovering on the specific part of the band even though we are on a different band section.

What browser, screen size, and OS is this? @Risath18

Chrome, 1536x864, Windows


Refactor of baseline.rs for easier next additive changes

After this PR, I plan to generate the current&baseline rustdoc from a local copy with the same method as the registry baseline. It will allow specifying features and it won't touch the project's Cargo.lock.
This PR is mostly moving functions and splitting functions into multiple smaller ones -- hopefully no existing logic has been changed. It prepares the code for the new current&baseline rustdoc generation (some new functions are created, but not implemented).

Should be ready to merge.

It's the middle of the night for @tonowak right now, so I'll publish 0.18.0-alpha without this PR for now and we can publish more alphas if needed in the future.

I just realized -- @thomaseizinger did you need me to generate prebuilt binaries? I published the pre-release version manually to avoid spamming everyone watching the repo, but that also means no prebuilt binaries since the GitHub workflow didn't run.


lesson 1 issue

I keep getting this whenever I press the people button after I deploy the code looks good. This is after coding the array where you have four buttons showing addperson, store, people and retrieve.
[call] from: 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4to: SimpleStorage.people(uint256)data: 0x9e7...00000
call to SimpleStorage.people errored: VM error: invalid opcode.
invalid opcode
The execution might have thrown.

Debug the transaction to get more information.

@Jimel-Lalla what was the resolution here?


Accelerate conda CI using mamba

/usr/share/miniconda/envs/test/lib/python3.9/site-packages/pyiron_continuum/fenics/job/generic.py in <module>
319
      8
320
      9 import fenics as FEN
321
---> 10 import mshr
322
     11 import sympy
323
     12 from pyiron_base import GenericJob, DataContainer
324

325
/usr/share/miniconda/envs/test/lib/python3.9/site-packages/mshr/__init__.py in <module>
326
     22 import dolfin
327
     23
328
---> 24 from .cpp import Circle
329
     25 from .cpp import Ellipse
330
     26 from .cpp import Rectangle
331

332
ImportError: generic_type: type "CSGGeometry" referenced unknown base type "dolfin::Variable"

@muh-hassani There seems to be an issue with the latest version of fenics.

There has been no new build for mshr and fenics on conda-forge. @jan-janssen the error is really strange. I remember that after the build 2019.1.0=*_2, this error was fixed. I will look more into this.

After pinning fenics and mshr to the latest cond-forge builds, the tests ran successfully.

@muh-hassani Thanks a lot for taking a look at this. Then I guess it is ready to be merged now.


Fix memory leak caused by using the view to post to the UI thread

Test device was a Nexus 5 with Android 6.0.1 and React Native 0.39.2. Before this change, we were leaking ~11 MB every time we unmounted the gallery view.
Before

After

Using LeakCanary:
* com.wix.RNCameraKit.gallery.GalleryView has leaked:
* GC ROOT android.os.HandlerThread.localValues
* references java.lang.ThreadLocal$Values.table
* references array java.lang.Object[].[3]
* references android.view.ViewRootImpl$RunQueue.mActions
* references java.util.ArrayList.array
* references array java.lang.Object[].[0]
* references android.view.ViewRootImpl$RunQueue$HandlerAction.action
* references com.wix.RNCameraKit.gallery.GalleryAdapter$1.this$0 (anonymous implementation of java.lang.Runnable)
* references com.wix.RNCameraKit.gallery.GalleryAdapter.mObservable
* references android.support.v7.widget.RecyclerView$AdapterDataObservable.mObservers
* references java.util.ArrayList.array
* references array java.lang.Object[].[0]
* references android.support.v7.widget.RecyclerView$RecyclerViewDataObserver.this$0
* leaks com.wix.RNCameraKit.gallery.GalleryView instance

@dvicory Thank u so much for this PR!
@yedidyak and @d4vidi can u plz go over the changes?

@gran33, @yedidyak: bump. Wondering if you guys got a chance to take a look at this.
It went through our own code review/QA if it helps: https://github.com/appfolio/react-native-camera-kit/pull/1. Though the PR doesn't necessarily reflect all that internal tracking.

Thanks! Published version 5.3.4


Use a quay.io mirror for the builder image

/retest

Turns out there is a different build in quay.io, let's try to use that one.


Improve test speed

Current stats are showing we can do a lot to improve general test execution time.

npm run test:node  3.70s user 0.59s system 89% cpu 4.784 total
node_modules/.bin/aegir-test --env node  2.47s user 0.25s system 108% cpu 2.508 total
mocha  1.16s user 0.10s system 100% cpu 1.261 total

This also means we should not suggest to use npm run, but rather provide a global command which avoids the large overhead npm run has.

Some more stats

gulp a  1.51s user 0.15s system 106% cpu 1.560 total where a is a task that is directly defined in a local gulpfile to use gulp-spawn-mocha as aegir-test does.
gulp test:node  2.78s user 0.58s system 83% cpu 3.996 total with a direct gulpfile in the project directory

First batch of changes was made, to reduce the overhead of using gulp to a minimum. Remaining tasks are

[ ] Find a convenient alternative to npm run, it is just too slow for everyday use, probably a small aegir-cli module that can be globally installed and invoke the local installation.
[ ] Add pre and post hooks for the tests, without needing to load gulp manually. They should just be part of .aegir.js

no more gulp, should be a good deal faster now

./node_modules/.bin/aegir test -t node  9.69s user 0.72s system 114% cpu 9.090 total
./node_modules/.bin/mocha  6.57s user 0.60s system 116% cpu 6.161 total

Seems like aegir still has a bit of overhead when it comes to starting and stopping compared to just running mocha directly.

Hmm... that might be due to stuff happening in the .aegir file for the specific project, assuming nothing's there, then the overhead is pretty big.

On my machine, the overhead is pretty much AEgir itself:
$ time node aegir/cli.js 2> /tmp/null
node aegir/cli.js 2> /tmp/null  2.19s user 0.11s system 107% cpu 2.145 total

Managed to remove a lot of the overhead over here by just inlining the requires: https://github.com/ipfs/aegir/pull/223
node aegir/cli.js went from taking one second to about 0.2 seconds for me with these changes.


Announcement of new core members for second semester of 2024

Core announcements: Emma (?), Severin, Tim, Wouter

What about Can, Ori, Ilan, Tim (?)

Yeap! You are right. Probably none of them has been announced. I will make a big announcement with the 2024 acquisitions 😅 But first I want to see where I stopped announcing. Horrible.


add matchTriggerWidth

Adding matchTriggerWidth to library the default is true.... I like the opposite default but we can overwrite where it does not match our purposes
http://www.ember-power-select.com/docs/api-reference
Need to get this into slate.. not sure if that uses npm-shrinkwrap or not - but its set on #master to this

lgtm merge when ready

@bstro how do we get this updated in Vishnu?
My suggestion:
Add a tag to this library and set that in Slate package.json
Release a new version of Slate


add chinese ipynb tutorial

@mzr1996 Could you please also review this PR?

I'm already reviewing, but found some problems about weight init, and it's blocked by #318 now

in MMClassification_tools_cn.py
1. I can not get the accuracy of 99.

2. In the last cell, the dict of results do not have key of 'class_scores'.

Please try again


Fix logging

@mistercrunch @svendx4f This re-enables logging. It also makes class-based loggers hierarchical. It takes the logging config from airflow.settings, and allows airflow_local_settings to override the format, the log level, and the method which does the configuration.
No unit tests; coverage may drop very slightly.

:+1:

Thanks for fixing this up.

@mistercrunch @MaximilianR Thank you for merging this

@mtustin-handy don't thank me!

Logging is still busted in master. Running airflow run doesn't create a file.

@mistercrunch When you say "create a file" what file are you expecting? Are we talking logs out of the executor?
If so, that's something we also noticed after this fix went in - the scheduler is producing logs but not the celery executors. If that's not what you mean, let me know.

The worker wasn't generating log files. Each task instance is supposed to have a log file on the worker.
This addresses it:
https://github.com/airbnb/airflow/commit/3be5e81154728a7fa2ca5c7072e3ba8b9750d9f1
The problem is around the fact that basicConfig can't be called twice, or handles need to get reset. After reading a bit about it, it seems like the current approach is bad because if someone was to import airflow from another module it would reset their handlers.
Check out the section about baseConfig, especially the line that goes "This function does nothing if the root logger already has handlers configured for it."

Good catch on the fix. I think we'll want to iterate on a slightly more elegant solution, but I'm not quite sure what that is yet.

Yeah, first we need a unit test that makes sure airflow run outputs where expected.

@mistercrunch I think that's happening because airflow is configuring logging in two places. Is that necessary?
We've iterated a lot on our logging, and ended up implementing something similar to this: http://victorlin.me/posts/2012/08/26/good-logging-practice-in-python. It now works very well, although took a while to get there. The key issues were to isolate what we wanted to change (i.e. don't touch the root logger, decide whether you want to set handlers or leave that up to the user, etc), and have a single place to set the logging config.
Over the holidays I could have a go at implementing this is airflow. @mistercrunch let me know if that would be congruent with airflow goals and whether you have any high level requirements.
One thing to note: we currently implement the logging config in a YAML file. The fileConfig (which is the format airflow's config currently uses) for logging has less functionality than the dictConfig (which can take a YAML or JSON file). But I'm not sure whether you'd want different formats for different config files.

@MaximilianR That sounds about right. It would be nice to keep it overridable in the way it is now for people who don't want to have to set up a file-based config but yes.


Integration Test - Release - 2022/04/06 02:59:43

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#pri3'

#pri2

#pri3

#assign PRMergerTest1

#assign NonAllowedUser

The following users don't have valid GitHub IDs, or are not collaborators on this repo: nonalloweduser

#reassign PRMergerTest2

#reassign NonAllowedUser

The following users don't have valid GitHub IDs, or are not collaborators on this repo: nonalloweduser

GitHub user PRMergerTest2 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#please-close

#unassign PRMergerTest1

#unassign NonAllowedUser


drop of f/s in dqn_speedup

Hi! I tried running the code and f/s dropped significantly after 10 episodes.
Yes, this is ok, as first iterations are used to populate replay buffer. Once it has enough samples, we start training, which slows down the process.


Debug Logging and Verbosity

Would be useful to have debug logging to help debug tests that fail in CI. We should also add a verbosity CLI argument to control when it is used and add it to the CI system.

I would like to contribute to this issue. Can you assign this to me?


Incorrect namespace tooltips

Using latest master with Visual Studio 2017 RC2:

It seems like the tooltip is generated by only looking at the part of the namespace after the dot, as if the text were instead namespace Data.

wow. interesting

One more example of the same issue (cursor is over Collections):

I think it's because we pass last part of long ident here https://github.com/Microsoft/visualfsharp/blob/master/vsintegration/src/FSharp.Editor/QuickInfo/QuickInfoProvider.fs#L46. We should use QuickParse.GetPartialLongNameEx (not as a replace for CommonHelpers.getSymbolAtPosition, but as an extra helper to get full long ident) https://github.com/Microsoft/visualfsharp/blob/master/vsintegration/src/FSharp.Editor/Diagnostics/SimplifyNameDiagnosticAnalyzer.fs#L60
My RC2 has expired, so I cannot do it myself.

@vasily-kirichenko do you get the same license issue when installing VS Community?  AFAIK you can install them side-by-side.  VS 2017 RC2 works on Community for me on my machine.

Fixed in https://github.com/Microsoft/visualfsharp/pull/2298


Add MySQL CheatSheet

Please assign me this task as I  am beginner in Open Source and would to contribute

Sure, You can start with it!


Failed user registration redirects to /users which isn't a valid get url

After clicking Sign up, the url changes to /users because we post to /resource. If failed, we do respond_with resource without redirecting. If refreshed, No route matches [GET] "/users" appears.
Could we have failed sign up redirect to the same page?

As far as I know, this is the default of a Rails scaffold application.
But I don't see a problem in changing this behavior.
WDYT @feliperenan @rafaelfranca?

I will be working on a PR for this issue within the next few days.

Unfortunately, redirecting to the same page here loses the "devise_error_messages!" method call in the view because the resource.errors is empty after redirect, and the devise_error_messages! call checks to see if 'resource.errors.empty?' before returning the sentence about the errors and error messages.  You can redirect to the same page and keep the error messages themselves, but it won't display the sentence/error display like it does currently through the devise_error_messages! call in the view. I can't seem to figure out a way around this. I would really like to address this and make a PR, so any help would be much appreciated!

@tegon , just making sure you see my last message on this issue. Trying to clarify how you want this issue solved exactly.

@iorme1 It's kind of a crappy hack, but you could POST to /users/sign_up instead of /users. The alternative would be to hack up the way devise/rails supports validation errors and store it in the session.

@iorme1 Sorry for taking so long, I was on vacation and didn't see this. I don't have a better solution right now, I'll have to think better about it.

I also dealing with this problem, and have a similiar one. Sorry for my little experience. I'm adding functionality to the sign_up action and I cannot do the  repond_with resource from my controller, cause it raises a NoMethodError for "users_url", but this is done without any problem by the super method.

What is the solution for this?

Sorry, I haven't take a look at this yet. This is the default behavior we get when scaffolding a Rails CRUD, so I'm not sure what path to follow here.

I had this problem when using the registrations#edit form in a custom settings view.
I ended up replacing the update path in my registrations controller with, essentially, the code from the devise repo instead of calling super.
Before:
# app/controllers/users/registrations_controller.rb

# PUT /resource
def update
  skip_authorization
  super
end

After:
# app/controllers/users/registrations_controller.rb

# PUT /resource
def update
  skip_authorization
  self.resource = resource_class.to_adapter.get!(send(:"current_#{resource_name}").to_key)
  prev_unconfirmed_email = resource.unconfirmed_email if resource.respond_to?(:unconfirmed_email)

  resource_updated = update_resource(resource, account_update_params)
  yield resource if block_given?
  if resource_updated
    set_flash_message_for_update(resource, prev_unconfirmed_email)
    bypass_sign_in resource, scope: resource_name if sign_in_after_change_password?

    respond_with resource, location: after_update_path_for(resource)
  else
    clean_up_passwords resource
    set_minimum_password_length
    # Redirect to the settings page.
    redirect_to settings_account_path
  end
end

The only changes I made were to add skip_authorization, which is a Pundit thing that's not really relevant, and changing the respond_with resource line to redirect_to settings_account_path so it would redirect to the page I wanted.
This works (better than it redirecting to /users on error, at least), but it doesn't pass the devise error messages. Any ideas on how I'd go about passing the errors to the redirect?

Hi everyone,
After giving it some thought the only way to achieve the persistence of error messages seems to be to store them in the session, cookies or some of the alike (please let me know if you have any other ideas).
I don't think the complexity of this is worth it adding to the library and since this is the default Rails' resource behavior, we'll leave as it is for now and let each application handle the way it better fits them.
Hope you understand my reasoning. Thanks.

What's the TLDR on why only registrations has this problem and not sign in and other forms? (btw I am not experiencing this on password reset, which this comment says also has the problem, I wonder if a fix was put in for that in the meantime, but not for registrations https://github.com/heartcombo/devise/issues/4573#issuecomment-445018377 )

This was all I needed to fix my problems, devise 4.8.1. Maybe I'm missing something that I'll discover later.
get '/users', to: redirect('/users/sign_up')

There are lots of solution that fix it, but don't keep the error message. Is there any update on this? My version is 4.8.1


file name contains: ChrW(-29731) HasIllegalCharacters Error

Dim file
For Each file In corlib.Directory.GetFiles(corlib.Environment.GetFolderPath(Desktop) & "\")
    Debug.Print Now, file
Next

`---------------------------
Project1
Run-time error '5':
Invalid characters in path.
OK
Hello, I tested the cause of the phenomenon
Because the file name contains: ChrW(-29731)
In Chinese characters, it is:话
For example, the file name I tested was       神话.txt
The reason for the mistake seems to have come from: Path.cls    Path.HasIllegalCharacters
Select Case PathChars(i)
Case vbQuoteChar, vbLessThanChar, vbGreaterThanChar, vbPipeChar, Is < vbSpaceChar
...
case Is < vbSpaceChar
< 32 ?
-29731 < 32
Error
but -29731 < 0
Not 0<xxx<32
Hope to be more compatible with Unicode characters, looking forward to your solution
Private Function HasIllegalCharacters(ByRef Path As String) As Boolean
Dim PathChars() As Integer
Dim i           As Long
PathChars = AllocChars(Path)
For i = 0 To Len(Path) - 1
Select Case PathChars(i)
Case vbQuoteChar, vbLessThanChar, vbGreaterThanChar, vbPipeChar, Is < vbSpaceChar
MsgBox "HasIllegalCharacters:Error:" & i & "|" & PathChars(i)
HasIllegalCharacters = True
Exit For
End Select
Next
FreeChars PathChars
End Function
Originally posted by @wq1282 in https://github.com/kellyethridge/VBCorLib/issues/52#issuecomment-692592502

OK, thank you for looking into this. This will be fixed for the upcoming release.


feat: Poseidon2 gates for Ultra arithmetisation

Add Poseidon2 gates to the UltraCircuitBuilder which now ensures that recursive verifier instantiated with the Ultra arithmetisation produce the correct number of constraints.
Tube circuit results

number of gates prior this change: 13744092
number of gates post this change: 14509027

Closes https://github.com/AztecProtocol/barretenberg/issues/1041

Benchmark results
Metrics with a significant change:

protocol_circuit_simulation_time_in_ms (private-kernel-tail-to-public): 672 (-35%)
avm_simulation_time_ms (Token:transfer_public): 20.2 (-40%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,759
1,568
716 (+2%)
774 (+1%)
775 (+1%)

proof_construction_time_sha256_30_ms
11,828 (-1%)
3,162 (-1%)
1,409
1,436 (-1%)
1,470 (+1%)

proof_construction_time_sha256_100_ms
45,149
12,063 (+1%)
5,483 (+1%)
5,719 (+6%)
5,882 (+9%)

proof_construction_time_poseidon_hash_ms
77.0 (-3%)
34.0 (-29%)
34.0
58.0 (+2%)
87.0 (-1%)

proof_construction_time_poseidon_hash_30_ms
1,525
421
202
237 (+5%)
272 (+3%)

proof_construction_time_poseidon_hash_100_ms
5,643
1,517
685 (+1%)
733 (+2%)
751 (+1%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
4,324
7,844
14,852

l1_rollup_calldata_gas
49,696
92,450
177,728

l1_rollup_execution_gas
1,383,190
2,130,912
3,958,229

l2_block_processing_time_in_ms
254
437 (-2%)
783 (-5%)

l2_block_building_time_in_ms
9,245
18,200
35,895

l2_block_rollup_simulation_time_in_ms
9,244
18,199
35,894

l2_block_public_tx_process_time_in_ms
7,795 (-1%)
16,643
34,295 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
2,919 (-1%)
3,817 (-1%)

node_database_size_in_bytes
12,648,528
16,719,952

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms
bytecode_size_in_bytes

FeeJuice:_increase_public_balance
55.8 (-3%)
8,139

FeeJuice:set_portal
11.0 (-1%)
2,362

Token:constructor
83.2 (-2%)
31,107

FPC:constructor
55.1 (-4%)
22,380

FeeJuice:mint_public
39.4 (+1%)
6,150

Token:mint_public
44.1 (+1%)
11,720

Token:assert_minter_and_mint
68.2
8,028

AuthRegistry:set_authorized
36.7 (-20%)
4,537

FPC:prepare_fee
237
8,812

Token:transfer_public
:warning: 20.2 (-40%)
47,374

FPC:pay_refund
57.0 (-8%)
12,114

Benchmarking:increment_balance
968 (-1%)
7,450

Token:_increase_public_balance
43.9 (+5%)
8,960

FPC:pay_refund_with_shielded_rebate
68.7
12,663

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.164 (+1%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
2.16 (-1%)
3.98 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.112 (-1%)
0.113 (+2%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
11.5
17.3 (-2%)
30.4 (-3%)
58.5
109 (-4%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.110
0.100 (-2%)
0.0990 (-2%)
0.101 (+1%)
0.0974 (-3%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
14.7 (+2%)
25.0 (-3%)
42.9 (-3%)
81.3 (-1%)
158 (-4%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.112 (+2%)
0.101 (-3%)
0.104 (-2%)
0.101
0.0997 (-4%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
16.3 (-1%)
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
132
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.105 (-1%)
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
64,779
668,997

Transaction size based on fee payment method
| Metric |  |
| - |  |


ONBUILD tutorial

Signed-off-by: TomSweeneyRedHat<EMAIL_ADDRESS>A new tutorial explaining the user of the ONBUILD instruction in a Dockerfile as it pertains to Buildah and how to set it via buildah config.  I'm planning to add a second example, but thought I'd get this out for an initial review.
I'll convert this to a blog in the Project Atomic site once complete and will add ascinema to it.
FYI @clcollins

OK I've picked an poked at this enough.  @rhatdan and @ipbabble PTAL

LGTM

bot, retest this please

@pixdrift @umohnani8 @ipbabble PTAL

@rh-atomic-bot r+


Redundant Language Settings in Enatega Multivendor Restaurant App (iOS)

Summary:
The Enatega Multivendor Restaurant App for iOS currently includes manual language settings within the app. However, iOS already provides default language settings at the system level.
Steps to Reproduce:
Open the Enatega Multivendor Restaurant App on an iOS device.
Navigate to the app settings.
Observe the presence of language settings.
Expected Behavior:
The Enatega Multivendor Restaurant App for iOS should rely on the default language settings at the iOS system level and not include redundant manual language settings within the app.
Actual Behavior:
The app contains language settings that can be manually adjusted, despite iOS having default language settings at the system level.
https://github.com/Ninjas-Code-official/Enatega-Multi-Vendor-Food-Delivery-System/assets/152266796/276e6eb7-1a5b-4276-93ee-bd511ec0af17

Resolved!

waiting for publish

Resolved!

waiting for publish


[Docs]:

Is there an existing issue for this?

[X] I have searched the existing issues

Documentation Link
https://docs.appsmith.com/learning-and-resources/tutorials/building-a-store-catalog-manager/creating-interactive-views
Discord/slack/intercom Link
https://github.com/appsmithorg/appsmith/issues/11403#issuecomment-1311874727
GitBook Insights searchTerms or link
N/A
Google Analytics - search terms or a link
N/A
Describe the problem
As part of the https://github.com/appsmithorg/appsmith/issues/11403, we have changed the behavior of row selection when a button inside a row is clicked. As a result, an example in the docs has become invalid. So we need to change it as well.
please refer https://github.com/appsmithorg/appsmith/issues/11403#issuecomment-1311874727
Describe the improvement
Instead of ProductsTable.selectedRow we should be using the ProductsTable.triggeredRow.
Why do you think this change is needed?
This fixes a stale example in the docs.

@sbalaji1192 - I can read column values using TableName.selectedRow. Could you please add a loom video explaining the issue?

@jnikhila Previously clicking on a button in a row used to select the corresponding row. But with the changes we did in https://github.com/appsmithorg/appsmith/issues/11403, we are not selecting the corresponding row. So in the use case mentioned in the docs (linked in the description), we're using the TableName.selectedRow to populate the form once the edit button has been clicked. This will no longer work. we should be using the TableName.triggeredRow.


Allow specific ignore during --fix

Is your feature request related to a problem? Please describe.
I tend to press "reformat" a lot out of habit and sometimes I've written a line where I create a new variable but haven't used it yet. ruff --fix removes that variable (rule F841):
x = fun()

gets turned into
fun()

Describe the solution you'd like
I would like to disable the rule responsible for this (F841), but keep it on the cli where I want to run ruff via pre-commit which should remove any unused code/variables. E.g. by running it via ruff check --fix --unfixable F841.
Describe alternatives you've considered
Not running ruff on reformat. Add another config in the project which has these rules disabled and configure this in the editor config.

Funding

You can sponsor this specific effort via a Polar.sh pledge below
We receive the pledge once the issue is completed & verified

I have a similar use case. My primary use of ruff in PyCharm is the formatter and while I have many linter options enabled in the config, I don't want them to be applied while developing. E.g. I uncomment parts of the code just as an experiment and press Ctrl+Alt+L to format the code, but I don't want ruff to remove unused imports as I will need them again in a second. When I want to remove unused imports, I use Optimize imports Ctrl+Alt+O.
My suggestion is to add another option to the plugin to allow passing any cmd line option to ruff. In my case I would put --ignore I and it would solve all my needs.


James 1616

A PR on my JSIEVE integration project with Erwan Guyomarc'h.
JAMES-1614 : It is a simple copy and paste from JSIEVE project, concerningSieveRepository interface, and from container/filesystem-api.
Note : you need to use an updated JSIEVE jar in order to build this PR.
JAMES-1616 : Update tests on SieveRepository and add some spice to it with assertj.

Related to https://github.com/apache/james-jsieve/pull/1


Added EditorConfig file

Hi! I think the editorconfig project is really interesting:
https://editorconfig.org/
So I have added it to the project, to take it effect some IDEs have it built in, others need a plugin.
Hope you find useful!
Bye!

Ok, happy to try this!


Remove or reduce information about The Way

Proposed by @sattertt.
Almost all of the info about The Way can be dropped in favor of BABS and other new tools.

This should have been closed by #80.


flutter doesn't accept android-sdk folder as android sdk location

flutter doesn't recognise my android-sdk folder. ANDROID_HOME points to the folder that contains android-sdk and i have used flutter config --android-sdk "/home/user/<location_of_android_sdk> and still it doesn't have any effect.
Logs

Logs

[user$] flutter config --android-sdk /home/user/android-sdk/

 Setting "android-sdk" value to "/home/user/android-sdk/".

 You may need to restart any open editors for them to read new settings.

[user$] ls /home/user/android-sdk/
build-tools  licenses  patcher  platform-tools  platforms  sources  tools

[user$] flutter doctor
[✓] Flutter (Channel stable, 2.0.6, on Linux, locale C)
[✗] Android toolchain - develop for Android devices
    ✗ ANDROID_HOME = /home/user/android-sdk/
      but Android SDK not found at this location.
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[✓] IntelliJ IDEA Community Edition (version 2021.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 4 categories.

For some reason, simply running "flutter run" from the project directory resolved most of the issues. It now recognises the android SDK location.
The only issue left is the android licenses.
[user$] flutter doctor -v
[✓] Flutter (Channel stable, 2.0.6, on Linux, locale C)
    • Flutter version 2.0.6 at /home/user/flutter
    • Framework revision 1d9032c7e1 (2 days ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/user/android-sdk/
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /home/user/android-sdk
    • Java binary at: /usr/bin/java
    • Java version OpenJDK Runtime Environment (build 15.0.2+7)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at /opt/idea-IC-211.7142.45
    • Flutter plugin version 55.1.5
    • Dart plugin version 211.7233

[✓] Connected device (1 available)
    • TA 1012 (mobile) • NB1GAS3862407493 • android-arm64 • Android 9 (API 28)

[user$] flutter doctor --android-licenses
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
	at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
	at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
	at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

It seems the licenses issue has no negative effect on using flutter.


[BEAM-1589]  Added @onWindowExpiration annotation.

Added @onWindowExpiration annotation for annotating a user defined method (similar to a method annotated with @onTimer), which allows user to do some work before garbage collection. For example, users can use this annotation to write a method that extracts a value saved in a state before garbage collection.
Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

retest this please

run java gradle precommit

Looked like flakes in the Dataflow service.

retest this please

run java precommit

It failed to find Guava 20.0 when shading the sketching library. Not clear what that is about. Not related but I want to confirm build is OK.

run java precommit

Ah, sorry I waited long enough that this needs a rebase to resolve the conflicts.

@huygaa11 any news on this one ?

I have been busy recently. I will pick it up in ~2 weeks.

@reuvenlax PTAL

Run Dataflow ValidatesRunner

This PR looks good to me, sorry for the delay reviewing. I'll go ahead and merge it.


RPC Commands

Hi,
Iam running qtum mainnet node.
Connecting curl rpc command for block count will not show any error but it will not return anything.

@Neoblock8 is your node fully synced with version 0.20.2? What does getblockchaininfo return?

Node is fully synced. if i check blockcount with rpc it will return nothing.
RPC command:  curl -X GET http://ip:port/getblockcount

@Neoblock8 is your node fully synced with version 0.20.2? What does getblockchaininfo return?

Node is fully synced.
Deamon command: qtumd
Cli command: qtum-cli getblockcount
RPC command: curl -X GET http://ip:port/getblockcount

Check with cli, it will return current block number. But in RPC it will return nothing.

Are other RPC commands working, do you have that setup correctly?

Connect with our  team representatives to help resolve your issue and troubleshooting .
Connect here: direct.lc.chat/14158209/
Hours of Operation
24/7 (Ready to fix issues)


Update material-bottom-tab-navigator.md

This update fixes a typo on the word 'labeled'
READ ME PLEASE

TL;DR: Make sure to add your changes to versioned docs

Thanks for opening a PR!
The docs cover several versions of react-navigation, and in some cases there are several files (for version 1, version 2 and etc.) that all describe a single page of the docs (eg. "Getting Started").
Please make sure that the edit you're making in docs/file-you-edited.md is also included in the file for the correct version, eg. /versioned_docs/version-3.x/file-you-edited.md for version 3. If such file doesn't exist, please create it. :+1:

There's no typo https://github.com/callstack/react-native-paper/blob/813cdd47a90ee3bb693c6ec143af73092cd3edae/src/components/BottomNavigation/BottomNavigationBar.tsx#L83


Support optional values

There's three things done in this commit to support optional values.
First is to also set computed on some of the optional vlaues. Setting
a field to optional and computed tells terriform that the value may come
back with a non null value after apply.
Second is to add a plan modifier that will tell terriform what the
default value will be. This is purely a visual change, it just means the
terraform plan will tell you the expected value instead of (known after
apply).
Thirdly is a bit of a special case for strings. When strings are
omitted, they are initialised to the 0 value of empty string. Terraform
does not see this as a null so it throws errors when applying. So we
adjust empty strings to null before feeding the values to terraform.

Looking good. The only thing I suggest we add is new push params coverage in the acceptance testing.

Good point, I'll do that.

Yea let's do that.


Fix #183: useGoogleLogin won't return id_token doc

This adds a line of clarifying documentation that will save lib user's time. I personally spent a while to figure out that id_token is not designed to be returned by useGoogleLogin when migrating to the "new" Google oAuth flow.
Same for other people:

#183 #175 #162 #151 #145 #130 #113 etc

Feel free to suggest a better wording or how-to.

Thanks for that,
Can we make a small modification to specify that implicit flow will return access token only
Auth code flow the only way as I can remember to get refresh token

@MomenSherif clarified, thanks.

Ah sorry I got what you mean

Actually IDK about that,
useGoogleLogin can get id_token if used in auth code flow
Demo link has examples
Maybe, will try to put full examples in README later if have time
But thanks for your suggestions

@MomenSherif examples use GoogleLogin component if you mean this:
    const user = useMemo(() => {
      if (!credentialResponse?.credential) return;
      return jwtDecode(credentialResponse.credential);
    }, [credentialResponse]);

    return (
      // ...
        <GoogleLogin
          onSuccess={credentialResponse => { // is JWT
            setCredentialResponse(credentialResponse);
          }}
          onError={() => {
            console.log('Login Failed');
          }}
        />
      // ...
    )

Like these
https://react-oauth.vercel.app/

Yes this is the demo app I'm talking about. It uses another component to get id_token. It's not possible with the hook as per current source code.

After exchanging the code with your backend you will get 3 tokens
id, refresh and access

@MomenSherif once again, I don't think you realise the scale of the problem.

https://github.com/MomenSherif/react-oauth/issues/183 https://github.com/MomenSherif/react-oauth/issues/175 https://github.com/MomenSherif/react-oauth/issues/162 https://github.com/MomenSherif/react-oauth/issues/151 https://github.com/MomenSherif/react-oauth/issues/145 https://github.com/MomenSherif/react-oauth/issues/130 https://github.com/MomenSherif/react-oauth/issues/113 etc

People like me come from the "old good" version of libraries like react-google-login, where the very similar lib returned just ID token. And then they try to apply your library, which conceptually doesn't work like that.
This should be clarified in docs to avoid hundreds of hours of debugging and search burned.

Updated the README demo section to
Demo & How to use to fetch user details
Demo has some comparisons and what you can expect  from google to return in each way

Now I see, thanks! Anyways I think additional readme there won't harm.


[type:fix] fix admin: show the dictCode

Fixes #5373
Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

pls check ci

I think you should update shenyu-dashboard

shenyu-dashboard is updated,you can see it.

LGTM


[Bug Report] - My Profile>Documents: Document type displayed is not user friendly

Describe the bug:
The document 'Type' is being displayed in desktop view as the variable, so Bank Statement is being shown as 'bankStatement'.
Expected behavior:
The table holding the list of documents should show the type in a user friendly way.
Actual Behavior:
The type column is showing the key and not the value for the DOC_TYPES object (doc_types.js)
Screenshots:

To Reproduce:
Steps to reproduce the behavior:

Go to 'Profile'
Click on 'Add Document'
Choose document type, expiration date and enter description in the form inputs.
Upload file/photo
Click 'Upload'
Page updates with new document information

Desktop (please complete the following information):

OS: Mac
Browser Firefox
Version 129.0.1 (64-bit)

Possible Fix:
Display the value instead of the key of the doc_types object.

It would also be nice to have an 'edit' option as an action, if you want to update the description or expiration date or fix an error.
It would be nice to flag docs that are expired as once the doc is uploaded it is difficult to easily see that information.

I've resolved this by consequence of working on issue #665.

"bankStatement" becomes "Bank Statement.
"passport" becomes "Passport"
"driversLicense" becomes "Driver's License"
etc

Actually, I'll mark this closed once my PR is merged since the pertinent changes won't take affect until then.

Yes, as a rule we should not be marking issues as completed if the code is still in review and not yet merged. Tying an issue to a pull request should automatically close it upon completion.


Performance: Wasm should be emit instead of JS

Describe the Bug
JavaScript usually has worse performance than WebAssembly, that's a given.
Yet, I'm finding, that for what I expected to emit an operation or two, whole JavaScript functions, wasm function imports, and runtime calls were being emit.
Steps to Reproduce

Create a function referencing a Rust primitive method, e.g. f64::mul_add
Compile the code with Wasm-bindgen, targetting wasm32

WebAssembly Studio link
Expected Behavior
Purely WebAssembly implementations are emit for most Rust code that doesn't manipulate JS values, the DOM, etc.
Actual Behavior
Awful code emit is across the Wasm and JS, like this:
__exports.__wbindgen_fma = function(a, b, c) { return (a * b) + c; };

and this:
(type $t0 (func (param f64 f64 f64) (result f64)))
(import "./rustc_h_br6dlz9ozo6" "__wbindgen_fma" (func $fma (type $t0)))
(func $mul_add (export "mul_add") (type $t0) (param $p0 f64) (param $p1 f64) (param $p2 f64) (result f64)
  get_local $p0
  get_local $p1
  get_local $p2
  call $fma
)

Note: even a simple function like this has the aformentioned problem:
fn const remainder(x: f64, y: f64) -> f64 {
    x % y
}

Now, I have no clue if this is the fault of Wasm-bindgen, Rustc, LLVM, etc.
The fact that a Wasm-bindgen function is emit suggests that this is related to Wasm-bindgen though.
I'm finding that optimization settings have no effect on the output.
Real bug
Most of the JavaScript implementations are probably fine (if not unexpected), but some are absolutely not replaceable, for example, Rust's f64::powf emits a call to a wrapped Math.pow, which gives entirely different results for specific values.
Run these examples in a Rust compiler and a JavaScript engine to see the differences:
Rust:
fn main() {
	let powf = f64::powf;
	let inf = f64::INFINITY;
	let nan = f64::NAN;

	println!(
		"{}\n{}\n{}\n{}\n{}",
		powf(1.0, inf),
		powf(1.0, -inf),
		powf(-1.0, inf),
		powf(-1.0, -inf),
		powf(1.0, nan)
	);
	// (1.0) across the board
}

JS:
const println = console.log;
const powf = Math.pow;
const inf = Number.POSITIVE_INFINITY;
const nan = Number.NaN;

println(
	"%O\n%O\n%O\n%O\n%O",
	powf(1.0, inf),
	powf(1.0, -inf),
	powf(-1.0, inf),
	powf(-1.0, -inf),
	powf(1.0, nan)
);

// (nan) across the board

Thanks for the report, but it looks like you're using a very old verison of the compiler perhaps? A modern Rust compiler doesn't have this same problem.


Add batteries-included extension

Description
A bookmark utility for showing the battery info for your workstation and any connected devices.
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi @vorillaz  There seems to be an extension with the same functionality in the store now

Hey @koinzhang thanks a ton for the comment.
Truth to be told, I've tweak the code from the original extension as I was trying to understand and play around with the Raycast API. Basically, trying to implement an idea that it was mentioned in this tweet. I am not sure if there is a policy about similar extensions published in Raycast or if you could suggest some features that they could differentiate this extension from the “competition”. If so, I'll happily implement them.
Thanks in advance.

It would be better to enhance the current one made by @panrafal as mentioned since there are so identical - maybe we could introduce some preferences to select if you want to show CPU, External devices, both or none?


many phone number tracking

Hi,
Learned your code and few another repositories
it is possible to track many phone numbers at the same time?
Even if they are not in contact list.
Thanks!

Hi @Alexvojander
I think it is not possible to track many phone number at the same time because we are tracking online status by web-browser and we can't open multiple person's chats at the same time. Or there is other way also that we can set the script in such a way that it will run tracking script in multiple terminal but we need to have multiple whatsapp account to open whatsapp-web in multiple browser.
Currently, there is no feature to track a person if contact is not in contact list. We can add this feature also in tracking script.
thanks :)

Hey @rpotter12 I think we can create a script to iterate through contacts and track many numbers, what do you think?

Hi, @xandao6 , this script is already exist, the key question is to track users that is not in your contact list.
Regards

Hi @Alexvojander

Hi, @xandao6 , this script is already exist, the key question is to track users that is not in your contact list.
Regards

Currently, it is not possible to track users that are not in your contact list because there is no option in whatsapp-web to open a chat by number. And we can't track without opening their chats.
I believe that there may be any alternative to track person by phone number. We need to find that.
Cheers :)

Hey @rpotter12 I think we can create a script to iterate through contacts and track many numbers, what do you think?

Hi @xandao6
I think iterating through contacts will not keep tracking any person all the time or for every second.
I think this will not be a good idea for tracking multiple users at the same time but you try your implementation and check whether it track all the persons at the same time or not. :)

Hi @Alexvojander

Hi, @xandao6 , this script is already exist, the key question is to track users that is not in your contact list.
Regards

Currently, it is not possible to track users that are not in your contact list because there is no option in whatsapp-web to open a chat by number. And we can't track without opening their chats.
I believe that there may be any alternative to track person by phone number. We need to find that.
Cheers :)

Yes there is! check this out:

You can try implementation for this :)

Soon I will!

@Alexvojander @xandao6
I was thinking about this feature #61. Let's have a discussion about this :)

What do you have in mind?

#133 We have a issue to target unsaved people.

I think we can track many phone numbers by using threads. I don't know is this a correct way or not.

Thread would be good practice and the best option, but it would also work with a loop.

The only problem is whether the status will load or not when switching between contacts, just testing to find out.

Even if we use threads when we synchronize it to wait for one contact to load and check its status, wouldnt the output would be similar to what we see in a loop?

yes, but a loop block the program


egui eframe TextEdit on mobile

Hi, thank you for creating this awesome repository. It's a lot of fun!
Is there a way to disable the following behavior?
On Mobile when the TextEdit gets focus (via touch, or click on the TextEdit area), the keyboard pops up AND the position of the Canvas is pushed up 30 to 45% leaving a gray space between the canvas and keyboard.
Am I missing something?
This can be reproduced by using this code here, a live version can be found here.
Relevant code:
eframe/src/web/text_agent.rs
            // Move up canvas so that text edit is shown at ~30% of screen height.
            // Only on touch screens, when keyboard popups.
            if let Some(latest_touch_pos) = runner.input.latest_touch_pos {
                let window_height = window.inner_height().ok()?.as_f64()? as f32;
                let current_rel = latest_touch_pos.y / window_height;

                // estimated amount of screen covered by keyboard
                let keyboard_fraction = 0.5;

                if current_rel > keyboard_fraction {
                    // below the keyboard

                    let target_rel = 0.3;

                    // Note: `delta` is negative, since we are moving the canvas UP
                    let delta = target_rel - current_rel;

                    let delta = delta.max(-keyboard_fraction); // Don't move it crazy much

                    let new_pos_percent = format!("{}%", (delta * 100.0).round());

                    canvas_style.set_property("position", "absolute").ok()?;
                    canvas_style.set_property("top", &new_pos_percent).ok()?;
                }

I am using the latest egui/eframe release: 0.19.0
Thank you in advance for investigating this.
Philipp-Sc

I updated my code to use the latest code from GitHub. The issue persists.

I added a workaround, to debug this issue, it can be reproduced using the following rev:
https://github.com/Philipp-Sc/librelearning/tree/0e7ad454f18fcf200b4a446a6b2246f6c409da56
The workaround consists of adding a CSS class with "top: 0% !important" to the canvas that enforces the position.
That fixed the problem for me.
The function to adjust the canvas position still fires, optimally in a future release it can be removed or made configurable (turn on/off).


Support Read the Docs Community & for Business

Currently, the action only supports "Read the Docs Community". To support "Read for Business" we will need to think about:

the combination of the project's slug + organization's slug
the hard coded org.readthedocs.build domain

Reference: https://github.com/readthedocs/readthedocs.org/pull/9450#discussion_r929260239

This should be done in c70557245b0ae077da1a8aeef7f259e88f2916f6 but I haven't tested it yet. It should be used as:
jobs:
  documentation-links:
    runs-on: ubuntu-latest
    steps:
      - uses: readthedocs/readthedocs-preview@main
        with:
          project-slug: "organization-project"
          platform: "business"

I tested it at https://github.com/readthedocs/sphinx-hoverxref/pull/220 and it seems it worked fine.


Issue14: Config File

This is a basic implementation, but it works.

Running with no file should work now.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #39   +/-   ##
=======================================
  Coverage   29.20%   29.20%
=======================================
  Files           4        4
  Lines         202      202
=======================================
  Hits           59       59
  Misses        133      133
  Partials       10       10

Continue to review full report at Codecov.

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


Must use import to load ES Module

Any way to use this with require instead of import?
I tried using multiple variations of require('fix-path') but it won't work.
I'm unable to use import statement outside a module as it breaks all of my require related pieces.
Thank you!

https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c


openstack-crowbar: Add ansible vars, generate and process tempest junit

This PR generates and processes crowbar tempest subunit results, collects them
as artifacts, and displays the the junit test in jenkins.
For a working job, see: https://ci.suse.de/blue/organizations/jenkins/openstack-crowbar/detail/openstack-crowbar/205/tests (this job is missing testr_crowbar.html collection, as I missed a dependency. Fixed already).
Question: does the current layout feel ok, or would you prefer for me to refactor both run-crowbar-tests.yml and ardana's run-tempest.yml playbooks, into one plus a role? or is it ok with this minimal approach? Notice that the run-crowbar-tests.yml playbook vars have been chosen to match with ardana's ones, which can be misleading.

new job with the generation and collection of testr_crowbar.html fixed at https://ci.suse.de/blue/organizations/jenkins/openstack-crowbar/detail/openstack-crowbar/210/pipeline

Just a note, for the sake of keeping complete references, that this has been attempted before with mkcloud in #2950. This PR only covers the ECP Crowbar jobs, while mkcloud still lacks this capability.

rebuilding a final job to see the html generation, as the previous one failed in cinder,
https://ci.suse.de/blue/organizations/jenkins/openstack-crowbar/detail/openstack-crowbar/214/pipeline


time limit to geo fail-over decision taken by Microsoft

Hi,
Is there a time limit before the decision is taken by Microsoft to fail-over the storage to the secondary region? In other words: is the attempt to restore the primary region time bounded after which the fail-over occurs?
"When a regional disaster affects your primary region, we will first try to restore the service in that region. Dependent upon the nature of the disaster and its impacts, in some rare occasions we may not be able to restore the primary region. At that point, we will perform a geo-failover."
Thanks,
Waheed

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

ID: d8314bbb-3e1b-7a68-dcd1-f7dfe34221a2
Version Independent ID: 5c26cb3f-ec5c-b028-f456-53998a67749e
Content: What to do in the event of an Azure Storage outage
Content Source: articles/storage/common/storage-disaster-recovery-guidance.md
Service: storage
GitHub Login: @tamram
Microsoft Alias: tamram

@waheedhussain
Thanks for the feedback! We are currently investigating and will update you shortly.

@waheedhussain interesting question, although I don't think we will have an exact answer for you here.  You might try asking your question here:
https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=windowsazuredata
If you find a good answer, please send us another issue and we will look into incorporating it into our documentation.

@waheedhussain I'm pretty sure there is no time limit.
When reading post mortems about a South Central US outage last year, the point was made that they prioritise data integrity over availability. As this page explains, failing over GRS means some data is lost. They are therefore very reluctant to do it and they will make you wait instead.
Like the text you quoted: "in some rare occasions we may not be able to restore the primary region. At that point, we will perform a geo-failover." In nearly all cases they can restore it, the equipment is not destroyed. They just need the power grid to come back online (or whatever); you just have to wait.
For example this case where there was outage for 4+ hours: https://www.reddit.com/r/AZURE/comments/8sd5z8/microsoft_azure_north_europe_is_down_for_4_hours/


Feature core wpp tracing

Convert Xusb funcs

Would be cool if you could also adapt the logging of the status variable by using the %!STATUS! placeholder. See previous commits.

Additional linefeed \n is also redundant and should be removed.


No Softmax Function in Actor Network in rl PPO demo code

In the file examples/rl/ppo_cartpole.py, line 234-235
logits = mlp(observation_input, list(hidden_sizes) + [num_actions], tf.tanh, None)
actor = keras.Model(inputs=observation_input, outputs=logits)
We can see the actor network doesn't have a output_activation function which should be Softmax function

wrong understand


JXPagingViewListViewDelegate func listScrollView() -> UIScrollView 崩溃

版本号
1.JXPagingView版本号：1.1.16
2.OC还是Swift版本：Swift
3.手机系统版本号：iOS 12.4
4.手机型号：xs Mas
5.JXCategoryView版本号: 1.3.16
JXPagingViewListViewDelegate func listScrollView() -> UIScrollView 崩溃
报错:Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value   这个错误前面还有一些约束错误
[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x2802cc550 V:|-(0)-[live.UserProfileHeaderView:0x107107c90]   (active, names: '|':UIView:0x10710d3b0 )>",
"<NSLayoutConstraint:0x2802cd450 live.UserProfileHeaderView:0x107107c90.bottom == UIView:0x10710d3b0.bottom   (active)>",
<EMAIL_ADDRESS>live.UserProfileHeaderView:0x107107c90.height == 392.0>",
"<NSLayoutConstraint:0x2802ef570 'UIView-Encapsulated-Layout-Height' UIView:0x10710d3b0.height == 400   (active)>"
)
Will attempt to recover by breaking constraint
<EMAIL_ADDRESS>live.UserProfileHeaderView:0x107107c90.height == 392.0>

 Unexpectedly found nil while implicitly unwrapping an Optional value明显是你返回了一个nil对象，你自己打上全局断点，就知道哪里有错误强解了。


Set correct parameters for missing rc_map values

This should fix what seems to be a copy-paste error

Applied, thanks!


refactor: merge worker into fresh

Questions:

[x] which responses do we set Access-Control-Allow-Origin: *? all of them?
[x] what to do with caching?
[x] What do we do with the current proxyFile function?

@ry i just committed a workaround

@crowlKats The preview deployment seems broken. Getting this error:
TypeError: Must be a file URL.     at fromFileUrl (https://deno.land/std@0.108.0/path/posix.ts:408:15)     at Function.fromRoutes (https://raw.githubusercontent.com/piscisaureus/fresh/d990a0bd6b76b2c2ec4016e9bf2584c7c5c8fe88/src/server/context.ts:120:48)     at https://raw.githubusercontent.com/denoland/dotland/a7f1cd25da1cc471cb4d54d3210e91abadc69478/main.ts:65:33

It really doesn't help that the source mapping is completely fucked up and debugging this is quite annoying as the reported lines dont make sense


feat: add command : increase/decrease heading level

Opened #6 with your commits plus some additional changes. Thank you for this @renmu123!


adjustments following the directory structure changes in lz4 r125

At Lz4 revision 125, the source files have moved into lib/ directory.

For forward compatibility, the Makefile now explicitly checks out r127 of lz4.
The original patch could not be applied due to precedent changes.
Thank you!

:+1: Thank you for the fix.


chore: update dependencies

Update dependencies

@anarion80  if there is no release created yet, we can also bump dependencies to latest one


croc-hunter-jenkinsx to 0.0.52

Promote croc-hunter-jenkinsx to version 0.0.52

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Fix AzureResourceGroupDeployment help link

Help link 404's currently, fixes link.

@mvvsubbu Done. Sorry forgot that step :)

Hey something wrong happened in recent commit see there 1334 changes. Can you revert and do only short url change.

Yes sorry I noticed that. GitKraken playing up for me.  I'll force push just the changes needed.

On 30 Jan. 2017, at 17:05, Subrahmanyam Mandavilli<EMAIL_ADDRESS>wrote:
Hey something wrong happened in recent commit see there 1334 changes. Can you revert and do only short url change.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Looks better now. Sorry for the hassle.


Sat 2

This is a pretty good start. Please see my inline comments. In addition, I noticed that the low pressure near the Bering Strait is labeled as 975 instead of 972. Also the high pressure system over Greenland isn't labeled at all in your plot. See if you can figure out why that is happening and you should be good to go.

I think the problem is only having 30 contour levels plotted on the map. The more contour levels I plot (ex. 70 rather than 30), the closer the Low and High label values get to the ones in the NCL map. When I only have 30 levels, even if I try to manually click to label the areas shown, the label value will still be off because that is the value of the closest contour.
Also, the high-pressure area over Greenland isn't labeled because when the zeroes in my function are k-means clustered, they are done so by proximity. because the High-pressure system to the left is so large, that when I increase the number of k-means clusters that system is split into two before the Greenland area is even recognized as a cluster. I added a helper function where the user can manually add high, low, and regular pressure contours.

I think the problem is only having 30 contour levels plotted on the map. The more contour levels I plot (ex. 70 rather than 30), the closer the Low and High label values get to the ones in the NCL map. When I only have 30 levels, even if I try to manually click to label the areas shown, the label value will still be off because that is the value of the closest contour.
Also, the high-pressure area over Greenland isn't labeled because when the zeroes in my function are k-means clustered, they are done so by proximity. because the High-pressure system to the left is so large, that when I increase the number of k-means clusters that system is split into two before the Greenland area is even recognized as a cluster. I added a helper function where the user can manually add high, low, and regular pressure contours.

Have you considered using your current method of finding high and low pressure values but adding text to the figure using plt.text instead of clabels? For example, by using the latitude and longitude coordinates associated with a high/low pressure area and then transforming them to the axes coordinate system via transform=ax.transAxes your label might be more accurate.
In addition, I noticed you made a commit attempting to force the high and low labels to be drawn horizontally. plt.text would allow you to do that pretty easily via the rotation kwarg.

Updated plot:

This PR cannot pass the build checks likely because scikit-learn dependency should have been added to conda_environment.yml as scikit-learn instead of sklearn.

@michaelavs would you mind reviewing this one?

@michaelavs can you review this one?

This looks great! I am approving it despite agreeing with @clyne 's inline comments. So, please address them as well as copy the latest versions of plotCLabels and plotELabels from geocat-viz repo as there was some clean-up lately on them.

Ok! I updated the helper function and made the inline comment suggestions.


[FancyZones Editor]: Text 'Templates' and 'Custom' should be defined as heading.

Microsoft PowerToys version
"0.35.0"
Running as admin

[ ] Yes

Area(s) with issue?
FancyZones Editor
Steps to reproduce
Test Environment:
OS: Windows 10 Build 21354.1
App version: 0.35.0
App name: PowerToys
Screen Reader: Narrator
Tool: Accessibility Insight for Windows
Repro Steps

Launch 'PowerToys' application.
Turn on the 'Narrator'.
Application will get open with default list item 'General' selected.
Navigate to 'FancyZones' at the left side of the pane and activate it.
Now navigate to 'Launch layout editor button and activate it.
FancyZones editor window will get open.
Turn on the scan mode of the narrator using 'Caps + Space'.
Navigate in the heading mode using  'Caps + Page up/Page down' arrow key.
Now, Press 'Caps + Right/Left arrow key' to check the headings defined on the page.
Observe the issue.

User Impact: Priority-2
If headings are not clear and descriptive, it would be difficult for screen reader dependent users to find the information they seek , and cannot understand the relationships between different parts of the content.
MAS Reference:
https://microsoft.sharepoint.com/:w:/r/sites/accessibility/_layouts/15/Doc.aspx?sourcedoc={9EBE78B9-6AEE-4CCA-908B-52A214B437A8}&file=MAS 2.4.6 – Headings and Labels.docx&wdLOR=c8BB700E9-6F3C-492A-8874-3CACAD96EEB9&action=default&mobileredirect=true&cid=5a634e83-ba04-4312-8068-478ab13e0e9a
MAS2.4.6_Custom and templates should be defined as heading.zip

✔ Expected Behavior
Text 'Templates' and 'Custom' should be defined as heading.
❌ Actual Behavior
No heading is defined on the 'FancyZones editor' window.
Other Software
No response

Related to #10830

Closing it as fixed on V 0.76.2
https://github.com/microsoft/PowerToys/assets/87321414/f4561111-1425-4088-be89-c4cfbc0dd0aa


User mode switch

Rearranged some of the pages into components and made a button the toggles between DM view and Player view for store

Doesn't currently update Playerstore from mode switch

Now that I think of it, not sure if it matters if it updates on switch depending on how we go about referring the player to another user's store


Trying to get field names from AcroForm fields

I am using a collection of different snippets scattered from around Github issues.
I have an acroForm field and when I do this:
console.log(String(field));
Output:
<
/Type /Annot
/Subtype /Widget
/Rect [ 94.6 683.968 272.85 697.969 ]
/Parent 4 0 R
/AP <<
/N 6 0 R
>>
/DA (/HelveticaLTStd-Bold 8 Tf 0 0 .49804 rg)
/F 4
/Ff 8388608
/FT /Tx
/P 1 0 R
/StructParent 1
/T (þÿ f 1 _ 0 1 [ 0 ])
/Q 0

const fieldName = field['dict'].get(PDFName.of( 'T' ))?.value
console.log(fieldName)
> "þÿ\u0000f\u00001\u0000_\u00000\u00001\u0000[\u00000\u0000]"

Why is the string not naturally decoded into UTF-8? Attempts I have made to change encoding have not been working, just wondering if I am missing something as this seems like something really basic.

I know you are asking about encoding (which I think is due to the fact that PDFs could be an image or other, and would then contain no text), however I have a snippet of code taken from examples that may give you what you are looking for:

  const pdfBuffer = fs.readFileSync(`${cwd}/pdfs/test.pdf`);
  const pdfDoc = await PDFDocument.load(pdfBuffer, {
    updateMetadata: false
  });

  const form = pdfDoc.context.lookup(
    pdfDoc.catalog.get(PDFName.of('AcroForm'))
  ) as PDFObjectType;
  if (!form) {
    throw new Error('PDF does not contain a form');
  }

  const fieldRefs = form.context.lookup(
    form.get(PDFName.of('Fields'))
  ) as PDFObjectType;
  if (!fieldRefs) {
    throw new Error('PDF form does not contain any fields');
  }

  const fields = fieldRefs.array.map((ref: any) => form.context.lookup(ref));

  fields.forEach((field: any) => {
    const name = field.get(PDFName.of('T'));
    const data = field.get(PDFName.of('V'));
    // const boolData = field.get(PDFName.of('Type'));
    if (name) {
      const keyValue = { name: name.value, data: data ? data.value : null };
      console.log(keyValue);

When I try to follow AceLondon's example, I run into the problem that the field doesn't appear have a get method.
My assumption is that you are using the acroform branch instead of the master branch. If so, may I ask how you built it or where you downloaded it from?
thank you.

Hello @coler-j @AceLondon @EricDaviesRok! pdf-lib has a new forms API that makes this much simpler. Please see the fill form example. You can find more info in the README and API docs.