Adding tooltip to links in the Mac demo app.

Platforms Impacted

[ ] iOS
[x] macOS

Description of changes
Our accessibility test team reported an issue where the Links in the demo app do not have the tooltip set.
This change makes it compliant with that requirement and add tooltip to all links in that screen.
Verification
https://user-images.githubusercontent.com/68076145/142267639-9ee4ed59-9854-4a59-84bb-53cf6fab9a88.mov
Pull request checklist
This PR has considered:

[ ] Light and Dark appearances
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)

Microsoft Reviewers: Open in CodeFlow

The fixes we're making here convince me it was good to split out such a simple component, and make me want to replace more custom links downstream. Nice :P

Oh wait, should we perhaps have Link set a default tooltip?

Oh wait, should we perhaps have Link set a default tooltip?

Thanks for pointing that out!
I have considered that too, but I don't think the tooltip should be enabled by default (and that would potentially break scenarios where the Link is already used).
That was the main reason why we're treating this as a demo app accessibility bug and fixing the issue in the client app side instead of the library side.


Add some additional lints

Migrated a few deprecated analyzer apis. Handle dependencies for constructor tearoffs and assignment of ref to objects using cascades.
Still not handling escape of ref via functions. Will work on that next.

Nice! The CI seem to be failing though

I've added hot-reload support to the linter for local testing / debugging, a lot easier than using the custom_lint.log file & exceptions / print statements, because you can use breakpoints and the debugger. Happy to contribute that to custom_lint, but a little more generalized. WDYT?

Sure. Although I honestly don't quite understand what you meant

This is the relevant code and generalization to support fast debugging
for any custom lint plugin.
https://github.com/invertase/dart_custom_lint/pull/26#issue-1345394190

Let's squash and merge this. I'm continuing work on it, but I want to let others contribute, and this is in a good state as it is. The build is failing for the same reason the build is failing on the master branch.


Export Test Results and Risk Assessment files to S3

https://trello.com/c/6uXaHGwX/1132-spike-access-to-risk-assessment-and-test-result-documents
Description

Exports Test Result and Risk Assessment user uploads
Uses an S3 batch operation to copy the relevant files to an S3 bucket

Checklist:

[ ] Have you documented your changes in the pull request description?
[ ] Does the change present any security considerations?
[ ] Is any gem functionality overloaded? Eg: Devise controller methods being overloaded.
[ ] Has acceptance criteria been tested by a peer?
[ ] Has the CHANGELOG been updated? (If change is worth telling users about.)

General testing (author)

[ ] Test without JavaScript
[ ] Test on small screen

Accessibility testing (author)

[ ] Works keyboard only
[ ] Tested with one screen reader
[ ] Zoom page to 400% - content still visible
[ ] Disable CSS - does content make sense and appear in a logical order?

Please could you document the Rake task in /doc/tasks.md.


[plplot] fix static build issue

Changes:

Merge content in 001*.patch and 005*patch
Fix static build issue error LNK2019: unresolved external symbol, related issue https://github.com/microsoft/vcpkg/issues/8751.

Which triplet does this fix?

@ras0219-msft, it fix plplot[wxwidgets]:x64-windows-static build issue.

/azp run

/azp run


[SCIM - POC]: OAuth2 Server PoC

Pick this up once the Architecture is finalised

[x] Research pm OAuth0
[ ] Actual PoC

Reviewed multiple IdPs, and we had the following observation about the Authentication.

Okta

Basic Auth
Bearer Token
OAuth2

AD

Secret Token

Ping Identity

None
Basic Auth

Auth Type Headers -> Basic / Bearer / Oauth Client Credentials / Custom

OAuth2 Bearer Token

Auth Type Headers -> Basic / Bearer / OAuth Client Credentials / Custom

OAuth2 Client Credentials

Hence, we are going forward with the Token based authentication for the SCIM.


How to override authentication identity expiration?

I would like to set the authentication expiration to 15 minutes instead of the 1 hour default. I have tried using this:
    let authProps = new Microsoft.AspNetCore.Authentication.AuthenticationProperties()
    authProps.ExpiresUtc <- new System.Nullable<System.DateTimeOffset>(System.DateTimeOffset.UtcNow.AddMinutes(15.0))
    authProps.IsPersistent <- true
    signInManger.SignInAsync(user, authProps)

But when a user signs in like that they can't change their email. When I try to send a confirmation token I get this error:
[Failed to get the Cognito User attribute verification code : 1 validation error detected: Value at 'accessToken' failed to satisfy constraint: Member must not be null]
I also am setting CookieAuthenticationOptions in startup like this, but the ExpireTimeSpan doesnt appear to be respected:
let authOptions (opts:CookieAuthenticationOptions) =
    opts.Cookie.HttpOnly <- true
    opts.ExpireTimeSpan <- TimeSpan.FromMinutes(30.0)
    opts.LoginPath <- new PathString("/")
    opts.LogoutPath <- new PathString("/signout")
    opts.AccessDeniedPath <- new PathString("/unauthorized")
    opts.SlidingExpiration <- true
    opts.Cookie.SecurePolicy <- CookieSecurePolicy.Always
    opts.Cookie.SameSite <- SameSiteMode.Strict

Package versions
Amazon.AspNetCore.Identity.Cognito (1.0.5)
      Amazon.Extensions.CognitoAuthentication (>= 1.0.3)
      AWSSDK.CognitoIdentity (>= 3.3.100 < 4.0)
      AWSSDK.CognitoIdentityProvider (>= 3.3.100 < 4.0)
      AWSSDK.Extensions.NETCore.Setup (>= <IP_ADDRESS> < 4.0)
      Microsoft.AspNetCore.Identity (>= 2.1.6) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp3.0)) (== netstandard2.0)
      Microsoft.Extensions.DependencyInjection (>= 2.1.1) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp3.0)) (== netstandard2.0)
      Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 5.4)
    Amazon.Extensions.CognitoAuthentication (1.0.4)
      AWSSDK.CognitoIdentity (>= 3.3.100 < 4.0)
      AWSSDK.CognitoIdentityProvider (>= 3.3.100 < 4.0)

This is a :question: general question

Related issue
https://github.com/aws/aws-aspnet-cognito-identity-provider/issues/50

Hi @MarneeDear,
I'm not sure if this helps, but as per Microsoft documentation for SlidingExpiration, when it is set to true, it instructs the middleware to re-issue a new cookie with a new expiration time any time it processes a request which is more than halfway through the expiration window. Not sure if this is causing the ExpireTimeSpan not to be respected.
Thanks,
Ashish

Thank you.
I do have sliding expiration set to true. I do want it to be true because I only want the auth cookies to invalidate after 15 minutes of idle.
My steps are like this:

sign on
Wait 20 minutes
Auth cookies are considered valid and I am not redirected to the sign on page

I will try with sliding expiration set to false and see what happens


Automated cherry pick of #4263: update enterprise trial url

Cherry pick of #4263 on release-v3.12.
#4263: update enterprise trial url

/merge-when-ready delete-branch

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and delete the branch after I've merged it.

I'm sorry but I failed delete the branch after merging the pull request.


feat: maintain 1.19.4

until 1.21 is released and always support one older version

i like this idea


I have put the wvd file in the directory. Or prompt an error?

I have put the wvd file in the directory. Or prompt an error?
please help，thx

