E-Commerce SceneView Sample app

E-Commerce SceneView Sample app
This app contains two main screens that an ecommerce app generally would have, a product description screen that contains metadata about a product and a second virtual try on screen for users to try out the product in 3D.
This sample app follows most of the modern architecture guidelines as of 2023. (Dependency Injection isn't used to try to keep things a little simpler) https://developer.android.com/topic/architecture
Architecture:
UI Events are user taps, clicks, actions, which modify state stored in the ViewModel.
UI Actions are one time events for navigations, toasts, etc.
ViewModel is used to hold state and ui actions which are StateFlows.
Data layer - contains your data models and repositories
Domain Layer - seperation between presentation layer and data layer (usually interface implementations, but in some cases can include classes)
Presentation Layer - Android specific classes, UI, etc,
Two main screens:

ProductDescriptionScreen.kt
VirtualTryOnScreen.kt (contains SceneView usage in Jetpack Compose)

Credits: All products are not my own images and are credited to LongChamp.
3D Model was a free asset downloaded from https://free3d.com/3d-model/womens-bag-373622.html
Demo:
https://github.com/SceneView/sceneview-android/assets/15284489/a0254838-202b-422f-a36d-1f1127e9658d

@ThomasGorisse Can you take a look at this when you have time? Thanks!

Hi @Blizl!
I've taken a quick look at your pull request and it looks great! I'm not an expert when it comes to Compose so the final decision is still on Thomas.
Anyway, here are my thoughts:

There are some things like sample tests that can be removed.
Is it a "view in your space" sample rather than  a "virtual try on" sample?
The sample is more advanced than the current samples since it not only showcases AR or 3D features of the framework but also the Android development guidelines. I think we should indicate this somehow.

@Blizl Can you give me the apk please? I tried building your sample app and everything works perfectly except rotating the object is really difficult (I use Android Studio Giraffe | 2022.3.1 and my device is Samsung Galaxy Note 10+ (Android 12))

@grassydragon Thanks for the review! I've renamed the feature from Virtual Try On to View in Your Space. I've also removed some files that were not needed. I've also added a readme as below:
E-commerce Jetpack Compose SceneView Sample App
Overview
Welcome to the "E-commerce Jetpack Compose SceneView Sample App." This advanced sample app demonstrates how to create a modern e-commerce product description screen with additional features like adding products to the cart and viewing them in your space using SceneView for 3D model placement. The app follows modern Android architecture principles using Clean Architecture.
Key Components
Clean Architecture
This app follows Clean Architecture principles, separating the codebase into three layers:

Data Layer: Responsible for interacting with data sources such as databases, APIs, or local storage. It provides data to the domain layer and includes repository implementations.

Domain Layer: Contains the business logic and use cases of the app. It is independent of the data and presentation layers and defines the core functionality of the app.

Presentation Layer: Handles the UI logic and rendering using Jetpack Compose. It communicates with the domain layer via ViewModels to display data and respond to user interactions.

UI Events
UI events in this app represent user interactions or actions triggered within the Composable functions. These events are sent to the ViewModel for processing. For example, when the user taps the "Add to Cart" button or "View in your space" button, UI events are dispatched to the ViewModel to handle the corresponding actions.
ViewModel
The ViewModel is a crucial part of this app's architecture. It acts as an intermediary between the Presentation and Domain layers. ViewModels receive UI events, process them, and update the ViewState accordingly. They also trigger UiActions to navigate to different screens or display notifications.
ViewState
ViewState represents the current state of the UI. It includes data that should be displayed on the screen, such as product details, images, and other relevant information. The Presentation layer observes the ViewState and updates the UI accordingly. When the ViewState changes, Jetpack Compose recomposes the UI to reflect the new state.
Screens
Product Description Screen
The main feature of this app is the product description screen. It displays detailed information about a product and provides the following functionalities:

Product Images Carousel
"View in your space" button to launch the camera for virtual try-on
Product title, color, and description
Price and "Add to Cart" button

View In Your Space Screen
The "View In Your Space" screen is a pivotal feature of this app, offering users the ability to place 3D models in their real-world environment using augmented reality. This screen showcases the app's cutting-edge capabilities with ARCore and SceneView.
This screen provides a rich AR experience and includes the following features:

Augmented reality rendering of 3D models in real-world settings.
Interactive gestures for placing and rotating 3D models.
UI feedback based on the AR experience, such as readiness to place the model and hints for user actions.
Integration with ARCore to track surfaces and enable accurate model placement.

The "View In Your Space" screen exemplifies how modern Android development can seamlessly incorporate augmented reality to enhance user engagement and interaction. It leverages the power of AR technology to create immersive and dynamic experiences within the app.
Feel free to explore and customize this screen to suit your specific AR application needs.
Dependencies
This app uses Jetpack Compose for UI rendering and follows the principles of clean architecture for maintainability and scalability. It also leverages SceneView for 3D model placement in the virtual try-on feature.
Get Started
To run the app, follow these steps:

Clone the repository.
Build and run the app on your Android device or emulator.

Hi @Blizl!
Thank you! I'll take a look at the code again.

@Blizl  I am working on the similar app just like the way you have showcased in the video, could you please share the source code of the sample, that will be a great reference for me, Thank you in advance.


No matching version found for<EMAIL_ADDRESS>when npm install

a few days ago it's ok, but today when i npm install, I got error like down
| -------------------------------------------------------------------------------------------------

Reporting a bug or issue

Expected behavior:

no sure, but npm is showing it as published: https://www.npmjs.com/package/react-sketchapp so maybe an issue with your config? Are you using another registry or something?

in my company, it's ok.
maybe my home's network has something.
thank you for you response


fix(Security): variable to set minimum TLS version

PR Checklist

[ ] Unit Tests have been added for new changes
[ ] API tests have been updated if applicable
[ ] All commented code has been removed
[ ] If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

What are you changing?

Anything the reviewer should know when reviewing this PR?
If the there are associated PRs in other repositories, please link them here (i.e. open-amt-cloud-toolkit/repo#365 )

please squash your commits

please squash your commits

Done. Thanks for the help


Unable to install Windows Package Manager via App Installer (maybe it's me)

Brief description of your issue

Steps to reproduce
Deploy Windows 10 Preview image from public Azure. Join the Windows Package Manager Insider Program. Follow the on-boarding e-mail instructions i.e. run ms-windows-store://pdp/?productid=9nblggh4nns1
Expected behavior
Windows Package Manager is installed via App Installer.
Actual behavior
Windows Package Manager is not installed the command WinGet is not recognised.
Environment
[winget --info]
Windows Package Manager version: didn't get installed
Windows: Windows: Windows.Desktop v10.0.19041.208
Package: Microsoft.DesktopAppInstaller v1.0.41331.0

Any other software? None.

This turned up for me a today but wasn't working yesterday.
It may be taking time to distribute to all of the local stores (I'm in the UK).

Did you have to run updates for it to install - same problem here. I uninstalled (Get-AppxPackage Microsoft.DesktopAppInstaller |Remove-AppPackage) and reinstalled from the Store but no dice.

Same here, after following the instructions I installed App Installer via the command in the email however, there is no launch button on the app page after install and it does not appear on my list of installed apps in the store app.

Just like smabuk, it now works for me. The next day, I again uninstalled App Installer and reinstalled from the Windows Store - this time it actually took a few seconds longer to install, so I knew it was actualy doing something.

Same here just took a while to come through in the store. I feel like the email is being sent before the MSA is added to the preview ring. Perhaps it is possible to change the flow so you get a "We've received your request" email then when the MSA account has been added and given any required propagation time the link email is then sent

Perhaps also worth documenting the minimum version of App Installer that has winget included. I joined winget preview flight 24hrs ago and I'm still on App Installer 1.0.40491.0 (UK store) with no winget. (19628 Windows Insider build). Also if there is delay between joining the winget preview and getting the updated App Installer from non-US Microsoft App stores that should be also noted somewhere.

I confirm that no app installer updates are provided to me (and winget command is not recognized) even after roughly 2 days of signing up in windows package manager insider program. I am on version 1.0.32812.0  of app installer and windows 2004 update(not on insider variant),even tried uninstalling and reinstalling app installer to no luck.If Microsoft are no longer admitting new participants please add it in the readme.md file.

Just like OP my problem fixed but it took 1 week ,so maybe a conformation mail is really needed to avoid confusion, just like TomBrien suggested.

I can confirm the same issue, no update of App Installer after submitting for the Windows Insider flight ring, re-signing in to the Store, etc.
The https://docs.microsoft.com/en-us/windows/package-manager/winget/ says to either submit for the Windows Package Manager Insiders Program or the Windows Insider flight ring and perhaps  there is a timeline difference between the two programs, perhaps one gets the update earlier than the other. One way or another, it's all very confusing and no info about the App Installer version number installed/required is not helpful at all.

Update to my https://github.com/microsoft/winget-cli/issues/251#issuecomment-733115463 as I have just managed to get the updated version of the App Installer:

Uninstall the App Installer Get-AppxPackage Microsoft.DesktopAppInstaller |Remove-AppPackage (thanks @rajmandalia for https://github.com/microsoft/winget-cli/issues/251#issuecomment-632486088)
Sign up for the Windows Insider flight ring
Settings> Diagnostics & feedback settings and allow the Optional diagnostic data as that seems mandatory due to run Windows 10 Insider Preview Builds, you must allow us to see a certain amount of diagnostic data.
Settings> Microsoft Store > install App Installer (followed with Get Updates just in case)
I also did Settings > Windows Insider Programme and disabled Windows Insider builds as I don't want the insider system updates.

I suspect that the critical part of the procedure is the step 3. that is allow the Optional diagnostic data which I had turned off.
I suspect this may also be (silently) required by the Windows Package Manager Insiders Program to get the App Installer previews.


Core Backbone Models representing Dataset and Tabular data

Dataset

DocumentSet / TabularData / RowSet

getRow
getLength

Header
Document / Row

May want to aim for simplicity, at least in first pass!
Sketch from etherpad
tabular: http://wiki.ckan.org/Data_Formats#Formats_-_Tabular
Dataset

id
title
description
last_modified
total_rows
RowSet / TabularData = either an Array of Hashes or an object with following functions:

getRow(i,j)

Good way through this now but by no means complete.

FIXED. Fixed since early december but had not closed ticket. Ultimately have:

Dataset

getDocuments() (getRows originally)
docCount (attribute - replaces getLength)
currentDocuments - pointer to DocumentList

Document - a row / document
DocumentList - Backbone Collection of Documents


Version 148

Is there a chance of getting a release that will support database version 148? Is master up to date?

Yes, I had just forgotten to make a release.
Updated now to 149, which is what we have in c-lightning's current master.

Yes, I had just forgotten to make a release.
Updated now to 149, which is what we have in c-lightning's current master.


Gamepad buttons not reported as in "down" state when onDownCallback invoked.

To reproduce:

Obtain a SinglePad instance reference.
Set up a listener for the SinglePad instance's onDownCallback method.
In your listener, use the console to print out the pressed buttons "isDown" property.

Expected behavior: The button's "isDown" property would be set to TRUE.
Actual behavior: The button's isDown is set to FALSE.
The apparent cause of this can be found in SinglePad.js : Line 360.  I think the fix is simply to move the last "if" clause to the top of the function so the button's state is set prior to calling the rest of the "down" callbacks.
Is that safe to do?  I'm happy to make the change and submit a pull request if this is an acceptable fix but I wanted to check to see if the existing order of the "if" statements was intentional.
Thanks for your help!
Edit: It may be worth noting that manually getting a reference to the pressed button (via SinglePad.getButton()) and setting the value (via DeviceButton.start(null, value)) before checking the value of DeviceButton.isDown seems to fix the issue.
Example code.
game.input.gamepad.start();
pad1 = game.input.gamepad.pad1;
pad1.onDownCallback = function (buttonCode, value) {
    switch (buttonCode) {
        case Phaser.Gamepad.XBOX360_A:
            console.log(pad1.getButton(buttonCode).isDown); // returns false;

            // Manually set button state.
            pad1.getButton(buttonCode).start(null, value);

            console.log(pad1.getButton(buttonCode).isDown); // returns true;
            break;
    }
};

Agreed, this is now fixed in dev.


Add support for parameterized_verbatim

Adds a sqlpp11::parameterized_verbatim escape hatch for tricky or database specific prepared statements.

This addresses #340

Hi,
Thanks for the pull request! The changes look very good to me.
Any idea, why "Rebase and merge" detects a merge conflict?
Best,
Roland

Not too sure. Maybe just squash merge this one? (GitHub seems to be telling me there are no conflicts)

Done. Thanks again :-)


Ml docfixes

I got around to doing part of the things discussed in this mailing list post:
https://sourceforge.net/p/erlyaws/mailman/message/34232358/
figured I'd start with a pull request for the doc fixes.

Thx


Multi GPU Finetuning not working (CUDA Error)

Hey I'm trying to get the multi GPU finetuning to work. I've downloaded the TinyLlama-1.1B-Chat-v1.0 modell which I'm able to finetune with the lora.py on a single GPU just fine. Whenever I try to add my second GPU by changing the devices to 2 I get a CUDA error which says that my device ordinal is wrong. Has anyone run into the same problem?
**CUDA Error:**
`RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.`

**Nvidia SMI Output:**
`+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08              Driver Version: 545.23.08    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 1080        On  | 00000000:03:00.0 Off |                  N/A |
| 24%   40C    P8              13W / 180W |      1MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce GTX 1080        On  | 00000000:04:00.0 Off |                  N/A |
| 23%   39C    P8               8W / 180W |      1MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+`

Thanks for reporting this issue. Do you remember the command you used? I am just guessing here, but perhaps it was missformatted and was [2] instead of 2. If it's [2] it would select the GPU with ID 2, that's the 3rd GPU but you only have 2 GPUs, which could explain the issue.
Could you share your command that caused the trouble or try to run the following
finetune lora --checkpoint_dir ... --devices 2

Please feel free to reopen this issue if the problem still persists.


Influx line protocol output (or reformat?)

Looking for some advice/direction as to how to reformat an existing message (probably json) into ILP. I'm hesitant to think of this as an output - it seems as though it might fit into a processor that would reformat a message into a single line, possibly taking into account the metadata tags as well.
 From the example you showed this could actually be done with the insert_part processor since the content field uses config interpolation:
type: process_batch
process_batch:
- type: insert_part
  insert_part:
    content: "weather,location=${!json_field:location} temperature=${!json_field:temperature} ${!timestamp_unix_nano}"
    index: -1
- type: select_parts
  select_parts:
    parts: [-1]

The process_batch part means this would be safe to use even when you are batching messages together.


FAI-13320: Change what is returned as part of a project's boards

Description

Changes the definition of how a board belongs to a JIRA project.

Before
we were using the JIRA API definition. When using projectKeyOrId query param for GET All Boards API it filters results to boards that are relevant to a project. Relevance means that the jql filter defined in board contains a reference to a project. This seems to result in some boards in a project not showing up if they do not explicitly reference the project as explained in this post.
After
A board will be listed as part of the project if it meets one of the following criteria:

It is located in the project using the board's location.projectKey
The previous definition of meeting the JIRA API relevance to a project using getAllBoards projectKeyOrId param

Type of change

[X] Bug fix
[X] New feature
[ ] Breaking change

🚀


HTTPCORE-759 Content-Length missing on null entity request content

Quick fix for maximum compatibility per JIRA

@chrysophylax Please also make sure the build still passes all style checks. I would also kindly ask you to add a test case to TestStandardInterceptors for the new behavior.

I updated the existing testRequestContentNullEntity test  to the new expected behaviour and added a test to make sure non-PUT/POST/PATCH don't get the Content-Length header added.


3D Reference Object Page - Add L to male right kidney

To-Do: High Priority

[ ] Add Male, L title to the male left kidney on the 3D Reference Object Kidney page.

The HRA-UI mono repo contains one HRA Portal issue currently: https://github.com/hubmapconsortium/hra-ui/issues/184
Please address this ASAP so that we can close out both issues.

fixed this in #175


User management support one user any databases?

The user_management recipe can support create an user to use many databases?
something like that
use reporting
db.createUser(
    {
      user: "reportsUser",
      pwd: "12345678",
      roles: [
         { role: "read", db: "reporting" },
         { role: "read", db: "products" },
         { role: "read", db: "sales" },
         { role: "readWrite", db: "accounts" }
      ]
    }
)

@jamesonjlee can you help?

@jamesonjlee This cook book will install version 2.4.9 of the mongo shell. Version 3 started supporting creating users the way you are creating it. In your version you have to do it this way
use reporting
db.addUser( { user: "reportsUser",
              pwd: "12345678",
              roles: [ "read" ]
            } )

You have to do this for every database. This cookbook is out of date use this one they maybe taking it over https://github.com/chef-brigade/mongodb-cookbook. Here is more info on adding a user with your version http://docs.mongodb.org/v2.4/tutorial/add-user-to-database/.

@ballerabdude this way works on 2.x mongod.
If you need allow user to siwtch between, in the same session, you need to do this auth configuration in the same database.
maybe turn this issue a feature request?


ACM-11417 Backport non-recommended version upgrade and add retry when setting c…

…lusterversion
https://issues.redhat.com/browse/ACM-11417

Backport non-recommended version upgrade
Add retry when setting clusterversion

/approve

@fxiang1
Can we go into those individual PRs and put in a comment like:
/cherrypick backplane-2.3

and get the bot do it for us?

/hold

@mikeshng Thanks for taking a look.

Backport non-recommended version upgrade

For this one I tried cherry picking it didn't work. So I'm manually backporting see https://github.com/stolostron/cluster-curator-controller/pull/195#issuecomment-2077598390

Add retry when setting clusterversion

This is a brand new bug recently reported by Amadeus so there's no existing PR to cherry pick from.

/unhold

Thanks @mikeshng !


Transaction Builder - Change receive method to constructor

closes #109

Sorry to be so harsh on this PR. I totally see the need to refactor this code, and pull the different logic parts into different components. Any we could even go further and move the transaction encoding / checking logic out of the components.
I just feel that this does not belong in this PR that is for fixing the constructor issue. Even fixing the issue for sending ETH to an EOA should probably be handled in a separate PR.

@rmeissner you are right. This PR was merged with #issue-108 branch in order to avoid conflicts but it added a lot of changes from other PR made by @nicosampler. So I'm thinking about close this PR and create a new one with only the changes related to this bug.

Ahhh yeah ... wasn't aware of the other PR (probably most of my comments from this PR should go there 😬). If you don't want to open a new PR you can also just rebase this PR and force push, but up to you ;).
Another alternative: If you say this PR has a hard requirement on that other PR you make this PR a Draft PR that has the other PR branch as the base. As soon as the other PR is merged you can convert this PR to "Ready for review" and update the base (I think github even updates this PR base as soon as the other PR is merged).


Add DjmdRecommendLikeByAnyContentId helper

Provide a simple built in way to query recommended likes by content id

This slipped through the cracks, sorry about that. Thanks for the PR!


Allow to reset scalePolicy field in rancher-compose

Although scalePolicy has a property nullable set to true in Rancher API, there is no way to reset it to null using rancher-compose. We'd need this to be fixed as we are planning to migrate k8s etcd service from using scalepolicy, to use scale. For that, scalePolicy has to be explicitly set to null when not specified
https://github.com/rancher/rancher/issues/6832

Closing as we decided to keep scale policy in for now.


ads: move metric to static in test

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
290ffa1173ca7b8a4b5b1be45c27114c771d0d1c
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
290ffa1173ca7b8a4b5b1be45c27114c771d0d1c
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests_istio

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
290ffa1173ca7b8a4b5b1be45c27114c771d0d1c
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests_istio


Deep link urlschemes don't work in DDG

Describe the bug
The DDG browser doesn't not understand deeplink urlschemes provided by website redirects.
How to Reproduce
My app uses QR codes to direct users to a website url, which then in turn uses a deeplink urlscheme to determine A) if the app is installed on the users phone B) if not installed to direct to the app store and C) if installed, then open the users app to go to specific content inside the app.
I am not a user of DDG, but one of my app users does use DDG.  When they scanned the QR code, it goes the website url properly but then #A is not happening properly - it doesn't see the app installed and redirects the user to the app store to install it.
This feature works on Chrome, Safari and Edge - but I recently discovered it does not work on DDG.
Process flow:

