Scrolling behaviaour at anchor point not working

Hello Guys,
First of all thanks for great library.
When setting anchor point for panel with   slidingUpPanel.setAnchorPoint(0.5f); scrolling functionality not working at acnhor point.
I looked source code. Try to find solution my own. I think motion event disable this functionality.
How can I gain this functionality.
Thanks

Please reopen with more specific information what's not working. Or provide a sample project demonstrating the issue. Thanks


Role assignments are not deleted when using targetScope = 'resourceGroup' and --mode Complete

Bicep version
$ az bicep version
Bicep CLI version 0.16.2 (de7fdd2b33)

Describe the bug
When I remove a 'Microsoft.Authorization/roleAssignments@2022-04-01' from my Bicep template with targetScope = 'resourceGroup' and deploy using az deployment group create ... --mode Complete the role assignment is not removed.
To Reproduce
Steps to reproduce the behaviour:

Add a 'Microsoft.Authorization/roleAssignments@2022-04-01' resource to a Bicep template and deploy it using az deployment group create ... --mode Complete.
Remove the role assignment from the Bicep template and deploy it using az deployment group create ... --mode Complete.
Check role assignments using Azure CLI or Azure portal.
Notice that the role assignment was not removed.

Additional context
This fails without even as much as a warning, this should probably be classified as a security vulnerability.

@alex-frankel enabling deployment stacks can be pursued separately, I have asked internally at my employer but there has been some controversy since it is not GA and there is a policy against using preview features.
If this is to be handled by deployment stacks, you can close this as a duplicate of https://github.com/Azure/bicep/issues/2690.

For posterity's sake, this is limitation is documented here: https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-complete-mode-deletion#microsoftauthorization

Thanks @aucampia - we definitely are excited to GA Stacks ASAP :) I will close this as a duplicate per your suggestion.


Technical details

moves almost all of door and airlock code into shared. additionally combines doorbolt system and doorsystem.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

DoorBoltSystem is folded into DoorSystem.
A lot of method calls for doors have been modified to take Entity.
Changelog

no cl no fun

Rest looks okay just the power stuff is cooked.

turns out it wasn't even necessary to have :P


Allow omit a 'method' attribute on SqlProvider annotation

Fixes gh-1279
I've tried to fix gh-1279. In this change, a developer can omit the method attribute on SqlProvider annotation (such as @SelectProvider, etc...).
If the method attribute was omitted, the MyBatis try to resolve a target method as follow:

If specified type is implements ProviderMethodResolver added by this PR, the MyBatis use a method that returned by it

If cannot resolve by ProviderMethodResolver(= not implement or it was returned  null), the MyBatis will search a resolveSql method(= reserved fallback method) from specified type.

If cannot resolve a target method by above processing, the MyBatis throw a BuilderException.
NOTE:
For this change, I add the ProviderMethodResolver interface and default implementation. In default implementation, it return a method that method name is matched with mapper method. If not found or found multiple methods, it throw a BuilderException.
WDYT?
Related Issues or PRs

gh-1283

LGTM. I would like to see if @abel533 and @harawata thinks as this seems to make generic crud operations very easy to support

This PR will make it easier to use ProviderSqlSource normally. I use a special way to make generic crud operations . In my case, method will point to a fixed number of methods. These methods will generate special SQL based on the mapperMethod name. As follows:
@SelectProvider(type = JPAQueryMethodProvider.class, method = "queryMethod")
User findByLastnameAndFirstname(@Param("lastname") String lastname, @Param("firstname")String firstname);

@SelectProvider(type = JPAQueryMethodProvider.class, method = "queryMethod")
User findByFirstnameLike(@Param("firstname")String firstname);

The common basic methods are as follows:
public interface SelectAllMapper<T> {

    @SelectProvider(type = BaseSelectProvider.class, method = "dynamicSQL")
    List<T> selectAll();
}

public interface SelectMapper<T> {

    @SelectProvider(type = BaseSelectProvider.class, method = "dynamicSQL")
    List<T> select(T record);

}

Thank you, @kazuki43zoo !
I didn't give much thought when I proposed the resolver interface, but it should be possible to define the resolver method as 'static'.
Wouldn't you agree?
Then we might have to consider searching the method by its signature instead.

Name : resolveMethod
Parameter : ProviderContext
Return : Method
static (should this be optional?)

Or, is there any cleaner idea?

By the way, I thought about the original request after a while and it looked a little bit unusual.
It assumes that there are 1) many mapper methods and 2) each of them is mapped to a different provider method.
With the common/generic mapper strategy, as @abel533 explained, the base mapper contains the provider annotations, so users don't have to write method names manually in most cases.
So, it's useful only when defining SQL providers manually.
And I'm not sure if there is a good reason to write such many SQL providers because writing SQL directly in annotation or XML is easier in most cases.

So, it's useful only when defining SQL providers manually.

I think so, too.

And I'm not sure if there is a good reason to write such many SQL providers because writing SQL directly in annotation or XML is easier in most cases.

I think that there are developers that prefer to write a dynamic SQL using provider method instead of XML because the Java code can be debug or measure coverage easily rather than XML.

Hi @harawata , Thank you for you comments.

but it should be possible to define the resolver method as 'static'.

I think it is clearer to use an interface for indicating an API specification, what is the reason (advantage) to not use an interface?
In my opinion, supporting 'static' can be contribute to reducing the number of instances generated, but I'm not sure that it will be an advantage because it created at start-up time only.

@harawata
Thanks for your review!
I've fixed your review comments.

Thanks for the update!
It looks good to me. :)
(the below is the comment I was going to post before submitted the review)

I think that there are developers that prefer to write a dynamic SQL using provider method instead of XML because the Java code can be debug or measure coverage easily rather than XML.

I guess you are right. It should be the developer's choice.

I think it is clearer to use an interface for indicating an API specification, what is the reason (advantage) to not use an interface?
In my opinion, supporting 'static' can be contribute to reducing the number of instances generated, but I'm not sure that it will be an advantage because it created at start-up time only.

Okay. Let's go with the interface.
If it causes a memory problem, it would be possible to cache the instances.


[SPARK-13980] Incrementally serialize blocks while unrolling them in MemoryStore

When a block is persisted in the MemoryStore at a serialized storage level, the current MemoryStore.putIterator() code will unroll the entire iterator as Java objects in memory, then will turn around and serialize an iterator obtained from the unrolled array. This is inefficient and doubles our peak memory requirements.
Instead, I think that we should incrementally serialize blocks while unrolling them.
A downside to incremental serialization is the fact that we will need to deserialize the partially-unrolled data in case there is not enough space to unroll the block and the block cannot be dropped to disk. However, I'm hoping that the memory efficiency improvements will outweigh any performance losses as a result of extra serialization in that hopefully-rare case.

Test build #53456 has started for PR 11791 at commit 7dc3623.

Test build #53456 has finished for PR 11791 at commit 7dc3623.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53456/
Test PASSed.

Test build #53496 has started for PR 11791 at commit 5489748.

Test build #53496 has finished for PR 11791 at commit 5489748.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53496/
Test PASSed.

Merged build finished. Test PASSed.

/cc @rxin @andrewor14, this is the next most important patch to review towards off-heap caching. After these changes get in, we'll be able to use off-heap memory for the unroll memory in off-heap caching, greatly simplifying things. Without this change, the on-heap unroll array needs to be accounted properly even if the final cache destination is off-heap, making the caching more OOM-prone and complicating the accounting logic (since it then becomes different between the two modes).

Still WIP?

Test build #53700 has started for PR 11791 at commit a336c17.

This is no longer WIP and should be ready for review now.

Test build #53700 has finished for PR 11791 at commit a336c17.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53700/
Test FAILed.

Jenkins, retest this please.

Test build #53704 has started for PR 11791 at commit a336c17.

Test build #53704 has finished for PR 11791 at commit a336c17.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53704/
Test PASSed.

cc @sameeragarwal

Test build #53741 has started for PR 11791 at commit cec1f02.

Test build #53742 has started for PR 11791 at commit 4976b74.

Test build #53742 has finished for PR 11791 at commit 4976b74.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53742/
Test PASSed.

Test build #53741 has finished for PR 11791 at commit cec1f02.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53741/
Test PASSed.

Merged build finished. Test PASSed.

Doing a bit of refactoring now in order to make it easier to write proper unit tests for this. Therefore I'd hold off on the final review pass here for a little bit and review my SPARK-3000 patch instead.

Test build #53957 has started for PR 11791 at commit 768a8d9.

