get_module_reference_for_thread is undocumented on Wiki

This useful function seems to be a part of win32_helpers.h, but lacks any documentation on Wiki:
https://github.com/microsoft/wil/wiki/Win32-helpers#other-helper-functions
It lives just next to GetModuleInstanceHandle so it probably should be documented nearby too, although admittedly its naming convention is not too consistent with what is "near" that function. Perhaps GetModuleReferenceForThread would've been more fortunate?
Curiously, it does have a test:
https://github.com/microsoft/wil/blob/23fca640eae099f9120545483ae7d5d0a98a6fa5/tests/wiTest.cpp#L3554

We're definitely inconsistent about snake_case or PascalCase for things. I'll take this to update the wiki. Thanks for the reminder!

Something I just noticed right now - it should probably also be marked with WI_NOEXCEPT and not noexcept to be more consistent.

Ok, updated the wiki page. This type appears to have a Sharp Edge, in that you can't use it to hold a reference on the DLL while queuing work to start, and you really shouldn't pass it from the initiating thread to the handling thread (because the type might either get leaked on errors to start thread or destroyed and exiting the initiating thread on error.)
Our motivation for the type was like this:
wil::unique_handle myThread(::CreateThread(, [](auto&&...)
{
    auto dllRef = wil::get_module_reference_for_thread();
    // Do work here
    // On destruction, dllRef calls FreeLibraryAndExitThread for you
}));

Where we are in control of the call to CreateThread and the threadproc.  However, there's a timing gap between when CreateThread is called and when the threadproc is called when the hosting DLL could get unloaded. So what's really needed is a movable and armable object, but passing context to CreateThread is super hard. And this type probably can't be used with std::thread because calling FreeLibrary before returning control to the STL would be Bad News.
So we'd need some support for WIL to create threads, that would encapsulate this:
auto t = wil::create_thread([foo, bar] { /* my proc */ });

where the "hidden threadproc" for create_thread uses this module reference wrapper.

And this type probably can't be used with std::thread because calling FreeLibrary before returning control to the STL would be Bad News.

To be fair, FreeLibraryAndExitThread would leave STL no chance to return control, unless only for freeing up the thread local resources?
Regarding passing the context to CreateThread, in this case I guess it might not be terribly bad because context like this could easily be pointer-sized (i.e. a handle to itself). However, that leaves the user with no trivial way to pass their own context, so it's not optimal.

I tried experimenting with this in https://github.com/microsoft/wil/compare/user/jonwis/thread-module-freer?expand=1 ... not sure how I feel about it, but it seems to work.  @ChrisGuzak, @duncanhorn, others, comments welcome.

I'll comment here because looks like there were some issues with draft PRs:
IMO that looks good, with one comment - do you reckon it may be a good idea to allow self->func to specify the return value of a thread? There might be some value in this if the thread may be used as a fire-and-forget (where holding the reference keeps the module alive), or actually waited for with the return value via GetExitCodeThread. It appears like this would require both making the context thread proc return the value, and for .reset() to obtain it from somewhere.

No idea what happened with that draft PR. #236 should bring the repo back to the right spot.
Suggestion sounds great. I'll see about adding it ... and this time not screwing up the PR. :|

@Jonwis, I see now the feature you are adding, the bug fix for that window where the thread ref is not held.
note that std::thread already uses FreeLibraryAndExitThread so it does not need this protection.

Picking this issue up as I am going through my old open issues - what is the current status of this? get_module_reference_for_thread is now documented, and as @ChrisGuzak mentions above, std::thread doesn't need any changes. Is there anything actionable in this issue left or can it be closed?

Unless @jonwis wants to pick his module_reference_for_new_thread change back up (which could also be tracked by a separate issue), sounds like there's not much more to do here.


Migrating DB

Hello,
I am facing issues when the DB model is updated (example I add a new field). I think this can be easily fixed by adding a "version" option in the config call:
nSQL()
.models[...]
.config({
    id: "myDB" // name of my database
    version: "1.0.1"
})

and a new migrate method. Examples of use:
1- nSQL( 'table' ).migrate( (old_version, new_version) => { ... update this table and return a promise ... } )
2- nSQL( ).migrate( (old_version, new_version) => { ... here you can update the whole database ... } )
There could be another option for migrate (I am commenting it for documentation purposes) that it is more declarative:
.migrateTo( "1.0.1", ( from_version ) => ... )
.migrateTo( "1.0.2", ( from_version should be "1.0.1" ) => ... )

It allows to descentralice migration code (I think it is not a good idea, as you may need to do the update in certain order), and requires que execute migrations in order (from 1.0.0 to 1.0.1, once finished, from 1.0.1 to 1.0.2...), which looks "cool" but you can shoot are your feet some times - imaging a huge table is removed in 1.0.3, you do huge updates from .1 to .2, to simply be destroyed in .3
So in summary, if a new "version" is detected, nSQL could simply call the migrate method and wait till all of them are completed before returning in the connect method.
I do not know if there are any plans for this.

Thank you @sebastianmacias for the reference.
I see some cavities, for instance how do you migrate from version 1 to 3? As I only read the example there is probably a way to do it, but it is not clear to me.

It runs all migrations. 1,2,3

Just implemented this feature in 1.71, which should be live on NPM in the next few hours.
There are two new config options, version and onVersionUpdate.
The onVersionUpdate is a function that receives the current version as it's argument and returns a promise.  The promise must return the version that it's been migrated to.
nSQL()
.config({
    version: 8,
    onVersionUpdate: (currentV: number) => {
        return new Promise((res, rej) => {
            switch (currentV) {
                case 1:
                    // migrate from 1 to 2
                    res(2);
                case 2:
                    // migrate from 2 to 3
                    res(3);
                break;
                case 3:
                    // migrate from 3 to 8
                    res(8);
                break;
                default:
                   rej("What kinda version is this?");
            }
        });
    }
});

The onVersionUpdate will be called until the promise returned matches the version provided in the config.
Hope that's everything you were after!

Thank a lot Scott!

This is the feature which convinced me to adopt Nano for my next Cordova app. Thanks!

can someone please give me an example of how to rename or delete a column from the existing data within the onVersionUpdate function? Thank you in advance.

The conform rows query is used when you want to modify the existing rows to match the current data model.
So the migration code would look something like this: (assuming you're using nanoSQL v2 here)
Let's say we want to move from this data model:
// version 1 data model
{
    "id:uuid": {pk:true},
    "name:string": {},
    "email:string": {},
    "age:int": {}
}

to this one:
// version 2 data model
{
    "id:uuid": {pk:true},
    "name:string": {},
    "user_email:string": {},
}

Always put the current data model in the createDatabase call and increment the version number every time you change the data model.
NanoSQL will save the version number each time it loads up the database, and if it finds that the version number has changed since the last time it was loaded the migration code is ran.
        nSQL().createDatabase({
            id: "my-db",
            version: 2,
            tables: [
                {
                    name: "users",
                    model: {
                        "id:uuid": {pk: true},
                        "name:string": {},
                        "user_email:string": {}
                    }
                }
            ],
            onVersionUpdate: (version) => {
                return new Promise((res, rej) => {
                    // assuming we removed
                    switch (version) {
                        case 1: // loading original model
                            nSQL("users").query("conform rows", (oldRow) => {
                                // conform rows will automatically remove columns that no longer exist
                                // just need to provide mapping from old column values to new ones (if there are any)
                                return {
                                    ...oldRow,
                                    email: oldRow.user_email
                                }
                            }).exec().then(() => {

                            })
                            break;
                        default:
                            rej("Unknown version!");
                    }
                });
            }
        })

thank you very much for the quick feedback and the illustrative example!


Update create-account-use-faucet.md

Fix indentation

Thanks a lot!
Just to make sure that this patch solves the problem, I wonder why the intendention is not incorrect here?
https://github.com/0xPolygonMiden/miden-base/blob/main/docs/introduction/get-started/create-account-use-faucet.md#consume-the-note--receive-the-funds
This should be the same, no?

@Dominik1999 Yeah so not having that extra line there makes the item a sub-list item. This has been taken care of in all the other spots across this doc. So just adding that extra line there should fix the indentation, and thus the numbering.


Hidden window appears again as soon as tray icon is clicked

I think it would be more logical if the window would appear only upon opening a new job form. The point of the tray icon is exactly to decouple the user interface for jobs from the background process / server. It should be possible to manage the server by only using the tray menu and settings window.

I think it would be more logical if the window would appear only upon opening a new job form.

I don't see this behavior as an issue:
As a regular MS Windows user, I'm used to being able to open back an application from the tray (for example, most Microsoft applications like teams or outlook let this possibility to the user).
It is merely another possibility for users to open back the application main window, as widely found in Windows applications with tray access.

Given that, I propose to remove the click behavior as default, except for user who would want to keep the job opened when the window is closed (in which scenario it would be interesting).

Ok. I'm not sure these two things (close behavior and tray icon click behavior) are really related though. So perhaps two separate settings are better.
Have you got an idea about the "glitchy" behavior I described above?

Say if I want to use the tray menu to open the settings panel, which in the future might have settings to start/stop the server and configure it

As it has been requested that we don't touch/use the configuration files of the pipeline, the configuration aspect will need webservice API endoitpoint(s).

Have you got an idea about the "glitchy" behavior I described above

For the expected behavior, I can remove completely the click to open the window for macOS if it is the conventional behavior for this platform.
(I did not think it was opening the contextual menu on left-clicking a tray icon on macOS, my bad)
I'll keep it for windows to maintain the OS conventions if it is ok.

As it has been requested that we don't touch/use the configuration files of the pipeline, the configuration aspect will need webservice API endoitpoint(s).

Configuration of the Pipeline engine would only be possible for the embedded engine. The feature wouldn't be available when connecting to an external server. The configuration settings would be passed when launching it, with Java system property arguments or environment variables. With a "properties" file is possible too (I don't remember saying it can not be used), although I think it makes much more sense to use environment variables or Java arguments. A webservice endpoint to configure the engine does not make that much sense to me. It does not sound like a good idea from a security point of view, and in general just sounds unneeded.