User scans the QR Code with embedded link:  https://mydomain.com/e=1135
User selects DDG app to open link
User gets redirected to the link in #1
JS embedded on the page then attempts to route to the urlscheme:  mydomainapp://e=1135
If user has app, the browser should recognize the urlscheme, and it should open the app immediately (which in turn stops browser redirect JS scripts)
If user doesn't have app, then the specific urlscheme is not understood, and the JS scripts continue on to the next part which then redirects the user to the app store.

Specifically, #5 isn't happening even though the user does have the app already installed.
Expected behavior
If an app is installed on the users phone, then the DDG browser should recognize the deeplink urlscheme and open that app.
Environment
Android devices

I have not tested this on iOS or Safari yet.  However, I suspect it will work on iOS because urlschemes on iOS are at the OS level, whereas on Android I think urlschemes are recognized at the browser level (which is why it works on Chrome and Edge)

@rolinger I assume the url on step 1 is not valid. Could you share an example of site where this is not working? Thanks

@cmonfortep - no, step 1 is working.  It's after the user arrives at the link, the JS is working...but its breaking at step 5 because DDG browser does not recognize the deeplink urlscheme even when the app is installed on the users phone.

@cmonfortep - The webpage uses PHP to determine both OS type and if the device is mobile or not.  It then populates that info into the JS and then executes the JS.  The JS script immediately tries to open the urlscheme...if the urlscheme is recognized the app will open, if not then a setTimeout executes more JS to redirect the user to the app store.  This scripting to support all this works on Chrome, Safari, Edge and FF.  But when the user selects to open QR Code link with DGG, the redirect to the urlscheme doesn't trigger the app to open, then causing the setTimeout to kick in to redirect to the app stores.
<script>
  var osType = <?=$osType?> ;
  var mobType = <?=$mobType?> ;
  if (mobType != 0) {
    //console.log("Is Mobile Device") ;
    var store = encodeURI("<?=$storeUrl?>") ;   // app store url for ios or android app
    var mobile = encodeURI("<?=$mobileUrl?>") ;  // myApp urlscheme
  }
  var now = new Date().valueOf();
  setTimeout(function () {
    if (new Date().valueOf() - now > 150) {
      //return;  // this prevents return to browser redirecting to app store again.
    }

    if (osType != 0) {
      var msg = "myAPP: Not Detected.\n\nCLICK OK to go to app store\n\nAFTER INSTALL: If Event does not autoload, please rescan the QR Code." ;
    } else {
      var msg = "UNABLE TO DETECT OS\n\nmyApp is only supported on iOS and Android\n\Click either either app store to install myApp" ;
    }
    if (window.confirm(msg)) {
      if (osType != 0) {
        //console.log("confirmed, go to store") ;
        saveHost(store) ;
      } else {
        //console.log("confirmed, but no OS match") ;
        return ;
      }
    } else {
      //console.log("Cancelled") ;
      return ;
    }
  }, 75);

  // run this code FIRST, if urlscheme is recognized
  // then open App,
  if (osType != 0) {
    console.log("Redirect to urlscheme") ;
    window.location = mobile ;
  }
 // if urlscheme is NOT recognized, then the `setTimeout` will execute
 // after 75ms - which will pop a confirmation message to redirect user to app stores.