Traceback (most recent call last):
File "C:\Python398\lib\runpy.py", line 197, in _run_module_as_main
return run_code(code, main_globals, None,
File "C:\Python398\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Python398\Scripts\gamdl.exe_main.py", line 7, in
File "C:\Python398\lib\site-packages\gamdl_init.py", line 101, in main
dl = Gamdl(
File "C:\Python398\lib\site-packages\gamdl\gamdl.py", line 32, in init
raise Exception('.wvd file not found')
Exception: .wvd file not found

You don't seem to be running gamdl on the same directory where the .wvd is.


Base load and base load EDSN revised.

An issue to make it stable again. Because that would be awesome.

[ Placeholder ]

Closing this. I know why I created this issue but this is already resolved.


Use sqlx and actix-web get in trouble!

I really don't know how to do.
Below is the rust code
use crate::model::User;
use actix_web::get;
use actix_web::{web, Error};
use sqlx::mysql::MySqlPool;

#[get("/user/{user_id}")]
pub fn get_user(db_pool: web::Data<MySqlPool>, user_id: web::Path<i32>) -> Result<User, Error> {
    find_by_id(1, db_pool.get_ref())
}

pub async fn find_by_id(id: i32, pool: &MySqlPool) -> Result<User, Error> {
    let rec = sqlx::query!("SELECT * FROM users WHERE pk_id = ?", id)
        .fetch_one(pool)
        .await?;
    Ok(rec)
}

Here is toml config
[dependencies]
dotenv = "0.9.0"
chrono = {version = "0.4.11", features = ["serde"]}

# actix
actix-web = "2"
actix-rt = "1.1.0"
futures = "0.3.4"

# diesel
sqlx = { version = "0.3", default-features = false, features = ["mysql","chrono","runtime-tokio","macros"] }

# serde
serde = "1.0.106"
serde_derive = "1.0.106"
serde_json = "1.0.51"

# log
env_logger = "0.7"

The error
error[E0277]: the trait bound `sqlx_core::error::Error: actix_http::error::ResponseError` is not satisfied
  --> src/handler/user_hdl.rs:14:15
   |
14 |         .await?;
   |               ^ the trait `actix_http::error::ResponseError` is not implemented for `sqlx_core::error::Error`
   |
   = note: required because of the requirements on the impl of `std::convert::From<sqlx_core::error::Error>` for `actix_http::error::Error`
   = note: required by `std::convert::From::from`

error[E0308]: mismatched types
  --> src/handler/user_hdl.rs:15:8
   |
15 |     Ok(rec)
   |        ^^^ expected struct `model::User`, found struct `handler::user_hdl::find_by_id::{{closure}}#0::Record`

error: aborting due to 2 previous errors

The issue is that your find_by_id action expect Result<User, Error> where Error is  actix_web::Error and sqlx::query!("...", id).fetch_one(pool).await?; could raise one error sqlx_core::error::Error which is not same type like actix_web::Error. You need to convert it or solve it other way.
You can find one example (with PostgreSQL, but that really doesn't make a difference in this case) here sqlx_todo. I hope that this could help

Got it,maybe I can use a match pattern to solve this problem.
Like
match something{
    Ok(u) => Ok(u),
    Err(_) => Err(Error),
}

Thank you so much, I will close the issues now


[WIP] YAML Conversion

Work in Progress, do not merge.
This update will do the following

[x] Covert Template to YAML
[x] Add Creation of RDS Postgres DB

[x] w/ Option to clone from existing RDS DB

[x] Add Creation of Elasticsearch Domain

[x] Upgrades ES Setup from 1.5 to 2.3
Requires install of es-auth-proxy to Authenticate request to ES via IAM Profile credentials. See here why this is required.
[x] Setup NGINX Proxy with EIP to Whitelist in ES Access Policy

[x] Remove the need for the cookbook for configuration
[x] Correct NewRelic Install and Config
[x] Add more log collectors for Sumologic
[x] Removes tons of Params that weren't needed
[x] Add significant amount of comments and in-line documentation (THANKS YAML!)
[x] Add the option to Pick Chef Server, Manage, and Reporting versions to install (that support this setup)
[x] Add option to set a git branch for testing newrelic/sumo scripts
[x] Test Backup/Restore Options

[x] Document How to Do both

[x] Test Upgrade Options

[x] Document How To or Workaround in place to support them

Retro: Validated, Discussed, and agree to merge.

dangit, need to mergen


Proxy management

Hello,
When i use your provider to configure ldap and create project on local harbor, everything is ok. The same code in a remote harbor (behind proxy) not working. Creation loop until time out
Proxy configuration must be managed in your provider
Thx

Proxy environment variables are not set only in insecure mode.


!HERE'S WAY TO WATCH France vs Japan LIVE FREE STREAMS ON TV CHANNEL 09 November 2024

France v Japan: How to watch, live stream, TV channel, kick-off time and head-to-head stats
Italy begin a triple-header of Autumn Internationals with the visit of Argentina in Udine on Saturday.
🔴LIVE ▶👉 France vs Japan LIVE STREAM
🔴📺STREAMING==►►📲👉 France vs Japan LIVE STREAM FREE
Live streaming of France v Japan will also be available to watch via Discovery+. Subscription fees may apply for France v Japan live streaming.
France v Japan kick-off time, date and venue
France v Japan will be played at the Stadio Friuli in Udine, Italy and kick-off is at 17:40 GMT on Saturday 9th November 2024.
France v Japan stats and head-to-head record (H2H)
Winning two matches in the 2024 Six Nations, Italy have maintained their positive trajectory with victories over Tonga and Japan in their last two outings.
Argentina proved no pushovers in the 2024 Rugby Championship and ended the competition by claiming victories over all three opponents in New Zealand, Australia and South Africa.
Argentina have enjoyed plenty of success in this matchup and have won the previous eight clashes between the two nations
France v Japan head-to-head record (H2H)
Italy wins
Watch France v Japan FOR FREE in France
It’s good news if you live en France because Les Bleus’ Autumn Nations Series matches are available FOR FREE on TF1 and streaming service TF1+. France v Japan kicks off at 9.10pm CET.
Live stream France v Japan in New Zealand
In New Zealand, subscription service Sky Sport NZ is your destination for a France v Japan live stream. A pass for the Sky Sport Now streaming service costs $29.99 per week, and you can also watch the game on Sky Sport 1.
Kick-off time is 9.10am NZDT this morning.
Watch a France v Japan live stream in South Africa
You need a subscription to SuperSport to watch the match in South Africa. Kick-off is at 10.10pm SAST tonight.
There are various SuperSport packages available, whether you want to watch via DStv or stream. egh

ygjhyt

💻Best RUGBY Streams for PC/MAC 1080p/720p 👇👇
🔴Full HD:🏉 Today Rugby Live Streams For fRee
📲Mobile friendly 1080p/720p 👇👇
🔴Mobile Free:🏉 https://tinyurl.com/Today-Rugby-Live
🏉England vs Australia Live Streams For fRee
🏉USA vs Portugal Live Streams For fRee
🏉Italy vs Argentina Live Streams For fRee
🏉France vs Japan Live Streams For fRee
💻Best RUGBY Streams for PC/MAC 1080p/720p 👇👇
🔴Full HD:🏉 Today Rugby Live Streams For fRee
📲Mobile friendly 1080p/720p 👇👇
🔴Mobile Free:🏉 https://tinyurl.com/Today-Rugby-Live
🏉England vs Australia Live Streams For fRee
🏉USA vs Portugal Live Streams For fRee
🏉Italy vs Argentina Live Streams For fRee
🏉France vs Japan Live Streams For fRee
💻Best RUGBY Streams for PC/MAC 1080p/720p 👇👇
🔴Full HD:🏉 Today Rugby Live Streams For fRee
📲Mobile friendly 1080p/720p 👇👇
🔴Mobile Free:🏉 https://tinyurl.com/Today-Rugby-Live
🏉England vs Australia Live Streams For fRee
🏉USA vs Portugal Live Streams For fRee
🏉Italy vs Argentina Live Streams For fRee
🏉France vs Japan Live Streams For fRee
💻Best RUGBY Streams for PC/MAC 1080p/720p 👇👇
🔴Full HD:🏉 Today Rugby Live Streams For fRee
📲Mobile friendly 1080p/720p 👇👇
🔴Mobile Free:🏉 https://tinyurl.com/Today-Rugby-Live
🏉England vs Australia Live Streams For fRee
🏉USA vs Portugal Live Streams For fRee
🏉Italy vs Argentina Live Streams For fRee
🏉France vs Japan Live Streams For fRee
💻Best RUGBY Streams for PC/MAC 1080p/720p 👇👇
🔴Full HD:🏉 Today Rugby Live Streams For fRee
📲Mobile friendly 1080p/720p 👇👇
🔴Mobile Free:🏉 https://tinyurl.com/Today-Rugby-Live
🏉England vs Australia Live Streams For fRee
🏉USA vs Portugal Live Streams For fRee
🏉Italy vs Argentina Live Streams For fRee
🏉France vs Japan Live Streams For fRee
💻Best RUGBY Streams for PC/MAC 1080p/720p 👇👇
🔴Full HD:🏉 Today Rugby Live Streams For fRee
📲Mobile friendly 1080p/720p 👇👇
🔴Mobile Free:🏉 https://tinyurl.com/Today-Rugby-Live
🏉England vs Australia Live Streams For fRee
🏉USA vs Portugal Live Streams For fRee
🏉Italy vs Argentina Live Streams For fRee
🏉France vs Japan Live Streams For fRee
💻Best RUGBY Streams for PC/MAC 1080p/720p 👇👇
🔴Full HD:🏉 Today Rugby Live Streams For fRee
📲Mobile friendly 1080p/720p 👇👇
🔴Mobile Free:🏉 https://tinyurl.com/Today-Rugby-Live
🏉England vs Australia Live Streams For fRee
🏉USA vs Portugal Live Streams For fRee
🏉Italy vs Argentina Live Streams For fRee
🏉France vs Japan Live Streams For fRee


can not find library .a file, I also pod the two file in the Podefile. the ,a file is not exist

ld: library not found for -lSTPopup

@zkf63858 Did you open the .workspace file after pod install?

Yes,libSTPopup.a and libSTPopupPreview.a not exist.
发自我的 iPhone

在 2016年6月7日，11:49，Kevin Lin<EMAIL_ADDRESS>写道：
@zkf63858 Did you open the .workspace file after pod install?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Target 'Pods-LawChat' of project 'Pods' was rejected as an implicit dependency for 'libPods-LawChat.a' because its architectures 'x86_64' didn't contain all required architectures 'i386 x86_64'
ld: warning: directory not found for option '-L/Users/lielvwang/Library/Developer/Xcode/DerivedData/LawChat-ehujirtoevlsvucyaqwslijfnqob/Build/Products/Debug-iphonesimulator/STPopup'
ld: warning: directory not found for option '-L/Users/lielvwang/Library/Developer/Xcode/DerivedData/LawChat-ehujirtoevlsvucyaqwslijfnqob/Build/Products/Debug-iphonesimulator/STPopupPreview'
ld: warning: directory not found for option '-L/Users/lielvwang/Documents/sys/LawChat/build/Debug-iphoneos/STPopup'
ld: warning: directory not found for option '-L/Users/lielvwang/Documents/sys/LawChat/build/Debug-iphoneos/STPopupPreview'
ld: warning: directory not found for option '-L/Users/lielvwang/Documents/sys/LawChat/build/Debug-iphoneos'
ld: warning: directory not found for option '-F/Users/lielvwang/Documents/sys/LawChat/LawChat/LawChat/3th/STPopup'
ld: library not found for -lSTPopup
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@zkf63858 can you try to remove Podfile.lock and re-run pod install.


2 add if else statement

added if else statement
parsing structure
if  <Expression>  {
<CompositeStatement1>
} else {
<CompositeStatement2>
}

evalution logic
when Expression return true
evaluate CompositeStatement1
else
evaluate CompositeStatement2

Is there any way to add integration tests to mimic real-world scenario of parsing code by reading the file directly instead of passing the input as string always?

Is there any way to add integration tests to mimic real-world scenario of parsing code by reading the file directly instead of passing the input as string always?

yes let's add it in Issue tracker.


Checks for duplicate fields

Changed the checks for checking duplicate fields for a Profile.

Duplicate emails are not allowed
Names are case insensitive (e.g. John doe is the same as JOHN DOE`)

So currently, name and email cannot be the same but phone can still be duplicated. I think maybe we should just disallow any duplicate fields (including telegram handle) except tags but not sure what y'all think?
Test cases

Updated test case for both name and email
Split the duplicate profile checks into two separate checks (Name and Email duplicates are checked separately). Not sure if this is okay? The alternative I guess will be to have the similar profile fields check as a function and all the individual assert statements for email / name under that function.

Codecov Report
Base: 72.10% // Head: 72.50% // Increases project coverage by +0.40% :tada:

Coverage data is based on head (b77b3d9) compared to base (e328a67).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head b77b3d9 differs from pull request most recent head 77b3961. Consider uploading reports for the commit 77b3961 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #75      +/-   ##
============================================
+ Coverage     72.10%   72.50%   +0.40%
- Complexity      404      419      +15
============================================
  Files            72       72
  Lines          1237     1255      +18
  Branches        126      133       +7
============================================
+ Hits            892      910      +18
  Misses          312      312
  Partials         33       33

Impacted Files
Coverage Δ

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...el/profile/exceptions/SimilarProfileException.java
100.00% <ø> (ø)

...ress/logic/commands/profile/AddProfileCommand.java
100.00% <100.00%> (ø)

...ess/logic/commands/profile/EditProfileCommand.java
96.82% <100.00%> (+0.10%)
:arrow_up:

src/main/java/seedu/address/model/AddressBook.java
92.30% <100.00%> (+0.64%)
:arrow_up:

...rc/main/java/seedu/address/model/ModelManager.java
100.00% <100.00%> (ø)

...rc/main/java/seedu/address/model/profile/Name.java
80.00% <100.00%> (ø)

...main/java/seedu/address/model/profile/Profile.java
97.61% <100.00%> (+0.25%)
:arrow_up:

...seedu/address/model/profile/UniqueProfileList.java
93.33% <100.00%> (+0.65%)
:arrow_up:

...u/address/storage/JsonSerializableAddressBook.java
100.00% <100.00%> (ø)

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

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


Add translations

https://dotd.idrinth.de/static/userscript-translation/[Language Code]/[branch]/ is now avaible,
The branch is optional and will default to master, while the language code will default to en.

sorry for being a bit unclear. The place to request the translations is mentioned above, you would need to make the start function is both called and work.
https://github.com/IDotD/Userscript/blob/master/src/mods/text.js#L12


Test postrouting

Test for moving ACLs to post routing table.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "postrouting",
    "component": "enforcerd",
    "pr-id": "846",
    "commit-sha": "39fcee2612f0bb4b69edb0b6124cbe8aa062e9f6"
  },
  {
    "project": "postrouting",
    "component": "trireme-lib",
    "pr-id": "644",
    "commit-sha": "8905462d5c49ee0a5669253ebf63a7e8c9f1e055"
  }
]


Example for phi2?

Could you please release the example script for Phi-2? Thanks.

It's similar to llama or mistral / llama. Just use  the function modify_method_of_instance (in modify_utils.py) to replace the forward method of Phi-2's attention to self-extend.

Thank you for reply. I did so and I got answer like this:

Thanks for the feedback!
As we commented on the patch for phi-2 on 4.37
"# transfromers version 4.37 (a furture version)
Should work for 'microsoft/phi-2', a offical hf version of microsfot/phi-2, check the detail in Huggingface Hub.
It's dfferent from the previous version for 'susnato/phi-2', which is the default version in transformers 4.36.2 !
Haven't done comprehensive test, but it should work."
It may have some bugs. Will check it once I'm back from the spring break.

Thank you for the reply. I am using phi_self_extend_patch_4_37.py in transformers 4.37.1, and I got answer like this:  Tried a few parameters: group_size_1=4, group_size_2=1024 group_size_1=4, group_size_2=512

Hi, we found that Phi-2 it-self cannot do passkey retrieval well 🤣. Without SelfExtend, you may try to ask the vanilla Phi-2 to do a 1.5k passkey retrieval and it will fail like the example you provided.
SelfExtend just elicits a LLM's long capabilities and does not equip it with any new capability. This means, if the model cannot finish a task well within its own pretraining window, it cannot do it on longer contexts with SelfExtend.
With the existing patch for Phi-2, on other tasks, such as 'Needle in the haystack', SelfExtend works well. Have a try!

Thank you for the reply. I am using phi_self_extend_patch_4_37.py in transformers 4.37.1, and I got answer like this:  Tried a few parameters: group_size_1=4, group_size_2=1024 group_size_1=4, group_size_2=512

Hi,  I happened to test Phi-2 with 4.36.2 today. It seems that Phi-2 itself can do passkey with this version, while it cannot with transformers == 4.38.2. You may consider this.

Thank you for the reply. I am using phi_self_extend_patch_4_37.py in transformers 4.37.1, and I got answer like this:  Tried a few parameters: group_size_1=4, group_size_2=1024 group_size_1=4, group_size_2=512

Hi, I happened to test Phi-2 with 4.36.2 today. It seems that Phi-2 itself can do passkey with this version, while it cannot with transformers == 4.38.2. You may consider this.

This conclusion is misleading. It is one of the variants I tested works well with transformers==4.36.2.
I tested more variants of Phi-2, find that:  with transformers==4.38.2, rhysjones/phi-2-orange-v2 works well, while "microsoft/phi-2" cannot work... It's super wired, considering that passkey retrieval is very simple.
All the tested models are vanilla (without SelfExtend). All the input sequences have a length of 1.5k, which is within its context window (2k).

Thank you for the reply. I am using phi_self_extend_patch_4_37.py in transformers 4.37.1, and I got answer like this:  Tried a few parameters: group_size_1=4, group_size_2=1024 group_size_1=4, group_size_2=512

I believe this response will be the last one. I have figured out what happens. Phi-2 is sensitive to the prompt format. Different from other models, Phi-2 requires using the recommended template: "To encourage the model to write more concise answers, you can also try the following QA format using "Instruct: \nOutput:"(https://huggingface.co/microsoft/phi-2). With this template, now, with transfromers==4.38.2, Phi-2 can successfully do passkey retrieval.

@Mooler0410 @JoanZhou what is the meaning of Passkey target:? How to know the extended context length?


bump triton verion to 3.1.0

Motivation
Currently, stock PyTorch uses 3.1.0 in CI and nightly build. We have to change the version to 3.1.0 to align to stock PyTorch temporarily.
And change it back to 3.2.0 when stock PyTorch decided to uplift to 3.2.0.

@alexbaden May I know if you could help land this PR?

Seems we nee to revert this PR, since the community will land the triton version bump up PR https://github.com/pytorch/pytorch/pull/139206 soon
cc: @alexbaden @guangyey

That's up to you guys - if you want to revert, post another PR.


[FEAT] Viseron Integration

Is your feature request related to a problem? Please describe.
Not Directly, I and trying to leverage Jetson Nano Board For my NVR purposes but frigate doesn't support it.
Describe the solution you'd like
I would like to see Double-Take integration with Viseron NR ( a GUI Less NVR Implementation on various architectures)
https://github.com/roflcoopter/viseron
This integration could either be as a image source ( i.e. instead of Frigate)
Or even leverage other functionality available in viseron
Additional context
Add any other context or screenshots about the feature request here.

Developer of Viseron here, I am interested in implementing Doubletake in Viseron as a component.
All i need to be able to do that is an API which accepts JPEG images in the body, much like the DeepStack API is working.
@jakowenko Would that be possible to add? The /api/recognize/upload seems to only accept file paths as of now

+1 on this would love to see this implemented just to support an alternative NVR besides frigate


add forum to readme

We should add a link to the website too?

the massive logo is a link to the website. do we need an explicit link?

the massive logo is a link to the website. do we need an explicit link?

I meant a link to the discussion forums from the website. :) Not related to this PR though.

isnt it there already?

My bad..its there in the upper right corner. Missed it, I was looking at the four links on the main page.


How to flushAll while using a createCluster instance

Description
I'm using createCluster as a client instance to run commands like GET and SET.
const client: RedisClusterType = createCluster(options)
I want to implement a deleteAllKeys function but RedisClusterType doesn't have FLUSHALL.
async deleteAllKeys() {
    return await client.FLUSHALL();
}

The only Info I could find is here in the docs:
https://github.com/redis/node-redis/blob/HEAD/docs/clustering.md
It mentions getSlotMaster() but no explanation on how to use it.
Also the code says it's deprecated and we should use slots() instead, which I couldn't find docs for.
Any idea on how I can approach this?

Until #2431 will be implemented, you can use this to run FLUSHALL on all masters:
await Promise.all(
  cluster.masters.map(async master => {
    await (await cluster.nodeClient(master)).flushAll();
  });
);

client.slots - if you want to get the client of a specific slot
client.shards - if you want to work on a "per shard" (master + it's replicas) basis.
client.masters - just the masters
client.replicas - just the replicas


Abbreviation number

Convert long numbers into an abbreviated string.
abbNumber(5620); // result : "5K"

Dear @DevAnsar ,
Your PR has been Reviewed And Approved ..
Thanks.
I hope you have more contribute and become  as main contributor


[Schema registry] Stream fix / typo

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

/azp run net - schemaregistry - tests

API change check
API changes are not detected in this pull request.


feat(modelgen): ios - support public/private @auth rules

Description of changes
Support for public and private @auth rules
Description of how you validated changes
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] Changes are tested using sample applications for all relevant platforms (iOS/android/flutter/Javascript) that use the feature added/modified

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #181 (1316eed) into master (f7de414) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #181      +/-   ##
==========================================
- Coverage   85.20%   85.19%   -0.01%
==========================================
  Files         139      139
  Lines        6157     6174      +17
  Branches     1330     1338       +8
==========================================
+ Hits         5246     5260      +14
- Misses        833      836       +3
  Partials       78       78

Impacted Files
Coverage Δ

packages/amplify-codegen/src/commands/models.js
80.00% <ø> (ø)

packages/amplify-codegen/src/constants.js
100.00% <ø> (ø)

...odegen/src/walkthrough/questions/languageTarget.js
100.00% <ø> (ø)

...elgen-plugin/src/visitors/appsync-swift-visitor.ts
96.60% <ø> (-1.33%)
:arrow_down:

...l-types-generator/src/typescript/codeGeneration.ts
94.90% <ø> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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


Define units and scale to tetmeshes

Currently there is no support for defining the units or scale for a tetrahedral mesh.

Fixed in version 2.


What grouping strategies to include?

The proposal currently includes the following 4 grouping strategies, based on the list from ICU:

"never" (false): do not display grouping separators.
"min2": display grouping separators when there are at least 2 digits in a group; for example, "1000" (first group too small) and "10,000" (now there are at least 2 digits in that group).
"auto" (default): display grouping separators based on the locale preference, which may also be dependent on the currency.  Most locales prefer to use grouping separators.
"always" (true): display grouping separators even if the locale prefers otherwise.

@jswalden asked if there could be additional options added.  Could you clarify?

I assume "always" would be the equivalent to UNUM_GROUPING_ON_ALIGNED?
What about UNUM_GROUPING_THOUSANDS?

I assume "always" would be the equivalent to UNUM_GROUPING_ON_ALIGNED?

Correct

What about UNUM_GROUPING_THOUSANDS?

It's not clear whether having that option in ICU is good i18n practices.  The use cases for turning grouping on and off are known, but it's not clear what the use cases are of overriding the grouping sizes themselves with Western defaults.

Would min2 mean that 1_000_000 is displayed as "1000,000"? Is this appropriate in any locale?
For en-IN, would it make sense to give a choice between lakh/crore grouping and Western-style grouping? (Or is Western-style grouping never ever appropriate in that locale?)
@sffc You mention a possible Western bias with the possible "thousands" option. Can you say anything more about how/whether non-Western locales tend to handle this sort of case?

For en-IN, would it make sense to give a choice between lakh/crore grouping and Western-style grouping? (Or is Western-style grouping never ever appropriate in that locale?)

I chatted with @ryzokuken ; sounds like the answer is "no".

I think the "additional options" I was thinking of, were basically targeting the "min2" case, so I think min2 may cover it.  I'm thinking of patterns I'd seen in CLDR for more specialization, but at least the ones I saw were dealing with the min2 case.

Just FYI Peter Edberg<EMAIL_ADDRESS>point out to me about Spanish locale using min2:
REAL ACADEMIA ESPAÑOLA (Spanish language authority) specifies that numbers in the range 1000-9999 should not have a thousands separator, see section 2a) in the following:
https://www.rae.es/dpd/números
(that also specifies using space rather than period for thousands separator, but that is more recent change that is not yet reflected in common usage).

Would min2 mean that 1_000_000 is displayed as "1000,000"? Is this appropriate in any locale?

Note, @sffc clarified in the April 2020 ECMA-402 call that min2 just affects numbers in the 1000-9999 range, so the answer to my question would be "no, it would have two grouping separators in a locale like en-US."

Maybe the setting should be "minimum number of digits to start grouping".

@ray007 Do you have a use case for where 4 or 5 is not the answer?

Hello, I'm am trying to understand if the proposed grouping: "always" option satisfies my needs.
I work in es-CL and es-MX. I would like to use Intl.NumberFormat to format MXP and CLP currencies. In Mexico, 1000 pesos should be displayed as "$1,000", while in Chile, 1000 pesos should be displayed as "$1.000". This actually used to work in Node 10, but has since been "fixed" to properly adhere to the Unicode CLDR standard, along with Firefox & Chrome.
example:
Intl.NumberFormat('es-CL', { style: 'currency', currency: 'CLP' }).format(1000)
# result: $1000, this is bad
Intl.NumberFormat('es-CL', { style: 'currency', currency: 'CLP' }).format(10000)
# result: $10.000, this is good

As you can see, I get the correct unit grouping on a 5 digit number, but not on a 4 digit number. The reason for this is that these locales inherit from es, which is defined by Unicode more or less in accordance with the Spanish Royal Academy. The Academy mentions that 4-digit numbers should not use unit separators. This is not really correct in Latin America (or Spain as far as I know), which means that I cannot use Intl.NumberFormat in my application. I have written to the Academy of the Mexican Language, and confirmed with them that including or not including a unit separator are both correct, and that furthermore including a unit separator is correct per the Mexican Accounting Association. Because both formats are technically correct, I'm just looking for a way to have a little more control of how Intl.NumberFormat groups currencies so that I can use it, rather than using my own code with is likely buggier.
So in summary, can I force a unit separation in a currency formatter despite what the locale says?

For what it's worth, I'm hoping my specific grouping issue will be solved in the next Unicode CLDR update. Regardless, I also think that giving more grouping options to end users will make the internationalization functions more useful, and being able to override locale defaults is an important part of this.

I would like to seek consensus on the following:

useGrouping:

false: do not display grouping separators.
"min2": display grouping separators when there are at least 2 digits in a group; for example, "1000" (first group too small) and "10,000" (now there are at least 2 digits in that group).
"auto": display grouping separators based on the locale preference, which may also be dependent on the currency. Most locales prefer to use grouping separators.
"always": display grouping separators even if the locale prefers otherwise.
true: alias for "always"
undefined (default): alias for "auto"

TG2 2020-10-08: Adopt the behavior stated above, with resolvedOptions returning false or one of the three strings.

2020-10-08 discussion: https://github.com/tc39/ecma402/blob/master/meetings/notes-2020-10-08.md#what-grouping-strategies-to-include-3

FYI, on the Temporal side we're planning to use strings 'never' and 'always' instead of boolean false and true, in addition to an 'auto' option.  This aligns with Intl.NumberFormat's signDisplay option.


[AVM Module Issue]: location should be specified as a variable not inferred from a resource group data source

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
0.1.0
(Optional) Correlation Id
No response
Description
the location should not be inferred using a data source , ref;
https://github.com/Azure/Azure-Verified-Modules/issues/313#issuecomment-2010359818
&
https://www.youtube.com/watch?v=l8k_cOHep28

Yup, that is a good point, will update the module.
I will add this as a coalesce(input_location, data.resource_group.location, null) - for backwards compatibility.

Turns out the linting standards of AVM do not allow for null valued location, adding it as a mandatory variable.
PR raised and waiting for review.


add requirements management policy

This document describes the policies for adding and updating build and runtime dependencies of all InstructLab components.

FYI @n1hility @dhellmann @tiran @russellb @mairin

Several months ago, I experiemented with https://pypi.org/project/pip-compile-multi/ to generate a set of constraint files for our entire dependency chain. Yesterday I revived my old PR and tried again. pip-compile-multi breaks because packages like flash-attn have broken packaging metadata. Doug filed a ticket a while ago, but upstream hasn't agreed to accept the fix.
Related InstructLab ticket and PR to constraint versions:

https://github.com/instructlab/instructlab/issues/1851
https://github.com/instructlab/instructlab/pull/1863

The topic of version bounds came up in internal channels. The blog post https://iscinumpy.dev/post/bound-version-constraints/ explains very well how to deal with version constraints in Python. It links to several other blog posts about semver and version handling in Python ecosystem, too.

Great document, thanks! Do you think it would be beneficial to include a practice of documenting any changes to the dependency requirements? This could include the rationale for setting or changing version ranges, providing context for future maintainers and downstream builds?

That sounds like a good follow-up for someone else to do, yes.

EDIT: "squash and merge" is not enabled in this repository so please do it locally and push again, thanks!

Done


Return a promise returned from a user function

Without added return the rejected async user function would cause an unhandled promise warning and failure to enact implicit call to context.done, which results in function timing out after 5 minutes.
@mhoeger This issue was introduced at https://github.com/Azure/azure-functions-nodejs-worker/commit/44410b6ae2cc9c786e887b2ff127c541cfc26476 when implementing this support for user functions.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: irnc sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@irnc - thanks so much! this update will be deployed this week.


Tiny fix

... to make this whole thing work :)

Good catch @QtRoS, thanks for the fix.
I've checked and figured I must have lost this line at the time when I extracted this from the project where I actually used it.


'flutter pub logout' doesn't work

We probably need to add a forwarding command on flutter_tools..

I guess the work around is for people to do flutter pub pub logout.

This appears to no longer be an issue.
andrewkolos-macbookpro:flutter andrewkolos$ flutter pub logout
No existing credentials file /Users/andrewkolos/Library/Application Support/dart/pub-credentials.json. Cannot log out.


Kubernetes upgrade

Kubernetes v1.24 reaches end-of-life status as of Friday (July 28, 2023) so it's time to upgrade to the latest v1.27 patch version and it also looks like 1.28 is coming soon.  Now that the first friend/family beta release is (almost) ready, it's time to start thinking about this upgrade.
I think a reasonable approach would be to do this upgrade in 3 steps, ultimately upgrading to v1.27.4:
1.24.0  --> 1.25.12
1.25.12 --> 1.26.7
1.26.7  --> 1.27.4

I think this will be easier than doing this all in one go but I believe we can skip all of the intermediate patch releases without too much drama.  We're going to track these release steps in individual comments below.
GitHub Branches and Versioning
The 0.10.0-beta.0 release is still on master right now and we're going to keep it there until we finalize the release in a day or two and then we'll just patch that release if necessary by incrementing the beta number: 0.10.0-beta.1, 0.10.0-beta.2,...
I figure the next friends/family release version will be 0.11.0-beta.0 and the first GA preview release will be 0.10.0-preview.0.  I'm going to do some scouting on a new 0.11.0-beta.0 branch for now but we'll merge that into master after we formally release 0.10.0-beta.0 into it's own release branch.

1.24.0  --> 1.25.12

1.25.12 --> 1.26.7

1.26.7  --> 1.27.4


Fix linux installation instructions

Proposed changes
Updated the installation instructions for Debian and Ubuntu. Some of the steps in the instruction were wrong and resulted in an error.

this resolves issues #1218 and #1249

Yeah these changes were duplicated by #1224. Thank you!

This PR doesn't fix all the bugs in the documentation. It only fixes the key import.

You're right, but they have all been duplicated elsewhere. I rebased your commit and there are now 0 files changed by your commit. Please let me know if I'm missing anything.

You're right I didn't realized that a change for the distro prefix was merged.


Support a windowed option for geocoder

I propose to introduce support for running the UI of geocoder in a floating and sidebar window. This is a follow up task to standardising the behavior of toolbar-buttons and modules, which was started with #206 and #207.
For a proof of concept implementation I introduced a new module card attribute "winHeader": false to disable the window toolbar - name of the attribute is subject to discussion. Here's an example for the module definitions and a corresponding screenshot:

 "modules": {
    "wgu-geocoder": {
     "target": "toolbar",
      "win": "floating",
      "winHeader": false,
      "icon": "search",
      "initPos": {
        "left": 8,
        "top": 74
      },
      ......
   }
}

 "modules": {
    "wgu-geocoder": {
      "target": "toolbar",
      "win": "sidebar",
      "winHeader": false,
      "icon": "search",
      ......
   }
}

@chrismayer
My question regarding this: Do we want to support placement of the geocoder searchbar on the Wegue toolbar in the future?
In my opinion this is not a great solution, because

it scales bad on devices with small screen width
all toolbar-buttons currently support the target": "menu" option. If this is set for the geocoder, it breaks the layout of the hamburger menu.

Even though I got a prototype to work, a generical switch between placing content on the toolbar and on a card is pretty cumbersome to implement.


Documentation website is down

http://isaaccambron.com/ is unavailable and so is the documentation.
http://downforeveryoneorjustme.com/http://isaaccambron.com/
Just in case someone needs it, documentation can be accessed here: https://github.com/icambron/twix.js/blob/master/docs/docs.md

Yeah, my DNS host stopped serving my requests after my credit card expired and never bothered to tell me. I'm moving the domain and it should be back up soon.

Back up


Invalid Table of Contents links outside of "Usage" tab.

Description
When I am at any doc page covering a component which contains a table of contents - if I navigate to the Props or Theming tab I expect any link under the table of contents to navigate me back to the "Usage" tab and then to the related section. Instead, the relative links supplied only append to the current URL.
(i.e. In the FormControl Page: https://chakra-ui.com/docs/components/form-control/props#sample-usage-for-a-radio-or-checkbox-group)
Consideration(s);

Supply the links under the table of contents relative links that begin with usage (a short-term solution)
Provide a table of contents specific to the Props and Theming tabs (maybe preferred as this new navigation structure continues to be fleshed out)

Good point @TylerAPfledderer! Let's think about how we can attack this.

@nikolovlazar
Firstly, is it normal for the TableOfContent component to not render in localhost? (It looks like contentlayer does not generate frontmatter headings to supply)
It looks like the solution can be solved in the PageContainer. I am currently noticing though that the slug from frontmatter does not change when selecting any of the tabs; it always returns the url ending in usage.

@TylerAPfledderer something must be happening on your side. I just ran the docsite locally and I can see the TOC on the right.
What do you mean by the slug doesn't change?

@nikolovlazar just my luck with contentlayer and me using Windows! 😅
Found the issue in contentlayer-utils.ts line 37
I propose the following should be added in the object inside this conditional:
doc.frontMatter = {
  ...doc.frontMatter,
  ...(getUsageDoc(doc.id)?.frontMatter ?? {}),
  slug: doc.frontMatter.slug.replace('/usage', `/${doc.scope}`), // <====
}

Else the path will always be appended with usage

@nikolovlazar just my luck with contentlayer and me using Windows! 😅
I think the issue in contentlayer-utils.ts line 37
I propose the following should be added in the object inside this conditional:
doc.frontMatter = {
...doc.frontMatter,
...(getUsageDoc(doc.id)?.frontMatter ?? {}),
slug: doc.frontMatter.slug.replace('/usage', /${doc.scope}), // <====
}
Else the path will always be appended with usage.
If this were to be added, I could only assume that in the short-term you could then use the slug to help render the table of contents in the appropriate tab.
Of course I can't confirm this without figuring out why contentlayer is working like its supposed to! 😆

@nikolovlazar to the issue with no headings to render TableOfContent: turns out the headings variable in the getTableOfContents script is not receiving any results from the regex check, even though the check works when I test it elsewhere (regexpal.com, for example). 🤔

Hey @nikolovlazar ! Following up on this.
In addition to the proposal I made above, would then alter the areas of PageContainer
const { title, description, editUrl, version, headings = [] } = frontmatter

The above destructuring would then also pull out the slug and then check if the end of the slug is props or theming (so not usage)
 const {
    slug,
    title,
    description,
    editUrl,
    version,
    headings = [],
  } = frontmatter

const isNotUsageTab = /(props|theming)$/.test(slug)

Then when rendering the table of contents...
{!hideToc && !isNotUsageTab && (
  <TableOfContent
    visibility={headings.length === 0 ? 'hidden' : 'initial'}
    headings={headings}
  />
)}

That's what I got at this point. 😄 Looks like the table of contents is not getting headings for the props and theming content that have been added anyway.

This issue will be resolved with the docs rework we are currently working on.

Since we have changed plans regarding the rework, this issue is still valid and can be worked on.

@aacevski is what I proposed and observed above valid at this point? I know it's been a hot minute since addressing this initially 😅


Using Customized Dataset

I want to use SAM3D for my own dataset which contains outdoor scenes. Is that possible? If it is how can I do that, can you help me with that?

Hi!
You can check here for some info.


Merge sbt-freestyle-protogen into freestyle-rpc codebase, and update @rpc processing to handle latest `freestyle-rpc syntax

Resolves #180 and fixes https://github.com/frees-io/sbt-freestyle-protogen/issues/24. Note that this initial merge is mostly a straight-up copy of the current sbt-freestyle-protogen with different modules and package names, that removes the duplicated macro-processing code for @rpc-annotated methods and adds a basic unit test. There's still work to do on refactorings to be prepare for Avro gen, adding test coverage, and fixing some non-standard-compliant .proto output. (For the latter case I updated the readme to reflect what protoGen actually generates currently). Those remaining issues will be fixed in upcoming patches.

Build currently breaks in cross-version testing because scripted-plugin doesn't support Scala 2.11 for our version of sbt. Will investigate.

We could get rid of the Scala 2.11 cross versioning for the SBT plugin, just keeping Scala 2.12.x and Sbt 1.x.y.


Task 3.3: Deploy Batch Analysis Module

Task 3.3: Deploy Batch Analysis Module

Assigned Agung
@gungwah

Assigned to kumar @kmsharma


[SPARK-38389][SQL] Add the DATEDIFF() and DATE_DIFF() aliases for TIMESTAMPDIFF()

What changes were proposed in this pull request?
In the PR, I propose to add two aliases for the TIMESTAMPDIFF() function introduced by https://github.com/apache/spark/pull/35607:

DATEDIFF()
DATE_DIFF()

Why are the changes needed?

To make the migration process from other systems to Spark SQL easier.
To achieve feature parity with other DBMSs.

Does this PR introduce any user-facing change?
No. The new aliases just extend Spark SQL API.
How was this patch tested?

By running the existing test suites:

$ build/sbt "test:testOnly *SQLKeywordSuite"

and new checks:

$ build/sbt "sql/testOnly org.apache.spark.sql.SQLQueryTestSuite -- -z date.sql"
$ build/sbt "sql/testOnly org.apache.spark.sql.SQLQueryTestSuite -- -z datetime-legacy.sql"

@cloud-fan @HyukjinKwon @gengliangwang @superdupershant Could you review this PR, please.

Merging to master. Thank you, @cloud-fan for review.

@MaxGekk How can this be reconciled with the fact that the datediff function already exists in Spark SQL since 1.5.0? The order of the parameters are also different such that older datediff function is endDate followed by startDate.
https://github.com/MaxGekk/spark/blob/6a8b74a02cb8f5bfac0cbcf45f3aada0ad6f2614/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala#L2314

Maybe we should deprecate the old datediff function. The new datediff function has a special parser rule so that it won't conflict with the old one, but I agree that 2 datedff functions with different syntax and semantic is weird. cc @srielau

Maybe we should deprecate the old datediff function. The new datediff function has a special parser rule so that it won't conflict with the old one, but I agree that 2 datedff functions with different syntax and semantic is weird. cc @srielau

There seem to be two camps here: datediff() SQL server and friends which is the newer form. And datediff() IBM, mySQL and friends, which is the older form https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_datediff .
We have a long standing tradition of supporting diofferent spellings etc for similar/same functions.
This particular one is actually rather harmless since number of arguments differ.
So I propose to leave them be.


Rename master branch to main

Executive Summary
Rename master branch to main
Justification
For inclusivity and to follow the changing standard for Git repositories.
Proposed Solution
Rename the master branch to main
Fix any pipeline or other processes that rely on the name master

The master branch has been changed to main


Is underscore not allowed to be used?

Hi,
When validating my vcf file using vcf_validator, I am getting an error message.
Error message:
According to the VCF specification, the input file is not valid
Error: Format is not a colon-separated list of alphanumeric strings. This occurs 34 time(s), first time in line 41.
line 40 - 42 in my vcf file
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	NA12891
demo20	1	.	T	.	.	LowGQX	END=899;BLOCKAVG_min30p3a	GT:GQX:DP:DPF:MIN_DP	.:.:0:0:0
demo20	900	.	G	.	.	LowGQX;LowDepth	END=906;BLOCKAVG_min30p3a	GT:GQX:DP:DPF:MIN_DP	0/0:5:2:0:2
I removed underscore"_" from BLOCKAVG_min30p3a and MIN_DP.
My vcf file passed the validation.
If we can't use underscore, we hope it can. This is because many VCF-creating tools include underscores.
Could you please check it?

Hi @htchihiro
Could you specify which version of the VCF format you are using ?
underscores were not allowed in version 4.2 (see section 1.4.2) but are now allowed in version 4.3 (section 1.6.2)
Does this explain your issue ?

Thanks for the answer and the important information.
I used vcf version 4.1. I will update the vcf version.
I understand that this validator checks the vcf version and changes the validation rules according to that version, is that correct?

Yes this is correct.


Disabling Promise global type

Is there a way to disable global types in flow? I'm using the bluebird module for promises and its iflow-bluebird module for types. Per this issue I discovered that if I do the following:
import Promise from 'bluebird'

The Promise type conflicts with the global flow type. Is there a way to disable flow from using its own Promise type so my locally imported Promise type will not conflict?

@calebmer See this comment:
import BluebirdPromise from 'bluebird';
declare var Promise: BluebirdPromise;

This approach did not work globally for me, and it really shouldn't be necessary. Ideally flow would provide a way to disable globals (or detect if Promise is in scope and thus overrides the global configuration).

It isn't desirable to "disable" the global Promise type because built-in APIs will give you an instance of the built-in Promise regardless of what Promise library you use.
Consider fetch or async functions.
However, we should interoperate with Promise libraries. For example, we should support chaining Bluebird promises with native ones. We can do that by declaring an interface that describes Promises/A+ which would be compatible with the built-in Promise class and any other conforming Promise library.
We should definitely have an issue for the above, but I'm not sure if that captures your issue. Can you be more specific about the errors you're running into?

Merging with #2171


.gitignore in static folder causing websites to not render properly

Having */ in static/.gitignore is causing the github deploy to fail. Is it necessary to ignore all subfolders? After I built my website I had a number of subfolders that were critical to it working.

The fact is that files from node_modules are sent there, they can be generated for localcdn. For local build, I would advise using npm run gen  and so the resources are loaded via cdn.


⚠ Bofrost.de has degraded performance

In b5c4c4a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1379 ms

Resolved: Bofrost.de performance has improved in ad91582 after 43 minutes.


tW word count accuracy

Component counts match test results:
$ nx apostle.mjs
(node:2204) ExperimentalWarning: The ESM module loader is experimental.
Passed: apostle.txt  Total: 279  Distinct: 134
$

Here is what the component is showing:
Translation Words for "TIT" and Chapters 1
Distinct Number of tW Articles: 71
Total Number of tW Articles: 99

Distinct Number of tW article words: 3287
Total Number of tW article words: 22103

I will close this as verified based on the following reasoning:

I was able to copy/paste the details table into a spreadsheet (see src/tests/tW/tit_ch1.xlsx). From there I verified the number of tW articles at 71; the total number of words in those 71 articles (22103).
The simple sum total of distinct words is 10464, which is 3x higher than the number above. This feels reasonable, so I'm giving it a pass.


Provide example for ref assembly

I am using MSBuild pack target. I want to include ref assembly to the NuGet package in 'ref/' folder as explained in PackageReference support page.
Please provide an example how to accomplish this using MSBuild pack target.
Thanks!

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

ID: 099102e8-c320-ef50-6821-57519684dc98
Version Independent ID: 1523dac4-419d-613d-2497-4062f9efd358
Content: NuGet pack and restore as MSBuild targets
Content Source: docs/reference/msbuild-targets.md
Product: nuget
GitHub Login: @nkolev92
Microsoft Alias: nikolev

There's no native support for that https://github.com/NuGet/Home/issues/4184.
There might be some hacky workarounds we can consider document.

There's no native support for that https://github.com/NuGet/Home/issues/4184.
There might be some hacky workarounds we can consider document.

@nkolev92 Thanks for the info!
In the meantime, I managed to implement a workaround by myself and I am posting it here for others:
<!-- Generate also reference assembly. -->
<!-- See: -->
<!-- https://docs.microsoft.com/en-us/dotnet/standard/assembly/reference-assemblies#generating-reference-assemblies -->
<!-- https://github.com/dotnet/roslyn/blob/master/docs/features/refout.md -->
<PropertyGroup>
  <ProduceReferenceAssembly>true</ProduceReferenceAssembly>
</PropertyGroup>

<!-- This is a workaround until better support for \ref (Reference Assembly) is added in Pack target. -->
<!-- See: -->
<!-- https://docs.microsoft.com/en-us/nuget/create-packages/select-assemblies-referenced-by-projects#packagereference-support -->
<!-- Need a away to specify \ref (Reference Assembly) as target folder in Pack target (https://github.com/NuGet/Home/issues/4184) -->
<PropertyGroup>
  <!-- Supress warning NU5131 (https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu5131) which is reported because .nuspec file is not updated -->
  <!-- to contain <references> element (https://docs.microsoft.com/en-us/nuget/reference/nuspec#explicit-assembly-references) for all files inside the 'ref\' directory.  -->
  <NoWarn>$(NoWarn),NU5131</NoWarn>
  <!-- See https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#targetsfortfmspecificcontentinpackage -->
  <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);AddRefAssemblyToPackage</TargetsForTfmSpecificContentInPackage>
</PropertyGroup>
<Target Name="AddRefAssemblyToPackage">
  <!-- Add reference assembly and XML documentation to 'ref/'. -->
  <ItemGroup Condition=" Exists('$(BaseOutputPath)$(Configuration)\$(TargetFramework)\ref\$(AssemblyName).dll') ">
    <TfmSpecificPackageFile Include="$(BaseOutputPath)$(Configuration)\$(TargetFramework)\ref\$(AssemblyName).dll" PackagePath="ref/$(TargetFramework)" />
    <TfmSpecificPackageFile Include="$(BaseOutputPath)$(Configuration)\$(TargetFramework)\$(AssemblyName).xml" PackagePath="ref/$(TargetFramework)" />
  </ItemGroup>
</Target>

@nkolev92 Thanks for the info!
In the meantime, I managed to implement a workaround by myself and I am posting it here for others:
<!-- Generate also reference assembly. -->
<!-- See: -->
<!-- https://docs.microsoft.com/en-us/dotnet/standard/assembly/reference-assemblies#generating-reference-assemblies -->
<!-- https://github.com/dotnet/roslyn/blob/master/docs/features/refout.md -->
<PropertyGroup>
  <ProduceReferenceAssembly>true</ProduceReferenceAssembly>
</PropertyGroup>

<!-- This is a workaround until better support for \ref (Reference Assembly) is added in Pack target. -->
<!-- See: -->
<!-- https://docs.microsoft.com/en-us/nuget/create-packages/select-assemblies-referenced-by-projects#packagereference-support -->
<!-- Need a away to specify \ref (Reference Assembly) as target folder in Pack target (https://github.com/NuGet/Home/issues/4184) -->
<PropertyGroup>
  <!-- Supress warning NU5131 (https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu5131) which is reported because .nuspec file is not updated -->
  <!-- to contain <references> element (https://docs.microsoft.com/en-us/nuget/reference/nuspec#explicit-assembly-references) for all files inside the 'ref\' directory.  -->
  <NoWarn>$(NoWarn),NU5131</NoWarn>
  <!-- See https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#targetsfortfmspecificcontentinpackage -->
  <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);AddRefAssemblyToPackage</TargetsForTfmSpecificContentInPackage>
</PropertyGroup>
<Target Name="AddRefAssemblyToPackage">
  <!-- Add reference assembly and XML documentation to 'ref/'. -->
  <ItemGroup Condition=" Exists('$(BaseOutputPath)$(Configuration)\$(TargetFramework)\ref\$(AssemblyName).dll') ">
    <TfmSpecificPackageFile Include="$(BaseOutputPath)$(Configuration)\$(TargetFramework)\ref\$(AssemblyName).dll" PackagePath="ref/$(TargetFramework)" />
    <TfmSpecificPackageFile Include="$(BaseOutputPath)$(Configuration)\$(TargetFramework)\$(AssemblyName).xml" PackagePath="ref/$(TargetFramework)" />
  </ItemGroup>
</Target>


Git SCM Panel - Sync Changes button icons and text overflow

Issue Type: Bug
Description
The contents of the recently added "Sync changes" can, in some circumstances overflow the limits of the button.
I would have expected the text to ellipsis, adjust it's content or otherwise remain within the limits of the button.
Repro Steps

Open a folder under Git source control with a remote.
Open the SCM panel in the LHS bar (ctrl+shift+g by default, I'm using the built in Git extension)
Drag it to take up as little space as possible.
Make changes to your local and remote such that you have at least 1 commit to pull down, and 1 to push up (the "Sync changes button should now show [recycle] Sync Changes 1 [down_arrow] 1 [up_arrow]
Observe that the contents of the sync changes button overflows the edges of the button.

VS Code version: Code 1.63.2 (899d46d82c4c95423fb7e10e68eba52050e30ba3, 2021-12-15T09:40:02.816Z)

Extension
Author (truncated)
Version

postcss
css
1.0.9

remote-containers
ms-
0.209.6

remote-ssh
ms-
0.70.0

remote-ssh-edit
ms-
0.70.0

remote-wsl
ms-
0.63.13

vscode-remote-extensionpack
ms-
0.21.0

material-theme
zhu
3.13.7

npm-intellisense
chr
1.4.0

vscode-eslint
dba
2.2.2

gitlens
eam
11.7.0

vscode-npm-script
eg2
0.3.23

prettier-vscode
esb
9.0.0

code-spell-checker
str
2.0.13

markdown-all-in-one
yzh
3.4.0

(3 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonptprofiler:30281270
vsdfh931:30280409
vshan820:30294714
vstes263cf:30335440
vscoreces:30384385
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
vscop804:30404766
vs360:30404995
vsrem710:30416614
vscexrecpromp3t2:30407763

/duplicate of #139029


Adding information about MonAgentHost logs.

@nizarq,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@nizarq : Thanks for your contribution to the Azure documentation! The author, @rboucher, has been notified to review your proposed change.

#sign-off

@rboucher @nizarq
The public repo is not appropriate for adding new content. If you have new content, please use the private repo, azure-docs-pr.
I'm closing this pull request so that you can add the article in the private repository.
Here's help if you need to get started in the private repo.
You can Move content between the public and private repos.
Thanks


syntax error spans underline lots of code

Haven't spent time minimizing, but I imagine it wouldn't be too hard.
When confronted with a syntax error, e.g., when rebasing with conflict markers, I currently see my whole editor light up with underlines and suggestions:

While it's definitely true that this code has syntax errors, this isn't particularly helpful -- maybe we can do something to avoid this? At least detecting conflict markers and skipping those lines entirely as a heuristic for parsing seems like an excellent step (ideally with some kind of post-hoc recovery re-starting the parse from the right place, but that seems like a stretch).

The first step would be to check what IntelliJ does for "hopelessly broken" code. I don't rememeber writing any special logic to handle that, so perhaps this is done by the platform?

Hm. Not sure. An additional case here is the "unlinked file" diagnostic which currently underlines the whole file. I suspect that might be easier to fix.

The "unlinked file" diagnostic has already been changed to only cover the first line, which rust-analyzer version are you using?

Ah - I hadn't upgraded in a bit. I was on 0d40ff5e623b3670ce3e0e324ecbab3e5197aaeb (I build locally usually), let me see if upgrading fixes it or if it's an editor bug or so. Indeed upgrading to latest seems to have adjusted the span on the unlinked file, though to the first piece of the first line rather than the full line, thanks!


Small improvements in Cache search

I feel like this improved the search, I got a bunch of songs that wouldn't perviously show up to show up. Try and test it with song names that include symbols.

I'm currently reviewing this PR. I will test it on my machine and return with my findings.

This works fine, but please consider the changes outlined :)

Sorry for the late response, I've tried implementing all the outlined changes.

Great work @Marianito412, just reviewed and validation that the implemented changes are functional. @petergmurphy  I am happy enough to approve this PR.

@Marianito412 Thank you for your contribution to the project. @MarkMcMoran Thank you for the review.


Redis Unix Socket

How do I connect to Redis Unix Socket ?
I tried (pagespeed RedisServer "/var/run/redis/redis.sock";)

https://github.com/apache/incubator-pagespeed-ngx/issues/1378


Use DapiDataRegistry contract to get signed API URL

Related to https://github.com/api3dao/airseeker-v2/issues/3
Blocked by https://github.com/api3dao/tasks/issues/108

Will fetch signed API URLs from active dAPIs batch in https://github.com/api3dao/airseeker-v2/issues/35


Cannot build the software -  undefined: atomic.Pointer

While it's expected to find the binary artifact of hypershift ready, I found myself building the software from source code !!
On top of that, it turns out that make build does not work !!!
docker run -it --rm -v $(pwd):/code -w /code golang:1.18 make build
CGO_ENABLED=0 GO111MODULE=on GOFLAGS=-mod=vendor go build -gcflags=all='-N -l' -o bin/hypershift-operator ./hypershift-operator

# k8s.io/kube-openapi/pkg/cached
vendor/k8s.io/kube-openapi/pkg/cached/cache.go:242:16: undefined: atomic.Pointer
make: *** [Makefile:72: hypershift-operator] Error 2

Please provide the binary artifact in GH releases or at least a working make build

@abdennour what version of golang are you using? Please make sure you use 1.19.x to build.

Thank you @csrwng ! let me try please . Thank you for the reply

@csrwng  there is progress. i can see other error now:
docker run -it --rm -v $(pwd):/code -w /code golang:1.19 make build
CGO_ENABLED=0 GO111MODULE=on GOFLAGS=-mod=vendor go build -gcflags=all='-N -l' -o bin/hypershift-operator ./hypershift-operator
error obtaining VCS status: exit status 128
        Use -buildvcs=false to disable VCS stamping.

@abdennour unfortunately I only have access to podman on my linux machine and I don't see the same issue. It looks like that for some reason docker is not mounting the .git directory from the repo.
Running a similar command on podman works for me:
$ podman run -it --rm -v $(pwd):/code:z -w /code golang:1.19 make build
CGO_ENABLED=0 GO111MODULE=on GOFLAGS=-mod=vendor go build -gcflags=all='-N -l' -o bin/hypershift-operator ./hypershift-operator
CGO_ENABLED=0 GO111MODULE=on GOFLAGS=-mod=vendor go build -gcflags=all='-N -l' -o bin/control-plane-operator ./control-plane-operator
CGO_ENABLED=0 GO111MODULE=on GOFLAGS=-mod=vendor go build -gcflags=all='-N -l' -o bin/hypershift .


Has conflicts with Bootstrap styles

If import Bootstrap with Selectivity will got bad view...can't see remove button and placeholder text looks terrible

Should hopefully be fixed with c5d3e05 now. Can you confirm please?

I'm facing the same problem right now, even with the latest build, the style is still bad:

code:

        <form class="navbar-form navbar-right">

        </form>

the problem seems to be with:
https://github.com/arendjr/selectivity/blob/master/styles/selectivity-single.less#L22
and
https://github.com/arendjr/selectivity/blob/master/styles/selectivity-single.less#L39
if I disabled these lines, the style is normal

Hm, that's unfortunate because these lines are necessary if Bootstrap is not loaded. I'm not having a Bootstrap setup right now to test with. Can you see what Bootstrap is doing that makes these styles act different?

@arendjr Bootstrap sets box-sizing: border-box for all elements (using *). That's what breaks here :)

Okay, merged. Thanks a lot for the PR and the explanation!


Adjust the spec for binary tries

remove the mask from BRANCH because the BRANCH instruction will have both children non-nil. Otherwise it is an EXTENSION op.

Just to make sure: does it make sense if we would bring witness spec support to our currently hex trie implementation? Respectively does the spec support both tries or is this binary-trie-only (a not on this in the specs would be nice)?

@holgerd77 the current version is catered for normal hexary tries that are used in ethereum right now.
The binary trie support will be added later, as a change to this spec.

Thanks 👍 , have opened a PR on this here #40, feel free to discard if you don't think this is fitting, my feeling on what belongs/belongs not in a comprise specification is still a bit evolving.


The import editor ok button cannot be clicked! why is that?

It is a bug :( To avoid it, you can type something to Editor Name LineEdit.

It is a bug :( To avoid it, you can type something to Editor Name LineEdit.

That's really it, thank you


Add eli5💡dao.eth

Hi! What is your PR about?

[ ] Add or edit a skin
[x ] Add a custom domain for your space
[ ] Add an alias to migrate your space

eli5💡dao.eth

You should try to update your fork with the remote version of snapshot-spaces you can try these GIT commands and then commit your changes again.
git remote add upstream https://github.com/snapshot-labs/snapshot-spaces.git
git fetch upstream
git checkout master
git merge upstream/master

Closing this PR for now, feel free to open it again once you've done the changes.


NH data: odd gap north of Keene

So, there are a lot of odd gaps in the map, but I thought I'd just highlight one relevant to my local chapter: does anyone know why there's this small empty patch just north of Keene in the Southern NH chapter's coverage area?

Looks like that's the town of Gilsum: https://en.wikipedia.org/wiki/Gilsum,_New_Hampshire


Admin delete OPT entpoint returns wrong status code and ignores "Prefer=return=..." headers

Test Case/s To Reproduce Issue
004a ADMIN - Delete Existing Template
    [Tags]    438  not-ready  bug
    upload valid OPT    minimal/minimal_admin.opt
    (admin) delete OPT
    validate DELETE response - 204 deleted
    [Teardown]    (admin) delete all OPTs

004b ADMIN - Delete Existing Template (minimal response)
    [Tags]    438  not-ready  bug
    upload valid OPT    minimal/minimal_admin.opt
    (admin) delete OPT    prefer_return=minimal
    validate DELETE response - 204 deleted
    [Teardown]    (admin) delete all OPTs

# path to test case
tests/robot/ADMIN_TESTS/005-Template.robot

# robot command to execute related test case(s) in your terminal/console
cd tests
robot -v SUT:ADMIN-TEST -d results/ -L TRACE -i 438ANDadminANDtemplate robot/ADMIN_TESTS/

Actual Result
a) 200

b) 200 (Prefer=return=minimal)
and content in body
 "response": {
        "seconds": 0.078067,
        "status": 200,
        "body": {
            "deleted": 1
        }

Expected Result
a) 204
b) 204, no content in body

The Prefer header is defined by openEHR REST API specification:

The Prefer header
This request header MAY be used by clients for resource representation negotiation. See more details on representation details negotiation section.

I think that is not a bug as the Admin API provided by EHRbase is custom and not specified anywhere.
However it should be clarify if we have to handle it but in my opinion, there is no added value in case of Admin API used by administration tools.


select output fields in recordlookup/recordlookupone()

It would be nice to be able to specify which fields actually end up in the dictionaries in the range of the lookup.

Can't remember what this means.


Updated the unit tests, lets see where this fails

Codecov Report

Merging #213 (3a0069b) into development (d815c79) will increase coverage by 0.14%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           development     #213      +/-   ##
===============================================
+ Coverage        70.70%   70.85%   +0.14%
===============================================
  Files               33       35       +2
  Lines             3199     3208       +9
===============================================
+ Hits              2262     2273      +11
+ Misses             937      935       -2

Impacted Files
Coverage Δ

endaq/ide/__init__.py
100.00% <0.00%> (ø)

endaq/__init__.py
100.00% <0.00%> (ø)

endaq/plot/plots.py
67.54% <0.00%> (+0.66%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Need to merge in MideTechnology/idelib#129 before the 3.11 tests will pass

Tests now passing. There's a deprecation warning regarding a command in the GHA that we should remember to redo later. It's probably in most of our repos as well.

https://midetech.atlassian.net/browse/ES-496 Josh has fixed these warnings in the firmware test repos, so it should be straightforward


inaccurate time in log message

Line 150-154 has the following:
    logmsg(LOG_INFO, "TOTALS connects=%lld seconds=%lld.%lld bytes=%lld",
           statistics.connects,
           milliseconds / 1000,
           milliseconds % 1000,
           statistics.bytes_sent);

I think the format code for the milliseconds remainder should be %03lld like line 135, right? Otherwise, e.g. 1005 milliseconds, will be printed as "seconds=1.5".
Nice project by the way! Very creative idea :)

You're right, thanks! Fixed in 370cb5b.


Missing multi persona images for Tim and both the pats.

What Operating System?
all

What steps will reproduce the issue?
while viewing the persona details

What would you expect to be the outcome?
Addition of multi-persona images for Tim and both Pats

All these details will help people to fix any potential bugs?
yes

fixed with 9e35437 commit


Merlin Manager x Merlin Monitor Integration

This branch will have the merlin monitor functionality handled by the merlin manager. It will also have the suggested changes that I commented on in https://github.com/LLNL/merlin/pull/489.

@ryannova do we want to have celery worker entries deleted from the redis database when we stop workers? I'm worried that for redis servers not hosted by the container (i.e. LaunchIT) we'll end up having way too many worker entries over a long period of time.
If we don't want to delete the celery worker keys when we stop the workers then maybe we want a command like merlin manager remove-workers that does this for the user? Then again, this just seems like one more thing for the user to keep track of which I'd like to avoid if possible.

Marking this as ready for review but haven't done the merlin monitor -> merlin manager changes yet. This just has the changes suggested in LLNL#489.


[WIP] Logging.

I'd like to define a custom logger for the logging the progress of models (ModelLogger). It's based on Logging.SimpleLogger and currently attempts to format @info calls as:
[dd/mm/yyyy HH:MM:SS] module source_file:line_number: message.
Once that is in place I'd like to define some custom LogStates and have ModelLogger handle those as well. Chiefly @diagnostic.
I wired up one of the examples to use ModelLogger rather than printf.

Hey @arcavaliere thanks for working on this! Just added "[WIP]" to the title as that's our convention for PRs that are still a work in progress.
About your error, you did define min_enabled_level but I think you need to import methods from Logging to extend them.
I think something like this would work:
import Logging: min_enabled_level
min_enabled_level(logger::ModelLogger) = logger.min_level

or
import Logging
Logging.min_enabled_level(logger::ModelLogger) = logger.min_level

and the same goes for shouldlog and handle_message.

Might also be good to include("logging.jl") in src/Oceananigans.jl so it gets exported and available to users after using Oceananigans.
PS: Looks like your second account made the commits haha. We can fix this later.

Thanks for that! I was able to get examples/ocean_wind_mixing_and_convection to use ModelLogger successfully. I'll look into defining custom LogState next.

I was just looking at that issue! I have a similar desire to define some custom logging macros tied to LogLevel (And yeah I did mean LogLevel). I'd love to help out! I'll post the use case over there.

Hi all, sorry for being late to the game, just wanted to provide some hopefully-useful input here:

Can I suggest that we work together on improving both Base, MicroLogging and the ModelLogger you have here so that we get something really solid?

@c42f this suggestion could be directed more broadly to all Oceananigans.jl developers --- if @arcavaliere wants to submit a more concentrated PR to Oceananigans.jl then I think myself and @ali-ramadhan would be happy to continue work along the lines you suggest. And of course if @arcavaliere is interested in this (which seems like fairly long term work?) that's awesome!
This PR looks really great!

Does it make sense to encapsulate the code added by this PR into a submodule of Oceananigans? The log level Diagnostic, for example, is dangerously similar to the abstract type AbstractDiagnostic. We will almost certainly have a Simulation concrete type in the future, but we'll also want a log level for simulations. Perhaps @ali-ramadhan has some thoughts about this.
Ref #456.

@glwagner thanks. Indeed I think it's worthwhile pursuing good logging for all climate-machine simulations (XRef https://github.com/climate-machine/Oceananigans.jl/issues/71#issuecomment-542576768, https://github.com/climate-machine/CLIMA/issues/134)

Hmmm, I don't know if many log levels will be that helpful. I guess for debug messages we'll want to have the file name and line number, but for user-facing info messages maybe we should remove the file name and line number and instead a custom log level like DIAGNOSTIC or MODEL_SETUP will be useful.
I think one place that logging can hugely improve user experience is in setting up large models, especially on the GPU, where you could be waiting for several minutes while all of Julia, CUDA, and Oceananigans compiles, model is being set up, memory is allocated, etc.
We know it takes time but most users will think that something is wrong if Julia is silent for 5 minutes. In this context info messages can be useful and reassure the user that Oceananigans is working properly.
It's well known that progress indicators improve user experience, e.g.: https://www.nngroup.com/articles/progress-indicators/

Hmmm, I don't know if many log levels will be that helpful.

I'm not entirely sure either. It's worth considering whether the standard Info and Debug levels might be enough for some of your uses, but there's also nothing wrong with trying out some custom levels and removing them if they don't end up making sense.
For general logging I've often wondered whether it would be helpful to have a Notice level with severity between Info and Warn to allow informational messages to be stratified into two groups, though we would need clear guidelines for how to use it.  Likewise, to have a Debug2 or VerboseDebug level for "really verbose" debugging messages (possibly compiled out by default, though that would need a minor tweak in Base to make it possible).

but for user-facing info messages maybe we should remove the file name and line number and instead a custom log level like DIAGNOSTIC or MODEL_SETUP will be useful.

This is basically what the standard Info level printing does in Logging.ConsoleLogger - it just ignores the line and file info captured by the fontend to simplify the pretty printing of the message. Btw, the pretty printing of log events can be separate from the storage format if desired. For example we could serialize log records to a binary file (including all file,line information etc) but have a tool to pretty print them with extra filtering, replay the messages from a simulation in faster than real time etc.

Hey @arcavaliere sorry I think I messed up your PR :(
I was trying to get rid of a big file that invaded our git history by mistake (#509) but apparently because it rewrites git history, open pull requests become invalid so now you have a PR with 1000+ commits and 100+ merge conflicts haha.
Might be better to open a new pull request. You also need to delete the old repository and git clone a fresh copy. Don't think you can cherry-pick either...
I can help with opening a new pull request.
Again, sorry about ruining your pull request.

I don't think it's quite so drastic. It's possible to have two unrelated remotes cloned within the same git repository so you certainly should be able to fetch changes even if upstream is completely rewritten. I'd probably try squashing your logging changes into a single commit and then cherry picking that across to the newly rewritten master. (I'm not entirely sure that will work, but I think it should.)
PRs are based on branch and repo names, so once you've sorted things out locally you should be able to force push to arcavaliere:master and the conflicts here will be resolved without opening a new PR.

I don't think it's quite so drastic. It's possible to have two unrelated remotes cloned within the same git repository so you certainly should be able to fetch changes even if upstream is completely rewritten. I'd probably try squashing your logging changes into a single commit and then cherry picking that across to the newly rewritten master. (I'm not entirely sure that will work, but I think it should.)
PRs are based on branch and repo names, so once you've sorted things out locally you should be able to force push to arcavaliere:master and the conflicts here will be resolved without opening a new PR.

Looks like it worked; thanks for the write up!

Looks like it worked; thanks for the write up!

 It looks like there's still some non-logging related changes in the github diff view though?

I think I may have missed something when I committed the sync of the upstream to my repo.

It's a bit hard to tell what's gone wrong here at this point.
I'd do something like

Create a local branch with git branch logging_orig $some_hash_or_branch_name or something to keep this safe.  If you've lost the original branch or hash name, don't panic (and don't delete your .git directory)!  You can use git reflog to find it again.
Create and check out another local branch as a work in progress git checkout -b logging_wip logging_orig
Squash your changes with git rebase -i on logging_wip branch into a single commit.

Force push your new master up to this pull request

(By the way, this would probably be clearer for you if you'd made the original pull request off a branch rather than your master branch. Generally that's a good idea, especially if you want to do multiple PRs)

Sorry for the delay on this! This time I think I've corrected the PR's state. @c42f  Thank you for the assistance!

Thanks for the feedback and no worries on the delay! I haven't been as active as I would have liked these past couple of months 😅
I think we can go a head and merge this in assuming I didn't break the build!

Awesome! I'll start using it during testing first as we have a ton of println statements in there that really should be log statements.
Hope you don't mind if we ping you and request your review if we modify the ModelLogger with increasing use.
@glwagner Any objections to merging this PR?

Not at all! I can look into any more infrastructural work that needs doing. I don't quite understand how the models work but I'm happy to help out where I can 😄


Website (http://threemammals.com/ocelot) down - 403

Actual Behavior / Motivation for New Feature
Error 403 - This web app is stopped.

I ran out of money in Azure, it will come back up in a few days

Website is up now.
If it is a static website, there are free hosting providers like netlify that we can make use of.

@Abhith  Good suggestion 👍
Maybe the website could rewrite with angular(or react/vue etc...) and hosted by github pages @TomPallister


Backup & recover original styles: added test

I should've this earlier, better late than never.

Haha, thanks for fixing all my typos ;)


Problems setting the cookie expiration time back to "session"

I'm doing a "remember me" function on my login. But when i set exp. time to null, it just keeps the old exp time.
Reproduce like this:

Set exp time to 14 days
Login and get session
Invalidate session (logout)
Login again but this time set exp date to null
Get new session ..
Exp time is still 14 days!!

I'v made a small fix, by just clearing the cookie before setting it, which solved the problem. But it might not be the desired behavior IMHO.
My auth code:
            if (this.get('isValid')) {
                // Set cookie time (remember me) - clearing cookie first to make sure exp. time is correctly set.
                this.get('session.store').clear(); // Fix to get correct session time
                this.get('session.store').cookieExpirationTime = this.get('rememberMe') ? (14 * 24 * 60 * 60) : null;
                var data = this.getProperties('identification', 'password');
                return this.get('session').authenticate('oauth-custom:oauth2-password-grant', data);
            }

Changing the cookie expiration time when the cookie is already present doesn't really work. I'm also not sure it would actually be possible to support that due to problems with tab/window synchronization.
Anyway I'd say the correct way to support expiring sessions when using token based with would be using expiring cookies anyway as the token would actually still be valid on the server side although the cookie has been deleted on the client.
Given that I'm not sure this should be considered a bug.

No worries, I will just stick to deleting the cookie, when a new user logs in.
Expiring the cookie on server is a problem, because i have no sure way of known when session ends (e.g. browser closes). Instead the server deletes tokens more than 14 days old.
Close.. moving on :)


Enable local cache throw exception

Describe the bug
set spark.gluten.sql.columnar.backend.velox.cacheEnabled="true" to enable local cache.
java.lang.RuntimeException: Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: Could not allocate working memory mmap failed with 无法分配内存 for sizeClass 1
Retriable: False
Function: SizeClass
File: ../../velox/common/memory/MmapAllocator.cpp
Line: 455
Stack trace:
# 0  _ZN8facebook5velox7process10StackTraceC1Ei
# 1  _ZN8facebook5velox14VeloxExceptionC1EPKcmS3_St17basic_string_viewIcSt11char_traitsIcEES7_S7_S7_bNS1_4TypeES7_
# 2  _ZN8facebook5velox6detail14veloxCheckFailINS0_17VeloxRuntimeErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRKNS1_18VeloxCheckFailArgsET0_
# 3  _ZN8facebook5velox6memory13MmapAllocator9SizeClassC1Emm
# 4  _ZN8facebook5velox6memory13MmapAllocatorC2ERKNS2_7OptionsE
# 5  _ZN6gluten16VeloxInitializer4InitESt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_St4hashIS7_ESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE
# 6  _ZN6gluten16VeloxInitializerC1ERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_St4hashIS7_ESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE
# 7  Java_io_glutenproject_vectorized_ExpressionEvaluatorJniWrapper_nativeInitNative
# 8  0x00007f83c3ae8427

To Reproduce
  --conf spark.gluten.sql.enable.native.engine=${enable} \
  --conf spark.plugins=io.glutenproject.GlutenPlugin \
  --conf spark.gluten.sql.columnar.backend.lib=velox \
  --conf spark.shuffle.manager=org.apache.spark.shuffle.sort.ColumnarShuffleManager \
  --conf spark.gluten.sql.columnar.backend.velox.cacheEnabled="true" \
  --conf spark.sql.shuffle.partitions=1000 \
  --conf spark.driver.maxResultSize=2g \
  --conf spark.executor.instances=20 \
  --conf spark.executor.cores=5 \
  --conf spark.executor.memory=5G \
  --conf spark.executor.memoryOverhead=1g \
  --conf spark.memory.offHeap.enabled=true \
  --conf spark.memory.offHeap.size=25g \

Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

Hi @zhouyuan, does this feature has been fully supported? what expected conf should used here?

Hi @Yohahaha
the SSD caching framework is integrated into Gluten but not well tested. The issue is due to the hard-coded memory size for SSD caching:
https://github.com/oap-project/gluten/blob/main/cpp/velox/compute/VeloxBackend.cc#L89
initially I'm thinking to using off-heap memory size, like (off-heap size or 50% * off-heap size), but haven't make this patch yet.
Note: the memory allocation in velox is not 100% managed by Spark, some allocations via mmap() are not tracked. We may need to fix those first
Thanks, -yuan

@zhouyuan  Thanks.
Is anyone working on enhance this feature? I would like take this.

Hi @Yohahaha
Sure, please go ahead 👍 . The caching feature is still naïve, e.g., unable to reuse old cache after spark context restart, unable to specify the cache replacement policies(LRU, FIFO, or just read-only), we could(should) iterate from this.
thanks, -yuan

unable to reuse old cache after spark context restart, unable to specify the cache replacement policies(LRU, FIFO, or just read-only)

That's sounds good. However, I prefer to make it works first and gain benefits from reading remote cloud storage.
I will close this issue and open another issue to support local cache.
Thanks. @zhouyuan


Make RPC concurrency configurable

Will users see benefits from tuning this new knob? My gut feeling is that we can set a sane default for all cases, but maybe I'm missing something.

HW specs will vary quite a lot, I dont think we can find a good default that will be good for the entire range of HW that users will run Juno on.


check bounce and SPF plugins for IPv6 compat

Jun 16 14:04:28 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [bounce] isa: yes, pass:single_recipient
Jun 16 14:04:29 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [data.headers] fail:from_match(null / onmicrosoft.com)
Jun 16 14:04:29 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [connect.geoip] received=<IP_ADDRESS> country=US
Jun 16 14:04:29 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [bounce] isa: yes, pass:single_recipient, bad_rcpt, fail:empty_return_path
Jun 16 14:04:29 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [core] hook=data_post plugin=bounce function=empty_return_path params="" retval=DENY msg="bounce with non-empty Return-Path (RFC 3834)"
Jun 16 14:04:29 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [core] hook=deny plugin=karma function=hook_deny params="902" retval=OK msg=""
Jun 16 14:04:29 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [core] deny(soft?) overriden by deny hook
Jun 16 14:04:29 node haraka[74771]: [ERROR] [-] [core] invalid IP address: fe80::ed00:2143:1858:6733]
Jun 16 14:04:29 node haraka[74771]: [ERROR] [-] [core] invalid IP address: fe80::ed00:2143:1858:6733]
Jun 16 14:04:29 node haraka[74771]: [ERROR] [-] [core] invalid IP address: fe80::ed00:2143:1858:6733]
Jun 16 14:04:29 node haraka[74771]: [CRIT] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [core] Plugin bounce failed: Error: ipaddr: the address has neither IPv6 nor IPv4 format     at Object.ipaddr.parse (/usr/local/lib/node_modules/Haraka/node_modules/ipaddr.js/lib/ipaddr.js:410:13)     at SPF.check_host (/usr/local/lib/node_modules/Haraka/spf.js:158:26)     at /usr/local/lib/node_modules/Haraka/plugins/bounce.js:339:13     at Array.forEach (native)     at Plugin.exports.bounce_spf (/usr/local/lib/node_modules/Haraka/plugins/bounce.js:335:9)     at Object.plugins.run_next_hook (/usr/local/lib/node_modules/Haraka/plugins.js:371:28)     at Connection.deny_respond (/usr/local/lib/node_modules/Haraka/plugins.js:434:29)     at callback (/usr/local/lib/node_modules/Haraka/plugins.js:345:35)     at Plugin.exports.hook_deny (/usr/local/lib/node_modules/Haraka/plugins/karma.js:228:12)     at Object.plugins.run_next_hook (/usr/local/lib/node_modules/Haraka/plugins.js:371:28)     at Object.plugins.run_hooks (/usr/local/lib/
Jun 16 14:04:29 node haraka[74771]: [NOTICE] [8A8A5582-05F5-4BB9-AFE3-1FE4EC270B58] [core] disconnect ip=<IP_ADDRESS> rdns="c-71-232-57-109.hsd1.ma.comcast.net" helo="[<IP_ADDRESS>]" relay=N early=N esmtp=Y tls=Y pipe=N errors=0 txns=0 rcpts=0/0/0 msgs=0/0/0 bytes=0 lr="" time=2.366
Jun 16 14:04:29 node haraka[74771]: [INFO] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [bounce] Valid bounce originated from <IP_ADDRESS>
Jun 16 14:04:29 node haraka[74771]: [ERROR] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [core] bounce plugin ran callback multiple times - ignoring subsequent calls
Jun 16 14:04:29 node haraka[74771]: [ERROR] [0FD2113E-A637-4D85-B5E5-1346E0B63093.1] [core] Error     at callback (/usr/local/lib/node_modules/Haraka/plugins.js:317:34)     at run_cb (/usr/local/lib/node_modules/Haraka/plugins/bounce.js:332:16)     at /usr/local/lib/node_modules/Haraka/plugins/bounce.js:365:32     at mech_chain_caller (/usr/local/lib/node_modules/Haraka/spf.js:311:24)     at /usr/local/lib/node_modules/Haraka/spf.js:354:52     at mech_chain_caller (/usr/local/lib/node_modules/Haraka/spf.js:311:24)     at SPF.mech_ip (/usr/local/lib/node_modules/Haraka/spf.js:641:20)     at mech_chain_caller (/usr/local/lib/node_modules/Haraka/spf.js:327:33)     at /usr/local/lib/node_modules/Haraka/spf.js:330:9     at asyncCallback (dns.js:68:16)     at Object.onanswer [as oncomplete] (dns.js:147:9)

Maybe just need to pre-validate, or use try / catch to better handle this.

The SPF plugin shouldn't be an issue because of the way the ipv6 addresses are parsed.   The bounce_spf stuff though yeah - I thought I'd been careful with the regexps, but I guess not.   Do you happen to have the headers of that message?

Do you happen to have the headers of that message?

Only the ones I saved in ES, which are not likely the ones you want:
"From"<EMAIL_ADDRESS>"To"<EMAIL_ADDRESS>"Subject": "Undeliverable: cabana Beverage"

Yeah - I need the Received headers.   Surprised you don't store the whole set of headers in ES in one big field (I'm doing that here).

Actually - I just realised; that wouldn't help anyway - the Received headers in this case would be in the message body of a MIME part as we're talking about a bounce.

Indeed. My intent is to (when I find time) introduce a test case that exercises this.

I think this a much better regexp than my original:
^Received:.*[\[\(](\d+\.\d+\.\d+\.\d+|[a-fA-F0-9]+:{1,2}[a-fA-F0-9:]+)[\]\)]

I think this a much better regexp than my original

I think your received parsing regexp should go in utils, where it could get covered by a nice variety of Received headers. The utils version should replace the regexp in connect.geoip that also parses Received headers. A future data.headers function that checks for a Network Level Consistent path (the from-domain of the current Received: header belongs to the same network prefix as the by-domain of the previous Received: header) would also use it.

PR #1120

I think also the regexp should go in the utils.
@msimerson will you do the take it to the utils?