I can remove completely the click to open the window for macOS if it is the conventional behavior for this platform. [...] I'll keep it for windows to maintain the OS conventions if it is ok.

This sounds like a good default. But in addition a setting could also be useful I think. (We can keep the latter for some next iteration though.)

I'm not sure these two things (close behavior and tray icon click behavior) are really related though. So perhaps two separate settings are better.

On second thought, it does indeed make sense to have a single setting for both the close behavior and the tray icon click behavior (which is how it is currently done). My bad. The alternative is to keep the application in the dock and the ⌘-tab list when the window is closed and allow re-opening the window this way.


Fixing Production Order

Coverage decreased (-0.06%) to 39.524% when pulling 75e6d545ffaf4254d92bea2a03395071a1f5edc1 on achensetyawati:dev into a54798d70ee619aa7a0860fd70f1ba9f03558515 on danliris:dev.

Coverage increased (+0.04%) to 39.629% when pulling fc48caa448f6ef6e12b9f4095bcdc12570641ab1 on achensetyawati:dev into a54798d70ee619aa7a0860fd70f1ba9f03558515 on danliris:dev.

Coverage increased (+0.04%) to 39.629% when pulling 9cb897e5937225a2a58d99c511a262e3f03db105 on achensetyawati:dev into a54798d70ee619aa7a0860fd70f1ba9f03558515 on danliris:dev.


[Node.js] Change nodejs interface timeout to from 5 to 0

Description
Tests to decrease library validation timeouts
Motivation
5 seconds is too long
Workflow

⚠⚠ Create your PR as draft
Follow the style guidelines of this project (See how to easily lint the code)
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Once your PR is reviewed, you can merge it! :heart:
Reviewer checklist

[ ] Check what scenarios are modified. If needed, add the relevant label (run-parametric-scenario, run-profiling-scenario...). If this PR modifies any system-tests internal, then add the run-all-scenarios label (more info).
[ ] CI is green

[ ] If not, failing jobs are not related to this change (and you are 100% sure about this statement)

[ ] if any of build-some-image label is present

is the image labl have been updated ?
just before merging, locally build and push the image to hub.docker.com

[ ] if a scenario is added (or removed), add (or remove) it in system-test-dasboard nightly

Libraries don't expose public SDK functions to flush things out. Gracefully stopping the tracer when weblog quits is the most standard approach to me. WDYT of this limitation where libs like dd-trace-go won't be able to implement this "live flushing"?

@Julio-Guerra the nodejs library do not expose a public api to flush stuff either, i had to dig into internals in a very dirty way.
As you said flushing when the process stops is a good idea and it actually is already the case in the Node library! but it's safer to force flushing asynchronously to be sure it's completed, as the ST will wait for the response to that request before running the assertions.
If your language can flush everything reliably at shutdown then go for that sure, but in our case the shutdown flushing is a best effort only.


theme-able?

With Documenter.jl, I was able to customize/theme my documentation pages so that they all have this nice purple look and different font, e.g., https://juliadynamics.github.io/DrWatson.jl/dev/
Any possibilities for themeing pollen.jl pages?

It's not possible yet but definitely something I would like to have, has also been requested by other people :D


Requests to a hostname fail

If a HelperClient is initialized via a hostname (i.e. my-coap-server) instead of an IP address, responses fail with "Un-Matched incoming message response...".
The appears to be caused by the way keys are created in the MessageLayer (i.e. str_append_hash(host, port, response.mid)). If the key is created with a hostname instead of an IP address, it will never be able to match a response where the response source will always be an IP.

Hi,
yes, I think you should resolve the hostname before starting the server.
Il giorno mer 31 ott 2018 alle ore 22:35 Jason Knisley <
<EMAIL_ADDRESS>ha scritto:

If a HelperClient is initialized via a hostname (i.e. my-coap-server)
instead of an IP address, responses fail with "Un-Matched incoming message
response...".
The appears to be caused by the way keys are created in the MessageLayer (i.e.
str_append_hash(host, port, response.mid)). If the key is created with a
hostname instead of an IP address, it will never be able to match a
response where the response source will always be an IP.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Tanganelli/CoAPthon/issues/127, or mute the thread
https://github.com/notifications/unsubscribe-auth/AGb2-ng8v2hVRRyLjLP0MKxUBOV4JNt7ks5uqhezgaJpZM4YFVuO
.


Images aren't appearing System.Net.HttpWebRequest:ResendContentFactory' is inaccessible from method

Hi again, colleagues.
We faced with an issue during first app launching.
Images aren't showing (Seems like it's caching issue)
We tested app on Samsung Galaxy S4, iPhone 5s and emulators/simulators
(More often issues is reproduced on Android Devices)
Please, see this app-output
System.FieldAccessException: Field System.Net.HttpWebRequest:ResendContentFactory' is inaccessible from method System.Net.Http.HttpClientHandler/c__async0:MoveNext ()'
0xC in System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw	C#
0x4E in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess	C#
0x2F in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification	C#
0xC in System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd	C#
0x6 in System.Runtime.CompilerServices.ConfiguredTaskAwaitable<System.Net.Http.HttpResponseMessage>.ConfiguredTaskAwaiter.GetResult	C#

0x13B in FFImageLoading.Cache.DownloadCache.DownloadAsync at C:\projects\ffimageloading\source\FFImageLoading.Common\Cache\DownloadCache.cs:96	C#
0x38 in System.Runtime.CompilerServices.AsyncTaskMethodBuilder<byte[]>.Start<FFImageLoading.Cache.DownloadCache.d__13>	C#
0x48 in FFImageLoading.Cache.DownloadCache.DownloadAsync	C#
0x4B in FFImageLoading.Cache.DownloadCache.<>c__DisplayClass12_0.<DownloadAndCacheIfNeededAsyncb__0>d at C:\projects\ffimageloading\source\FFImageLoading.Common\Cache\DownloadCache.cs:55,29	C#
0x38 in System.Runtime.CompilerServices.AsyncTaskMethodBuilder<byte[]>.Start<FFImageLoading.Cache.DownloadCache.<>c__DisplayClass12_0.<b__0>d>	C#
0x27 in FFImageLoading.Cache.DownloadCache.	C#
0x32 in FFImageLoading.Retry.DoAsync<byte[]> at C:\projects\ffimageloading\source\FFImageLoading.Common\Helpers\Retry.cs:17,21	C#
0x6 in System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext	C#
0x8F in System.Threading.ExecutionContext.RunInternal	C#
0x4 in System.Threading.ExecutionContext.Run	C#
0x49 in System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run	C#
0x26 in System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction	C#
0x81 in System.Threading.Tasks.Task.FinishContinuations	C#
0x46 in System.Threading.Tasks.Task.FinishStageThree	C#
0x59 in System.Threading.Tasks.Task<System.Threading.Tasks.VoidTaskResult>.TrySetResult	C#
0x5B in System.Threading.Tasks.Task.DelayPromise.Complete	C#
0x6 in System.Threading.Tasks.Task.AnonymousMethod__1	C#
0x13 in System.Threading.Timer.Scheduler.TimerCB	C#
0x20 in System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem	C#
0x97 in System.Threading.ThreadPoolWorkQueue.Dispatch	C#
0x0 in System.Threading._ThreadPoolWaitCallback.PerformWaitCallback	C#