</script>

If I visit https://mydomain.com/e=1135 from any browser, I just get a "404" error "the page you requested no long exists"

@cmonfortep - I would have assume you recognized 'mydomain.com' as NOT a real domain.  I removed all references to my actual domain and app name.  I can private message you that if possible.

@rolinger I assume the url on step 1 is not valid. Could you share an example of site where this is not working? Thanks

@rolinger that was exactly what I was asking you about. We need a working URL so we can test it in our side and see why it's not handled properly.
Sites like Twitter, gmail, gmaps, reddit, amazon, etc. have an button to open the native app and we support those links in our browser.

@cmonfortep
I will post it here for now, then delete it after you have it recorded on your side.  I don't like having my userID, domains and such associated in support blogs anywhere.  That's why I asked you for a private message or support email I can send the real links and app names to.
Real web link:  https://attendago.com/events/?r=1008
That tries to open urlscheme:  attendago://
Let me know when you have these links and I will delete this comment.

Thanks. I've already deleted the comment for you.

@rolinger using our latest app:

before I installed the app, I got the message you mentioned and then I was correctly redirected to the play store.
after installing the app, I got the same message (app not detected). However, after closing the dialog the user can open the link on the native app.

Could you please try to reproduce it on your device using our latest version?

Could you clarify 'after closing the dialog the user can open the link on the native app' ?  Do you mean typing the "myapp://r?id=1008" into the DDG address bar?  Because after the "app not found" dialog box is closed, there is no link for users to click that would take them into the app.
That aside, you do now see the issue.  Your first bullet point: that is the correct behavior for users that don't have the app install.  But your second bullet point, with the app already installed, its supposed to auto-open the app.  But on DGG, you have now witnessed it does not.  What is causing this or what is the fix DGG needs to implement to fix it?

@cmonfortep - I think I might see what your talking about.  I am seeing different behaviors due to JS execution times.  I have tried it multiple times now and sometimes the urlscheme triggers the DDG dialog "open in a different" app before the JS triggers its own dialog boxes.  It looks like the DDG dialog box is NOT pausing the JS....because then the JS setTimeout dialog pops up overlaying the DDG dialog box.
On iOS, the Safari dialog box will open asking "to open in another app" - if user cancels then users just remains on webpage with no more dialog boxes, if user clicks ok, then it opens the app and no more dialog boxes.
But with DDG, the JS isn't being captured or paused, allowing the setTimeout dialogs to overlay the DDG dialog....which then can cause and odd loop of behaviors.
An example of this odd behavior:  When the website dialog "app not detected, go to store" is opened, if the user clicks "ok", it then pops up another DDG dialog - now there are two DDG dialogs overlaying each other, but visually you can only see the top one (or maybe the first one is replaced with the new one).  The top one will route the user to the playstore...and they never see the bottom one which would then launch them into the app.

@cmonfortep - I figured out the odd behaviors, see below.

QR Code opens with DDG
Tries to redirect to urlscheme myapp:// - a DDG dialog opens "use another app - cancel/ok".  But, the website JS dialog opens over that saying "app not found, go to app store - cancel/ok"
If user "cancels" JS dialog, user sees the native DDG dialog for a moment but then another JS dialog "app not found, go to app store - cancel/ok" dialog pops up again.  If user cancels JS dialog again, they then see the native DDG dialog "use another app" listed in 2).
at this point, In the native DDG dialog, if user clicks "OK", THEN DDG will open the app.

However, at any point, if the user clicks "OK" on the JS dialogs, then the native DDG dialog either gets rewritten - OR - another dialog sits on top of the original one.  Then the new (or overalyed) DDG dialog "open" button will redirect the user into the app store.
On a side note, I will look into why my JS is causing a 2nd "app not detected" dialog to pop up, that should not be happening.  But regardless of my JS popping up once or twice, if the user clicks "OK", the native DDG dialog "open" button will direct the user back to the app store.
I think perm solution for this is the DDG dialog box should pause/interrupt the website JS from continuing to execute...I think thats how Safari works.  If the user clicks "open" it just navigates away from the page and opens the app.  And if the user clicks 'cancel' on the native dialog box, it simply cancels all the remaining JS code.  I am not experiencing any of this weird behavior on iOS Safari - and safari does pop open a similar "open in myApp" dialog box.

"But your second bullet point, with the app already installed, its supposed to auto-open the app. But on DGG, you have now witnessed it does not. What is causing this or what is the fix DGG needs to implement to fix it?"

This is intended by design. Inside settings the user can decide if we should open external apps by default. By default, we show a dialog so the user can decide what action they want to do.

The JS logic you are describing will not work in our browser, since we will not pause any JS code from being executed + the user will decide if they want to open an external app or stay in the browser. My recommendation is to not assume that kind of behavior since we are not the only browser that has a similar feature in place for privacy protection.
My recommendation is to follow the same pattern as other websites. For example, if a user has the twitter app on their device and they click any twitter link, we will show the user the option to open that link on the external app. If the user decides to stay in our browser, the website version will load. That's working for many website, so we don't have plans to change our current behavior. Users can change that setting and automatically open links on external apps, that way your current logic will work without issues.


I can't delete Realm

I've been reviewing the documentation and the repository code and I don't understand why it doesn't work.
Keycloak needs DELETE /{realm}. If I'm not wrong, the equivalence would be.
c.delete()

or
c.delete("foo")

However, the base_url is http://localhost:8080/admin/realms/foo/delete. But it should be: http://localhost:8080/admin/realms/foo/.
Could it be a limitation of Slumber?
Thanks!!

Hello @tanrax,
Wow, that's indeed a bug you found here. The limitation lies within the mantelo implementation. Thanks for the report!
I should be able to provide a fix to interact with the realm itself (/realms/{name}/ endpoints) using client.get(), client.delete(), etc. quickly. Does it sound good or do you have a better idea for dealing with realm endpoints?

I like it, it seems like a good solution 😄
Would it break the structure to use the name realm? For example c.realms.delete("foo") or c.realms.get()? Just a suggestion to make it clearer in the code.

Hello again @tanrax ! I created a pull request with a first proposal. May I ask you to have a look and tell me what you think of it? Any suggestion is welcome :)
Thanks!

In principle I have nothing more to add. I look forward to trying the new code :D


No implementation for org.eclipse.aether.impl.VersionResolver was bound.

I'm trying to mavenize a projet. My spike consist in:

upload a dll that works in unity to nexus
Add a pom to my project that should download the dll and add it to the project.