Test build #53957 has finished for PR 11791 at commit 768a8d9.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class LogisticRegressionModel(JavaModel, JavaMLWritable, JavaMLReadable):
class NaiveBayesModel(JavaModel, JavaMLWritable, JavaMLReadable):
class KMeansModel(JavaModel, JavaMLWritable, JavaMLReadable):
class Binarizer(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class Bucketizer(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class CountVectorizer(JavaEstimator, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class CountVectorizerModel(JavaModel, JavaMLReadable, JavaMLWritable):
class DCT(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class ElementwiseProduct(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable,
class HashingTF(JavaTransformer, HasInputCol, HasOutputCol, HasNumFeatures, JavaMLReadable,
class IDF(JavaEstimator, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class IDFModel(JavaModel, JavaMLReadable, JavaMLWritable):
class MaxAbsScaler(JavaEstimator, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class MaxAbsScalerModel(JavaModel, JavaMLReadable, JavaMLWritable):
class MinMaxScaler(JavaEstimator, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class MinMaxScalerModel(JavaModel, JavaMLReadable, JavaMLWritable):
class NGram(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class Normalizer(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class OneHotEncoder(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class PolynomialExpansion(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable,
class QuantileDiscretizer(JavaEstimator, HasInputCol, HasOutputCol, HasSeed, JavaMLReadable,
class RegexTokenizer(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class SQLTransformer(JavaTransformer, JavaMLReadable, JavaMLWritable):
class StandardScaler(JavaEstimator, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class StandardScalerModel(JavaModel, JavaMLReadable, JavaMLWritable):
class StringIndexer(JavaEstimator, HasInputCol, HasOutputCol, HasHandleInvalid, JavaMLReadable,
class StringIndexerModel(JavaModel, JavaMLReadable, JavaMLWritable):
class IndexToString(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class StopWordsRemover(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class Tokenizer(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class VectorAssembler(JavaTransformer, HasInputCols, HasOutputCol, JavaMLReadable, JavaMLWritable):
class VectorIndexer(JavaEstimator, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class VectorIndexerModel(JavaModel, JavaMLReadable, JavaMLWritable):
class VectorSlicer(JavaTransformer, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class Word2VecModel(JavaModel, JavaMLReadable, JavaMLWritable):
class PCA(JavaEstimator, HasInputCol, HasOutputCol, JavaMLReadable, JavaMLWritable):
class PCAModel(JavaModel, JavaMLReadable, JavaMLWritable):
class RFormula(JavaEstimator, HasFeaturesCol, HasLabelCol, JavaMLReadable, JavaMLWritable):
class RFormulaModel(JavaModel, JavaMLReadable, JavaMLWritable):
class ChiSqSelector(JavaEstimator, HasFeaturesCol, HasOutputCol, HasLabelCol, JavaMLReadable,
class ChiSqSelectorModel(JavaModel, JavaMLReadable, JavaMLWritable):
class PipelineMLWriter(JavaMLWriter):
class Pipeline(Estimator, MLReadable, MLWritable):
class PipelineModelMLWriter(JavaMLWriter):
class PipelineModel(Model, MLReadable, MLWritable):
class ALSModel(JavaModel, JavaMLWritable, JavaMLReadable):
class LinearRegressionModel(JavaModel, JavaMLWritable, JavaMLReadable):
class IsotonicRegressionModel(JavaModel, JavaMLWritable, JavaMLReadable):
class AFTSurvivalRegressionModel(JavaModel, JavaMLWritable, JavaMLReadable):
class MLWriter(object):
class JavaMLWriter(MLWriter):
class JavaMLWritable(MLWritable):
class MLReader(object):
class JavaMLReader(MLReader):
class JavaMLReadable(MLReadable):
 implicit class StringToColumn(val sc: StringContext)
class RecordReaderIterator[T](rowReader: RecordReader[_, T]) extends Iterator[T]
        // the type in next() and we get a class cast exception.  If we make that function return
class HDFSMetadataLog[T: ClassTag](sqlContext: SQLContext, path: String)
class StreamProgress(

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53957/
Test PASSed.

Alright, just added a few more tests to MemoryStoreSuite to bump up the coverage of putBytesAsIterator() and fixed a problem leading to leaked unroll memory in PartiallySerializedResult.finishWritingToStream.

Test build #54057 has started for PR 11791 at commit 749df73.

Test build #54057 has finished for PR 11791 at commit 749df73.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Jenkins, retest this please.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/54057/
Test FAILed.

Test build #54070 has started for PR 11791 at commit 749df73.

Test build #54070 has finished for PR 11791 at commit 749df73.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/54070/
Test FAILed.

Jenkins, retest this please.

LGTM

Test build #54094 has started for PR 11791 at commit 749df73.

Looks good.

Test build #54094 has finished for PR 11791 at commit 749df73.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/54094/
Test PASSed.

Merging to master.


python311Packages.google-cloud-resource-manager: 1.11.0 -> 1.12.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.google-cloud-resource-manager is: Google Cloud Resource Manager API client library
meta.homepage for python311Packages.google-cloud-resource-manager is: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-resource-manager
meta.changelog for python311Packages.google-cloud-resource-manager is: https://github.com/googleapis/google-cloud-python/blob/google-cloud-resource-manager-v1.12.0/packages/google-cloud-resource-manager/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.12.0 with grep in /nix/store/mq3v2ly75x9dl2gkrq12jqj20a1zaw3q-python3.11-google-cloud-resource-manager-1.12.0
found 1.12.0 in filename of file in /nix/store/mq3v2ly75x9dl2gkrq12jqj20a1zaw3q-python3.11-google-cloud-resource-manager-1.12.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.google-cloud-resource-manager

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mq3v2ly75x9dl2gkrq12jqj20a1zaw3q-python3.11-google-cloud-resource-manager-1.12.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/85e0c4f79106330dd3ff2a10e8fae5ba594edc7d#python311Packages.google-cloud-resource-manager

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mq3v2ly75x9dl2gkrq12jqj20a1zaw3q-python3.11-google-cloud-resource-manager-1.12.0
ls -la /nix/store/mq3v2ly75x9dl2gkrq12jqj20a1zaw3q-python3.11-google-cloud-resource-manager-1.12.0/bin

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

1 package built:

python311Packages.google-cloud-resource-manager

Maintainer pings

Result of nixpkgs-review pr 286282 run on x86_64-linux 1

2 packages built:

python311Packages.google-cloud-resource-manager
python311Packages.google-cloud-resource-manager.dist


add custom signing domain

fix #70
Add a commit boost BLS domain used in the signer module. Now signatures on this domain instead of the builder domain

The builder domain is currently also used for the ECDSA signatures as well, maybe we'd want to update this in the same PR or is this left for a follow-up?


Create  Bankcoin (BCASH)

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[x] Filename in the lowercase Bankcoin BCASH

[x] Image format: png

[x] Image size: 256 by 256 px

Also, you can use these graphics to say that your ERC20 token fully compatible with Trust Wallet (https://trustwallet.com/logo-assets). Tokens will show up automatically once the user receives them.
Feel free to share this on social media and tag Trust Wallet:

Twitter: @trustwalletapp

Facebook: @trustwalletapp

Token : Bankcoin
Symbol : BCASH
Decimal : 18
Contract : 0xb5BB48567BfD0bFE9e4B08EF8b7f91556CC2a112
Logo : https://bankcoinbcash.com/bcash.png
Update BCASH Logo on Trust Wallet


Look at GitHub token generation

Figure out how to use go http request to generate GitHub access tokens for their web api
and figure out where and how to store them locally

Github uses Basic Auth to generate a token from the following uri! https://api.github.com/authorizations

Golang supports this with it's own api:  req.SetBasicAuth(username, passwd)


Question: export as GEOJson

I'd like to export a route shape array as GEOJson format just to view a route path on geojson.io site.
It is possible?
Thanks

You can use this extension method: https://github.com/itinero/routing/blob/develop/src/Itinero/RouteExtensions.cs#L488

I was sure there was.
Great, thanks.
2017-10-03 17:13 GMT+02:00 Ben Abelshausen<EMAIL_ADDRESS>
You can use this extension method: https://github.com/itinero/
routing/blob/develop/src/Itinero/RouteExtensions.cs#L488
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/itinero/routing/issues/133#issuecomment-333874433,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtMQdwU1PY7ZQcTAKdWn21d98C8ytBOks5sok8VgaJpZM4PsGfw
.

--
Alessandro Cavalieri


Google Cloud PubSub for PHP: guzzlehttp/psr7 2.0.0 support

Environment details

OS: Windows 10
PHP version: 8
Package name and version: "google/cloud-pubsub": "^1.33"

Steps to reproduce

set composer json to PHP 8: "php": "^8.0",
do a composer require google/cloud-pubsub
error encountered google/cloud-core[v1.39.0, ..., v1.42.2] require guzzlehttp/psr7 ^1.2
needed to downgrade: Downgrading guzzlehttp/psr7 (2.0.0 => 1.8.2)

This is being addressed in https://github.com/googleapis/google-cloud-php/pull/4508


[WIP] PoC - multipart, dynamic URL rewrite

Related issues
#2010
Short description and why it's useful
This is proof of the concept of dynamic URL mapper. The challenge is that we need to support the fully customizable URLs - that don't have any specific elements pointing out if that's the Product, Category either CMS page.
Unfortunately, we CAN NOT use the vue-router guards as there is no way to rewrite URL (display different route/different component under the same URL). The only option was to create a page which is including the proper subcomponents.
We should decide if that's the way we would like to go. If so, we should then decide if this module should be placed in core or rather src - to let the users modify it when needed. After all -  I think it should be src. The Dispatcher can vary from project to project - mostly because some custom page types added.
If we decided that this is the way to go ->  I'll add the rest of the business logic.
Other options for URL dispatching mechanism:

kind of refactor Product, Category, CmsPage pages - but in the end it comes up to kind of "multipurpose" component which is breaking the SR Principle
Express.js level routing - but it doesn't solve the CSR routing isses (the URLs will differ CSR/SSR which is not good).
??

To test this out - please enter the http://localhost:3000/fake/product/url.html in the browser - and You'll get the Gwyn Endurance product page.
I've got an idea that the url/registerMapping will be called inside the category/list and product/list matching the products and categories with their custom URLs (product.url_path + product.url_key and category.url_path + category.url_key). If some random URL will be called (that's been not yet mapped) then the url/mappingFallback action will be called.
This action will be a subject to override by user - but be default it will be calling first product/single and then category/single to check if specified URL is a product or category URL.
Once mapped URL will be stored in localStorage + url.state (because we'll be getting the prefetched mappings from SSR renderer within this initial state)
Screenshots of visual changes before/after (if there are any)

Screenshot of passed e2e tests (if you are using our standard setup as a backend)
(run yarn test:e2e and paste the results. If you are not using our standard backend setup or demo.vuestorefront.io you can ommit this step)
Upgrade Notes and Changelog

[x] No upgrade steps required (100% backward compatibility)
[ ] I've updated the Upgrade notes and Changelog on how to port existing VS sites with this new feature

Contribution and currently important rules acceptance

[ ] I read and followed contribution rules
[ ] I read the TypeScript Action Plan and adjusted my PR according to it
[ ] I read about Vue Storefront Modules and I am aware that every new feature should be a module

The second phase can - adding the /api/url/map - that will be doing the Category/Product/CMS distinction Server Side in the vue-storefront-api. This will save some % of users the second call (if URL is not product then second call for category will be made in mappingFallback - in the MVP)

Reference materials:

https://github.com/vuejs/vue-router/issues/988
https://github.com/vuejs/vue-router/issues/703
https://github.com/vuejs/vue-router/issues/1858
https://github.com/vuejs/vue-router/issues/1283

Notes:

rootStore.state.config.products.useShortCatalogUrls should be set to true
product.slug and category.slug are used for generating the links so we could just change the way these links are created to get the proper, absolute link (product.slug should be like product.url_path + product.url_key for example - and the same for categories)

Imho we should just use vue router aliases  https://router.vuejs.org/guide/essentials/redirect-and-alias.html

Where the mappings are stored initially? On the server side? If we have list of them upfront why we can't just dynamically add routes/aliases instead of doing this complicated chain of store calls.
Also imho if we can't do it in pure vue-router way all of this should be done in a single component. Right nwo the logic is  so complicated that I even can't properly understand how it works.

Filip I was considering these options:

we cant list all the URL’s to create aliases as for shops with like 100k ski (typical fashion) it will be roughly in megabytes
we must use ‘*’ to have multi part urls: /:uniquekey won’t handle “/category1/category2”
we cant use “next()” - it’s redirect and there is no way to keep the original url - this was my initial idea and I spent 2.5h testing it out yesterday without any success

So my approach is mixed of what you’ve proposed (url/mappingFallback and url/mapUrl is this fallback to determine which route is it) adapted to make no redirects. Users can override these actions with their modules to have different mapping logic
I plan to make it simpler and more elegant and even more flexible with async components: https://vuejs.org/v2/guide/components-dynamic-async.html
So it probably won’t by a single file component (I mean url dispatcher) but just JS function + Product, Category, ... will be loaded using import().
With this urldispatcher approach - which Ian pretty standard for any CMs on the market (including Magento, Drupal and others) - having a Front Controller / Dispatcher design pattern implemented - we will have the flexibility of adding the redirects support when products are updated etc
We could then also include a support for the Magento url resolver: https://github.com/DivanteLtd/vue-storefront/issues/2010#issuecomment-441302434
Basically - my approach isn’t any fresh idea, it’s just kind of implementation for Magentos resolver in Vue.js :)

Vue.js should have not only “next()” but also “router.forward()” forwarding the request flow to different route without switching the url. This is reason we can’t use this elegant solution that I’ve spent 2.5h on yesterday (I’ve implemented it as a route guard and it was almost perfect :))

@pkarw i was thinking more about having this mapping unique propertyin product object (so it can be searched through elasticsearch)not as one downlaodable api endpoint.
regarding pattern matching * will also work
This is not a redirect if we keep it in the same route. Your problem is with browser history so it's worth investigating if the redirection record can be ommited since there is no actual redirect happening at all - only a javascript code adding route to browser history.
I'm not tied to my solution if you tested it out and it didn't work.
I just think implementing logic from magento backend and forcing frontend devs to use different patterns they used to  is opposite of what we are trying to achieve with Vue Storefront and it's backend decoupling approach. It's extremely hard to understand it even from me since it's a completely different way of thinking that is common in frontend world (and it's a symptom of bigger problem bc we have many things like this in VS that are not intuitive to learn for frontend devs).
So assuming I understood you well mix of this two solutions would be just one component (instead of whole module) similar to what  is. Basically our router on top of the router.
<template>
  <component :is="pageType"
</template>

<script>
export default {
  data () {
    return {
      pageType: null
    }
  },
  props: {
    uniqueId: { required: true } // unique identifier used to specify which page we should render
  },
  methods: {
    setPage () {
      const pageData = getPageData(identifier) // gets route params for a given page require to render it (like product SKU etc) and type of page to render
      setPageData(pageData) // sets Vuex for given product/category/whatever was matched by getPageData()
      this.pageType = pageData.type
   }
}

Ok! Let me work on this for a little bit longer so I would be able to show more clearly how I see it working. Yesterday I was more focused on checking the options than on final solution :) thanks for the feedback it’s very helpful 👍

TODO:

caching support for the mappings
tests
error handling
refactoring (I'll try to merge UrlClientDispatcher and UrlServerDispatcher into one component)

@pkarw can you describe more or less where this URL comes from and how on abstractive level this mechanism works? I have troubles understanding it

Let’s discuss this on Monday - core planing at 10:00.
Please bring some constructive counter proposals. This structure is not proposed by coincidence. It’s extremely hard to develop plugin solution for touting the irls both csr and ssr

Ok, but please just describe how it works. We can't understand it with @patzick

UrlDispatcher is checking the custom url with mappingFallback - method that can be customized/overridden. It’s returning the route data where this irks is pointing to. So this mechanism was created as a separate layer over existing Product and Categor /CMS pages. More over it’s supporting all content types not only lroducts and categories as url dispatchers operates on the touring tables defined in the theme. I had huge problems with dynamically loading and hydrating the components and with the changes of url within the same routes - for example clickingvrelated products on product page don’t execute full router flow and not resolving lazy loaded components (kind of cache).

Overall I’ve spent 24 hours in total just on experiments.:;

where this custom url comes from?

Alternative solution is to totally refactor / rewrite url dispatching  - for example not rely on sky but only on url_path in product.js - marching “*” with both product and category pages and then executing kind of “next” if this url doesn’t match category but product etc. but this will be really hard to understand ...
Now it’s pretty simple: this is another layer - separate module - which is optional. Can be plug in if you like to have these routable urls.

I’m open to other solutions / PoC @filrak and @patzick. Acceptance criteria were like this:

there is no distinction in the url to which content it points out: /something/category could point to other content than /somethingelse/product- so the urls are totally custom
we don’t want to do redirects: page is displayed under custom url with no additional url change after content type is discovered
ssr must work
offline mode must work
routes must be cached for not executing the additional network request if we could have obtained the url mapping from product/list, category/list before hand and cache it
the routing mechanism should be opened for other pages / content types added by the user (CMS pages under the same url structure / whatever)

Thanks we will try to figure it out. Basically we will just try to take your solution as a base and see how we can simplify it in terms of code. If it can't be then we just need a different solution. I believe that if achieving something requires too much conplication then the approach is wrong and it should be rethinked from a different perspective

To not make the core more complicated we can probably publish this module as a separate / non-core one. Maybe someone will bring better solution later :)

@filrak sure, that makes sense. I haven’t found any other dynamic routing solution for Vue. It could be cool hook for contribution if done properly.
The simplest way it should work would be if Vue-router supported plugins / or dynamic routes so we could inject them dynamically.
In that case we could have just insert static mapped url { path:  “/something/product”, params: { sku: mappedSku.....
This approach would be the cleanest one. It must be dynamic and we can’t geberate static routing for all urls as there could be lol 100k+ entries on mid size fashion store.
Maybe there is way to insert routings dynamically so we don’t have to deal with all the other hacks like UrlClientDispatcher things.
Haven’t tested dynamic “addRoutes” executed in the guard.
Maybe we should inject addditiknal static route (from url/mapUrl) in the guard and call just next????

Dynamic routes generation seems fine. I'll ask Eduardo who is a current maintainer of Vue router about this approach

If this dynamic routes will work then we’re saved 😎it will be ultimate solution: simple, elegant and compatible with all the acceptance criteria.
Thanks for this feedback anyway  👍

https://github.com/vuejs/vue-router/issues/888

Awesome. So i think we have some common ground now! ❤

Btw we should also think how to get rid of this config 'ifs' all around the project. Its producing module-specific side effects and makes our codebase bigger even when someone is not using particular features. I guess we need some kind of composition here instead of conditions

Closing in favour of #2446


It's was hard  to fine-tuning on other dataset.

I was use this network trained on image defect classification task, and it was very hard train, and get low acc, but other model, like VIP model based on mlp architecture，or pure resnet50，those model is really easy to fine-tuning on my dataset. I also adjust my lr,  weight decay,  batch size, data aug policy(suit my data),  change optimizer,  but it was not help.

transformer-based models just need huge load of data to train.
small datasets won't work as well as cnn

transformer-based models just need huge load of data to train. small datasets won't work as well as cnn

I think my dataset is enough to train,  I also tried on swin transformer, It got a good result.  I think maybe I set some wrong hyper-parameter make this network hard to convergence.  by the way, I think this paper convey a good insight,  I will try it again when I have plenty of time.

你好，请问这个问题解决了吗？我也遇到了类似的问题。

你好，请问这个问题解决了吗？我也遇到了类似的问题。

没空搞这个，放弃了

@BboyHanat @AlexWang1900  my dataset is also enough to train, I also tried on swin transformer, It got a good result. but this network hard to convergence. on adek20 is not better than swin transofmer.


Replaced deprecated padLeft call in BaseDuration

StringGroovyMethods.padLeft(String, Number, String) is deprecated. I converted this to use the recommended StringGroovyMethods.padLeft(CharSequence, Number, CharSequence).
Added this to millis and seconds in the toString() method to be consistent.
Added additional tests for different toString() cases to cover missing features.

The default of 0 is returned when there is 0 time passes in
year, month, and seconds are tested now
missing both milliseconds and milliseconds
having seconds but missing milliseconds
negative milliseconds with 0 seconds
seconds and milliseconds both present
milliseconds greater than 1000

Merged, thanks!


tabbing between inputs within views

Here is normal behavior.  I click the button, screen slides entirely to next view:

Here is problematic behavior.  I tab away from the last input on the view, and it slides half-way to the next view

So one looks like a bug (the fact that the slide only gets halfway on the tab event), and the other is something I'm hoping to accomplish (preventing user from tabbing to next view altogether--limiting transition events only to the pre-defined buttons, clicks, etc.)
the structure in the code is pretty straightforward:
<SwipeableViews>
  <div1>
    <input1 />
    <input2 />
  </div1>
  <div2>
    <input3 />
  </div2>
</SwipeableViews>

Tabbing between input 2 and 3 forces a 1/2 transition from div1 to div2/.  my goal is to prevent it from causing any transition at all.

@brandonmp I'm not sure to understand your issue. Could you post a gif or submit a small code that explains your issue?

sure--in this gif, i tab between two fields in a child of .
When I tab away from the second field, it tries to slide to the next View (which isn't intended), and only gets halfway there.

I still don't get it. How is this linked to my component? That looks like a normal behavior of a regular dom element.

sure-sorry, i'm not sure how to quickly setup a repo to demonstrate this, but here are some perhaps more illustrative gifs
Here is normal behavior.  I click the button, screen slides entirely to next view:

Here is problematic behavior.  I tab away from the last input on the view, and it slides half-way to the next view

So one looks like a bug (the fact that the slide only gets halfway on the tab event), and the other is something I'm hoping to accomplish (preventing user from tabbing to next view altogether--limiting transition events only to the pre-defined buttons, clicks, etc.)

the structure in the code is pretty straightforward:
<SwipeableViews>
  <div1>
    <input1 />
    <input2 />
  </div1>
  <div2>
    <input3 />
  </div2>
</SwipeableViews>

Tabbing between input 2 and 3 forces a 1/2 transition from div1 to div2

Thank for prividing more details here. I would say that it's a bug. At first glance, that looks tricky to solve.

thanks @oliviertassinari
in the mean time, if anyone else has this problem, here's my temp workaround:
original code:
<SwipeableViews>
  <div1>
    <input1 />
    <input2 />
  </div1>
  <div2>
    <input3 />
  </div2>
</SwipeableViews>

we do 2 things: assign a ref to the last input in a view, then setup a function handler to focus that component onBlur.  so:
<SwipeableViews>
  <div1>
    <input1 />
    <input2
        ref={(ref) => this.lastInput = ref}
        onBlur={this.reFocus}
    />
  </div1>
  <div2>
    <input3 />
  </div2>
</SwipeableViews>

then our event handler:
 reFocus: function() {
        this.lastInput.focus();
    },

Regarding how we can more reliability fix this issue.
I think that we would have to listen to the scroll event. See what is going on and change the index if this is needed. We definitely don't when to end up between two slides.

But wont this make it impossible for any other input to have focus? How is input 3 or input1 going to be able to be focused if input2 gets focus in the onBlur-function?

Is a scroll-event being fired when an input gets focus on a different slide @oliviertassinari ? I havent been able to see that yet.

Is a scroll-event being fired when an input gets focus on a different slide

@andrzey Good question, I have investigated.

@andrzey yeah you're correct. shortly after i implemented that fix I realized that problem, so I ended up just going w/ a more traditional routing setup for my form pages. i'll edit that post to reflect the limitation--thanks!

@oliviertassinari check out ErlendWade´s fix on the tabbing-issue. I implemented it in my solution and it worked. Would be nice to have it in the npm-project.

We are also affected by this bug. Is there any news on it, or did anyone found a satisfactory workaround?

The solution started here https://github.com/oliviertassinari/react-swipeable-views/pull/79/commits/e912808205a6daf2450c3e80d94d230372d22510 was interesting.
I think that using the onScroll event is our best option.

Awesome, thank you! It's working as expected in 0.10.3 for us.

i still have this problem, my auto slider is half-way .
material-ui : 3.7.1
lab : 3.0.0-alpha.16


feat: identify closest substations by ID, not just name

Pull Request doc
Purpose
Currently, for each line, we look up the closest endpoint substations based on matches of the NAME attribute to validate that there's at least one matching name that's within a reasonable distance, otherwise this line is discarded. This modification leverages this step to at the same time also grab the unique ID of the closest matching substation, which will be useful in further processing, since the NAME is not a unique identifier.
Later, we will want to build up a graph of the network using the substation IDs as node labels, rather than the substation names. This is analogous to what the collaborators did, except that they used lat/lon pairs instead of IDs (both are unique after LINES > 0 filtering).
What the code is doing
The find_distance_to_closest_substation function is renamed find_closest_substation_and_distance and now returns a pandas Series instead of a float, so that the dataframe apply calls on this function return a pandas DataFrame rather than a Series. We use the distance column as before, and we also add the substation ID columns to the returned data frame.
Testing
Tested manually.
Usage Example/Visuals
>>> from prereise.gather.griddata.hifld.data_process.transmission import build_transmission
>>> lines = build_transmission()
dropping 6892 substations of 70857 total due to LINES parameter equal to 0
dropping 759 lines with one or more substations listed as 'NOT AVAILABLE' out of a starting total of 71554
dropping 3143 lines with one or more substations not found in substations table out of a starting total of 70795
Evaluating endpoint location mismatches... (this may take several minutes)
dropping 120 lines with one or more substations with non-matching coordinates out of a starting total of 67652
dropping 143 lines with matching SUB_1 and SUB_2 out of a starting total of 67532
>>> lines.columns
Index(['ID', 'TYPE', 'STATUS', 'NAICS_CODE', 'NAICS_DESC', 'SOURCE',
       'SOURCEDATE', 'VAL_METHOD', 'VAL_DATE', 'OWNER', 'VOLTAGE',
       'VOLT_CLASS', 'INFERRED', 'SUB_1', 'SUB_2', 'COORDINATES', 'SUB_1_ID',
       'SUB_2_ID'],
      dtype='object')

Validating that the ID is a better identifier of substations:
>>> from prereise.gather.griddata.hifld import const
>>> from prereise.gather.griddata.hifld.data_access.load import get_hifld_electric_substations
>>> substations = get_hifld_electric_substations(const.blob_paths["substations"]).set_index("ID")
>>> substations.loc[substations.NAME.isin(set(lines.SUB_1) | set(lines.SUB_2))]
                   X             Y  ... MAX_INFER MIN_INFER
ID                                  ...
107655 -1.022634e+07  5.743316e+06  ...         N         Y
107656 -1.005346e+07  5.706700e+06  ...         N         Y
107657 -1.014428e+07  5.656784e+06  ...         N         N
107658 -9.778126e+06  5.420826e+06  ...         Y         Y
107659 -9.773954e+06  5.702772e+06  ...                  N         N
173639 -8.260874e+06  4.817305e+06  ...         N         N
173640 -8.250361e+06  4.858554e+06  ...         N         N
173641 -8.248427e+06  4.857953e+06  ...         N         N
173642 -8.240701e+06  4.898343e+06  ...         N         N

[54471 rows x 24 columns]
>>> substations.loc[substations.index.isin(set(lines.SUB_1_ID) | set(lines.SUB_2_ID))]
                   X             Y  ... MAX_INFER MIN_INFER
ID                                  ...
107655 -1.022634e+07  5.743316e+06  ...         N         Y
107656 -1.005346e+07  5.706700e+06  ...         N         Y
107657 -1.014428e+07  5.656784e+06  ...         N         N
107658 -9.778126e+06  5.420826e+06  ...         Y         Y
107659 -9.773954e+06  5.702772e+06  ...                  N         N
173639 -8.260874e+06  4.817305e+06  ...         N         N
173640 -8.250361e+06  4.858554e+06  ...         N         N
173641 -8.248427e+06  4.857953e+06  ...         N         N
173642 -8.240701e+06  4.898343e+06  ...         N         N

[53345 rows x 24 columns]

Side note: about 25% of the substations with the LINES parameter greater than zero still have no lines mapped to them:
>>> len(substations)
70857

Time estimate
15 minutes.

The additional feature that this change enables is in the daniel/hifld_island_filter branch:
>>> from prereise.gather.griddata.hifld.data_process.transmission import build_transmission
>>> lines, substations = build_transmission()
dropping 6892 substations of 70857 total due to LINES parameter equal to 0
dropping 759 lines with one or more substations listed as 'NOT AVAILABLE' out of a starting total of 71554
dropping 3143 lines with one or more substations not found in substations table out of a starting total of 70795
Evaluating endpoint location mismatches... (this may take several minutes)
dropping 120 lines with one or more substations with non-matching coordinates out of a starting total of 67652
dropping 143 lines with matching SUB_1 and SUB_2 out of a starting total of 67532
dropping 13358 substations not connected to largest island out of a starting total of 63965

@BainanXia do you think I should add those commits to this PR branch?

The additional feature that this change enables is in the daniel/hifld_island_filter branch:
>>> from prereise.gather.griddata.hifld.data_process.transmission import build_transmission
>>> lines, substations = build_transmission()
dropping 6892 substations of 70857 total due to LINES parameter equal to 0
dropping 759 lines with one or more substations listed as 'NOT AVAILABLE' out of a starting total of 71554
dropping 3143 lines with one or more substations not found in substations table out of a starting total of 70795
Evaluating endpoint location mismatches... (this may take several minutes)
dropping 120 lines with one or more substations with non-matching coordinates out of a starting total of 67652
dropping 143 lines with matching SUB_1 and SUB_2 out of a starting total of 67532
dropping 13358 substations not connected to largest island out of a starting total of 63965

@BainanXia do you think I should add those commits to this PR branch? The feature itself is done and tested, but I still need to add networkx to the list of requirements for PreREISE.

I feel dropping substations not connected to largest island using networkx will potentially involve some dedicated conversation. Let's keep it in a separate PR (daniel/hifld_island_filter will need to be rebased after this one is merged and some conflicts need to be resolved due to the changes are in same file).


Trim or ignore long lines

If ack finds a match in e.g. minified js file, or other files with just one or few very long lines, it will flood the output with the contents of the file and likely push all useful matches off-screen.
I would like an option to either ignore such matches altogether (maybe list the file name), or possibly to only show some number of characters worth of context around the match.

Ack should already be ignoring minified JS files.  What JS files is your ack finding?

Minified js was maybe a bad example because they usually have .min.js extension, but there are minified js files that don't have the extension. I think the Vaadin/GWT UI toolkit for one.
Also some tools produce minified html and xml files, which also cause problems with ack.

What happens when you grep these files?

I don't understand the question.
If I grep (or 'ack' or 'ack-grep', doesn't matter) these files and they have a match, I get a several screenfuls of text with a matches highlighted somewhere in the mess.

I don't understand the question.

Not a trick question.  Just wanted to know what grep did.  For the most part, I try to keep ack and grep behaving the same.

Well, in that case, both grep and ack fill the terminal with useless amounts of text. Depending on where I run the command, that can mean thousands of rows of scrollback, if I'm unlucky enough to have multiple minified files that match.
One possibility could be being able to define characters that work as line breaks depending of file format. E.g. if you find a match in a .js file with long lines, treat semicolons like linefeeds (for the purposes of -A -B and -C switches)

E.g. if you find a match in a .js file with long lines, treat semicolons like linefeeds (for the purposes of -A -B and -C switches)

That's a level of source awareness that we don't want to get into.

It wouldn't have to be language aware code, it could be an option, just like --type-set or --ignore-dir
This is probably only a problem with languages that can be minified in the first place, and those have to have some other statement separator, so it could be like --statement-separator or --record-separator or something similar.

A co-worker just IM'd me with same complaint about *.js. Since not all minifiers follow .min.js quasi-convention, there's much noise.  grep doesn't do any DWIM magic, we do, so expectations are higher of ack.

an option to trim (long|all) lines to KWIC (keyword in context) with specified window before/after start of match (default screen width  when piped).
For a proper KWIC index, the start of match will be centered on screen even if left context less than half screen
an option to ignore lines > NNN characters

Does grep not have an option to trim lines?  I'm not seeing one.

which grep ? IDK.  If gnu grep has one it would be good to be compatible, but we can be better.

Adding this kind of option gets things pretty ugly what with highlighting the matches etc.
It sounds to me that the solution should probably be more towards people excluding files to not search files they know they want to ignore.  Truncating result lines so they don't explode your screen is just saying "Let's work hard to make things more palatable that we don't even want to see anyway."

Truncating result lines so they don't explode your screen is just saying "Let's work hard to make things more palatable that we don't even want to see anyway."

I agree they should say --perl or --type=clojure  if that's what they mean, which ignores all JS whether we can tell it's .min.js or not.
And if both the minified and full JS are in the tree, they should arrange .ackrc to ignore the minified directories. We detect .min.js if that is in use. Adding ignore .js in .ackrc in dir containing minified only may help sometimes.  If we consulted .gitignore it might help DWIM otherwise. Classifying files with average line length() > 1024  as binary might help. But allowing users to say ignore lines > 1024 or 256 or whatever is good too.
If only the minified is available -- e.g. not shipped, or compiled from Clojure -- and they want to see where the JS calls the back end, maybe specifically having asked for --type=js or looking for all mentions of domain-specific word, seeing statements instead of lines would help them with minified files.
( Maybe that's setting $/  aka $INPUT_RECORD_SEPARATOR $RS ? I don't think we support that ... nor can we ? Might require a preprocess filter co-routine to expand and give statement numbers as faux line numbers?   )

In some cases it's actually desirable to see results within minified js (assuming it's all that's available) to put back-end code into context of a front-end call, for instance. Having the option to truncate excessively long lines at a specified limit or otherwise provide limited contextual results would be flexible and useful in a number of common use cases, rather than just excluding the files outright.

I was (am?) a fan of the old KWOC/KWIC formats. (I say 'was' because who really needs a lineprinter corpus index (concordance) in the 21stCentury! But context index is still plausibly useful for text searching online.) That --output lets me generate KWOC and nearly-KWIC thrills me.  I don't think we need --kwic-.... options. Maybe I can write-up a KWOC/KWIC idiom or wrapper for documentation ...

What are KWOC/KWIC?

On Tue, Mar 14, 2017 at 12:46 AM, Andy Lester<EMAIL_ADDRESS>wrote:

What are KWOC/KWIC?

https://en.wikipedia.org/wiki/Key_Word_in_Context
--
Bill Ricker
<EMAIL_ADDRESS>https://www.linkedin.com/in/n1vux

Closed and moved to wiki.  https://github.com/petdance/ack2/wiki/Feature-requests

Could you reconsider this? It's been an issue in ack for 10+ years. I can't imagine anyone considers scrolling through pages of the following to be desired functionality, and it's a common occurrence in most codebases these days.

The simple way to do is to add an .ackrc compatible option that consists of a boolean flag and/or a width max limit. You don't have to get fancy with the trimming: put the matches in the center of the buffer when the line exceeds the width. This gives context on both sides and it's OK if the default buffer width results in a few lines of visual output (instead of thousands).

It's been an issue in ack for 10+ years.

It's been an issue with grep since the beginning of time.
I don't understand what you mean by "put the matches in the center of the buffer when the line exceeds the width."

line: the long matched line in a file
match: the text that is highlighted (substring of line)
buffer: the truncated line storage
The issue with truncating lines is that it isn't clear how to display a partial line as opposed to a full line. By making the buffer at least as large as the match, then you can find the middle of the buffer by dividing the buffer length by two (and the middle of the match by dividing its length by two), and then you can put the middle of the match in the middle of the buffer. This gives equal context on either side of the match. This is a simple and good enough way to do it, though it is not the only way.

Let's not get bogged down in the details of how it would be implemented internally, and keep it to the user interfece.
It sounds like you're suggesting that in the case of overrunning --maxwidth that ack print out some portion of the line that has the match on it, right?  Something like this?
47: ...  stuff that is from the middle of the line **MATCHED TEXT** more but not to the end...

How do we handle multiple matches per line?  What if acked on a comma and there are 1000 matches on the line in your minified javascript?
How do we handle lines that are longer than --maxwidth that show up in the context lines when using -A, -B and -C?
I have ideas for output that I don't want to put out here yet, but I don't see a way to handle the two scenarios above and still display matches.

It sounds like you're suggesting that in the case of overrunning --maxwidth that ack print out some portion of the line that has the match on it, right? Something like this?

Yes
I think the way to think about an option like --maxwidth is as a UI nicety instead of as something that plays nicely with rigorous output parsing scripts. The way I (and I presume from the Google hits, a lot of other people) use ack is as a nicer grep: I want to know what files trigger, primarily, and then secondarily it's nice to see what line numbers and what context, but ultimately I'm going to open that file in my editor and jump to the matched keyword.
So for

How do we handle multiple matches per line? What if acked on a comma and there are 1000 matches on the line in your minified javascript?

my answer would be: we could highlight only those matches that fit in the buffer starting with the first match. Now the objection to this is that you drop some valid matches, but for the stated use case, this is OK---it's only not OK if you're doing some kind of piped scripting or something.
One way to signal this to the user is to make the name obviously not script-friendly, e.g. --pretty-maxwidth or somesuch. Another way to make it play nicely with scripts is, possibly, to detect when you're outputting to a terminal and only do it then, say --terminal-output-maxwidth, and this functionality is, I think, already built-in for the coloring.
For -A, -B, -C I think the answer is to truncate the other lines as well, and that it would be fine to left-align and right-truncate, though I'm not as experienced with these options.

For -A, -B, -C I think the answer is to truncate the other lines as well, and that it would be fine to left-align and right-truncate, though I'm not as experienced with these options.

Realistically, the default buffer widths that people are going to use will be orders of magnitude smaller than the largest untruncated line, meaning that if you're displaying untruncated lines there, it's not like the output is going to be readable anyway.

Is it really meaningful to show the match on the line?  Vs. just saying "There are 14 matches in this 47,320 character line", for example?

For me, yes. I use the context to determine whether it was a "desirable" match or not. The group of people I've known over the years that use ack is fairly large and all developers, and the typical use case is "someone mentioned such and such string, or it came up somehow in my work, and now I need to know where all instances of 'isInitialBlankNavigation' occur in the codebase."

So what does the sample output look like?  How do we denote it's a partial line?

If this is our normal output:
t/illegal-regex.t
33-
34:    return subtest "test_ack_with( $testcase: @args )" => sub {
35-        my ( $stdout, $stderr ) = run_ack_with_stderr( @args );

maybe the partials look like
t/illegal-regex.t
33-
34*  ... whatever this that other subtest this other thing that goes very ....
35-        my ( $stdout, $stderr ) = run_ack_with_stderr( @args );

Kevin,
I'm planning to include in Ack3's cookbook section hints on displaying
selective context and may even get Andy to include features to do better at
it too.
Workarounds for context in Ack 2 for KWIC/KWOC Keyword indexes (with short
input lines):

     ack2 --output can sorta do KWOC/KWIC with evil before/after vars
     -

        --output '$&^I$'"'"'^I|| $`' # *KWOC*
        -

        --output '$`^I$&^I$'"'" # *pseudo KWIC*
        -

        but they’re nasty from Shell since mix quote and dollar
        -

        and tabs don’t truly line up if width variation exceeds a tab
        width

For your purpose, monsterline uglified JS/html/etc, I'll make a long line
version of ack-standalone and ack for perl 'use' statements.
perl -pE 's/\n$//' ack-standalone | ack2 --output '$1       $2      $3'
'(.{0,20})(\buse \w+(?:::\w+)*[^;]{0,40};?)(.{0,20})'  | less
( Those are ^V^I tabs )
Note that it steps over 'use warnings;' when it immediately follows 'use
strict' which may be ok because it finds each cluster. But  can get each
this way
perl -pE 's/\n$//' ack-standalone | ack2 --output '$1       $2      $3'
'(.{0,20})(\buse \w+(?:::\w+)*[^;]{0,40};?)((?=\buse)|.{0,20})'  | less
Bill
On Mon, Apr 24, 2017 at 9:24 PM, Kevin Lawler<EMAIL_ADDRESS>wrote:

For me, yes. I use the context to determine whether it was a "desirable"
match or not. The group of people I've known over the years that use ack
is fairly large and all developers, and the typical use case is "someone
mentioned such and such string, or it came up somehow in my work, and now I
need to know where all instances of 'isInitialBlankNavigation' occur in
the codebase."
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/petdance/ack2/issues/596#issuecomment-296865214, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AANS-MTqvMHv5vXy-UohyvQMAVb3810Pks5rzUsxgaJpZM4H6lqz
.

--
Bill Ricker
<EMAIL_ADDRESS>https://www.linkedin.com/in/n1vux

Use three dots on any side that's elided. Potentially color the dots. (Putting these "outside" is fine or you can put them inside and do the more complicated string math.) If you really want to get fancy you can put the number of dropped chars in brackets outside any elided side.

On Apr 24, 2017, at 6:46 PM, Andy Lester<EMAIL_ADDRESS>wrote:
So what does the sample output look like? How do we denote it's a partial line?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

 I'm also having the same issue.

No more work is being done on ack2, but a related request came in the other day on ack3, and I think it might helpful here if it were implemented.
I welcome input on that ticket: https://github.com/beyondgrep/ack3/issues/234

I too would like some sort of feature to deal with suppressing or truncating matches from long lines.   My workaround is to filter the output of ack using grep to remove results that are longer than 300 characters.
ack my-seach-string | grep -vE '.{300,}'

but because  using ack with a pipe turns off color by default, I usually turn that back on with a flag:
ack --color my-seach-string | grep -vE '.{300,}'

It would be nice to be able to put something in my .ackrc to ignore or truncate long lines by default that I could then override on the command line if I needed to.

@stephenostermiller Please go comment on the current ticket at https://github.com/beyondgrep/ack3/issues/325


Using Different Servos

I understand that the servos listed are perfect but they are very expensive, can I use any other servos such as CLS6336HV. I understand that you cant use the MG996R because they arent arent strong enough, but are there any other servos in a close price range that will work? Im thinking around $7 per servos rather than the $13 that the listed ones are (converted from GBP).

I am not aware of other comparable servos that will work, sorry. Making a 12 DOF legged robot is not a trivial mechanical problem and requires robust servos.
You will need to do your own research for alternatives. I suggest looking and asking on existing spot micro discord channels for advice.


Remove need to fetch bibdata solr document in locator shim

The locator uses the solr document to pass a call number parameter to the vendor stackmap. We should allow the locator service to accept a call number from Orangelight and only fetch the solr document if the call number is not already provided.

This is causing performance issues in bibdata/orangelight again today.


[RFC][WIP] Introduce PT2 dynamo onnx exporter

Hello from PyTorch ONNX exporter team. Since the early announcement of PT2 we have been actively developing the next generation of PyTorch ONNX exporter based on Dynamo, the new Python level JIT compiler.
With the upcoming PyTorch 2.3 release (targeting 4/24/24), we hope to introduce the new exporter as an experimental feature for early beta adoption in Optimum.
This is an initial PR to introduce the code path of calling the new exporter, which is now hidden behind a flag that is by default turned off. The goal is to kick off the discussion and start gathering feedback from the community.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

Hi @BowenBao, thank you for the PR! Yes I think moving to dynamo-based export is a good thing.
One thing that is currently missing in Transformers, Diffusers, TIMM CI is testing that models can be traced with fullgraph=True. I expect the dynamo-based export to fail for some architectures, but it is good to know & we could test that already in optimum.
@giuseppe5 was actually interested in something broader than this, namely generalizing the logic in exporters/onnx to be able to export as well e.g. to ScriptModule, or ExportedProgram. But this is an other discussion.

@thiagocrepaldi In the current state, I think simply adding (slow) tests for dynamo, duplicating https://github.com/huggingface/optimum/blob/7e08a820b65a359a61444abe51df4eb96b26b2e3/tests/exporters/onnx/test_exporters_onnx_cli.py#L384 with a @slow decorator, and using dynamo=True, and running RUN_SLOW=1 pytest tests/exporters/onnx -k "test_exporters_cli_pytorch_cpu" -s -vvvvv and reporting the failing tests / skipping them with a reason why would be enough.
For dynamo export to be the default, having the ability to specify the input_names and output_names would be very helpful. Is there a technical reason why these arguments were not ported to torch.onnx.dynamo_export?

@thiagocrepaldi In the current state, I think simply adding (slow) tests for dynamo, duplicating
https://github.com/huggingface/optimum/blob/7e08a820b65a359a61444abe51df4eb96b26b2e3/tests/exporters/onnx/test_exporters_onnx_cli.py#L384
with a @slow decorator, and using dynamo=True, and running RUN_SLOW=1 pytest tests/exporters/onnx -k "test_exporters_cli_pytorch_cpu" -s -vvvvv and reporting the failing tests / skipping them with a reason why would be enough.
For dynamo export to be the default, having the ability to specify the input_names and output_names would be very helpful. Is there a technical reason why these arguments were not ported to torch.onnx.dynamo_export?

I need to check again, but I think dynamo already mimics the original input names in the user model, so the user doesnt have to do it themselves. Dynamo API does not provide such facility, so that would be a development in the pytorch core - not only on the onnx exporter module

I'm updating the PR and resolving a few quick infra errors to get reasonable outputs from the unittests. Encountered this error and not sure how to proceed. I recall encountering this kind of error before when running standalone optimum export scripts, it feels like the error message does not describe the error cause accurately. @fxmarty do you have suggestions?
_______ ERROR collecting tests/exporters/onnx/test_exporters_onnx_cli.py _______
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/runner.py:341: in from_call
    result: Optional[TResult] = func()
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/runner.py:372: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/python.py:531: in collect
    self._inject_setup_module_fixture()
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture
    self.obj, ("setUpModule", "setup_module")
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/python.py:310: in obj
    self._obj = obj = self._getobj()
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/python.py:528: in _getobj
    return self._importtestmodule()
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/pathlib.py:567: in import_path
    importlib.import_module(module_name)
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
/workspace/bowbao/anaconda3/envs/bench/lib/python3.10/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
    exec(co, module.__dict__)
tests/exporters/onnx/test_exporters_onnx_cli.py:170: in <module>
    class OnnxCLIExportTestCase(unittest.TestCase):
tests/exporters/onnx/test_exporters_onnx_cli.py:287: in OnnxCLIExportTestCase
    _get_models_to_test(PYTORCH_SENTENCE_TRANSFORMERS_MODEL, library_name="sentence_transformers")
tests/exporters/onnx/test_exporters_onnx_cli.py:57: in _get_models_to_test
    task_config_mapping = TasksManager.get_supported_tasks_for_model_type(
optimum/exporters/tasks.py:1226: in get_supported_tasks_for_model_type
    raise KeyError(
E   KeyError: 'clip is not supported yet with the onnx backend. Only [] are supported. If you want to support onnx please propose a PR or open up an issue.'

Found root cause to be
https://github.com/huggingface/optimum/blob/548d0ac5a2039c6ae73fda2ff53034365b1637d3/optimum/utils/import_utils.py#L61
returning False when installed package is onnx-weekly instead of onnx.
Looks like similar issue was noted for onnxruntime, and onnxruntime-gpu
https://github.com/huggingface/optimum/blob/548d0ac5a2039c6ae73fda2ff53034365b1637d3/optimum/utils/import_utils.py#L63-L64

Thank you @BowenBao, feel free to fix in this PR.

Got an initial result after some tweaks to enable model patcher for dynamo.
=== 350 failed, 360 passed, 11 skipped, 18766 warnings in 8416.29s (2:20:16) ===

We are also undergoing some changes in exporter to merge a few extra dependencies, will update this PR further once that part is done and triage the errors.

@BowenBao @fxmarty
Hi, is this work still in progress or has been replaced by another PR?

I expect a new PR will be created. We will pick this up after pytorch 2.5 release


Next Up Not Functioning On Second Encounter After Refresh

Problem:
Next Up only seems to trigger after the first time creating an encounter. It does not trigger on subsequent encounters.
Steps to Reproduce:

Launch your world with Next Up enabled
Create a new encounter by highlighting combatants and toggling their combat state
Click Begin Combat
Click End Combat and select yes to clear the turn tracker
Highlight the tokens again and toggle their combat state
Click Begin Combat

When following these steps, no turn marker shows, nor do the automatic sheet openings work.  Panning to targets doesn't work either.  The combat acts as if Next Up isn't even installed. When you refresh the page, Next Up functionality returns but this is less than ideal.
Things I've Tried

Toggling Next Up off & on.  This restores functionality for the first fight but not the second
Turn off all other modules other than Next Up. The problem persists
Creating a new world where only Next Up is installed. The problem persists

If you need me to record a video or something I would be happy to try.  I'm not sure why this is happening.  I'm on the latest version of DnD5e, Foundry, and Next Up. I'm accessing it through the newest version of Chrome on a DigitalOcean droplet install.  Let me know if you need more information .
Thanks for the great work on this mod!

This should only happen if you have combats active on multiple scenes at once, and end one of them.
Instead of just fixing this issue, im going to just re-write the module to clean up😁
It'll be a few days in the making, but for now you can roll back to https://github.com/kandashi/Next-Up/releases/download/0.0.55/module.json


literal_unroll fails when mixing iteration over untyped list

[x] I am using the latest released version of Numba (most recent is visible in
the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[x] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

Hi,
I've encountered the following problem trying to apply literal_unroll with mixed accessing to other homogeneous list, which fails at "step: performs mixed container unroll" with KeyError. Strangely it only fails when building a list inside nopython function (either from literal values or iterating over some sequence), but passes if typed.List is used or if mixed container is a reflected_list passed as an argument to the function. Here's the reproducer:
import numba
from numba import types
from numba.typed import List
from numba import literal_unroll

import unittest

class TestSuite(unittest.TestCase):

    # literal_unroll with mixed iteration doesn't work if mixed container
    # is an untyped list built inside jitted function
    def test_numba_literal_unroll_1(self):
        def test_impl(cont, n):
            i = 0
            # failing case #1:
            normal_list = [0, 1, 2, 3]

            # failing case #2:
            # normal_list = [j for j in range(n)]

            # failing case #2:
            # normal_list = [a for a in cont]

            # working case:
            typed_list = List.empty_list(types.int64)
            typed_list.extend(normal_list)

            mixed_cont = normal_list            # this fails to compile
#             mixed_cont = typed_list           # this can be a workaround
            heter_tuple = ('a', 25, 0.23, None)
            for item in literal_unroll(heter_tuple):
                print(item, ":", mixed_cont[i])
                i += 1

            return i
        hpat_func = numba.njit(test_impl)

        n = 4
        data = [j for j in range(n)]
        hpat_func(data, n)

if __name__ == "__main__":
    unittest.main()

Gives:
ERROR: test_numba_literal_unroll_1 (__main__.TestSuite)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\example_test.py", line 40, in test_numba_literal_unroll_1
    hpat_func(data, n)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\dispatcher.py", line 420, in _compile_for_args
    raise e
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\dispatcher.py", line 353, in _compile_for_args
    return self.compile(tuple(argtypes))
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_lock.py", line 32, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\dispatcher.py", line 794, in compile
    cres = self._compiler.compile(args, return_type)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\dispatcher.py", line 77, in compile
    status, retval = self._compile_cached(args, return_type)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\dispatcher.py", line 91, in _compile_cached
    retval = self._compile_core(args, return_type)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\dispatcher.py", line 104, in _compile_core
    cres = compiler.compile_extra(self.targetdescr.typing_context,
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler.py", line 568, in compile_extra
    return pipeline.compile_extra(func)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler.py", line 339, in compile_extra
    return self._compile_bytecode()
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler.py", line 401, in _compile_bytecode
    return self._compile_core()
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler.py", line 381, in _compile_core
    raise e
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler.py", line 372, in _compile_core
    pm.run(self.state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 341, in run
    raise patched_exception
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 332, in run
    self._runPass(idx, pass_inst, state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_lock.py", line 32, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 291, in _runPass
    mutated |= check(pss.run_pass, internal_state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 264, in check
    mangled = func(compiler_state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\untyped_passes.py", line 1447, in run_pass
    pm.run(state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 341, in run
    raise patched_exception
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 332, in run
    self._runPass(idx, pass_inst, state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_lock.py", line 32, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 291, in _runPass
    mutated |= check(pss.run_pass, internal_state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\compiler_machinery.py", line 264, in check
    mangled = func(compiler_state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\untyped_passes.py", line 1224, in run_pass
    stat = self.apply_transform(state)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\untyped_passes.py", line 1092, in apply_transform
    self.unroll_loop(state, info)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\untyped_passes.py", line 1130, in unroll_loop
    args = getattr(dfn, 'args', False)
  File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\numba_master\numba\nu
mba\core\ir.py", line 382, in __getattr__
    return self._kws[name]
KeyError: 'Failed in nopython mode pipeline (step: handles literal_unroll)\n"Fai
led in literal_unroll_subpipeline mode pipeline (step: performs mixed container
unroll)\\n\'args\'"'

----------------------------------------------------------------------
Ran 1 test in 0.418s

FAILED (errors=1)

Numba version:  0.49.0.dev0+1044.gcd242db80
Can you please check it?
Best Regards,
Alexey.

Thanks for the report. This is a bug, if the attribute lookup fails the loop searching for a conformant getitem should just continue.

https://github.com/stuartarchibald/numba/commit/d227da26330800c842ac7ed17cc7aef3ef66f206 is a fix


Port project membership to the dashboard issues

Addressing 3 issues in this ticket
Rancher server master-head 4d18400

Create an rke2 node driver cluster in the rancher server master-head with 1 worker, 1 etcd, 1 cp from cluster explorer.
Create two standard users user1, user2, user3 and user4 and once the cluster is active, create a project P1
Add the users, user1 as Project owner, user2 as Project member, user3 as Read-only and user4 with custom Manage workloads access in the project P1 of the clusters from explore cluster --> project & namespaces -> Create Project --> Add

Issue1 - System account is visible in the members list for users with project owner, project member, read-only permissions

If we log in as user1/user2/user3, from explore cluster --> Projects and namespaces --> Project P1 --> view configs, the members list system account of local. It need not be shown for the users.
The user account is shown even if we login as an admin without any users.

Screenshot for reference:

Issue2 - If we login as user4 with custom permissions manage workloads, from the project members user is displayed as Project owner

Log in as user4 and from the explore cluster --> Projects and namespaces --> Project P1 --> view config, members list has user4 as Project owner.

Expected result:

user4 should not be displayed as project owner as the user has custom Manage workloads permissions.

Issue3 - Create option from the workload page can be removed for the users with Readonly and custom access

From  explore cluster --> workload overview page--> Create, create option can be removed from this page. The create option is not seen in the individual cronjobs, deployments etc.

Related issue:
https://github.com/rancher/dashboard/issues/2673

Will fork item 2 into a ticket for 2.6; the others can wait for 2.6.x.
@anupama2501 for easier triage, can you file separate items for requests like this in the future?


Consider adding simple "debug" and "release" flavors of compiling the SDK

We currently have debug and debug with testing. As the number of granular flags and options grows, it becomes difficult to remember what users should do during dev time (debug) vs production (release).
https://github.com/Azure/azure-sdk-for-c/blob/93cbc98b3c725e055246a75cb7de78d0e7a4fa8c/CMakeSettings.json#L16
https://github.com/Azure/azure-sdk-for-c/blob/b365d28aacbe56ebbc46dd469bd4e2ed954ca4f0/CMakeLists.txt#L16-L18
We should document and create simple debug vs release flavors for someone building/contributing to/testing the SDK.
I would imagine Release to have things like:

preconditions turned off
recommended compiler optimizations flags depending on the compiler being used

This is necessary because it is possible that certain compiler optimizations could reorder instructions or eliminate code which could change the behavior of the API (hence we need to run tests here as well).

Consider the contributor scenario: They should be able to build the SDK by passing in a single debug/release option (default to debug if no option is passed).
For contributors (and CI), I think building unit tests is orthogonal, and we should consider building (and running) them for both flavors. If the end user who consumes the SDK doesn't need tests, we can disable the tests there, but I am not sure if that is necessary.
cc @danieljurek, @vhvb1989

cc @gilbertw - in case you have some thoughts on this (ore regarding triaging)

Note that CMakeSettings.json is VS specific and not all customers will use VS.  Although we can add the varieties to that file for VS users, the settings and configurations need to be all in CMake.
Here are my suggested varieties, matrix optimizations may be in order as this will explode our pipeline requirements

[ ] Release (Preconditions Off, optimizations ON)
[ ] Debug (Preconditions ON, optimizations ON)
[ ] Full Debug (Preconditions ON, optimizations OFF)

@ahsonkhan, you might consider what we do in .NET as a guide in how you add support for release and debug here.  In .NET all PR validation builds and validates using the 'debug' flag.  After merge, the CI pipelines and the nightly runs build and run tests using the 'release' flag.  You can observe this here: https://github.com/Azure/azure-sdk-for-net/blob/master/eng/pipelines/templates/variables/globals.yml#L8


sampling (-i option) in RNAshapes

Hello, I see that you have a sampling option which is not mentioned in your paper, and I'm having problems to understand why you need to do that. Since you are only taking 3 shreps, why not just the 3 with the lowest free energy, or the 3 with the highest shape probabilities (neither requires sampling)? Could you explain the comments on line 821&822 in fasta2shrep_gspan.pl? Thanks a lot.

Dear HarveyYan, the sampling option of fasta2shrep_gspan.pl is not used by GraphProt. fasta2shrep_gspan.pl is a general-purpose script also used by other projects. Best, Daniel


Update version constraints

Hello, hsimport looks super helpful! I had trouble installing it with Stack however. Ultimately I was able to do so by removing upper bounds on package versions in the cabal file, but I realize that's pretty drastic. Could you adjust the upper bounds? Here are the packages which packdeps says have moved ahead of your upper bounds.
$ packdeps hsimport.cabal
hsimport-0.6.5: Cannot accept the following packages
attoparsec <IP_ADDRESS>
lens 4.13
tasty 0.11
tasty-golden <IP_ADDRESS>

I just released hsimport 0.6.6 to fix it.

So fast! Thank you. :watch: :heart:


Crystalin fix signature u256

Let's just completely remove vendor folder as 0.3 is published. https://github.com/paritytech/frontier/pull/138
Sorry!


feat: ability to filter on status context existence

Taking a stab at fixing #26, which basically is resulting in commits being missed on check in certain conditions.
The core problem seems to stem from the fact that we are using the commit date to filter out "old" versions.  But under certain conditions we may miss some commits on an initial check.  Subsequent check will continue to miss the commit as we are now filtering it out based on the date/time of the "latest version".
So instead of using a datetime filter I've added a feature to allow filtering "old commits" based on if they have a status check associated with the SHA.  The status check to look for is configured by a new status_check param to the source configuration.
I've been quickly testing this locally and it seems to be working!  PR/commit that missed the provided status check are reported on.  PR/commit that already have the status check are filtered out.
I left in the commit datetime filtering logic.  But if status_check is provided the feature is disabled in favor of using status checks to filter out old commits.
Looking forwards to comments/questions/suggestions!
fixes #26

We've been using this code for about a month now and it's been working great.  Would love some feedback when anyone has time to permit.  Thanks!

@itsdalmo Do you think we can get this merged? I would like to prevent us from needing to fork the resource to be able to get passed this issue.

@YorickH @jmccann Terribly sorry for the unresponsiveness, if you could resolve the conflicts - I'd love to get this integrated for you guys.

I can probably get it cleaned up sometime later this week or next week.

@rickardl I rebased from master and fixed conflicts.
I'll work to update our internal fork and verify it continues to work as expected.

@rickardl So trying it out and initial look is that it's still working.  But I'll do some more verifying.
I did run into an issue of checks taking much longer.  I think it's related to #233

Hello, is there a chance we could have a new release with this fixed?

Hello, is there a chance we could have a new release with this fixed?

Someone fix the conflict, please!!

I'll try to see if I can fix it - the PR doesn't seem to be a big one.

Working to update with latest code from master now that #233 is hopefully addressed

@jmccann Excellent, thank you so much for your help.

Looks like my updates conflict with latest code ... I tried to add them but stuff broke ... need to spend more time on this 😢

Hi @jmccann, which test is failing for you? I rebased onto master with one conflict, and everything is working for me.

@jhosteny The issue I am having is it's not working as expected when I use it in my test environment.  The states filter is not being respected so my code seems to be breaking it.  It it returning for all states (or maybe just all PRs).  Without my code the states is respected and resource runs quickly and returns what I'd expect.  So I'm breaking something now.  😢

Think I found the issue ... I didn't rebase and tried to patch in manually and undid some other recent changes ... think I'll have this updated soon

It's looking good so far.  👍

Been using this for several days now and haven't seen any issues.  So it's up to a reviewer now on this getting merged.  😄

Been using this for several days now and haven't seen any issues. So it's up to a reviewer now on this getting merged. smile

If it helps, we've also been using this in a private build of the resource for months without issue (along with the submodule fix, #200). We definitely have some repositories whose workflow tends to exercise the issue, and this change fixed it.

Hello, any news if this can be merged? I love the resource - it is very useful but we did get hit by that bug multiple times.

Evening? Is there a chance this PR gets merged? Every week once or twice our team gets hit by the problem of PR's not being picked up.

Asking for any update if this can be merged.?


[Feature Request] Add Development Build Scripts

Something like
`npm run build --dev`

with NODE_ENV set to development
My staging environment uses apache to serve the index html, and minified react behaves differently from my development environment.
In a pinch, this feature would be helpful.
will add pull request if this request is acceptable.

Can you give more details on how React works differently? This sounds like bug in React.

Yes, the input component created with React.cloneElement won't update it's state in production environment, no errors or warning. Will look further to it and add code sample.
But what do you think about this feature? I think it's some kind of escape hatch

Haven't got time to add code example, but for people who wants the escape hatch, I wrote an article about it in here:
<EMAIL_ADDRESS>

This can break with every patch version:
var reactScriptsConfig = require('react-scripts/config/webpack.config.dev')

I’m thinking we should randomize build names in every release now that people are relying on it. And beginners reading your article will rely on it because they don’t understand the dangers as well as you do. And we’re back to JavaScript fatigue where every update is dangerous.  😞

Yes, like i said, it's an escape hatch, it will work until it won't work anymore T_T.
What do you mean about randomize build names?

I think that maybe less experienced developers might actually think it's a supported way of modifying CRA's config from some articles (yours is not the first one I've seen). So maybe we could make it seem "scarier" to import it by making the path a little more obscure, like react-scripts/config/webpack.config.dev-0.8.4.js. So that it's obvious it could break in the next version and is not supported.

Yes, I think that's a good way to prevent something like this happening. I've updated the article with a disclaimer. But I still think that we need a build with env set to development. It's obviously an edge case. Like the issue i've experienced, it's too much consuming to find the bug in react on production

I’m closing since this appears to be a duplicate of https://github.com/facebookincubator/create-react-app/issues/1070.
Let’s continue the discussion there.

Yes, the input component created with React.cloneElement won't update it's state in production environment, no errors or warning.

This sounds like a bug in React, and you should file one there.


LRO: getOperation should return a promise when callback is not specified.

Resolves #97

Current coverage is 92.82% (diff: 85.71%)

Merging #100 into master will increase coverage by 0.04%

@@             master       #100   diff @@
==========================================
  Files            10         10
  Lines          1205       1213     +8
  Methods         191        190     -1
  Messages          0          0
  Branches        239        244     +5
==========================================
+ Hits           1118       1126     +8
  Misses           87         87
  Partials          0          0

Powered by Codecov. Last update 259c296...edbdefa


test_macro_expansion.xml is in the wrong directory?

The file examples/go/with_go_source/with_go_source.bazelproject references examples/go/with_proto/run_configurations/test_macro_expansion.xml which seems to be in the wrong directory.

Hi @ahmedyarub, Could you please elaborate your query with clear details. Thanks!

There are two Go examples: with_go_source and with_proto. with_go_source references the file run_configurations/test_macro_expansion.xml in its with_go_source.bazelproject, while the file does not exist there. On the other hand, with_proto does contain the file run_configurations/test_macro_expansion.xml in its directory but it does not use it. This leads me to believe that the folder run_configurations should be under with_go_source  and not with_proto.

PR created https://github.com/bazelbuild/intellij/pull/5772.


tweaks for new jax eval_shape api

In google/jax#1229 we tweaked the eval_shape API to return both shapes and dtypes. This small PR uses the new API!

Awesome, thanks! Nice that we can get shape information now.


Move name on profile page

The name is currently in a sidebar that doesn't have any other content, so it may make sense to move it out of the way from blocking the items from taking up more space:

Depending on if there are more details to show about this profile user, it might make sense to expand the left hand side rather than move it.
Example of Github's profile page:

If not, then I agree with this change.


Parse.com is not accepting new sign ups

Parse is not accepting new signups as it's shutting down it's service in January 28, 2017.
http://blog.parse.com/announcements/moving-on/

@madHamish42 yes. I updated code and the text to use local parse server. you can deploy it to any free or paid cloud service such as AWS, Azure, etc.
npm i -g parse-server mongodb-runner
mongodb-runner start
parse-server --appId APPLICATION_ID --masterKey MASTER_KEY --databaseURI mongodb://localhost/test


[Feature]: Progree bar color and background color

What problem does this feature solve?
For now only 1 color can implement on progress bar, and use opacity for background , But I want to show different color for background and bar color
What does the proposed API look like?
No response

Hi @ParmPanwar ! This is not possible with the package. In your particular case, I recommend switching to our copy & paste version of the progress bar. There you can control this super easily! → https://raw.tremor.so/docs/visualizations/progress-bar


[Preview Pane] Sticky scroll setting is handled twice

Microsoft PowerToys version
v0.81
Installation method
Other (please specify in "Steps to Reproduce")
Running as admin
None
Area(s) with issue?
File Explorer: Preview Pane
Steps to reproduce
Lines 400 and 403 are exactly the same thing. There's no need to replace PT_STICKY_SCROLL twice.
https://github.com/microsoft/PowerToys/blob/ed249bc0e1003a28dfcdf398707d4bdb8eada418/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs#L395-L404
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

@Aaron-Junker
Correct me if I am wrong. But don't we apply the settings on two places in the code? If yes, we should check the other place too.

Nit that can be added to pr: en-us/ line 409

Nit that can be added to pr: en-us/ line 409

nice catch.

@jaimecbernardo
Plaese reopen. Issue was auto closed on merge.

Nit that can be added to pr: en-us/ line 409

@Jay-o-Way
I suggest to open a new issue. It is not covered in the pr.

This was released with 0.82.0


Use an FFI implementation for Array unfold

This is necessary so that we can provide toUnfoldable in purescript-arrays: the implementation I'm replacing dependend on arrays for STArray, leaving us with a dependency graph issue.
The implementation is based on the original, pre-ST implementation but using PS functions rather than assuming anything about how Maybe, Tuple, etc. are represented in JS.
/cc @sharkdp

:+1: Looks good, if maybe a little bit inefficient. How does it perform compared to the old version?

Perhaps it's possible to get rid of the unsafePartial call by providing a single fold function for Maybe (Tuple _ _) of type forall r. r -> (a -> b -> r) -> r.

unsafePartial is being called "statically" (at definition time) here so there's no overhead if that's what you're thinking about?
Performance is... decent. Using this highly sophisticated benchmark:
intz :: Int -> Array Int
intz = U.unfoldr step
  where
  step 1 = Nothing
  step n = Just (Tuple n (n - 1))

main :: Eff (console :: CONSOLE) Unit
main = do
  logShow $ Data.Array.length $ intz 1000000
  logShow $ Data.Array.length $ intz 1000000
  logShow $ Data.Array.length $ intz 1000000
  logShow $ Data.Array.length $ intz 1000000
  logShow $ Data.Array.length $ intz 1000000

Original:
real	0m16.083s
user	0m16.313s
sys	0m0.395s

After switching to FFI:
real	0m1.118s
user	0m1.437s
sys	0m0.287s

:wink:

Looks good then! Thanks :ship:


(MAINT) Bump version to 1.1.2-SNAPSHOT for next release

Gonna merge this so subsequent runs don't fail.


How can I generate myself training patchs data?

How can I generate myself training patchs data?
What should be the training order of different patch directories？
Thanks for you!!

We provide the method:src/generate_patches.py.One patch, one model.