So, I found an interesting link about this BugZilla

I'm not sure, but my PR, maybe, can help.
Thanks

This is not FFImageLoading issue, rather Xamarin:

https://bugzilla.xamarin.com/show_bug.cgi?id=46176
https://github.com/paulcbetts/ModernHttpClient/issues/228

The workaround is to use native HttpClient handlers: https://github.com/luberda-molinet/FFImageLoading/wiki/Native-Http-handlers-=-better-performance


High foot traffic eda ll

Contains EDA notebook with point pattern and clustering analysis visualizations, top high foot traffic areas in Hilo, and top same day related store visits.

Great updates this week, Lydia!


Add chat history sessions

TODO: tests are not implemented in this PR because of the close deadline. We shall remember to add it later.


fix: remove Python 2 legacy packaging code

A small update to packaging code; universal=True/1 is only used to replace the py3 tag with py2.py3, which is incorrect since 1.0. Also adding python_requires - this should always be set as soon as a python version is dropped, as pip will back-solve to find the final release that has a passing python_requires for the current Python version.
If you are interested, I'd recommend moving to static configuration (everything in setup.cfg or pyproject.toml). I'd recommend reading https://scikit-hep.org/developer/packaging or https://packaging.python.org/en/latest/tutorials/packaging-projects/ for the classic way to do this, or https://scikit-hep.org/developer/pep621 for the new way. (We are working on transitioning packaging.python.org to the PEP 621 method as well in the near future).
My initial goal was to see if mypyc would provide the same speedup for CPython that PyPy provided, but there are some missing static types[^1]. :'( I did compare a few versions of Python 3 to see if the faster CPython project really is working. I've got a fast computer and I wasn't able to generate a matching json file (2.9 MB for me), but here are the relative timings for the slowest parser if you were curious:

Version
Time

CPython 3.6
46.34 secs

CPython 3.9
42.05 secs

CPython 3.10
37.25 secs

CPython 3.11b1
29.31 secs

PyPy 3.7
8.46 secs

[^1]: there might actually be enough to try it!

Also, very nice! I had no idea CPython has been getting so much faster with each minor version!

(I have tooling that helps with setup.py -> setup.cfg, and I know of tooling that helps with setup.cfg -> pyproject.toml PEP 621)