Here my actual pom:
`

4.0.0
com.plumbee
unity-slot-spike
jar
0.1
<name>Unity slots spike</name>

<parent>
    <groupId>com.plumbee</groupId>
    <artifactId>BasePom</artifactId>
    <version>3.14</version>
</parent>

<properties>
    <unity.maven.plugin.version>0.2.3</unity.maven.plugin.version>
    <zenject.version>3.9</zenject.version>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>ca.mestevens.unity</groupId>
            <artifactId>unity-maven-plugin</artifactId>
            <version>${unity.maven.plugin.version}</version>
            <extensions>true</extensions>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>modesttree</groupId>
        <artifactId>zenject</artifactId>
        <version>${zenject.version}</version>
        <type>dll</type>
    </dependency>
</dependencies>

`
Ignore the packaging JAR for now, because I'm just trying to resolve the dependency.
When I run this command:
mvn unity:unity-library-dependencies
I got this error:
[ERROR] Failed to execute goal ca.mestevens.unity:unity-maven-plugin:0.2.3:unity-library-dependencies (default-cli) on project unity-slot-spike: Execution default-cli of goal ca.mestevens.unity:unity-maven-plugin:0.2.3:unity-library-dependencies failed: Unable to load the mojo 'unity-library-dependencies' (or one of its required components) from the plugin 'ca.mestevens.unity:unity-maven-plugin:0.2.3': com.google.inject.ProvisionException: Guice provision errors:
[ERROR]
[ERROR] 1) No implementation for org.eclipse.aether.impl.VersionResolver was bound.
[ERROR] while locating org.eclipse.aether.internal.impl.DefaultArtifactResolver
[ERROR] at ClassRealm[plugin>ca.mestevens.unity:unity-maven-plugin:0.2.3, parent: sun.misc.Launcher$AppClassLoader@14dad5dc]
[ERROR] at ClassRealm[plugin>ca.mestevens.unity:unity-maven-plugin:0.2.3, parent: sun.misc.Launcher$AppClassLoader@14dad5dc]
[ERROR] while locating org.eclipse.aether.impl.ArtifactResolver
[ERROR] while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
[ERROR] at ClassRealm[plugin>ca.mestevens.unity:unity-maven-plugin:0.2.3, parent: sun.misc.Launcher$AppClassLoader@14dad5dc]
[ERROR] at ClassRealm[plugin>ca.mestevens.unity:unity-maven-plugin:0.2.3, parent: sun.misc.Launcher$AppClassLoader@14dad5dc]
[ERROR] while locating org.eclipse.aether.RepositorySystem
[ERROR] while locating ca.mestevens.unity.FrameworkDependenciesMojo
[ERROR] at ClassRealm[plugin>ca.mestevens.unity:unity-maven-plugin:0.2.3, parent: sun.misc.Launcher$AppClassLoader@14dad5dc]
[ERROR] while locating org.apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=ca.mestevens.unity:unity-maven-plugin:0.2.3:unity-library-dependencies)
[ERROR]
[ERROR] 1 error
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint: ca.mestevens.unity:unity-maven-plugin:0.2.3:unity-library-dependencies
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
Any thoughts?
PD If you can point me to any example of pom using this plugin will be really appreciated :D
Cheers.

It seems like this might be a maven version problem. What version of maven are you using? Also I don't know of any poms using this plugin outside of our workspace (which I can't link to for reasons), but I'll take a look later today and see if I can throw together an example one for you.

Maven 3.0.3 and Java 1.8.0_45

Ok, I didn't realised that. I was using 3.0 because a plugging that I'm using in a different project. Changed to 3.1 and works like a charm. Cheers!


Board Review: Text Analytics