FYI, setup.cfg Setuptools is supposed to be able to pull a version attribute without running the file (and since you have no deps, even if it fell back to exec'ing the file, it should still work).

there are some typing errors; you can't compile with typing errors

They all seem solvable. Let me know if you want me to have a look.

setup.cfg Setuptools is supposed to be able to pull a version attribute without running the file

How? And does that apply to pyproject too?

I can try this after #1149 if you'd like to see it. Basically it looks something like this:
version = attr: lark.__version__

setuptools will try to read it from the AST before falling back on importing lark to get it (which would also work since there's no deps).

However, flit does this automatically without configuration

I'm not familiar with flit. It's supposed to be a poetry replacement, right?
So it would automatically know to read the version of lark.__version__?

Technically, I meant flit_core, which is a simple PEP 517 backend. PEP 517 described the system which builders (like build and pip) use to talk to backends (PyPA projects setuptools, flit_core, and hatchling, and non-PyPA projects pdm-pep517, poetry_core, whey, trampolim, and others). The backend's job is to create the SDist or the wheel. Of all those, only Poetry is missing support for standard configuration language introduced in PEP 621, so transitioning between backends is really trivial unless it's Poetry[^2].
If you produce a pure Python wheel, that doesn't use the backend at all to install, so it's not something that affects users much, mostly a developer choice based on what you find nice and easy to configure.
Reminder: I'd like to keep the current backend for now, until I play with mypyc, which is tied to setuptools (and hatchling has an adaptor), but likely won't be easy to tie to other backend. I plan on working on a PEP to address this, probably in the fall, but we are stuck with the status quo at the moment, which is extensions are tied to a backend.

Flit has the built-in feature that it pulls <package>.__version__ if version is left dynamic. It also can pull description from the module docstring, too. Other backends tend to have ways to get the version from Git (which is what I usually do, avoids any source changes on releases, fewer ways to make mistakes).

Almost every existing backend comes with a command-line tool as well. Flit (and Poetry) existed before there was standard tooling for it; I think that's primarily why there is a flit command. Though you don't need to use it (I don't). Nowadays, with pipx and build and twine, there's really no need to use a custom command to build SDists, wheels, and upload them. I also really like using the right tool for the job, so I mostly ignore what all-in-one CLI tools are doing.
Most of the CLI tools are trying to be "all-in-one", the question is how much is all on one? Flit does the least and is really easy to just use standard tooling instead. Poetry and PDM do environment management (and PDM follows standards, so I like it better - and you can use any build backend with PDM, not just it's own, which is awesome and I'd like to see that happen with other systems). The far end of the spectrum would be Hatch, which tries to also do multi-environment management (ala Tox/Nox) too[^1].
[^2]: Poetry has promised to support this in Poetry 2, but also promised that 2 is along way off.
[^1]: Hatch is currently missing lockfiles, though - Ofek really has been trying to follow standards, and the standardization attempt for lockfiles fell through.

Thanks for the overview! So far, just using setup.py seems to work for Lark.  But I'll be happy to switch to something nicer when it's ready for use. I'll keep flit in mind.


Local Datastore

Hi @sai-pullabhotla
Connecting to the Google Cloud Datastore is fairly easy using this library so far; is there a way to read/write to a local Datastore instance using the emulator ? I haven't managed to use the emulator using the low-level API either so I was wondering if you've had any success with it.

@arthur-tse7 - looking into this.

@arthur-tse7,
I was able to start and work with Datastore Emulator. I'm working on providing this option from Catatumbo framework and hope to be done today (see #73).
Follow these simple steps to get started with the low level API:

Install gcloud tool
Start Datastore Emulator by running the command gcloud beta emulators datastore start --data-dir=/path/to/somedir --host-port localhost:9999. You may be prompted to download/install additional components, answer yes to continue. Substitute the port with your preferred values.
Once the Datastore starts, you should see something like this on the console:

[datastore] API endpoint: http://localhost:9999
[datastore] Dev App Server is now running.

Now to connect to the local Datastore, use the below code:
final String host="localhost";
final int port = 9999;
final String projectId = "my-project" //you can use anything that is valid for a project ID
final String namespace = "my-namespace" //If you need namespace, otherwise, omit.

DatastoreOptions.Builder datastoreOptionsBuilder = DatastoreOptions.newBuilder();
datastoreOptionsBuilder.setHost(host + ":" + port);
datastoreOptionsBuilder.setProjectId(projectId);
datastoreOptionsBuilder.namespace(namespace);
Datastore datastore = datastoreOptionsBuilder.build().getService();

@sai-pullabhotla
Thanks for all the work you've done. I'll try it out once I get a shot !

This is addressed with #73. Closing.


[FLINK-15858][hive] Store generic table schema as properties

What is the purpose of the change
Store schema of generic table as properties, so that HiveCatalog is able to support types that are not supported by Hive, e.g. TIMESTAMP(!=9).
Brief change log

Store table schema as properties when creating generic tables
Retrieve table schema from properties when getting generic tables
Add test

Verifying this change
Existing and new test cases.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? docs

cc @JingsongLi @bowenli86

Can hive's table have no fields?

PR updated to disallow creating partitioned generic table with HiveCatalog.

Can hive's table have no fields?

I thought not. But it turned out hive doesn't complain about that. So I think we're good.

What is a 'generic table', it seems not a  jargon or terminology

What is a 'generic table', it seems not a jargon or terminology

HiveCatalog can handle two kinds of tables: hive-compatible tables and generic tables. For the former, we store the metadata in a hive-compatible way so that Hive itself can access those tables. For the latter, we just use HMS as a storage to persist the metadata, and Hive won't be able to (and doesn't need to) understand that metadata. I guess the latter one is generic from HMS's point of view.

My personal build succeeds: https://travis-ci.org/lirui-apache/flink/builds/645851575

What is a 'generic table', it seems not a jargon or terminology

HiveCatalog can handle two kinds of tables: hive-compatible tables and generic tables. For the former, we store the metadata in a hive-compatible way so that Hive itself can access those tables. For the latter, we just use HMS as a storage to persist the metadata, and Hive won't be able to (and doesn't need to) understand that metadata. I guess the latter one is generic from HMS's point of view.

Thanks for the explanation !

please see my comments in the jira

I don't think the python failure is related. It has been failing for several other PRs lately.


bert.pooler.dense initialization

Hey! Sorry if this is redundant.
I saw 3 other issues asking similar questions but couldn't find these exact layers mentioned.
Are bert.pooler.dense.weight  &  bert.pooler.dense.bias randomly initialized?
Thank you so much!

Hi Jasdeep,
No, they are initialized from Google's pretrained model (they are trained for next sentence prediction task during pretraining).


Resolve workers being forcelly deleted with persistent_workers=True

What does this PR do?

Fixes #9390
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Let's be careful about the first commit message for the PR. You could update it


Fastlane 2.62.1 added manual signing to export plist

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Builds of one of our apps started failing trying to export an ipa. The last success was with 2.62.0; the first failure was with 2.6.1.  The obvious difference is in the export plist; see below
Complete output when running fastlane, including the stack trace and command used
Not the complete output, but here's the summary for gym (edited to remove names):
+----------------------------------------------------------+------------------------------------------------------------------------------+
|                                                         Summary for gym 2.62.1                                                          |
+----------------------------------------------------------+------------------------------------------------------------------------------+
| clean                                                    | true                                                                         |
| project                                                  | ./MyApp/MyApp.xcodeproj                                                      |
| scheme                                                   | MyApp                                                                        |
| archive_path                                             | MyApp-AppStore.xcarchive                                                     |
| sdk                                                      | iphoneos                                                                     |
| output_name                                              | MyApp-AppStore                                                               |
| output_directory                                         | ..                                                                           |
| configuration                                            | Release                                                                      |
| xcargs                                                   | -allowProvisioningUpdates GCC_PREPROCESSOR_DEFINITIONS='$(inherited) BETA=1' |
| buildlog_path                                            | .                                                                            |
| include_bitcode                                          | false                                                                        |
| export_method                                            | app-store                                                                    |
| export_team_id                                           | xxxxxxxxxx                                                                   |
| export_xcargs                                            | -allowProvisioningUpdates                                                    |
| export_options.provisioningProfiles.com.MyCompany.MyApp  | MyApp AppStore                                                               |
| destination                                              | generic/platform=iOS                                                         |
| build_path                                               | /Users/builder-mobile/Library/Developer/Xcode/Archives/2017-10-24            |
| silent                                                   | false                                                                        |
| skip_package_ipa                                         | false                                                                        |
| skip_profile_detection                                   | false                                                                        |
| xcode_path                                               | /Applications/Xcode9.app                                                     |
+----------------------------------------------------------+------------------------------------------------------------------------------+

(Note that export_options.provisioningProfiles.com.MyCompany.MyApp isn't something specified in the options I specify in the Fastfile. Fastlane is generating that, and ignoring another target's provisioning profile; see at the end.)
And here is the before and after version of the export plist (bundle id, app name and teamID edited):
Before (2.62.0):
 ▸ -----------------------------------------
 ▸ {
 ▸   "provisioningProfiles": {
 ▸     "com.mycompany.app": "OurApp"
 ▸   },
 ▸   "method": "app-store",
 ▸   "uploadBitcode": false,
 ▸   "teamID": "xxxxxxxxxx"
 ▸ }
 ▸ -----------------------------------------

After (2.62.1):
 ▸ -----------------------------------------
 ▸ {
 ▸   "provisioningProfiles": {
 ▸     "com.mycompany.app": "OurApp"
 ▸   },
 ▸   "method": "app-store",
 ▸   "uploadBitcode": false,
 ▸   "signingStyle": "manual",
 ▸   "teamID": "xxxxxxxxxx"
 ▸ }
 ▸ -----------------------------------------

As mentioned above, there is an additional target, a widget, whose provisioning profile isn't listed.  I'm guessing if it was, it might work with manual signing (that's another Fastlane bug). But it was working defaulting to automatic signing, so, can we not randomly switch it to manual?
Working around the problem now by locking down to 2.62.0.

I have similar issue.
Everything works fine with 2.62.0 and starts failing with 2.62.1.
ERROR [2017-10-25 20:53:19.95]: There seems to be a mismatch between your provided export_method in gym
ERROR [2017-10-25 20:53:19.95]: and the selected provisioning profiles. You passed the following options:
WARN [2017-10-25 20:53:19.95]:   export_method:      app-store
WARN [2017-10-25 20:53:19.95]:   Bundle identifier:  io..app
WARN [2017-10-25 20:53:19.95]:   Profile name:       match Development io..app
WARN [2017-10-25 20:53:19.95]:   Profile type:       development
I fixed it by follow change in Fastfile

match(type: "development",

match(type: "appstore",

Hard to say, probably it's my fault , and it worked just because all certs and profiles was installed on machine, and signingStyle was not manual (not sure if this property was before) . So once it becomes "manual" build starts failing. Not sure if it's your case.

@vascome Similar, but not the same.  You're using match, I'm not (I do use sigh, however), and as you can see, appstore is and was explicitly stated in my export plist.  I'm sure I could restructure my Fastfile to make it work again, but...er...why?
The similarity is that 2.62.1 changed signing in export to manual when that's not helpful.  And now that I'm back on 2.62.0, pretty sure that first item they tout in .1 is it:
2.62.1 Improvements
- Support manual signingStyle (#10508) via Aleksey Anisov

Same issue here - don't use match, but do use sigh.  I pinned version to 2.62.0 for now to be able to submit and things are fine.  Have not had the time to help debug the issue.

Same issue! Is this going to be fixed?

I didn't downgrade to previous versions before, but I want to do this now. How can I do this? I installed fastlane with homebrew.

I manually changed 'signingStyle' to 'automatic' in the plist and exporting is working correctly then.
So I added this in my gym command:
export_options: {
                signingStyle: "automatic"
        }

But when I run fastlane the signingStyle of generated plist is still 'manual'. I don't want this... Did I do anything wrong or is this een issue in fastlane?!

Hey @MartijnSchoemaker - could you share the output from your terminal?

What part do you need to answer this question? I don't want to paste my whole output because of security. Paths, env vars, etc.

Some parts that are useful I think:
+--------------------------------------+--------------------------------------+
|                           Summary for gym 2.63.0                            |
+--------------------------------------+--------------------------------------+
| workspace                            | wehkamp.xcworkspace                  |
| configuration                        | DebugDistribution                    |
| scheme                               | wehkamp                              |
| silent                               | true                                 |
| output_name                          | wehkamp                              |
| export_team_id                       | 8V375A94TK                           |
| export_xcargs                        | -allowProvisioningUpdates            |
| export_options.signingStyle          | automatic                            |
| export_method                        | ad-hoc                               |
| destination                          | generic/platform=iOS                 |
| build_path                           | /Users/monitor/Library/Developer/Xc  |
|                                      | ode/Archives/2017-11-02              |
| clean                                | false                                |
| skip_package_ipa                     | false                                |
| buildlog_path                        | ~/Library/Logs/gym                   |
| skip_profile_detection               | false                                |
| xcode_path                           | /Applications/Xcode.app              |
+--------------------------------------+--------------------------------------+
[15:21:04]: Generated plist file with the following values:
[15:21:04]: ▸ -----------------------------------------
[15:21:04]: ▸ {
[15:21:04]: ▸   "signingStyle": "manual",
[15:21:04]: ▸   "provisioningProfiles": {
[15:21:04]: ▸     "nl.wehkamp.PDD5388SwipeBetweenPDP": "nl.wehkamp.PDD5388SwipeBetweenPDP AdHoc"
[15:21:04]: ▸   },
[15:21:04]: ▸   "method": "ad-hoc",
[15:21:04]: ▸   "teamID": "8V375A94TK"
[15:21:04]: ▸ }
[15:21:04]: ▸ -----------------------------------------

@ohayon LMK if there's anything I can provide as well.

This problem blocked apps release for us. We use automated signing and sigh>gym>pilot without match.
Yet sticked to 2.62.0, but this will fail with next Apple API update. Is there anything else I can provide?
Some analyses:

sigh downloads Xcode managed profile.
https://github.com/fastlane/fastlane/pull/10508/files sets signingStyle = 'manual'
xcodebuild fails with

Provisioning profile "XC iOS: com.***" is Xcode managed, but signing settings require a manually managed profile.

The problem above worked around by removing the use of sigh and replacing it with 'export_xcargs "-allowProvisioningUpdates"' for profiles update.

@vorobievalex Thanks, I'll give that a try.

Hi all,
I got a same  error with code signing.

My Fastlane file:

desc "Deploy a new version to the hockey"
lane :upload_hockey do
unlock_keychain(path: "login.keychain", password: KEYCHAIN_PASSWORD)
sh "fastlane fastlane-credentials add --username '" + ENV["FASTLANE_USER"] + "' --password '" + KEYCHAIN_PASSWORD + "'"
match(force: false, type: "adhoc" )

sh "pod install"
sh "sed -i '' 's/ProvisioningStyle = Automatic;/ProvisioningStyle = Manual;/' '#{ENV["PROJECT_DIR"]}'/360.xcodeproj/project.pbxproj"

increment_build_number(build_number: BUILD_NUMBER)
xcclean(scheme: "360")

PROVISIONING_PROFILE_SPECIFIER='match AdHoc ' + ENV["BUNDLE_IDENTIFIER"]
gym(scheme: "360", codesigning_identity: CODE_SIGN_IDENTITY,  workspace: "360.xcworkspace", configuration: "Jenkins", derived_data_path: "./build",
    xcargs: "DEVELOPMENT_TEAM=" + ENV["TEAM_ID"] +" " "PROVISIONING_PROFILE_SPECIFIER='#{PROVISIONING_PROFILE_SPECIFIER}'"+" " "PRODUCT_BUNDLE_IDENTIFIER=" + BUNDLE_ID
    )
hockey(
api_token: 'xxxxxxxxxxxx',
ipa: './build/360.ipa'
)
sh "fastlane fastlane-credentials remove --username $FASTLANE_USER"
end

I got the error:
[33m▸�[0m �[39;1mSigning�[0m /Users/jenkins/Library/Developer/Xcode/DerivedData/360-agcktrxjiuzpueaynyyhoctfiaja/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app
** ARCHIVE FAILED **

The following build commands failed:
CodeSign /Users/jenkins/Library/Developer/Xcode/DerivedData/360-agcktrxjiuzpueaynyyhoctfiaja/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications360.app
(1 failure)
[14:45:32]: �[31mExit status: 65�[0m

+---------------+-------------------------+
| �[32m�[33mBuild environment�[0m |
+---------------+-------------------------+
| xcode_path | /Applications/Xcode.app |
| gym_version | 2.68.2 |
| export_method | app-store |
| sdk | iPhoneOS11.2.sdk |
+---------------+-------------------------+

[14:45:32]: ▸ �[35m (7fa6ed04-ea94-496c-a4e9-e66be8feccd8)�[0m
[14:45:32]: ▸ �[35m /usr/bin/codesign --force --sign A22EDB7245B8CBB7CB5A2ED61ED7B980873C17E6 --entitlements /Users/jenkins/Library/Developer/Xcode/DerivedData/360-agcktrxjiuzpueaynyyhoctfiaja/Build/Intermediates.noindex/ArchiveIntermediates/360/IntermediateBuildFilesPath/360.build/Release-iphoneos/360.build/360.app.xcent --timestamp=none /Users/jenkins/Library/Developer/Xcode/DerivedData/360-agcktrxjiuzpueaynyyhoctfiaja/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app�[0m
[14:45:32]: ▸ �[35m/Users/jenkins/Library/Developer/Xcode/DerivedData/360-agcktrxjiuzpueaynyyhoctfiaja/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app: unknown error -1=ffffffffffffffff�[0m
[14:45:32]: ▸ �[35mCommand /usr/bin/codesign failed with exit code 1�[0m
[14:45:32]:
[14:45:32]: �[31m⬆ Check out the few lines of raw xcodebuild output above for potential hints on how to solve this error�[0m
[14:45:32]: �[33m📋 For the complete and more detailed error log, check the full log at:�[0m
[14:45:32]: �[33m📋 /Users/jenkins/Library/Logs/gym/360-360.log�[0m
[14:45:32]:
Then I run the command again in terminal:

/usr/bin/codesign --force --sign A22EDB7245B8CBB7CB5A2ED61ED7B980873C17E6 --entitlements /Users/jenkins/Library/Developer/Xcode/DerivedData/360-agcktrxjiuzpueaynyyhoctfiaja/Build/Intermediates.noindex/ArchiveIntermediates/360/IntermediateBuildFilesPath/360.build/Release-iphoneos/360.build/360.app.xcent --timestamp=none /Users/jenkins/Library/Developer/Xcode/DerivedData/360-agcktrxjiuzpueaynyyhoctfiaja/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app�
**it popups a message to require input password to allow add the certificate.

After I run the command, I can build successful. But the problem is that:
I must build many apps with corresponding certificate, I unable to import manually like that.
If I must do manually it lost the powerful feature of Fastlane.**
[15:30:15]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[15:30:17]: Generating fastlane environment output, this might take a few seconds...
🚫 fastlane environment 🚫

Hey everyone, we released some changes to this code yesterday. Could you all update fastlane and try running this again to see if the code signing will work a bit better and get you back up and running? 🚀

Hi @ohayon,
I have just update the latest Fastlane but the error is still remaining.
[18:17:21]: ▸ /Users/jenkins/Library/Developer/Xcode/DerivedData/JMango360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates/ArchiveIntermediates/JMango360/InstallationBuildProductsLocation/Applications/JMango360.app: unknown error -1=ffffffffffffffff [18:17:21]: ▸ Command /usr/bin/codesign failed with exit code 1 [18:17:21]:
🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.13.1

Ruby
2.3.3

Bundler?
false

Git
git version 2.10.1 (Apple Git-78)

Installation Source
~/.rbenv/versions/2.3.3/bin/fastlane

Host
Mac OS X 10.13.1 (17B1003)

Ruby Lib Dir
~/.rbenv/versions/2.3.3/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.2.1

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.68.2
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
1.5.1

CFPropertyList
2.3.4

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.5.3

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

terminal-table
1.4.5

plist
3.2.0

public_suffix
2.0.4

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.6.3

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

excon
0.54.0

faraday
0.10.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161129

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.2

json
1.8.3

mini_magick
4.5.1

multi_json
1.12.1

multi_xml
0.5.5

rubyzip
1.1.7

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

bundler
1.13.6

faraday_middleware
0.10.1

uber
0.0.15

declarative
0.0.9

declarative-option
0.1.0

representable
3.0.4

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.13.4

io-console
0.4.5

generated on: 2017-12-07

Hey @biolinh, the exit code looks like it was mangled in your last comment. Any chanc eyou could share some more of your output?

Hi @ohayon,
open the raw  log, I can get anything more:
`
Signing Identity:     "iPhone Distribution: XXXYYYZZZ BV (XXXXXXX)"
Provisioning Profile: "match AppStore nl.deltastar.deltastar"
(d53ad046-qwertyuiokjhngbfvdcsdfgn)
/usr/bin/codesign --force --sign 123456780POIUYTREWQ --entitlements /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/IntermediateBuildFilesPath/360.build/Release-iphoneos/360.build/360.app.xcent --timestamp=none /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app

/Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app: unknown error -1=ffffffffffffffff
Command /usr/bin/codesign failed with exit code 1`
My OS 10.13.1, Xcode 8.2.1.
Thanks

Hi @ohayon,
After work around I found the specific error, then I create a new issues for this.
Please help me to look up it.
https://github.com/fastlane/fastlane/issues/11155
Thanks.


Recording Update History

Summary
I want the version to show the changes that have happened to an entry, saving previous versions in a new row. Or, these oldVersions could be saved in the object itself if there is already a convention that uses the __v or _version field #16.
When compiling the model:
var Model = dynamoose.model('Models', Model, {versioning:true})

This would result in the schema having a __v field which specifies
{
    name: {
        type: String,
        hashKey: true,
    },
    __v: {
        type: Number,
        default: 1
    },
    createdAt: { // Will now be when this update occured
        type: Date,
    },
    updatedAt: { // When this was changed
        type: Date,
    }
}

Requirements

Queries to the database will automatically get the latest version of an item
Putting and Saving items will automatically increment the __version number and create a new item

Results

Will allow developers to implement reverting back to previous versions

This is a cool idea! 👍
IMO, storing the previous version within the same object makes the most sense, in case you are using a unique ID as the hash key.
Maybe you could specify which fields need to be versioned? This can be done in the schema instead of the model creation.
{
  "id": "ABC",
  "name": "Version 3 -- The second update",
  "__v": {
    "number": 3,
    "history": [{
      "name": "Version 1 -- The original string",
      "createdAt": "<timestamp_1>"
    }, {
      "name": "Version 2 -- The first update",
      "createdAt": "<timestamp_2>"
    }]
  },
  "createdAt": "<timestamp_1>",
  "updatedAt": "<timestamp_3>"
}

Thoughts?

Maybe you could specify which fields need to be versioned? This can be done in the schema instead of the model creation.

Yes but if you do that, will all the fields selected be saved in the history or just what changed?
When querying the database this could increase bandwidth as a database gets older. Is there a way to query dynamo asking for a certain part of the object to not be included:
User.get({
        username:"user"
    },
    {
        __v: false
    })

Agree with remove of updatedAt in the history field entries.

When querying the database this could increase bandwidth as a database gets older.

This is a good point, and your method of dealing with that makes the most sense. I don't think what you're asking for is possible, however.
If I understand how throughput works in DynamoDB correctly, doing a get on a hash key field will transfer the entire document (indeed all documents that match the hash key) through the pipe. It's for this same reason that storing data in separate documents won't solve the problem either...

There might be a way to deal with this once #138 is implemented out of the box (kinda)... You could create a schema that looks something like this:
UserVersion
{
  "userversion_id": "ABC",
  "userdata_id": "xyz",
  "version": {
    "number": 3,
    "history": ["qrs", "tuv"]
  },
  "createdAt": "<timestamp_1>",
  "updatedAt": "<timestamp_3>"
}

UserData
{
  "userdata_id": "xyz",
  "username": "<current username>",
  "createdAt": "<timestamp_3>"
}

{
  "userdata_id": "tuv",
  "username": "<previous revision username>",
  "createdAt": "<timestamp_2>"
}

{
  "userdata_id": "qrs",
  "username": "<original username>",
  "createdAt": "<timestamp_1>"
}

Then you can use the populate method to populate the UserVersion object with the reference to the correct UserData document... I'm basically just thinking as I type right now. Thoughts?

Separating them like this seems to be the best way. I think that UserData should be User_History. Also I don't see why we can't call UserVersion just user. This means someone using it can easily see which table to look at.
Do you think that the User (UserVersion) table could include the most up to date version of the table. That way you would most of the time only need to query the one table? Also this would mean you wouldn't need to store the current version in database but I think leaving it is fine.  I think having the userversion_id in the User_History table would be good too.

Great ideas and conversation.
One idea that I've been toying with as a major part of v0.9 is adding support for plugins.  I want to be able to support use cases such as this without having to modify the core functionality of dynamoose.

@brandongoode This feature will not be necessary for everyone so probably best left for a plugin?

I have started work on PR #325 to implement plugins into Dynamoose. I would love feedback during this process to ensure this feature is made possible. This feature is something I'm consistently thinking about to make sure this feature possible with Dynamoose Plugin Support.
Feel free to comment on that PR throughout the building process. I'm trying to build this feature out in the open so I can potential get feedback about the direction we are taking on it.

I have also opened a PR (#338) that should help to build out this functionality as a plugin when Dynamoose version 0.9 is released.

@mogwai Wanna give this a shot in the new Dynamoose Plugin Beta system, and let me know if it's possible or if I need to make any changes to the API to make this happen, along with any feedback you have?

Closing this issue has it has been migrated to our new plugin ideas repo.
https://github.com/dynamoosejs/dynamoose-plugin-ideas/issues/1


Too much recursion on page reload from Tempus Dominus JS

Having the class datetimepicker-input causes the page overload problem when it has a value filled. But removing it makes the input focus/blur lose.
References:
https://github.com/tempusdominus/bootstrap-4/issues/123
https://github.com/tempusdominus/bootstrap-4/issues/39

An small workarround can be to remove the class when the datepicker is loaded (because the problem is at the first time load) and add the class back if the input is on focus, so the next events will be fired normally.
Just place this in document ready state:
// Tempus Dominus date picker load remove class
$('*[data-toggle="datetimepicker"]').removeClass('datetimepicker-input');

// Add class back to Tempus Dominus date picker
$(document).on('toggle change hide keydown keyup', '*[data-toggle="datetimepicker"]', function(){
	$(this).addClass('datetimepicker-input');
});


move all env vars used to respect the ERISDB_ prefix

Currently all environment variables are being ported to ERIS_DB_*;
I have to integrate environment variables from the shell scripts into the eris-db command, and I will transition for 0.12.0-rc2 both versions of the ENV (with and without prefix); then deprecate the without prefix

This is done, no?

yes


[Go Live][Nov24]

Push to live

Docs Build status updates of commit cc78771:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/authentication/auth-aad-sso.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Moving the poles and meridian

I made a world that i like but, I want to change where the poles are and where the meridian is so i can make a proper map (from the "map" view) of the world I created.
Can this feature be added? I wouldn't even know where to begin coding it myself (I can barely type in English, never mind code).

Can be done. This might be something I can do once I finish work on the new code for Views, then I'll have a nice generic "draw lines" program I can leverage.


Updated Java Doc with better description and examples of presenters, …

…Libraries and related projects.

Hint:   <p> ... </p>  is not required. Simply just use <p> when you want to start a new paragraph. If you insist on using both a start and an end tag then you are making it harder for yourself as they need to balance.

I don't see anything wrong on using more  XHTML-like syntax.

Thanks guys. Please continue to enhance the documentation, it is important source of information.

Definitely not wrong. I guess it is a matter of religion.
I tend to agree with Stephen Colebourne  :

Use simple HTML tags, not valid XHTML
Javadoc uses HTML tags to identify paragraphs and other elements. Many developers get drawn to
the thought that XHTML is necessarily best, ensuring that all tags open and close correctly. This is a
mistake. XHTML adds many extra tags that make the Javadoc harder to read as source code. The
Javadoc parser will interpret the incomplete HTML tag soup just fine.

and as far as I can tell the official advice from Oracle is (still) also to use a single <p>, even in JDK8 and JDK9.
Personally, I would say just pick a style and stay with it and it this sense this PR was different from the rest of the html4j code base. Not important, just a comment.
Looking forward to more html4j releases !  :-)


any way to disable scrolling for month when certain date conditions are met

@harikiran-01 , try using this when condition is true         compactCalendarView.shouldScrollMonth(false)

I want to disable scroll only in one direction. Like a max date and min date and preventing scrolling beyond those dates

@harikiran-01 what you can do in that case is when you know you don't want user to scroll any further,

Let user scroll
get event in listener and check condition
compactCalendarView.setOnScrollChangeListener { v, scrollX, scrollY, oldScrollX, oldScrollY ->  //Your code }
if doesn't match scroll back along with a toast or snackbar message
scrollBack : compactCalendarView.scrollLeft() or compactCalendarView.scrollRight()

This will give a better user experience and hopefully solves your problem.

Yeah this workaround is legit, but wondered if there is any implementation to prevent loading the max or min month altogether. Like restricting the onScroll event even if the swipe is detected which would make the ui more friendly, imo

@harikiran-01 what you can do in that case is when you know you don't want user to scroll any further,

Let user scroll
get event in listener and check condition
compactCalendarView.setOnScrollChangeListener { v, scrollX, scrollY, oldScrollX, oldScrollY ->  //Your code  }
if doesn't match scroll back along with a toast or snackbar message
scrollBack : compactCalendarView.scrollLeft() or compactCalendarView.scrollRight()

This will give a better user experience and hopefully solves your problem.

Yeah this workaround is legit, but wondered if there is any implementation to prevent loading the max or min month altogether. Like restricting the onScroll event even if the swipe is detected which would make the ui more friendly, imo

Can you share your code please? I was be able to add a min and max with left and right button but my problem is apply it with the scroll, I don't know how to do it. I would like to apply it when user exceed the maximum or minimum date.

You need to Override the onMonthScroll function available in CompactCalendarView.CompactCalendarViewListener interface to detect the scroll and perform required operations. Here is the snippet of code I'm using to prevent scroll after a min date and max date:
public class CalendarActivity extends AppCompatActivity implements CompactCalendarView.CompactCalendarViewListener
{
private CompactCalendarView compactCalendarView;
Date lastselecteddate;
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
compactCalendarView = findViewById(R.id.compactcalendar_view);//replace with your view id
compactCalendarView.setListener(this);
}
@Override
public void onMonthScroll(Date firstDayOfNewMonth) {
if(firstDayOfNewMonth.after(getCurrentDate().getTime())){
compactCalendarView.setCurrentDate(lastselecteddate);
//this resets calendar to the previous selected month
}
else{
 lastselecteddate = firstDayOfNewMonth;
}
}

You need to Override the onMonthScroll function available in CompactCalendarView.CompactCalendarViewListener interface to detect the scroll and perform required operations. Here is the snippet of code I'm using to prevent scroll after a min date and max date:
public class CalendarActivity extends AppCompatActivity implements CompactCalendarView.CompactCalendarViewListener
{
private CompactCalendarView compactCalendarView;
Date lastselecteddate;
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
compactCalendarView = findViewById(R.id.compactcalendar_view);//replace with your view id
compactCalendarView.setListener(this);
}
@Override
public void onMonthScroll(Date firstDayOfNewMonth) {
if(firstDayOfNewMonth.after(getCurrentDate().getTime())){
compactCalendarView.setCurrentDate(lastselecteddate);
//this resets calendar to the previous selected month
}
else{
 lastselecteddate = firstDayOfNewMonth;
}
}

@rensocs

workaround found


construct empty exceptions with no arguments, instead of () and {}

Here's a simple change to get rid of the weird exceptions with () and {} passed as arguments.
No tests failed by this change, so I guess it's reasonably backwards-compatible; I did add a simple test for the new behavior.
This partially addresses #362.

AFAICT the failures in travis are unrelated to my change, but I'm not completely sure of that.

Ping. I don't think I have access to retry the travis tests... but I've run the builds that failed locally and they passed, so I don't think there's a problem with the branch... could an admin retry the build?

I'll get that retried (since I have the power),
Btw feel free to jump on #zookeeper irc channel on freenode if u need more
immediate response.
On Wednesday, November 18, 2015, Christopher Armstrong <
<EMAIL_ADDRESS>wrote:

Ping. I don't think I have access to retry the travis tests... but I've
run the builds that failed locally and they passed, so I don't think
there's a problem with the branch... could an admin retry the build?
—
Reply to this email directly or view it on GitHub
https://github.com/python-zk/kazoo/pull/365#issuecomment-157781207.

--
facebook.com/jshharlow http://www.facebook.com/jshharlow
flickr.com/jshharlow
YIM: jshharlow

:+1:  seems ok to me.


add string to hexa renderer to parse Ipfix ovs field virtual_obs_id

Hello,
I don't know if it the right code, but this permit de parse an ipFix field from openvswitch, send as "hexa string".
Regards,
Nicolas

Hello,
to be more specific :
https://manpages.debian.org/testing/openvswitch-common/ovs-vswitchd.conf.db.5.en.html#other_config~263
this string seems to be send as hexa encode, goflow2 output as sample form :
{"type":"IPFIX","time_received_ns":"2024-01-10T08:07:36.141871548Z","sequence_num":8679,"sampling_rate":0,"flow_direction":1,"sampler_address":"fcf0:873a:7ee0:5f83:177d:f856:e959:ed45","time_flow_start_ns":1704874139760000000,"time_flow_end_ns":1704874139760000000,"bytes":75200,"packets":400,"src_addr":"<IP_ADDRESS>","src_net":"<IP_ADDRESS>/0","dst_addr":"<IP_ADDRESS>","dst_net":"<IP_ADDRESS>/0","etype":"IPv4","proto":"UDP","src_port":34297,"dst_port":443,"in_if":8,"out_if":2,"src_mac":"04:d4:c4:6a:8b:c2","dst_mac":"00:0c:29:c5:e8:2d","icmp_name":"unknown","vlan_id":0,"src_vlan":0,"virtual_obs_id":"746573742d3031"}
with my PR en set hexa as renderer, i can obtain a right conversion :
{"type":"IPFIX","time_received_ns":"2024-01-10T08:06:52.134866643Z","sequence_num":312,"sampling_rate":0,"flow_direction":1,"sampler_address":"fcf0:873a:7ee0:5f83:177d:f856:e959:ed45","time_flow_start_ns":1704874095753000000,"time_flow_end_ns":1704874095753000000,"bytes":0,"packets":400,"src_addr":"","src_net":"invalid Prefix","dst_addr":"","dst_net":"invalid Prefix","etype":"","proto":"","src_port":0,"dst_port":0,"in_if":10,"out_if":11,"src_mac":"02:ed:f2:97:09:8d","dst_mac":"01:80:c2:00:00:02","icmp_name":"unknown","vlan_id":0,"src_vlan":0,"virtual_obs_id":"test-01"}
the raw producer : {"pen-provided":true,"type":898,"pen":6876,"value":"dGVzdC0wMQ=="},  for this field
Nicolas

I made #277 as I found a mistake in my code. Bytes in protobuf should not have been converted to hexa in the first place. Also this names the renderer as string which is more appropriate. Also adds a test.


Add Minor help text to forms

On some forms we support nice additional features, such as Markdown in the User bio and Project description, and browser Selects support basic search.
We should add some minor text highlighting this fact so that users know.
This is a good first issue and shouldn't take very long.

This could be considered part of #69 and #81


fixes #460  Allow override for /docker-entrypoint-initdb.d location

This allows someone using mongodb withing docker-compose to initialize the database with custom scripts, even when the scripts are stored in a docker volume.
This PR only has one modified file to show the scope of what this is about.  If desired, I could also generate a fix for the other copies of this script.

https://github.com/docker-library/mongo/issues/460#issuecomment-797795751


host: Allow non-TTY jobs to use open(2) on /dev/stdout & /dev/stderr

Some containerised apps expect to be able to use /dev/stdout and /dev/stderr to write data to stdout / stderr (e.g. the official Docker nginx app), but that doesn't work if those paths point to sockets (in which case open(2) fails with ENXIO, see http://marc.info/?l=ast-users&m=120978595414993).
My solution here is to provide jobs with a standard pipe, continue to provide flynn-host with a socket and copy data between the two. This isn't ideal as the data is now being copied through containerinit's memory. If we think this is problematic we could provide a flag to enable this just for jobs which require the use of /dev/stdout and /dev/stderr.
/cc @titanous @josephglanville

Dumb idea: can we just bind the proxy pipe to /dev/std{out,err} directly so that programs using the FDs that we pass in don't go through the proxy, only wacky apps like nginx do?

@titanous that would be better yes, I'll have a play around with it.

@titanous comments addressed

Very nice! LGTM


postgresql schema name in sort_name

Hi,
I use the code in flask sqlalchemy postgresql, and my tables are in schemas
class User(db.Model, UserMixin):
    __tablename__ = 'user'
    __table_args__ = {'schema': 'usr'}

when i want to order by a column by clicking  i will recive a postgresql error.
in the postgresql select the order_by the sort_name has not schema name in front

It works fine for me with this example. I just had to use the Model class name in the Foreign key instead of the string term.
class User(Base):

    """Define a User."""

    __tablename__ = 'users'
    __table_args__ = {'schema': 'main'}

    id = Column(Integer, primary_key=True)
    name = Column(Unicode, unique=True)
    created_at = Column(DateTime, default=datetime.datetime.utcnow)
    address = relationship('Address', uselist=False, backref=backref('user'))

    def __unicode__(self):
        """Give a readable representation of an instance."""
        return '%s' % self.name

    def __repr__(self):
        """Give a unambiguous representation of an instance."""
        return '<%s#%s>' % (self.__class__.__name__, self.id)

class Address(Base):

    """Define an Address."""

    __tablename__ = 'addresses'
    __table_args__ = {'schema': 'main'}

    id = Column(Integer, primary_key=True)
    description = Column(Unicode, unique=True)
    user_id = Column(Integer, ForeignKey(User.id))

    def __unicode__(self):
        """Give a readable representation of an instance."""
        return '%s' % (self.id)

    def __repr__(self):
        """Give a unambiguous representation of an instance."""
        return '<%s#%s>' % (self.__class__.__name__, self.id)

Thanks for answering.
I'm using datatables just for the User table (without join) and it doesn't work.
In order to make it work I had to insert at line 321 the following:
            if hasattr(parent, '__table_args__'):
                schemaname = parent.__table_args__["schema"]
                tablename='%s.%s' % (schemaname, tablename)

It would be nice if you could make a Pull Request with some tests or examples, please


Update to JSCS 3.x

Please update this to support JSCS 3.x — currently 3.0.2.

This pull request is working on updating JSCS to 3.x.


Fix bug where narrator would not shift-tab to scrollviewer; Closes #181;

Fixed a bug where navigating with narrator would not allow focusing of scrollviewer with image
Description

Added "AutomationProperties.Name" property
Motivation and Context

Fixes #181 .
How Has This Been Tested?

Tested by navigating through page with narrator and press shift tab to get to the scrollviewer.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

I have added the UIA names to the other scrollviewers and added "IsTabStop" to the last one so every scrollviewer can be visited by tabbing through page and is accessible to the narrator.


⚠ sandbox-api.piste.gouv.fr healthcheck has degraded performance

In 99cc1f9, sandbox-api.piste.gouv.fr healthcheck (https://sandbox-api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 2067 ms

Resolved: sandbox-api.piste.gouv.fr healthcheck performance has improved in 60306c2.


Heterogeneous volume Can't select model HDR cannot select Chinese path

I'm sorry that I can't speak English, so I use the translation
Report two bugs
operating environment: blender2.82. 2.83 2.9 Luxcore 2.3

Heterogeneous volume Can't select model
HDR cannot select Chinese path

We added full support for Unicode UTF-8 in under development v2.4: https://forums.luxcorerender.org/viewtopic.php?f=5&t=2197
You should try to install a v2.4 daily build and it should fix your problems: https://forums.luxcorerender.org/viewtopic.php?f=9&t=736

Please create separate issues for each bug.

Heterogeneous volume Can't select model

Please open an issue about this here: https://github.com/LuxCoreRender/BlendLuxCore/issues
It is a problem in the addon.


Onboard DEX to Universal Pipeline PRODUCTION

User Story:
As a sender to DEX, I, ReportStream, need to help onboard DEX as a receiver to production so I can send them production data.
Description/Use Case
DEX should be set up to receive data from RS on production.
Dev Notes:
This is a follow-on to #9243. Once that story is complete and we are ready to start sending data in production, we can repeat the steps as part of this story.
Acceptance Criteria

[ ]  Worked with Boris<EMAIL_ADDRESS>from DEX to confirm RS can send data to DEX in the way DEX wants it in production

DEX is being deccomissioned. No longer needed.


Make package compatible with Julia v1.0

Coverage remained the same at 99.038% when pulling eb88e558dbcead895f5149ae7274e5787d32f9ec on release-1.0 into bfafb2de85422024bb5f82cfd82f6d076725dea3 on master.


Rerun failed test in new disks API version 2020-06-30

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug

I am updating API version of disks. https://github.com/Azure/azure-cli/pull/15031
I can't pass these tests. Can you help run them after this PR is merged? Thank you!
network:
test_network_virtual_appliance
servicefabric:
test_cluster_certs
acs:
test_k8s_install_kubelogin_emit_warnings
test_k8s_install_kubelogin_create_installation_dir
To Reproduce

Expected behavior

Environment summary

Additional context

@andyzhangx

test has been removed, related to command az sf cluster certificate add which was removed by team


Bump containerd to v1.6.8-k3s1

Proposed Changes
Bump containerd to v1.6.8-k3s1
Types of Changes
version bump
Verification
Check containerd version in kubectl get node -o wide
Testing
Linked Issues

https://github.com/k3s-io/k3s/issues/6081

User-Facing Change
The embedded containerd version has been bumped to v1.6.8-k3s1

Further Comments

Codecov Report

Merging #6078 (fb8a875) into master (8f41fe1) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #6078   +/-   ##
======================================
  Coverage    9.72%   9.72%
======================================
  Files         138     138
  Lines       10060   10060
======================================
  Hits          978     978
  Misses       8883    8883
  Partials      199     199

Flag
Coverage Δ

unittests
9.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


it was great tool but now sadly its just not wotking

the last time i was testing with this tool was like more than a month ago and it was so good and working perfectly and it do catch the password even with huge wordlist but sadly now its just not working anymore it dose not even try attempts on the target account attempts just stuck at 0 , maybe the tool needs update, i wish you fix it.

Exactly it is not working anymore stuck on 0% always

please, if anyone has a fix/new tool let us know!

@parodiniccolo @aryan29 @skilltroll @skilltroll @Pure-L0G1C @JoryD
Please IF anyone gets the resolution please help
Please tell if there's a new method

exactly stuck at 0
idk why,can someone give an idea why stuck at 0?


Replace system:build-strategy-docker role from the hpo-operator-rolebinding.yml to a more restrictive one

We have added a ClusterRole in hpo-operator-rolebinding.yml file under kind: ClusterRoleBinding  which has a role name as system:build-strategy-docker. This is needed to install python modules inside kubernetes/openshift.
We need to find an alternate solution to make the role more restrictive i.e. avoid giving more permissions to a role than actually required.

The deployment is failing in openshift with just system:build-strategy-docker role. When we add a new role with scc:anyuid (see below), it works.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
 name: hpo-scc-crb
roleRef:
 apiGroup: rbac.authorization.k8s.io
 kind: ClusterRole
 name: system:openshift:scc:anyuid
subjects:
- kind: ServiceAccount
  name: hpo-sa
  namespace: "{{ HPO_NAMESPACE }}"

To remove this dependency, we're looking into adding venv (virtual environment) in docker file and see if it works.

Adding venv is not helping. We're still facing the same issue.
The docker image builds successfully and works on minikube but it fails on openshift when it rebuilds there, due to the restriction it imposes.
Looking deeper into python permissions when the modules are installed.


Grails339

@John-Kuhn merge even if travis fail, we no longer use tht. once merged, i will setup circle. project.


Bones do not match bindpose (FTV-228)

Importing a skinned mesh into Unity results in the error "Bones do not match bindpose." The same USD file (exported from Maya) correctly shows the bones and mesh in usdview (no errors). A simple test is attached here in USD ascii format: a cube skinned with two joints, one of which animates over 10 frames.
cube-two-joint-test_002.zip

Hi Michael! Seems this problem was solved with another issue: "UsdSkel: Skeleton bindings below the root are not discovered".
It will be in the next release that should happen soon (we target next week).
Thanks for your patience!


Parsing shell recursively does not work after Laravel Envoy grammar implementation

There is a bug, where, if you are in the $.envoy node, the shell injection is not applied recursively. Whereby after one level of nesting it is parsed as HTML text
Example

This is not parsed correctly as shell:

$.envoy -> $.conditional -> $._if -> $.text

Major refactoring required
Reset all unit tests
revert back from from aliasing for text, and hand it off to injection.scm
very likely breaking change, users are required to change the capture node in injections.scm

However this is unfortunately necessary to make the parser future proof and removing duplication, ie creating a separate $.envoy_definition which basically mirrors $.definition, when implementing envoy

Hi @yaegassy and @calebdw!
I hope you are both very well! Can I please have your input on the v0.8.0 before I push it? There are breaking changes and I would really like to know if this is possible in Nvim! Everything is working as expected in Nova, it is just I am not sure about NVim. 🙏
I have pushed the Envoy branch so that you can have a look, pull and play around

tree-sitter-blade:Envoy

Here are the supported predicates in Nvim, I can see there is also a has_ancestor in the source code but I would like to have your input whether the new injections.scm I have created, can simply be used as a copy and paste solution when users upgrade to v0.8.0

Nvim predicates

Background and Nova's Working code snippets

The general $text node was un-aliased. It just did not make sense anymore semantically and it has become very inflexible for future releases and updates as the project is growing. simply because the actual general text can mean anything, html, shell etc.
Having said that Nova has the following predicate:

(#has-ancestor? @attr "rule_set")
; AND
(#not-has-ancestor? @attr "rule_set")

This was utilised to create a new injections.scm
((text) @injection.content
    (#not-has-ancestor? @injection.content "envoy")
    (#set! injection.combined)
    (#set! injection.language php))

((text) @injection.content
    (#has-ancestor? @injection.content "envoy")
    (#set! injection.combined)
    (#set! injection.language shell))

((php_only) @injection.content
    (#set! injection.combined)
    (#set! injection.language php_only))
((parameter) @injection.content
    (#set! injection.language php_only))

Are the queries above valid in Nvim as well. Because that is the only change the users need to apply to start using 0.8.0^

" parse text as shell if it has the $envoy as an ancestor, if not parse as php"

I hope it works because the results are amazing, you have php, html and shell injection in one document. The precision provided by tree-sitter is just mind blowing. I do not know any parser out there that this can be done with! Below is the working end result in Nova! 😅 🤯

@calebdw thank you so much for taking time and checking this. I really appreciate it!
I shall get on drafting the release.👍
And good catch with the shell as well, that was not intended!
I will certainly change to bash in theinjections.scm, as shell to  avoid confusion for the broader audience! ☺


feat(NumberTheory/SmoothNumbers): multiplicativity (alternative proof)

Multiplicativity of smooth numbers via same of factored numbers. See #13115 for an alternative approach and for motivation of this PR.

Closed in favor of #13115 .


Publish apk in google play got an issue

is there anyone has the same issue

searched in my app ,only found

the path is "package com.pichillilorenzo.flutter_inappwebview.Util" getUnsafeOkHttpClient() .

You can use version 5.4.4+3 where I removed getUnsafeOkHttpClient


feat: Add lifecycle_ignore_changes variable

Description
TODO
Motivation and Context
See #448
Breaking Changes
No
How Has This Been Tested?
TODO

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[ ] I have tested and validated these changes using one or more of the provided examples/* projects

[ ] I have executed pre-commit run -a on my pull request

Still needs work, will re-open when ready

this is not supported by Terraform https://github.com/hashicorp/terraform/issues/3116


fix: standardize token ttl

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#687
#686  👈
#685
#684
#683
#682
#674
#673
#672
#671
#670
#669
#668
#667
#641
#635
#633
#632 : 1 other dependent PR (#662 )
#628 : 1 other dependent PR (#629 )
#613
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MasterPtato and the rest of your teammates on  Graphite


Invoice should be downloaded with the invoice number, with which it is uploaded

Currently, it is downloaded with counter number .501..502 etc..

The issue is fixed please refer screenshot
File is available as per invoice no

Download file has same name as invoice file name