Thank you for starting the process for approval of the client library for your Azure service.  Thorough review of your client library ensures that your APIs are consistent with the guidelines and the consumers of your client library have a consistently good experience when using Azure.
** Before submitting, ensure you adjust the title of the issue appropriately **
To ensure consistency, all Tier-1 languages (C#, TypeScript, Java, Python) will generally be reviewed together.  In expansive libraries, we will pair dynamic languages (Python, TypeScript) together, and strongly typed languages (C#, Java) together in separate meetings.
The Basics

Service team responsible for the client library: Azure SDK team
Link to documentation describing the service: https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/
Contact email (if service team, provide PM and Dev Lead): mayurid;annelo

About this client library

Name of the client library: azure.ai.textanalytics
Languages for this review: Python and Java
Link to the service REST APIs: https://github.com/Azure/azure-rest-api-specs/tree/master/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1

Artifacts required (per language)
We use an API review tool (apiview) to support .NET and Java API reviews.  For Python and TypeScript, use the API extractor tool, then submit the output as a Draft PR to the relevant repository (azure-sdk-for-python or azure-sdk-for-js).
.NET

Upload DLL to apiview.  Link:  https://apiview.dev/Assemblies/Review/b196a5e53fa2441f92e3b1accefa35e7
Link to samples for champion scenarios: https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/textanalytics/Azure.AI.TextAnalytics/tests/samples

Java

Upload JAR to apiview.  Link: https://apiview.dev/Assemblies/Review/942b652edaf44b7189f41270cf07e54f
Link to samples for champion scenarios:  https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/textanalytics/azure-ai-textanalytics/src/samples

Python

Upload the api as a Draft PR.  Link to PR: https://github.com/Azure/azure-sdk-for-python/pull/9823
Link to samples for champion scenarios: https://github.com/kristapratico/azure-sdk-for-python/blob/ta-api-listing/sdk/textanalytics/azure-ai-textanalytics/API_LISTING.md

TypeScript

Upload output of api-extractor as a Draft PR.  Link to PR: https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/textanalytics/ai-text-analytics/review/ai-text-analytics.api.md
Link to samples for champion scenarios: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/textanalytics/ai-text-analytics/samples/typescript

Champion Scenarios
A champion scenario is a use case that the consumer of the client library is commonly expected to perform.  Champion scenarios are used to ensure the developer experience is exemplary for the common cases.  You need to show the entire code sample (including error handling, as an example) for the champion scenarios.

Champion Scenario 1:

Describe the champion scenario
Estimate the percentage of developers using the service who would use the champion scenario
Link to the code sample

_ Repeat for each champion scenario _
Examples of good scenarios are technology agnostic (i.e. the customer can do the same thing in multiple ways), and are expected to be used by > 20% of users:

Upload a file
Update firmware on the device
Recognize faces in an uploaded image

Examples of bad scenarios:

Create a client (it's part of a scenario, and we'll see it often enough in true champion scenarios)
Send a batch of events (again, part of the scenario)
Create a page blob (it's not used by enough of the user base)

Agenda for the review
A board review is generally split into two parts, with additional meetings as required
Part 1 - Introducing the board to the service:

Review of the service (no more than 10 minutes).
Review of the champion scenarios.
Get feedback on the API patterns used in the champion scenarios.

After part 1, you may schedule additional meetings with architects to refine the API and work on implementation.
Part 2 - the "GA" meeting

Scheduled at least one week after the APIs have been uploaded for review.
Will go over controversial feedback from the line-by-line API review.
Exit meeting with concrete changes necessary to meet quality bar.

Thank you for your submission

Scheduled for 2/24

Link to recording: (MSFT INTERNAL): https://msit.microsoftstream.com/video/9a62edad-82ac-4144-9ff8-9aa4da8f08c5
Follow-ups:

Discuss with service team on the introduction of Warnings
Discuss with service team on "confidence_scores" versus "scores" nomenclature
Office hours on strings and graphemes - scheduled for 2/25
Schedule part 2 to cover Java revisions and .NET API

Larger conversations that arose centered on

"Future-proofing" APIs by accounting for sync/async (possibly with paging)
Naming conventions in batches/paging

Discuss with service team on the introduction of Warnings

Conversation is currently on-going on email-thread.

Discuss with service team on "confidence_scores" versus "scores" nomenclature

Service is looking into renaming to confidence_scores for sentiment analysis.
no changes on client library side.

Office hours on strings and graphemes - scheduled for 2/25

Action items for the meeting that affect the client libraries for next preview and GA is to rename length and offset properties to include the word grapheme.
As for the service, they are going to work on a design that will allow for the user to specify the encoding the string is based on and according to that return the respective length and offset values.

Scheduled Python / JS Review on 3/3

It will be the second wave (continuation) of Java review followed by .Net
Thanks Adrian for updating the meeting.

.NET updated API view link in preparation for tomorrow's Arch Board meeting review: https://apiview.dev/Assemblies/Review/b196a5e53fa2441f92e3b1accefa35e7
FYI: @mayurid

Java updated API view link: https://apiview.dev/Assemblies/Review/942b652edaf44b7189f41270cf07e54f/68d38ba525e244d9826ec3f0f80fa89b
FYI: @mayurid

Arch board review notes:
Java API:

Do we have an overload for analyzeSentimentBatch which doesn't take the options?  Yes, we do, but you need to specify language as well.
ACTION:  Add another overload for text/language without options.

What about renaming language to defaultLanguage?  This is already on the client object.

The IDs in the list of strings is problematic - converting index to string.  Moving input into the result may assist here.
ACTION: Follow up with @JonathanGiles to fix this.
ACTION: Be aware of this issue in other languages.

Entity categories - should we return something for getSubCategory()?  Don't return something that the server doesn't return.

What does the service do?  There isn't a difference, but it's optional in the swagger response.

Is there a difference between absence of a value and the empty string?  Service will not return an empty string.
ACTION: Check samples to ensure null+isEmpty() is not being used.

Do they always iterate over all entities, or do they index into the result?  They may want to filter, bucket, or map.  e.g. just find people.

We don't have a good story of indexing into the result (e.g. get entity #3), but doesn't seem to be a use case for that.

Is there a use case for multiple operations for strings?  Yes, coming from the service in June (LRO)

@KrzysztofCwalina doesn't think the preview can be released as is.  The Unicode standards for Grapheme is too fluid.

From the service side: In April, we will return the strings in service API version v3 (won't have a fix for offset - you can get away with not releasing hte offsets).  Caveat around redaction (e.g. PII) - will need to search again. (Find/replace).  Then, in June, to specify the query parameter for encoding of the offsets.

Can we add a redaction / masking method on the PII results?  Don't think so, since every single language needs an implementation of Grapheme used by the service.

Can we return the offsets in a stable encoding?  (e.g. UTF-16, etc.)

How can we ensure we don't ship the grapheme properties?   Can we just remove them from preview-3?  Yes, if we have an alternative.  We don't right now.  Is there an alternative?  Search and replace may or may not be correct.

Are we sure we are getting the substring back in the same encoding?  If it's different, there is a concern on encoding differences.
ACTION: Replace getGraphemeOffset/Length with getOffset/Length with computed length/offset (and update implementation per April/June service releases) - investigate by language.

@JonathanGiles didn't like the *Batch - however, offline conversations suggest leaving the naming alone.

ACTION Add extra overload on detectLanguageBatch (on all endpoints for language/countryHint)
ACTION Remove the PerLabel from the SentimentAnalysisScorePerLabel.
ACTION Do no rename recognizeCategorizedEntitiesBatch - other languages should switch to this nomenclature. (Feature crew should decide - it's not a strong signal)
.NET API:

@KrzysztofCwalina thought Scott wanted the TokenCredential wanted it to be DefaultTokenCredential - don't think this is actually true.
FOLLOWUP with Scott.
Samples - @assafi suggested not doing rounding on the client; There are certain cases because of rounding where the pos+neu+neg does not add up to 1 and they are meant to.  Will check when the service change went/will go live.
FOLLOWUP Check on the sample once the service is updated.
Service might introduce mixed sentence sentiments.
ACTION Combine the DocumentSentimentLabel and SentenceSentimentLabel
ACTION Samples need to be updated, IReadOnlyList (instead of collection) and use implicit casts

Final points: (see recording at around 1hr40min)

How do we specify relationships between entities?  (think of a graph)

What should the API look like?   We don't want customers to see the relations - we want to know what opinions are linked to an aspect.
Option 2 conveys more information.  Also seems to be more efficient (due to path)
Arch board recommendation:  Use option 2 (JSON pointers)

What do we need to do for filter presets

Doesn't need to have special support in the client library
OData has functions that we might be able to use.
Really, it's a REST API issue, not a client SDK issue.

@adrianhall
For this Action:
ACTION Remove the PerLabel from the SentimentAnalysisScorePerLabel.

I believe all language agreed to stay with SentimentAnalysisScorePerLabel.  Is any offline conversation that I missed?

This might have been a mis-hearing from me.  I thought I heard "DO remove it because the name is too long".
Please cycle back with the architects to confirm.  No need for another meeting on this.

Updated API listing PR for JavaScript: https://github.com/Azure/azure-sdk-for-js/pull/7665
FYI @mayurid

Latest API listing for .NET: https://apiview.dev/Assemblies/Review/b196a5e53fa2441f92e3b1accefa35e7/55a4c2d4e33a4ab795945f161e00c692

Link to recording for JS/.NET (MSFT INTERNAL): https://msit.microsoftstream.com/video/32442448-0fe2-4de0-910f-0c586169f1a7
Notes from the review:
.NET Review:
Topic: Grapheme length
An issue has been opened for tracking.
APPROVED FOR PREVIEW 3
JavaScript Review:
Topic: PII Entities

Almost same as entity recognition, identical response model
Question: Are there differences between models JS uses and other languages?
-- Model shape follows pattern of other languages. JS directly uses a lot of code generated by swagger

Topic: Language detection

Returns a tuple of results, iso6391 name, and confidence score
This is based off the CultureInfo.TwoLetterISOLanguageName
Question: What do archs think of the Iso6391 name?
-- Docs will have to call it out
-- This is the simplest of language names
-- Since it is searchable online, usability may not be a sticking point.
Question: In the future, what if we use a different standard (or standard version)?
-- Backwards-compatibility keeps 639-1, and maybe have to add a property for "639-2".
-Question: What if this were more generic-named, and let documentation clarify which standard to use?
--- This may introduce a versioning problem, such as going from a two-digit code to a three-digit code

APPROVED FOR PREVIEW 3

@kyle-patterson is there more to this issue? or can we close it

Reviews were completed for all four languages, I'll close it out.


Adjust the indent

https://microsoft.github.io/FLAML/docs/Examples/AutoML-NLP

The indent after "transformer" should be adjusted.

Can i work on this one?

Can i work on this one?

Sure. Assigned to you.

The issue was already resolved

The issue was already resolved

Was it? I haven't seen a PR fixing it.

Sorry i found it,  in which repository can i find the code to commit the change?

Sorry i found it, in which repository can i find the code to commit the change?

The current repo, under website/docs/. You could also click "edit this page" from the bottom of the webpage.

How about apply black to all code examples in MD files: #1276


How to prepare correct bed file for msisensor msi?

I am trying to use the bed file carried by msisensor which is under test/all_CDS_and_ncRNA_24Chroms_Contigs_1BasedStart_2bpFlanks_ForMusic. Seems like test/example.bed used in the example script is part of this file. However, when I replace example.bed with the big bed file:
../msisensor msi -d example.microsate.sites -n example.normal.bam -t example.tumor.bam -e all_CDS_and_ncRNA_24Chroms_Contigs_1BasedStart_2bpFlanks_ForMusic  -o test -l 1 -q 1
It shows following error:
loading bed regions ...
loading homopolymer and microsatellite sites ...
Segmentation fault (core dumped)
The same error happens when I try to use the big bed with my own bam files. So I am wondering is there any specific requirement for preparing the bed file?
Thank you very much!

The bed file all_CDS_and_ncRNA_24Chroms_Contigs_1BasedStart_2bpFlanks_ForMusic not only contains the bed file example.bed, but there are difference between two lines they share. You can view two different lines through "vi all_CDS_and_ncRNA_24Chroms_Contigs_1BasedStart_2bpFlanks_ForMusic example.bed -d". Because the area contained in the large bed file does not exist in the example.microsate.sites, that is, the two files do not intersect and the area that "msi" try to analysis is empty, so the error occurs. You can try using a list of all microsatellite loci generated by the reference genome.

Thank you very much for the quick response! I will try it based on your suggestion. Many thanks!


Trying to request user authentication for an inexistent client doesn't show any custom exception

Hi everyone,
Maybe this is more cosmetic, but if I try to use an inexistent client here:
http://localhost:8080/oauth2/authorize?response_type=code&client_id=client&scope=read
It redirects me to the error page and I have nothing in the console. Shouldn't we have at least an exception message for the poor developer trying to debug something like this? Now with small examples on an experimental implementation is easy to see what's wrong, but when this will be production-ready, out there in the jungle you might get really confused with this.
Thnks for your amazing work on this project!

Thanks for your feedback @lspil !
I'll close this in favour of #159.


[Feature]: Add More than 1 secrets in api

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
I had creating a integration for implante the intra on terraform.
But in this case, I miss the one api for create many secrets in one time.
This is posible?
Why should this be worked on?
For the api has support to add many secretes on one time, and not need request the api a lot of times.

I'm closing this issue, because tracking features will be moved to GitHub discussions. Github issues will be only for bugs.
Version 4 is in full focus. v3 related issues will be closed, if it is not a critical bug.
Thanks for your understanding.


Prescription state management

I'm getting several typescript errors when trying to compile the frontend.  For example:
Property 'order' does not exist on type 'Object'.

44       if (response.order.dispenseStatus === "Approved") {

I'm getting several typescript errors when trying to compile the frontend. For example:
Property 'order' does not exist on type 'Object'.

44       if (response.order.dispenseStatus === "Approved") {

huh, I thought this was working on my end. I'll investigate

I'm getting several typescript errors when trying to compile the frontend. For example:
Property 'order' does not exist on type 'Object'.

44       if (response.order.dispenseStatus === "Approved") {

Fixed the typescript issue


Rename description field of dependencies and add a default value.

If the description field of a dependency is not provided, the description of the project itself was used instead.  We avoid this by renaming the former field, and we default to using the opam name when
the description is not provided.
This avoids an issue reported by @gmalecha on Gitter (https://gitter.im/coq-community/Lobby?at=5eb0827b14b48f0698ac6a3d).

It would be nice if you didn't need to rename the field, but it should work this way.

Yes, but I don't know how to avoid this.

If we want to finish this, the documentation in ref.yml should be updated accordingly.


[Build System: CMake] Cleanup the install_name_dir special-casing for XCTest in add_swift_target_library (5.1 branch).

Copy of #23677 for the 5.1 branch.

@swift-ci please smoke test

@swift-ci please test


serializing nested ntbk metadata items

I think that this is the only thing that we need to do in order to get nested metadata working.
edit: I think I need to edit some of the tests because the metadata in the output document will be different...I will try and figure out to update the regressions stuff so that it works (though somebody comment if that's not the problem here). @chrisjsewell are we OK with just updating the regression templates so that they now include the JSON-serialized nested metadata?
closes #147

Yep the failed tests show that the metadata is being correctly propagated to the sphinx env, you just need to update them!

OK I think I've got it fixed (in a fairly inelegant way, but 🤷♂ ). I had to update the pre-commit flake8 test because the nested JSON lines are too long, but other than that tests were passing

@chrisjsewell where does the jupytext dependency get defined? I didn't see it in there, but I think it's needed for myst text reading, no? Are we inheriting it from some other package? And if so then should I just add it in explicitly?

where does the jupytext dependency get defined? I didn't see it in there, but I think it's needed for myst text reading, no? Are we inheriting it from some other package? And if so then should I just add it in explicitly?

There's (at least currently) no specific dependency of myst-nb or jupytext, since the relevant code from jupytext is essentially copied into myst_nb/convert. It's an open question if, now that jupytext 1.4.2 is released, we delete this code and import from jupytext.
The versions you see in the notebook/myst-markdown metadata, are/were generated during jupytext --to myst notebook.ipynb or when you pair the notebook in jupyter notebook/lab.
They don't change dynamically and are not strictly required for reading in the current code (jupytext uses them to checks for compatible versions: https://github.com/mwouts/jupytext/blob/b8693695640efa0659d91ab6f5a2524ca9f75471/jupytext/formats.py#L365). So yeh they are static and won't change if dependencies change

OK take a look at the latest testing suite. I'm checking for all the keys in the metadata, as well as for the proper values for a few keys, including both "flat" and "nested" values. Think that works?

Yep looks fine to me 👍

I don't think you realize how easy you have it here lol. For example, I just has this PR merged https://github.com/aiidateam/aiida-core/pull/3613 after months of having to address revisions from 3 reviewers and a lot more stringent CI checks 😬

haha - my worst was in switching over the matplotlib documentation entirely to use sphinx-gallery. It took 7 months and more bikeshedding than I have ever experienced in my life :-)


Docs: Clarinet troubleshooting guides - Added a step for Clarinet integrate command

Added troubleshooting step for clarinet integrate command.
Files changed:

docs/clarinet/troubleshooting.md

@lgalabru Can you please review my changes? Thanks!


Add LICENSE

This requires all contributors, past and current, to agree to the changing license in order to legally handle this license change.
I will track contributors who agree below.

[ ]  @LeftBased (Contributed code is no longer present)
[X] @ItsCEED (Contributed code is no longer present)
[X] @HoustonCore (Contributed code is no longer present)

Подтверждаю, сейчас очень плохо с ютубом, все накрутки он блочит и выкидывает стрим.

I agree, feel free to change the license to whatever suites you!

I agree.


chore(cypress): disable workspace_deletion_spec test

NONE

/e2e-test

Successfully triggered E2E testing!
GitLab pipeline | Test dashboard


Missing capitation reports

On production, we don't have any capitation report in the bucket. We should take a look to understand why this is the case.
Are capitation reports not generating due some bug, or due to CRON misconfiguration?

Fixed in https://github.com/edenlabllc/ehealth.charts/commit/2832445fbd6f76e29363ea826df3a225c9df7891

Let's wait till Monday (1st of April) to verify.

not actual anymore


awkward.isnan

Currently, there is no convenient way for checking if a given array has masked entries if it is not a MaskedArray type, i.e. the mask methods are not universal.
For float arrays, a workaround is numpy.isnan(array.fillna(numpy.nan)).
I would propose array.isnan(axis=-1) or awkward.isnan(array, axis=-1) signatures, where the axis chooses the depth of the structure at which to evaluate the masking status, much like the array.flatten(axis=-1) function.

I think this is a good idea, the only thing I'm on the fence about is the name. I already started down the path of imitating Pandas with fillna, but whereas the difference between a masked integer and a floating-point NaN value is insignificant in Pandas, a None where a complex record might be is very different from a floating-point sqrt(-1). I'm beginning to regret ignoring the difference.
If a user is thinking of floating-point NaN, they'd probably think that the function would apply at the deepest level, even if that's a different level for different fields. If the user is thinking of None, the OptionType, they'd probably think that the function would apply at exactly one level, as you've described.
Maybe isna is a better choice than isnan, because it's not the same as the NumPy function. Or maybe isnone.

pandas has isna, notna, isnull, notnull and they all treat float('nan') and None the same.

Yeah. They have so many synonyms because they're courting a userbase from R, which has a distinction between na and null. But also, I'm arguing that the distinction matters less if all of the values in question are some kind of number (or string, but more likely dictionary-encoded category). I'm thinking we might want to make a sharper distinction between a floating-point NaN and a None that can apply to any type.

So, is this functionality to be implemented for Awkward Arrays in general or just for Jagged Arrays? I was thinking that we could just flatten the array to find out the 'NaN' values and reconstruct them from scratch by the start and stop counts, with the content being True/False accordingly

All operations should apply to all Awkward Array types. One of the most persistent issues has been when somebody's code is running fine on JaggedArrays, then for some reason they have MaskedArray of JaggedArray, or maybe ChunkedArray of JaggedArray, or something similar, possibly without realizing it, and the script no longer works.
In this environment, "preserving the abstraction" means only requiring the users to think about the logical meaning of their data, not the specific structures built up to represent it.

So, should I implement this method in the base file of awkward array or implement it differently for each of the types of Awkward Arrays? Also, can I go ahead and use my above proposed solution or should I think of another one? (i.e. flattening and reconstruction)

It should probably be separately implemented for each of the array classes (i.e. as a method on each) because you'll probably have to do something different in some cases. In base.py, there's a superclass for all array types that have one _content (AwkwardArrayWithContent) which can help to reduce duplication, if there is any.
Meanwhile, isna has been implemented in Awkward 1.0 because Pandas required it. This definition doesn't go arbitrarily deep into the structure:

if it's a structure that doesn't affect the data type, like ChunkedArray or IndexedArray, it descends to the next layer;
if it's a UnionArray, it returns a UnionArray of isna applied to each possible type
if it's an option-type, such as MaskedArray, BitMaskedArray, or IndexedMaskedArray, then it does the real work of computing isna (specifically, by calling boolmask, a function that already exists)
if it's any other type, it returns an array of zeros.

Therefore, this function won't be unwrapping JaggedArrays, applying itself to the contents, and then wrapping the result as JaggedArrays. For conformance with the Pandas function of the same name,
awkward.fromiter([[1.1, 2.2, None, 3.3], [], [4.4, None, 5.5]]).isna()

would return
[False, False, False]

because none of those three lists are missing. (That is, isna doesn't care whether there are missing elements inside the lists.)
A function that descends all the way, giving
[[False, False, True, False], [], [False, True, False]]

in the above example, should have a different name or be a non-default parameterized version of isna. (Otherwise, we won't be able to put Awkward arrays into Pandas columns, because this is what Pandas expects.)


deps(build): patch version upgrades for k8s dependencies

Change Overview
Upgrades various k8s-related dependencies
Pull request type

[x] :hamster: Trivial/Minor

Test Plan

[x] :zap: CI

@julio-lopez Happy to take this forward. Let me know 👍🏼

I faced similar issues when I was trying out the test changes last week. It passes golint if we revert the kustomize/kyaml update.
$ make golint
running CMD in the containerized build environment
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Running golangci-lint from config file: .golangci.yml
PASS

PASS

@pavannd1 Thanks a lot for digging. I just pushed a slightly modified version without the kyaml upgrade.


[chip-level,si-val] chip_sw_sram_lc_escalation

Test point name
chip_sw_sram_lc_escalation
Host side component
None
OpenTitanTool infrastructure implemented
None
Silicon Validation (SiVal)
None
Emulation Targets

[ ] None
[ ] CW310
[x] Hyperdebug + CW310

Contact person
@rswarbrick
Checklist
Please fill out this checklist as items are completed. Link to PRs and issues as appropriate.

[ ] Check whether one of the two existing chip-level tests (chip_sw_all_escalation_resets, chip_sw_data_integrity_escalation) can be tweaked to work in a si-val setting. If we're going to be executing from SRAM already, this will probably have to be performed on the retention sram.
[ ] Develop the device-side (C) component (possibly by tweaking one of the above)
[ ] Update hjson test plan with the test name (so it shows up in the dashboard)
[ ] Get test running on relevant FPGA or silicon regression

estimate 4

The plan for this test is:
Verify the LC escalation path to the SRAMs.

- Configure the LC_CTRL to trigger an escalation request to the SRAMs.
- Verify that the SRAMs stop accepting and responding to new memory requests.
- Reset the system to exit the terminal escalation state.
- Re-initialize the SRAMs and verify that they can now respond correctly to
  any further memory requests.

X-ref with chip_sw_all_escalation_resets and chip_sw_data_integrity.

However, triggering an alert which locks up the SRAMs will also lock up Ibex making it impossible for ibex to check they're no longer accepting tests.
Can we / should we check this with the debug module? i.e. trigger an alert from software then try and access SRAM through RV_DM?
CC @rswarbrick

@moidx for your awareness, I don't think any tests that check escalation conditions like this one are possible on prod so we'll need to move them to another state.


Image Markdown does not work correctly

when using confluence-plugin together with maven-pdf plugin.
this syntax should work like documented:
1=  ![Alt-Text2](./images/logos/image.jpg "text")
2= ![Auswahl.png](./images/Beispiele/Auswahl.png) !Auswahl.png!
if I use 1) . pdf works, but confluence only says "Unknown Attachment"
if I use 2) . I got both "Unknown Attachment" and the picture in confluence and picture and a text with !Auswahl.png! in pdf.
Both is not really nice.
<child name="test" uri="../markdown/Beispiele/test/Variante.md"> 				<attachment name="Auswahl.png" uri="../resources/images/Beispiele/test/Auswahl.png" contentType="image/png" comment="kommentar" ></attachment> 			</child>

![${pageTitle}^image-name.png](.images/image-name.png "") like in the docu, does not work either

Hi @Prideth
Let me verify because syntax ![${pageTitle}^image-name.png](.images/image-name.png "") should work.
Which version of plugin are you using ?

I use the 6.2. Here my example:

![${pageTitle}^coffee171653.jpg](.images/coffee171653.jpg "")
`

    	<attachment name="coffee171653.jpg" uri="../resources/images/coffee171653.jpg" contentType="image/jpg" comment="kommentar" ></attachment>

`
<plugin> 		            <groupId>org.bsc.maven</groupId> 		            <artifactId>confluence-reporting-maven-plugin</artifactId> 		            <version>6.2</version> 		        </plugin>

Hi @Prideth
I've tested, using your information and the problem is that documentation wrongly describe the way to declare image in markdown
![${pageTitle}^coffee171653.jpg](.images/coffee171653.jpg "") IS WRONG!
Solutions

![.images/coffee171653.jpg ](${pageTitle}^coffee171653.jpg "")
![](${pageTitle}^coffee171653.jpg "")

Please test and let me know

does not work.
works for confluence:

works for pdf or else:

Nothing that works for both.
Do you have an idea what to do?


US04-CreateCustomExam

Coverage decreased (-0.06%) to 94.789% when pulling 8a6894af23d1755089cbee6c04aad099541171a7 on devel into 62c8ad7531f63e4ff496315b3467ebb38953bf58 on master.


os/user: bad pointer in frame os/user.lookupUnixGid

#!watchflakes
post <- `bad pointer in frame os/user.lookupUnixGid`

(extracted from https://github.com/golang/go/issues/55167#issuecomment-1342643031)
I believe this is related to the os/user allocation changes in CL 449335 and/or CL 449316. (CC @ianlancetaylor @rsc)

Marking as release-blocker for Go 1.20 because it is a regression in Go 1.20 (CL 449335) and can cause crashes (or, worse, GC-related memory corruption) in any cgo-enabled program that uses the os/user package.


Replaced all email-length validations  (maximum) from 64 to 254

Compliant with formal definition : https://tools.ietf.org/html/rfc5322 .

Fixes https://github.com/levlaz/braindump/issues/76

Thank you very much!

Not a problem :)


Introduce dockercore/buildbase x64 base image

Split the build Dockerfile in two, and extra the most stable pieces of the build environment into a dockercore/buildbase image.
The goal is to minimize build times for the most traditional use cases, while minimizing the dependencies to external services in our build process.
Before:
$ time docker build -t dev:master --no-cache .
[...]
Successfully built 3b3266760378

real    11m16.799s
user    0m4.772s
sys     0m0.672s

$ docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
dev                              master              3b3266760378        8 minutes ago       2.267 GB

After:
$ time docker build -t dev:onbuildbase --no-cache .
[...]
Successfully built 91ead0f61278

real    3m44.476s
user    0m4.448s
sys     0m0.432s

$ docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
dev                              usingbuildbase      91ead0f61278        53 seconds ago      2.267 GB
dockercore/buildbase             latest              3e4cb819ee01        9 minutes ago       1.822 GB

The right line between Dockerfile and Dockerfile.base is very much up for discussion. The rule of thumb for that initial proposal was to distinguish our content from third party content, under the assumption that we are more likely to update our own content throughout our pull requests.
A few more details about that new dockercore/buildbase image:

I pushed one up to Docker Hub for people to try it out.
If this gets merged, I'll enabled an Automated Build on Hub.
Something to keep in mind: we might have to test manually any change to Dockerfile.base.

@icecrime: It would be a good idea to have the frozen images in that base image as close as possible to the top to avoid triggering that download as much as possible. Having to download that during a build while connected to a slow network isn't fun.

this needs a rebase, ouch :pensive:

@icecrime ^^

Rebased! :+1:

Do automated builds support using -f?  Do we need this to live in a subdirectory somewhere for now to be able to setup an automated build on it?

@tianon Yes I checked beforehand :-)

Oh, I had assumed that was just the context path; didn't realize they do
some sensing to determine that it should be the "-f" argument. :+1:

@tianon Oops, actually you may be right, I just assumed from the UX...

:cry:

Yeah it's just the context path :crying_cat_face: Let me update that.

Moved it back, got confirmation for team in charge of automated builds:

the Dockerfile location is split into a directory and a Dockerfile name. The directory becomes the build path and the Dockerfile is passed in with the equivalent of a -f using docker-py.

Ah, neat; fair enough! :+1:
LGTM

Ah, neat; fair enough! :+1:
LGTM

LGTM

Let me think about @tonistiigi comment above.

Per @tonistiigi comment: added a pull command in the Makefile to ensure that we first check for the latest dockercore/buildbase before building.

Ping @tianon @tiborvass @tonistiigi and all other people with "ti" in their name: PTAL!

Better :) re-LGTM

Well, after discussing with @tonistiigi, I'm not sure we can merge this:

If we want people to get an up-to-date build, we need to ensure that a docker pull dockercore/buildbase is done as part of the build (for example in the Makefile).
If I do git checkout v1.10.0, I cannot reproduce a build unless I docker build -t dockercore/buildbase myself (and that's incompatible with the Makefile doing a docker pull).

I don't see a solution. We would need to version the dockercore/buildbase image, but that would have to be somewhat manual. :disappointed:

Can we pull by digest?

@thaJeztah You don't know the digest until the automated build has run ;-)

Closing this :cry: It's not going to make things better...


Rename consumed (produced) to otherConsumed (otherProduced)

Let me know what you think, I find this more descriptive.

LGTM

Thanks!
Keen to have your 🟢 on this renaming from @georg-da as well


Custom primary key

Refs: https://github.com/metarhia/Contracts/blob/master/doc/Database.md
Refs: https://github.com/metarhia/metasql/issues/4
Refs: https://github.com/metarhia/metasql/issues/52

Landed in https://github.com/metarhia/metasql/commit/f550057b95e0f560a6e262a92ecc7ac019c90d66 and https://github.com/metarhia/metasql/commit/93e6a1f231c491b4789f82a4626002f9f9f3ad80


Fix inconsistent of remote API and document

Fix #12748
Signed-off-by: Hu Keping<EMAIL_ADDRESS>

This commit reserve is_trusted and is_automated together ?
Does it have keep only one? or these two are represent different things.

@linlinlinlin
This is the output from the REST API on docker/master
[
    {
        "star_count": 13,
        "is_official": true,
        "name": "library/iam-proxy",
        "is_trusted": true,
        "is_automated": false,
        "description": ""
    }
]

LGTM - @jlhawn ?

@SvenDowideit The search API is not in my domain of knowledge. @kencochrane would probably know.

This change looks consistent with the API :+1:
pinging @moxiegirl, @thaJeztah, @jamtur01 from the docs team.

Did this output change recently? If not, it would be great to also fix older API docs (1.18, 1.17).
Apart from that, LGTM (if others don't think it's nescessary, feel free to merge)
I have to agree with earlier
comments that it's odd to still have is_trusted in the output; I don't think that term is still used (because they're not trusted, just automated). If someone could create a separate issue for that?

I'll check that

hi @thaJeztah as far as I can tell  the output  under API v1.18 is like
{"description":"","is_official":false,"is_trusted":false,"name":"clintonskitson/distribution","star_count":0}

so yes, it was a recently change.

Thanks!
Just did a search for the is_trusted Boolean, and according to this commit, it shouldn't be there anymore: https://github.com/docker/docker/commit/9fc8028c987ac560ceb3b29eb609d77a82abdacc
And should have been replaced with is_automated, so somewhere there's something that isn't right
@jlhawn @kencochrane if this is the output that's returned by Docker Hub; is that correct?

@thaJeztah if you search the API, and take the first result, this is what we are returning on v1 search API
https://index.docker.io/v1/search?q=ubuntu
{
  "is_automated": false,
   "name": "ubuntu",
   "is_trusted": false,
   "is_official": true,
   "star_count": 1678,
   "description": "Official Ubuntu base image"
}

we return both is_trusted and is_automated, they are the same value, we keep is_trusted around for backwards compatibility, but it will go away in new versions, so moving forward we should use is_automated.

@kencochrane thanks for clarifying, that makes sense.
I think that, since the API is versioned, it would be good to remove/strip the is_trusted property from the result in the Docker API, but that would be a separate issue.
@HuKeping could you add an extra note: that mentions that the is_trusted property is deprecated, and is only present for backward-compatibility?
There's already a note, so add an extra "note" like the one that's already there.

^^ oh, and make a mention that people should use is_automated instead.

What's the status of this @HuKeping? Can you make the changes that @thaJeztah mentions? I can finish this PR is you're not interested in finishing it anymore.

@calavera  Oh so sorry about that...I've almost forget I have a PR here, will be done today.

@calavera @thaJeztah Please take a look if this change was ok

@moxiegirl  updated

Thanks @HuKeping! Waiting for a couple LGTM from @docker/docs-owners before merging.

@HuKeping please move the second paragraph of the note into the description.  The information you provided is simply how this API works, not exceptional information.
Like this:
-->
Search for an image on Docker Hub. This API
returns both is_trusted and is_automated images. Currently, they
are considered identical. In the future, the is_trusted property will
be deprecated and replaced by the is_automated property.

Note:
The response keys have changed from API v1.6 to reflect the JSON
sent by the registry server to the Docker daemon's request.

Thanks @moxiegirl , updated

One really minor correction, which would be nice to fix, but no show-stopper.
LGTM

Thanks @thaJeztah , updated

@HuKeping great!
ping @moxiegirl ptal

Thanks for the contribution!


[TACHYON-784] [TACHYON-743] Variable re-order and import cleanup

Small changes, please review.

Can one of the admins verify this patch?

ok to test

Thanks for the cleanup! I just left a minor comment.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4251/
Test PASSed.

thanks for taking a look. I moved the comment back with the mFixedExecutionService variable.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4252/
Test PASSed.

LGTM

+1 LGTM

Thanks @rean ! Do you have an account on JIRA (https://tachyon.atlassian.net/)? If so, we can assign these two tasks to you and then close them.

I just created an account on jira, the username is rean.

Thanks!


YAML support

YAML support for #8.
Commit 45dd7a7 uses exe to make the whitespace at the end of the normal! command more obvious.

I've also added commits that:

make the TOML and YAML key updating code only look for values within the front matter. Before this change, values outside of the front matter could be updated.
normalize indentation (there were a couple places using different indentation settings)
add a vim modeline so that future edits use the tab settings in the files

I also added a command called HugoHelperLastmodIsNow to set the lastmod front matter key.

@robertbasic Are you taking changes for the repository or is it just a personal thing? Since it was listed at gohugo I was under the impression that it was an actively developed tool.

Hey! It is actively developed, I just didn't have the time to test your
changes. I do appreciate it though!
On Sat, Sep 22, 2018, 17:52 Doug Richardson<EMAIL_ADDRESS>wrote:

@robertbasic https://github.com/robertbasic Are you taking changes for
the repository or is it just a personal thing? Since it was listed at
gohugo https://gohugo.io/tools/editors/#vim I was under the impression
that it was an actively developed tool.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/robertbasic/vim-hugo-helper/pull/9#issuecomment-423753454,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKK4W_KxpFSVXkWZwnSUXjvJNGj1mYcks5udlzWgaJpZM4WtOhY
.

OK thanks. I just wanted to make sure I wasn't submitting stuff into the void ;)

Do you have a time frame on when you're going to review this?


Improve code coverage for requestHandler & serializer

small changes before we release a new version.

:+1:

:+1:

👍


Asset Injection Per View

Is there any way to specify a target view for asset injection?
I want to put the assets that I share between views in the layout but there are some other views where I only need certain assets that would not apply for the rest of the views.
Is this doable?

Depends on your template engine but you probably can do it using partials if I understand correctly your question. GitHub issues are for issues about the framework. We try to keep it clean and focus, please use StackOverflow instead for this kind of question.


Testing:   test_log2d.cleanup() does not work as expected/required

(Re)Work on find is complete pending testing but this has highlighted an issue with test_log2d.cleanup() which may impact testing in other areas besides find.
In cleanup(), logging.shutdown() does not have the anticipated effect of re-initialising logging.  In particular, after shutdown(), logging still contains handlers which end up affecting subsequent Log instances. Thus, the order in which tests are carried out affects the test results.
This is a design feature of logging.shutdown() which is really meant to be used just before application exit:  See this from stackoverflow  and Python logging docs.
I will look for a solution but (as always) need to learn more about logging first.
Mike

Thanks Mike and belated Happy New Year!  No urgency for this as .shutdown was only intended as a utility/helper function for the testing docs and isn't a "public" part of the log2d functionality.  Having said that, if you have the time and inclination to get to the bottom of things, you'll have truly mastered the built in logging module I think, and others (including me) will benefit from the sum of your learnings :)
All the best,
Pete

Happy New Year also.
You flatterer!  The   cure seems to be actually in Log.__init__.  If you remove any existing handlers before adding the required ones back in, all is well.
Modify __init__ to add
        while len(self.logger.handlers) > 0:
            self.logger.removeHandler(self.logger.handlers[0])

just before the line for handler in self.get_handlers():
This actually fixed another couple of odd behaviours I'd seen - multiple copies of the log message on stdout being a common one.
I'll leave this one to you if that's OK.
Mike


Mobile pagination visually needs fixing + remove show filter

This

Should look like this

Design: https://www.figma.com/file/wogMuUDylgOHgTEYhZ3jgp/Augur-Bet-UI?node-id=3909%3A17

Looks fine mobile, but now seems broken on desktop:

looks good


[BUG] don't allow empty quote

Description
if a quote reply is empty, a message shouldn't be sent
Screenshots
No response
Additional information
No response
🥦 Browser
Google Chrome
👀 Have you checked if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Contributing Guidelines?

[X] I have read and understood the rules in the Contributing Guidelines

Are you willing to work on this issue ?
None

can you assign me this issue? @Dun-sin

can you assign me this issue? @Dun-sin

Definitely, thanks for wanting to contribute, Make sure you follow the rules 👉🏽here👈🏽, else your PR will not be accepted and will be closed. Good Luck


Added try catch for yii2/framework/di/Container

This can cause unhandled exception.
In my case it was unhandled exception that cause application error without any message with debug enabled:
ReflectionException {
  message: "Class baibaratsky\yii\rollbar\Rollbar does not exist",
  code: -1,
  file: "vendor/yiisoft/yii2/di/Container.php",
  line: 429
}

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
yes

Tests pass?
yes

Fixed issues

Replaced by #16440


retry strategy triggered by any Exception except the ones listed

Hi, thanks for this project guys!
I was wondering if is there a way to create a retry strategy that instead of retrying for some listed exceptions it'd retry for any Exception except the ones listed, so basically it's the inverse logic currently used.
I was checking the BaseRetryStrategy class but it seems to me that it doesn't manage the logic for selecting which exceptions should be retried.
Thanks.

I think we could introduce a no_retry_exceptions parameter, and do this in the get_schedule_in function:
    def get_schedule_in(self, *, exception: Exception, attempts: int) -> Optional[int]:
        if self.max_attempts and attempts >= self.max_attempts:
            return None
        if self.retry_exceptions and not isinstance(
            exception,
            tuple(self.retry_exceptions)
        ):
            return None
        if self.no_retry_exceptions and isinstance(
            exception,
            tuple(self.no_retry_exceptions)
        ):
            return None
        …

Not that with this code if the exception is both a "retry exception" and a "no retry exception" then there will be no retry. And if the exception is neither a "retry exception" nor a "no retry exception" there will be no retry either. In other words if there's ambiguity "no retry" is favored over "retry".

(I think we could raise if retry_exceptions and no_retry_exceptions are used at the same time.)

In the face of ambiguity, refuse the temptation to guess.

could this be implemented just subclassing BaseRetryStrategy then?

(I think we could raise if retry_exceptions and no_retry_exceptions are used at the same time.)

Yep, agree.

could this be implemented just subclassing BaseRetryStrategy then?

Yes I think so. Though it make sense to add this to the procrastinate lib, feel free to implement this on your side in the meantime. And/or to contribute to the lib :)

See https://docs.python.org/3/library/typing.html#typing.overload to properly indicate with mypy that arguments are mutually exclusive

I vote we don't overcomplicate the RetryStrategy more than it's already, but people can make arbitrarily complex in their own custom retry strategies.


Including mustache overlays

Hi this looks really cool, I've been hunting for a simple but decent markdown editor for ages.
At tutorcruncher we currently use a codemirror editor with a modified mustache overlay at bit like this. (The only difference is we've extended it so variables are horrible and black if they don't exist.)
How would we more easily integrate this overlay with simplemde-markdown-editor? Do we have to fork the project and modify or is there any chance of way to use the overlay with the distributed version?

Glad you like it! You'd need to fork the repo and make the necessary modifications to get the textile overlay working, this isn't something I plan to add to SimpleMDE's core functionality.

great, thanks for the reply.


Add tests to add clinic rules

Part of #284

Place add clinic rules in a separate file
Add unit tests for all rules

Questions & Discussion
Things to think and discuss

Should this add-clinic-rules.js be in the pages folder? If not, where's the best place to add it?
I don't think these rules are a service, but they are business rules
We could use DDD to organize folders: in this example, we could have a clinic folder with everything related to this "domain" (e.g. rules for input). - but maybe I'm over complicating here.

I'm open to discussing this.

hey @leandrotk I'll respond soon! I'm writing up a blog article with more details about my learnings around testing and my recommendations.


THRIFT-4081: appveyor retooling - build both MSVC2015 and MINGW on appveyor

Also enabled Qt 5.8 for the MSVC build and cleaned up a bunch of smaller things the MINGW build found.  Also note THRIFT-3921 was blocking this work so it shows up here, but it was already merged into master.

@jfarrell why didn't Travis CI build this job?  Can you kick it?  It failed previously so I want to make sure it passes.

I removed the artifact capture on every build - it might cost money to do this over time (unsure) and the benefit is negligible.


About that NULL handling again…

I had to think about it for a while, but I am reaching an opinion now. NULL should always be indicated by :NULL in CL. Let me explain why I think so.

NULL values are messing up booleans AND everything represented by lists on the cl side. An empty list is not always the same as NULL.
Assuming that the user is required to write a specific query to distinguish NULL values makes for problems when building libraries on top of duckdb (leaky abstraction).
It is just a more convenient solution for the user. One less thing to remember while using the package.
It is a solution already well proven by postmodern.

This is obviously my private opinion.

Thank you for sharing your thoughts. I understand your point, but I don't think the current defaults are that bad. They are are in line with how CL itself treats booleans, empty lists and nil. CL programmers already expect these values to be the same and using a truthy value for NULLs (such as :null) can result in some bad egonomics (all control flow requires dealing with :null separately).
Also this is probably mostly an issue for booleans and I think that allowing NULLs in a boolean column is probably a bad choice in the first place.
On the other hand I absolutely agree with your second point, I can see how this can be painful when writing libraries on top of cl-duckdb (when you are not really in control of the queries you run), so my suggestion would be the following:

Keep the defaults as they are, this avoids breaking changes.

Introduce special variable for controlling what to return for NULL values, so this can be configured according to the preferences of the user.

Introduce keyword argument for query functions to override this.

You could use the third option (or dynamically bind said variable) when building your library to force the use of :null regardless of user preference.
What do you think?

Well, sadly NULL in a boolean column will pop up from time to time because you may be querying foreign parquet files and you have no control over what people are putting in there. Furthermore, NULL is used as either "lack of information", "not yet determined", or "not applicable" in data sets at a rather frequent rate. This is just a widely accepted semantic, and not much can be done with it.
The proposed strategy sounds reasonable to me.


{Do Not Merge] SSH and Quota changes

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-java

Automation for azure-sdk-for-go

Can one of the admins verify this patch?

@yaohaizh Can you please add WaitDorAMLFeedback tag?

Version change : commit b779d414924098fda9b89149f76e8eb18dbffef7
Properties added: commit 8f0af71c04c5a7306182cae6c3e2ab4ed5e5a305
Version change does not have any property related changes
Please review the Properties changes commit for the new properties added

few read only properties have been added in this PR. looks fine. Signing off from ARM side.

Opened https://github.com/Azure/oav/issues/433 to track the OAV failure.  Since model validation is passing please ignore the OAV failure.

@akshataP when this PR ready for merge?

@yaohaizh please merge the PR


Make HashMod use md5 instead of fnv

FNV is not a crypto hash and therefor the outcome heavily depends
on the input. Move this over to a crypto hash function (md5) which
gives us a more random outcome when using hashmod.
Fixes issue  #981

The change looks fine, the description may lead to future readers misunderstanding the purposes of hashes and cryptographic hashes. Can you update it please?

therefor the outcome heavily depends on the input

That's the purpose of a good hash function.
The primary feature of a cryptographic hash is collision resistance. This is not really relevant for this use case (which is primarily administrator controlled IP addresses and hostnames), which is good because md5 is considered to be severely compromised that purpose.
What we're looking for is a hash function that'll distribute the inputs uniformly over the output space, which md5 should do better. That's it (was) cryptographically secure doesn't really come into it.

Ack. Will change that.
Thanks
On 12 Aug 2015 17:33, "Brian Brazil"<EMAIL_ADDRESS>wrote:

The change looks fine, the description may lead to future readers
misunderstanding the purposes of hashes and cryptographic hashes. Can you
update it please?
therefor the outcome heavily depends on the input
That's the purpose of a good hash function.
The primary feature of a cryptographic hash is collision resistance. This
is not really relevant for this use case (which is primarily administrator
controlled IP addresses and hostnames), which is good because md5 is
considered to be severely compromised that purpose.
What we're looking for is a hash function that'll distribute the inputs
uniformly over the output space, which md5 should do better. That's it
(was) cryptographically secure doesn't really come into it.
—
Reply to this email directly or view it on GitHub
https://github.com/prometheus/prometheus/pull/982#issuecomment-130363775
.

Let me know when that's updated.

Ok done.