Changed GPS based matching:

If an image does not have GPS information in Exif, it is matched with ALL
other images. A warning is written in the logs when that happens.

Thank you for doing this, @markuswagner1. That is a better behavior, and some users already asked for this feature.
There is a corner case to solve in the current version:
The images that do not have GPS are letting the points array with 0 values. These points are still used later when we search for the neighbors of the images that do have GPS. This means that images with GPS values close to 0 can get neighbors that do not have GPS values instead of getting their real neighbors.
A solution would be to start by splitting the image list into two: one with images that have GPS and one with images that don't. Then we can process as before the images that have GPS and add all neighbors to the ones that don't.

Thanks @paulinus for reviewing and I agree that the corner case needs to be addressed. However, I am assigned to a different project, so I cannot carry it out in the next time.


feat: replace global refs and trigger release

This replaces some remaining JSDoc global references, and triggers a release with the latest module refactor.

:tada: This PR is included in version 1.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


v1.13.0

1.13.0 - 2020-12-02
Added

Ability to submit multiple selected files within a dataset to an extractor.
Support for Amplitude clickstream tracking. See Admin -> Customize to configure Amplitude apikey.
UpdateUserId.js to scripts/updates. This code adds user_id to each document in extractions collection in mongodb.
user_id is taken from author id in uploads.files if exists, else it taken from author id in datasets collection.

Fixed

An extractor with file matching set to */* (all file types) would incorrectly send out dataset events.
Space Editors can now delete tags on files, datasets and sections.
GeospatialViewer previewer no longer shows if file does not contain geospatial layers.

Just pushed fix to bug found where files inside folders weren't working properly with Mark All. Changed text to Mark Visible to reflect fixed behavior.


⚠ Bofrost.at has degraded performance

In 40f50fa, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1358 ms

Resolved: Bofrost.at performance has improved in 4f543c8.


feat: support UNRECOGNIZED types + decode BYTES columns lazily

Unrecognized Types
Adds support for types that do not have a known type code in the client library (yet). This can happen if a new type is added to Cloud Spanner before this client is updated, or if someone is using an old version of the client library with a version of Cloud Spanner that contains a type that was not available at the time that the specific version of the client library was built.
Unrecognized types are assigned a type with type code UNRECOGNIZED. The values of these types (and all other types) can be retrieved as follows:

Calling ResultSet#getValue(..) will return the column value as a Value instance.
Calling Value#getAsString() will return a string representation of the given value. The string value will be a valid and complete representation of the underlying value. This method is guaranteed to work for all known and unknown types. Array types will return a comma-separated string enclosed in square brackets (e.g. [true, NULL, false] for a boolean array).
Calling Value#getAsStringList() will return a list of strings. The list of strings will contain:

In case the value is an array: One string for each element in the array. Each element is a complete and valid string representation of the underlying array element value.
In case the value is a non-array type: A singleton list containing only the string representation of the specific value.
A user can always call Value#getType()#getCode() == Code.ARRAY to check whether a value is an array with one element, or whether it is a non-array type to determine what the reason is that getAsStringList() returns a list with one element.

Decoding BYTES
BYTES columns are encoded as Base64 strings. Decoding these are relatively CPU-heavy, especially for large values. Decoding them is not always necessary if the user only needs the Base64 string. Also, the internally used Guava decoder is less efficient than JDK implementations that are available from Java 8 and onwards. This change therefore delays the decoding of BYTES columns until it is actually necessary, and then uses the JDK implementation instead of the Guava version. The JDK implementation in OpenJDK 17 uses approx 1/3 of the CPU cycles of the Guava version.
This feature is combined with unrecognized types so it can make use of the new getAsString() methods. This prevents the introduction of what is (theoretically) a breaking change. Currently, Value#getString(..) throws an exception if you try to call this on a BYTES value. This remains the case after this change, and instead users should call Value#getAsString() to get the underlying Base64 value of a BYTES column.


Problem with Updatelabel in CaptchaGenrator ....

Description
In Captcha_Genrator.py , there is Function UpdateLabel() in refresh method . when i   uncomment that line I did not got new captcha image while refresh btn is clicked .  and after i uncommented this line as default , Program did not exited but with error image refresh successfully.
$ python Captcha_Genrator.py
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\SYSTEM_FAILURE\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "C:\Users\SYSTEM_FAILURE\Desktop\PythonScripts\SImpleProjects\python-mini-projects\projects\Captcha_Genrator\Captcha_Genrator.py", line 50, in refresh
    UpdateLabel()
NameError: name 'UpdateLabel' is not defined

[x] I have checked previous issues to avoid duplicates.
[x] This issue will be meaningful for the project.

help me to get rid of error


Update scala-java-time to 2.1.0

Updates io.github.cquiroz:scala-java-time from 2.0.0 to 2.1.0.
GitHub Release Notes - Changelog - Version Diff

Files still referring to the old version number
The following files still refer to the old version number (2.0.0).
You might want to review and update them manually.
.github/workflows/auto-approve.yml

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.cquiroz", artifactId = "scala-java-time" } ]

labels: test-library-update, semver-minor, old-version-remains

Superseded by #173.


Not all outcome buttons display

I recently started using 5 Calls, and ran into an issue on my Pixel 2 XL (Android 10). For some issues, only the "UNAVAILABLE" button would display. "LEFT VOICEMAIL" and "MAKE CONTACT" would not.
Here I am at the bottom of the screen, only able to show one button:

But if I turn the screen sideways, I see all the buttons:

Here's a different issue that doesn't have the problem - all three buttons show in portrait mode.

My guess is that it's based on exactly how tall the screen space is and how tall the content is, so it may be tricky to reproduce unless you use the same device and view the same issue (or find a different combination that reproduces the problem)

@chadschultz I added this to a new 2.2.0 release - let me know if you see anything small we should include, otherwise I will make a new build for the store.

@nickoneill I'm not aware of anything else pressing - I'd say to go ahead and publish.

Great, will do. Not a priority for this release but if you want to look into something, #119 came up when I was testing this morning. I assume staying updated with the latest gradle is a good thing on android?

Definitely a good idea, much like keeping libraries updated in general.
It's not critical though, it won't cause things to fall apart in the near
future. When I was setting up the code I noticed a lot that should be done
to keep it up to date... moving from the old Android support libraries to
AndroidX (which would require changing from Google Analytics to Firebase
Analytics on the client side), updating to Gradle yes, and it would be a
good idea to use the latest version of all libraries when we can.
Beyond that, it's nice to dream of making the project structure a bit
cleaner, kotlinifying the codebase, refactoring to a decent architecture
pattern (such as MVVM) and adding unit testing/UI testing would be lovely.
The good news is, if some of that work was done, I feel like it would be
easier for people to contribute to the project. On the other hand, it is a
pretty simple app and has gone this long without major bugs.
Anyway, although I'm excited by the possibilities, I'm reluctant to commit
too much - it would be easy for me to get distracted from other projects,
such as my efforts to get a job. This week in particular I'm focusing
exclusively on working through one company's application process. In the
coming weeks I may or may not make some updates to the 5 Calls app... we'll
have to see how well I manage my time.
On Sat, Jun 6, 2020 at 5:11 PM nickoneill<EMAIL_ADDRESS>wrote:

Great, will do. Not a priority for this release but if you want to look
into something, #119 https://github.com/5calls/android/issues/119 came
up when I was testing this morning. I assume staying updated with the
latest gradle is a good thing on android?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/5calls/android/issues/117#issuecomment-640124673, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAI4NPOTTWC536I2B66RPKLRVK5K7ANCNFSM4NVLJRZA
.


Keeping url params to avoid dynamic css's errors

Some applications uses dynamic css files with query params like the following line:
styles.css?modules=a|b|d|r

Keeping the query params will ensure the operation of these files.
The rel param is removed if exists on the current url and added at the end of the new url.

hi @allanesquina, thanks for the PR
This is a problem for sure, but I'd rather see a less complex fix? I'm a fan of the following technique for parsing urls in the browser http://jsbin.com/dumejokefu/3/edit?js,console
^ ideally using that in some way to replace my original getFilenameOnly method along with the one you propose here.

here's an example where I do the thing I'm talking about (albeit in node, but same technique applies) https://github.com/BrowserSync/browser-sync-core/blob/master/lib/plugins/proxy-utils.js#L45-L76

Hey man, sure, definitely a better solution, it'll replace the complexes regex and keep the code intuitive.
Cool, I'll change it, no worries.
Thanks for the examples. :+1:

Hey man, sorry the delay. I've made the change, can you see if it's ok?
Thanks.
Regards.

lgtm, will test over this weekend - thanks very much :)

implemented via https://github.com/BrowserSync/browser-sync-client/commit/fdc6bc6556df63749b352bdd4dbb0039cb074115
Thanks so much for your time in this contribution, but unfortunately I completely forgot about this PR and then sat down to fix the bug (as I saw it for myself on a recent project). Thanks for highlighting what was needed and my apologies for not your using your contribution in the end. :)


[connector/signaltometrics]Add otelcol instance info as res attribute

With include_resource_attributes white listining which
resource attributes to add as resource attributes to the
final metrics, single-writer is affected. Add the collectors
instance information restores single-writer.
To be merged after https://github.com/elastic/opentelemetry-collector-components/pull/176
Closes: https://github.com/elastic/opentelemetry-collector-components/issues/159

Is the collector's instance.id guaranteed to be always set and unique, or does it depend on the user having to configure it? I'm also wondering if we should only add the instance.id and omit the service.name and service.namespace because they're not required to maintain single-writer.

Is the collector's instance.id guaranteed to be always set and unique, or does it depend on the user having to configure it?

I haven't dig deeper into where/how it is set but it doesn't require users to configure it. Testing on otel collector runs, even directly running the collectors built using OCB without any extra configs return all 3 of the values set.

I'm also wondering if we should only add the instance.id and omit the service.name and service.namespace because they're not required to maintain single-writer.

As per the docs:

[1]: MUST be unique for each instance of the same service.namespace,service.name pair (in other words service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service).

So, I think we should keep all 3 of them.

I haven't dig deeper into where/how it is set but it doesn't require users to configure it.

Did a bit of digging to find the code, it could be specified by the users but if it not then the instance ID is autogenerated and the service.name is taken from the build information. So we should be good here.


Always start the iterator at the same location

I was looking at a crash that happens when statement.next() is called. I have not gotten to the bottom of it, but I came across this code that doesn't seem to do what it intends. Indeed it seems that calling the iterator several time will not do the same thing:
let result = self.db.prepare(query)
result.forEach { ... }
// The second call will loop over the rows from a different element?
result.forEach { ... }

Next is actually called from within iterator, not when creating it. I got confused.


archiving asmtools as jar file rather than zipping and tarring it and also provide a sha1 file

Hi,
Is that possible to provide the downloadable asmtools file as .jar or its original .zip file? Tarring it into tar makes it hard to integrate into an automation test process.
The test automation need to untar it and unzip it, before getting the asmtools.jar file. If these two steps can be removed, it will make the test automation more adoptable to other platforms, without verifying platforms to check which cmd to untar and unzip file.
Also, I think a sha1 or sha256 file will be great help on verifying if the file is downloaded correctly.

Also see #28

Hi @karianna
I also noticed that adopOpenJDK also provide download link from here https://adopt-openjdk.ci.cloudbees.com/job/asmtools/
Is that ci a copy of current jenkins ci or a totally different one? Which will be the main download source?

@karianna https://github.com/AdoptOpenJDK/openjdk-build/issues/185#issuecomment-344081675 this issue is different from the sha256 referred to by @TianyuZuo, might not be related.

Ah OK.

@TianyuZuo https://ci.adoptopenjdk.net/view/Dependencies/job/asmtools/ have a look at these artifacts, they should help you out, I have tied up the scripts a bit feel free to suggest any improvements.

@TianyuZuo  Are you happy to close this issue if this helps your use case?

Thanks for your help mani. Closed this issue.


Drawing a new area does not prompt the user to select from one of the area presets in the inspector

Upon completion of drawing a new line or area, we should prompt the user to select from the 'preset list' that we used to display:

Right now, we just show the bare entity editor.

Upon investigation it looks like the select mode is being entered, but the 'new feature' flag is set to false. Need to figure out how to get this recognized as a new feature.

woops, dupe of #608, closing.


feat: add skip_symlinks option to commands

Closes https://github.com/evilmartians/lefthook/issues/76
:zap: Summary

This feature will be a part of the https://github.com/evilmartians/lefthook/pull/698 PR with filters on file types.


⚠ Bofrost.at has degraded performance

In d6a1c79, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2048 ms

Resolved: Bofrost.at performance has improved in 9910fa5.


Question about the dataset.

Nice work! But I met an error when trying to reproduce your training progress. Could you tell me how to prepare these three?  "coco/annotations/panoptic_train2017_filtrefgumdval.json", "coco/annotations/captions_train2017_filtrefgumdval.json", "coco/annotations/grounding_train2017_filtrefgumd.json".
I think I only got panoptic_train2017_filtrefgumdval_filtvlp/captions_train2017_filtrefgumdval_filtvlp/grounding_train2017_filtrefgumdval_filtvlp following your dataset prepare guide.

Thanks so much for your reminder, I just updated the new files at:
https://huggingface.co/xdecoder/SEEM/blob/main/panoptic_train2017_filtrefgumdval.json
https://huggingface.co/xdecoder/SEEM/blob/main/grounding_train2017_filtrefgumd.json
https://huggingface.co/xdecoder/SEEM/blob/main/coco_train2017_filtrefgumdval_lvis.json
https://huggingface.co/xdecoder/SEEM/blob/main/captions_train2017_filtrefgumdval.json

@MaureenZOU Thanks for the update! It seems these new files are not reflected on the README yet. To reproduce SEEM, I assume these new files are correct?

@ziqipang , @MaureenZOU May i ask when the model consumes coco_caption_karpathy_test.arrow,filtcoco2017val_caption_karpathy_train.arrow... in pretrain_arrows_code224 during training stage? I followed the script TRAIN.md, but the provided config files seem to not be using vlp_dataset/coco_caption_karpathy? Please correct me if I am wrong，，

@Rexzhan Are you running SEEM or XDecoder?

@Rexzhan I think XDecoder uses those vision-language data, but SEEM only uses the segmentation data. I am just starting to work in this field. Please double check if my understanding is correct.

Thanks so much for your reminder, I just updated the new files at:
https://huggingface.co/xdecoder/SEEM/blob/main/panoptic_train2017_filtrefgumdval.json https://huggingface.co/xdecoder/SEEM/blob/main/grounding_train2017_filtrefgumd.json https://huggingface.co/xdecoder/SEEM/blob/main/coco_train2017_filtrefgumdval_lvis.json https://huggingface.co/xdecoder/SEEM/blob/main/captions_train2017_filtrefgumdval.json

sorry,but i don't see the file "panoptic_val2017.json " you mentioned in "DATASET.md",could you upload it?thx.

@MaureenZOU  sorry,but i don't see the file "panoptic_val2017.json " you mentioned in "DATASET.md",could you upload it?thx.

This could be download from the official website

According to the DATESET.md, I have downloaded related to coco2017 dataset from official website(https://cocodataset.org/#download)
I also create some *.arrow files but I can't create all of files for training.
How to create "4M Image Text Pairs" with ViLT?
4M Image Text Pairs (X-Decoder)
We follow the exact data preparation for the image text pairs data with [ViLT](https://github.com/dandelin/ViLT/blob/master/DATA.md).

# The pretrained arrow file are put under .xdecoder_data/pretrain_arrows_code224 with the following list of files.
["filtcoco2017val_caption_karpathy_train.arrow", "filtcoco2017val_caption_karpathy_val.arrow", "filtcoco2017val_caption_karpathy_restval.arrow"] + ["code224_vg.arrow"] + [f"code224_sbu_{i}.arrow" for i in range(9)] + [f"code224_conceptual_caption_train_{i}.arrow" for i in range(31)]
# ["filtcoco2017val_caption_karpathy_train.arrow", "filtcoco2017val_caption_karpathy_val.arrow", "filtcoco2017val_caption_karpathy_restval.arrow"] are originated from ["filtcoco2017val_caption_karpathy_train.arrow", "filtcoco2017val_caption_karpathy_val.arrow", "filtcoco2017val_caption_karpathy_restval.arrow"] with deletion of coco val2017 overlapped images to avoid information leakage.
To get quick started:

# Download coco karparthy test set (we hack the training data to be coco_caption_karpathy_test.arrow only for quick start in the codebase)
wget https://huggingface.co/xdecoder/X-Decoder/resolve/main/coco_caption_karpathy_test.arrow
After dataset preparation, the dataset structure would be:

.xdecoder_data
└── pretrain_arrows_code224/
    ├── coco_caption_karpathy_test.arrow
    ├── *filtcoco2017val_caption_karpathy_train.arrow
    ├── ...
    ├── *code224_vg.arrow
    ├── *code224_sbu_0.arrow
    ├── ...
    ├── *code224_conceptual_caption_train_0.arrow
    └── ...
* Those datasets are optional for debugging the pipeline. ! NEED to add back when you are training the model.


Extracted _post_payload_internal from _post_payload_worker

_post_payload_internal will be moved into a new other file.

This is one of PR requests to create a command line tool to upload
a stat.ink payload to the server.
After these changes, we will be able to do 2 pass process:

analysis of the video and save a stat.ink payload file.
upload the payload file anytime.

Here's the whole changes to be requested so far.
https://github.com/hiroyuki-komatsu/IkaLog/commits/statink

Related issue #134

Thanks!


Fix incorrect flag value typename for uint32.

Hi!
While playing with the code I discovered that typename for uint32 was declared with a typo.
Also I fixed some unittests related to that.
PTAL.

This change is

Nice catch!


[BUG]: ZPA : SCIM Groups - 404 - No handler found

Describe the bug
It seems that one call of the API is returning a 404 error from Zscaler with "No handler found"
To Reproduce
Steps to reproduce the behavior:
Just perform a zpa.scim_groups.list_groups() to have the error.
The URL used by the API ("https://config.private.zscaler.com/userconfig/v1/customers/.../scimgroup?page=1") seems not appearing anymore on the ZPA API reference : https://help.zscaler.com/zpa/api-reference
Expected behavior
We would expect to have the list of groups
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser [e.g. chrome, safari]: Not a browser, it's using the requests library of Python
Version [e.g. 22]: 2.27.1

Additional context

Thanks for logging this issue @LetMeR00t. Fix is on the way.
Keep an eye out for a new release in the next couple of hours.


fixes #625,MySQL keywords should be supported as table and field names within the beforeImage method of DeleteExecuter.

Ⅰ. Describe what this PR did
i have tested for DeleteExecutor,InsertExecutor and UpdateExecutor,and this bug only occurs in DeleteExecutor.
Ⅱ. Does this pull request fix one issue?

fixes #625
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

@xingfudeshi pr title

@xingfudeshi pr title

title changed.

Codecov Report

Merging #629 into develop will decrease coverage by <.01%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             develop     #629      +/-   ##
=============================================
- Coverage      31.66%   31.66%   -0.01%
  Complexity       863      863
=============================================
  Files            227      227
  Lines           8817     8818       +1
  Branches        1060     1060
=============================================
  Hits            2792     2792
- Misses          5712     5713       +1
  Partials         313      313

Impacted Files
Coverage Δ
Complexity Δ

...baba/fescar/rm/datasource/exec/DeleteExecutor.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

@xingfudeshi pr title

title changed.

Shorthand, this will be used as the commit log

@xingfudeshi pr title

title changed.

Shorthand, this will be used as the commit log

ok,now is better.

This pr is ok to me,but i found some other problems in KeywordCheckerFactory。

thanks,please let me know those problems,i'll fix it in next PR.


[feature request] Provide access to Pytree to_iterable and from_iterable functions

It would be nice to additionally to flatten and unflatten of Pytrees we can actually directly access the to_iterable and from_iterable methods of a given container. This allows to write simple wrappers on top, which provide some extra functionality, but then can also be registered as Pytree nodes based on the underlying container methods.

Could you give a specific example of how to_iterable and from_iterable would work?

So there are cases where inside a Jax program I need to iterate over the top layer of the pytree. Something like:
class Wrapper(object):
   def __init__(self, container):
      self._container = container
  def apply_fn_to_each(self):
     s = container.to_iterable()
     r = do smth...
     return container.from_iterable(r)

Similarly I would like to be able to do
  def to_iterable(self, x):
     iter, aux = self._container.to_iterable()
     return iter, (type(self._container), aux)

  @staticmethod
  def from_iterable(iter, aux):
     type_container, aux = aux
     return type_container.from_iterable(iter, aux)

pytree_register_node(Wrapper, lambda x: x.to_iterable(), lambda x, y: Wrapper.from_iterable(x,y))


moving the repository

Hi @jklmnn and @kiliankoe,
so let's move the repository out of my personal space. Without really knowing all the projects i'd vote for https://github.com/ParkenDD. Unless someone argues that https://github.com/ParkAPI is a better place. I just like the DD (good friends and memories there).
In the process i will also extract the scrapers into an own repository which can then be git submoduled into the main repo.
So it will actually be three repos:

ParkAPI2 is the server and scraping manager.
ParkAPIScraper would be the base repository for all scraper contributors, including the whole scraping backend and an example scraper.
??? will be a fork of ParkAPIScraper containing all scrapers that are currently maintained (from our side). I just don't have a good name a.t.m. Still too early in the morning ;)

Whaddya say?

Sounds great to me 👍 I just invited you to the ParkenDD org. Btw, there was another try at renaming (and in the process rewriting/-structuring) the project at https://github.com/OpenParkingApp, just for completeness 😄 But if you want to stick with the name ParkenDD, that's just as good!
The proposed repo structure also sounds good to me.

Okay. So any good name proposal for the own scrapers repo?
Maybe just ParkAPIScapers. Although the name is very similar to the scraper root repo.
Maybe something like ParkAPI-maintained-scrapers?
Basically it means: Any issues regarding the API should be opened in ParkAPI2. Issues about scrapers not working or to-be-updated goes to the ParkAPI-maintained-scrapers.
Third-party scrapers might have their own repositories, but i think issues will potentially be created in our scrapers repo.
It would also be an option to accept pull requests in our scrapers repo, letting contributors add scrapers there directly. Then, if someone wants to add the whole of Switzerland that might deserve creating a new scrapers repository.

What about datasources instead of scrapers? Not all of them rely on scraping to get their data anyways.

Thanks for moving the repository! I think we should maintain our datasources in a separate repository where we also accept pull requests. But we should also support adding datasources via third party repositories.

@jklmnn, yes, that's what i think too.
i've added some unittests for the API endpoints today, including geo-queries on the database. However, testing scrapers/sources is not reliable using web requests. Maybe i'll add some convenience code to the scraper backend to automatically create unittests from web response data, to create tests like in the original ParkAPI.


multilingual support(chinese)

hi:
I translated your project. Does your project need multilingual support? I can contribute if I need to. And long-term support.
http://osint.hackrss.net/

Looks dead now.


Repeatable?

You say Resizing panes is repeatable, what does that mean here? I can repeat on Navigation commands, but that's because I can keep ctrl pressed since my prefix is ctrl + a.

Came here to ask the same! That's a really nice feature, maybe add this part to the readme:

let's say you're resizing a pane with prefix + K. Pressing prefix + K, K, K (repeating just the key K without the prefix) will resize a pane multiple time.

great work, love your plugins!


Address mapping in EditEngine

Please add more comments to the code, especially at places where iterators are used.


Resolve linting issues in the vcs_support app.

Docstrings
Rename unused vars to _
Delay logging formatting
Catch a specific exception <- Would love a second set of eyes here

Looks good to me!
Refs #2838


Izpack 1361: Several fixes for element

IZPACK-1362: Add XSD for  attributes "type" and "class"
IZPACK-1364: : XSD is missing attribute "failure"

Thanks for contributing.


clientv3/naming: support resolving to multiple hosts

Previous implementation watches a single key so there's no way to have separate hosts associate with separate keys for a single grpc target. Instead, accept all keys on a prefix.
Also fixes first the Next() to read current name data from etcd instead of waiting for the next event on a synced watcher.

Fix the concurrently issue? Or simply doc it? Then look good to me.


Not possible to create more than 10 accounts

After you have logged in to a profile it is not possible to create/add more than 9 additional accounts. It should be unlimited.

I tested this and I'm not sure why it is limited to only 10. It should be unlimited. Many people use A LOT more than 10 addresses.

I tested this and I'm not sure why it is limited to only 10. It should be unlimited. Many people use A LOT more than 10 addresses.

@rg911 wasn't this intentional? I mark as enhancement for now

@rg911 wasn't this intentional? I mark as enhancement for now

A long time ago when the wallet was being made, I had suggested that there be around 10 accounts given as a start. That’s because few people need 10 accounts when starting. But it wasn’t ever supposed to be a hard limit.
I also suggested that as long as there are accounts with funds they should be listed.
So for instance, if my first 20 accounts from the seed all have funds, all 20 should be shown. If there are 50, then all 50 should be shown. Only show 10 if the balances at the end are 0.
The mobile app also lets you add lots of accounts. And in fact, as far as I know you can optin more than 10 accounts on mobile too. In which case those 10+ Symbol accounts should preload after launch. Or at least that’s how I requested it back then.

A long time ago when the wallet was being made, I had suggested that there be around 10 accounts given as a start. That’s because few people need 10 accounts when starting. But it wasn’t ever supposed to be a hard limit.
I also suggested that as long as there are accounts with funds they should be listed.
So for instance, if my first 20 accounts from the seed all have funds, all 20 should be shown. If there are 50, then all 50 should be shown. Only show 10 if the balances at the end are 0.
The mobile app also lets you add lots of accounts. And in fact, as far as I know you can optin more than 10 accounts on mobile too. In which case those 10+ Symbol accounts should preload after launch. Or at least that’s how I requested it back then.

I personally think it’s more than an enhancement. Like why only allow 10 when the mobile and optin allow more.

I personally think it’s more than an enhancement. Like why only allow 10 when the mobile and optin allow more.

@jabo38 the question is if we need it at start? What you think?

@jabo38 the question is if we need it at start? What you think?

@jabo38 for now marking as P3. Please let me know how you feel about that.

With more than ten accounts, it might also make sense if the user can sort the accounts according to his imagination. At the moment, he only has this option when importing the Mnemonic Passphrase or when creating the wallet.

@cryptoBeliever if it isn't on a launch release, it needs to be on the release after launch.
I don't know of a single other crypto wallet that limits addresses to only 10.
10 to start? sure.... okay. I have seen that kind of thing before. But a hard limit of 10. Not ever.

Ok. Increasing to P2.

Verified. Closing.


medien.sch titleInfo_02 too strict?

I believe the pattern for titleInfo_02 in the Medien profile is overly strict: In https://github.com/Deutsche-Digitale-Bibliothek/ddb-metadata-schematron-validation/blob/631fcdd6092fc1d0621501857ae3c1aac0afa96b/mets-mods-ap-digitalisierte-medien/ddb_validierung_mets-mods-ap-digitalisierte-medien.sch#L1218 all (non-primary) dmdSecs are required to have a title.
But what about additional dmdSec for subunits without a proper title – like dedication in this example under @DMDID="uuid-76157dfe-172d-3087-9203-6ae6809c2cb5"?
Or what about additional dmdSec which just concern physical information (like paper format) and point to the PHYSICAL rather than the LOGICAL structMap – like in this example – or is it invalid to have dmdSecs for physical divs?
In comparison, the DFG MODS application profile (version 2.3.1, section 2.1 on titles) only states that titles are required for the root (primary) unit of a work – but (explicitly) not for dependent parts of a work like volumes or issues, which can be derived from the mods:relatedItem or the title of the parent mptr, and (by extension) not for subunits like chapters and sections, which can be derived from the mets:div/@LABEL.
IIUC the DDB MODS application profile is more strict here, esp. for dependent parts.
So I wonder:

why the discrepancy with DFG regarding dependent parts and subunits?
shouldn't metadata about a physical unit still be unconstrained?

Yes, the DDB MODS application profile is stricter here and the titleInfo_02 validation enforces an additional requirement for the DDB.
The reason for this is that during ingest, each mets:dmdSec element in a mets record creates an object in the DDB. Objects require a title, so no additional information can be displayed without one.
Technically, mets:dmdSec elements without titles are removed during the ingest process and their information is lost and not displayed in the DDB. The linked mets:div in mets:structMap[@TYPE='LOGICAL'] will still be displayed under "Related objects" (e.g. this record, at the bottom) if it contains at least one mets:div element with a "valid" linked mets:dmdSec.

Ok, thanks for the explanation!
But then why do I still see the dedication section (even with a translation Widmung) in the DDB book viewer for my example?

But then why do I still see the dedication section (even with a translation Widmung) in the DDB book viewer for my example?

That's because the DDB book viewer actually uses the DFG Viewer technology. Thus it doesn't rely on the ingested/processed metadata, but directly consumes the original METS files and applies the standard DFG Viewer application profiles.

@sebastian-meyer thanks – that makes sense!
So to summarise:

titleInfo_02 enforces a particular DDB convention which only affects whether dependent parts and subunits of a work can be referenced as objects in the DDB portal, but not whether they can be seen in the document structure of the DDB book viewer of the parent object (or other DFG Viewer-based presentation systems); DDB ingest of the parent object is unaffected
therefore, the error can be ignored entirely for MODS entries pointing to physical structure.

Again, many thanks for clarifying!


handle panic

WHAT
Handle panic in Print. When recover(), uncolored output will be shown.
WHY
When "kubecolor plugin_name version" or so on is specified, is should not colorize because kubecolor does not support plugins.
However, right now, kubecolor thinks "plugin_name" is a command-line option and the subcommand is "version" (= "kubectl version"). Then, VersionPrinter is called but it fail to parse then panic.
Ideally, it should understand if the given command is running plugin or not, but it seems like it is likely impossible.
This is just a workaround to "accept" mis parsing and panic.
Related issue (if exists)
https://github.com/dty1er/kubecolor/issues/68

Codecov Report

Merging #69 (1db9c95) into main (330bb02) will decrease coverage by 0.55%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #69      +/-   ##
==========================================
- Coverage   84.34%   83.78%   -0.56%
==========================================
  Files          18       18
  Lines         594      592       -2
==========================================
- Hits          501      496       -5
- Misses         84       88       +4
+ Partials        9        8       -1

Impacted Files
Coverage Δ

command/runner.go
0.00% <0.00%> (ø)

command/subcommand.go
84.00% <ø> (+6.22%)
:arrow_up:

kubectl/subcommand.go
90.62% <ø> (-0.68%)
:arrow_down:

Continue to review full report at Codecov.

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


Installing cdp-telemetry & cdp-logging-agent always with the latest r…

…eleased versions.

base image output after the change:
{
  "salt-bootstrap": "0.13.4-2020-09-30T15:03:43",
  "salt": "3000.8",
  "cdp-telemetry": "0.4.7",
  "cdp-logging-agent": "0.2.11"
}


[JS] ChoiceSet style not being removed when toggling the compact style option in the designer

Target Platform
JavaScript
Problem Description
After adding a ChoiceSet in the designer, the user is given a toggle option for if they want to use the compact style. Pressing the toggle will add the "style" element to the JSON with the value "expanded". If the user then presses the toggle again, this element is not updated or removed from the JSON.
Steps to reproduce:

Open the designer and create a new card
Add a ChoiceSet to the card
Toggle the "Compact Style" option
Check the JSON to see that the "style" property has been added
Toggle "Compact Style" again
See the the "style" property is not being modified or removed

If you agree it's a bug, then i'm more than happy to fix this :)

This issue appears to be resolved in the latest version of master :)


Fix action bar in the webview activities.

Right now the webview activities don't include the action bar at the top. Make it so they show the action bar. It's a one line fix.

extends ActionBarActivity


server.create result

 let user = server.create('user');
 user === server.db.users[0] /// result false
`

I offer to return the real object.

I have a problem in a similar case

`
 let groups = server.createList('group', 2);
 let user = server.create('user');
 groups.forEach((item) ==> {item.user =user.id })
`
I realized that I need to use `server.db.groups.update` , but I think that my version easier

We don't want to return the actual db record because it makes it too easy to inadvertently mutate the record, but this issue, which will update server.create to return the model instance, would help out in your situation:
https://github.com/samselikoff/ember-cli-mirage/issues/427


Css animation frozen after resumeEvent [Android][Typescript]

Hi,
I have inserted in my application a simple css animation to an image.
The problem is: when I lock the phone (only android tested) the css animation is stuck.
I tried using the resumeEvent and refreshing the page with router navigation, but still not works...
applicationOn(resumeEvent, function name(args: ApplicationEventData): void {           if(this.router.url == '/bomb') {                   this.router.navigate(['']);                   this.router.navigate(['/bomb']);          }  }.bind(this));
Are there some other solutions?

Hi @HighSoftWare96,
Thank you for reporting this issue.
I reviewed your case and indeed the CSS animation will be stuck, while the app is suspended and will it will not be resumed to its initial state. I am attaching a sample project, which could be used for debugging.
For further info, you could keep track on the issue. In the meantime, you could define the needed animation via code behind as it is described in this part of the documentation.
Archive.zip

duplicated with https://github.com/NativeScript/NativeScript/issues/4801


Lbryinc errors

Need to be able to tell connectivity errors from API errors — right now they're all lumped together, which doesn't look good on the SLI graph.

@lyoshenka can you check this out too please? Maybe you'll spot something I don't see


Ask the user if they want to update

Set the dry-run to true by default. After it lists all the packages, it asks "Do you want to update 1 package (y/n)? ". Also added a "-u" and "--update" option if they want to skip the question.

It looks great! However, could you change the option -u to -y (--update to --yes) which is used by many package managers such as yum or apt-get to say yes to all prompts non-interactively.

@buo made the change 🔥

Thank you for your contribution.


SSL issue

Have you experienced issue with SSL?
The accesspoint is https://qlik.domain.com
When SSL is on, error out with message:
Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Any idea what might be the issue? Thanks!
I did try to enable trusted host etc...

I have now disabled verification for certificates, making untrusted or self-generated certificated work. The GitHub repo is updated now and v1.0.2 of NuGet packages will have the fix shortly.


Drop redundant pointer conversions

What changed?
Search for pattern Ptr(* and dropped redundant conversions.

Why?
Redundant.

How did you test it?

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 716e6098-5b76-44d7-9ddd-5ca5ef9f70b0

10 of 10 (100.0%)  changed or added relevant lines in 2 files are covered.
82 unchanged lines in 11 files lost coverage.
Overall coverage increased (+0.03%) to 56.871%

Files with Coverage Reduction
New Missed Lines
%

client/history/client.go
2
39.33%

client/history/metricClient.go
2
46.37%

common/task/fifoTaskScheduler.go
2
85.57%

service/history/handler.go
2
48.56%

service/matching/taskListManager.go
2
74.19%

common/persistence/nosql/nosqlplugin/cassandra/workflow.go
3
55.49%

service/frontend/workflowHandler.go
4
59.4%

service/history/task/fetcher.go
4
86.15%

service/history/historyEngine.go
9
71.3%

common/persistence/nosql/nosqlplugin/cassandra/workflowParsingUtils.go
20
86.11%

Totals

Change from base Build f6043d52-b6a6-4ec0-b0d3-66a3545d1aad:
0.03%

Covered Lines:
82972

Relevant Lines:
145894

💛  - Coveralls


"jfrog bt u --explode true --publish true --override true" and conflicts in exploded artifacts

When uploading and exploding an artifact, the "--override" flag has no effect with respect to conflicts that may arise in the exploded artifacts.
That is, it seems that "--override" only pertains to the uploaded artifact.
It would be helpful to have an option to allow overriding exploded artifacts.
Here's how I ran into this problem:
We use Eclipse/Tycho to build and publish to bintray Eclipse P2 update sites as ZIP archives.
Here's an example:
https://bintray.com/jpl-imce/gov.nasa.jpl.imce.oml/download_file?file_path=gov%2Fnasa%2Fjpl%2Fimce%2Foml%2Fgov.nasa.jpl.imce.oml.updatesite%2F<IP_ADDRESS>-M02%2Fgov.nasa.jpl.imce.oml.updatesite-<IP_ADDRESS>-M02.zip
To be useful for Eclipse, the P2 update site ZIP archive needs to be "exploded".
I've used the CLI to do this before but recently we're getting conflicts not with the ZIP archive itself but with its exploded contents:
jfrog bt u --explode true --publish true --override true ~/Downloads/gov.nasa.jpl.imce.oml.updatesite-<IP_ADDRESS>-M02.zip jpl-imce/gov.nasa.jpl.imce.oml/gov.nasa.jpl.imce.oml.updatesite/<IP_ADDRESS>-M02
[Info] Verifying repository gov.nasa.jpl.imce.oml exists...
[Info] Verifying package gov.nasa.jpl.imce.oml.updatesite exists...
[Info] Verifying version <IP_ADDRESS>-M02 exists...
[Info] [Thread 0] Uploading artifact: /Users/rouquett/Downloads/gov.nasa.jpl.imce.oml.updatesite-<IP_ADDRESS>-M02.zip
[Error] [Thread 0] Bintray response: 409 Conflict
{
  "message": "Unable to upload files: An artifact with the path 'features/org.eclipse.gef_<IP_ADDRESS>606061308.jar' already exists under another version"
}
[Info] Uploaded 0 artifacts.
[Error] Failed uploading 1 artifacts.

There are a couple of things that are strange about this.

The exploded files are uploaded underneath the root of the organization, i.e., jpl-imce/gov.nasa.jpl.imce.oml, not underneath the package/version, i.e.: jpl-imce/gov.nasa.jpl.imce.oml/gov.nasa.jpl.imce.oml.updatesite/<IP_ADDRESS>-M02

Because of (1), the P2 contents (features, plugins) and metadata (artifacts.jar, contents.jar, p2.index) are exploded here:

https://dl.bintray.com/jpl-imce/gov.nasa.jpl.imce.oml/features/
https://dl.bintray.com/jpl-imce/gov.nasa.jpl.imce.oml/plugins/
https://dl.bintray.com/jpl-imce/gov.nasa.jpl.imce.oml/

Because of (1,2), the only legitimate P2 Eclipse Update site URL is the organization itself:
https://dl.bintray.com/jpl-imce/gov.nasa.jpl.imce.oml/

Since particular plugins and/or features may be reused across different versions of a P2 update site, there may be conflicts that arise when exploding the archive on upload as I've experienced.

It would be useful to have an option to allow overriding existing exploded files.

Thanks for sharing this @NicolasRouquette.
As an alternative to the override functionality, would it be possible for you to delete the version on Bintray and recreate it with the new published content?

@NicolasRouquette,
Were you able to try out the suggested workaround?

I tried this; however, there is a caveat: one can only delete a previous OSS version if it has been published < 6 months ago (see: https://bintray.com/docs/api/#_delete_content)
Even within 6 months, I've had problems deleting & exploring a zip archive for a P2 update site.
Compared to SBT, P2 is very difficult to work with, so much so that I've effectively given up on P2.
So as far as I'm concerned, I no longer have a need for the functionality originally requested.


Adding Zulu Network

I pinged Janus on TG for guidance @philiperiksson, current Testnet is without the BitVM Bridge, described in this PR is with the BitVM2 Bridge (Which is coming soon). May change to "Upcoming / Announced"? if preferred, Testnet for L2 without bitvm is live however but of course with different security assumptions for the time being that what is described here.

merged. relevant update here: https://github.com/bitcoinlayers/bitcoinlayers/commit/45a8ddae063524413b94abbf126f24befb0574e7


When a module is included in two different chunks, tree shake it differently for each chunk

Feature request
Here is the bug-ish issue I'm running into:
https://github.com/jedwards1211/webpack-code-splitting-issue/tree/two-async-chunks

index.js
import('./chunk1.js')
import('./chunk2.js')

chunk1.js
import { Toggle } from 'react-powerplug';
console.log(Toggle)

chunk2.js
import { Value } from 'react-powerplug';
console.log(Value)

webpack.config.js
// webpack.config.js
module.exports = {
  mode: 'production',
  externals: {
    'react': 'React'
  },
}

webpack it on the command line
What is the expected behavior?
dist/1.js contains Toggle but not Value.
dist/2.js contains Value but not Toggle.
Current behavior
dist/1.js contains both Toggle and Value.
dist/2.js contains both Toggle and Value.
It seems that the tree shaking is applied to react-powerplug main module itself, irrespective of the individual chunks that are importing from it.
What is motivation or use case for adding/changing the behavior?
Many packages nowadays use rollup to bundle their code into a single JS module and distribute that one file (or maybe one bundle for ES5, one bundle for ES2015).  As such, I want to be confident that Webpack will eliminate dead code effectively when several different chunks of my app are importing from a rollup bundle.
How should this be implemented in your opinion?
Hopefully, tree-shaking can be performed on react-powerplug for the import in chunk1.js, and then a second, different round of tree-shaking can be performed for the import in chunk2.js.  Right now it seems like Webpack is only performing one tree-shaking operation on react-powerplug based upon all imports from it from all chunks in my app.
Are you willing to work on this yourself?
I would need a lot of guidance, as this seems like this might require a significant refactor

This optimization is not in general valid. The side-effects of react-powerplug must be only evaluated once. Different tree-shaking for each chunk would create two different variants of react-powerplug, which both need to be evaluated. This could change the behavior.
Here is a simplified example which cause this problem:
// index.js
(async () => {
  await import('./chunk1.js');
  await import('./chunk2.js');
}());

// chunk1.js
import { A } from "module";
console.log(A());

// chunk2.js
import { B } from "module";
console.log(B());

// module.js
let c = 1;
export const A = () => `A = ${c++}`;
export const B = () => `B = ${c++}`;

This will log A = 1, B = 2.
Assuming we would create two variants which are tree-shaked individually.
// module.js in chunk1
let c = 1;
export const A = () => `A = ${c++}`;

// module.js in chunk1
let c = 1;
export const B = () => `B = ${c++}`;

You may notice that there are now two cs in different scopes.
This will log A = 1, B = 1. 😢
Note that side-effects could be more complex and also in dependencies.

But there is a way to tree-shake this in the way you want.
You need to opt-in into "sideEffects": false in package.json and reexport symbols from different modules.
// react-powerplug/index.js
export { Toggle } from "./Toggle";
export { Value } from "./Value";

// react-powerplug/package.json
...
"sideEffects": false
...

Wait so that would mean if it declares sideEffects: false, there should also be no problem with tree shaking a single roll-up bundle two different ways, right?

(without necessarily double-loading the dependencies)

Also note that the code for both Toggle and Value wound up duplicated in two chunks anyway, so it could have cause repeat side effects

I don't have control over whether people release packages with multiple modules or a single roll-up bundle, so I'm pretty concerned about how I'll be able to tree shake the latter.

@sokra Is there a way to tell webpack about side effects from the code? Can't it just analyse that there is not reassignments so there is not side effects? The only effect here is State class which is marked as pure so there shouldn't be a problem with it.
<EMAIL_ADDRESS>

@TrySound Have u find a good workaround?
I Have the same problem with my project that include some esm rollup project

I use rollup for prod.

Hey, I think having the tree shaking for statically imported files included in async chunks could make it very easy for people to split their bundles. As you said it does require having pure functions in the file. In flux architectures like vuex and probably redux and mobx, everything needed by the function is injected or available through context. As we were thinking of the next iteration of Vuex, this could really help to make the experience for end developers fully transparent while still properly splitting business logic across js files.
Usually in Vuex, actions/mutations (mutations and actions are merged together in future version of Vuex) look this:
// module.js
export const A = state => state.a++
export const B = state => state.b++

the state variable is declared in a different file and injected into the function at runtime. If there was a way to flag this file as pure or without side effects (I don't really know what would be the wording), this would allow statically importing different functions of the same file in different Component (in the case of Vue)
Those components can, later on, be lazily loaded at a router level, which is something we encourage for every route and frameworks like Nuxt do by default. Right now, if you happen to:
// Home.vue
import { A } from './module'

and
// OtherPage.vue
import { B } from './module'

and lazy load both Home.vue and OtherPage.vue at the routing level, you end up with 2 js files but both contain the whole module.js file, ending up in unused code which grows as the module grows with the app.
Just to be clear, this is not how currently Vuex works (I don't know for the other state libraries), but this is how a hypothetical architecture would look like:
.
├── actions.js -> root level actions
├── getters.js -> root level getters
├── index.js -> store instance (contains state and imports of other modules)
└── someModule
    ├── actions.js -> actions relative to module someModule
    ├── getters.js -> getters relative to module someModule
    └── index.js -> exports a Module instance imported by store or lazily loaded

then, actions and getters, which is where most of the business logic ends up, can be statically (or dynamically) imported wherever they are used, also improving upon typing btw
I tried adding a sideEffects flag per @TheLarkInn recommendation:
// webpack.config.js
  module: {
    rules: [
      {
        test: /store\/\w+\/(actions|getters)\.js$/,
        sideEffects: false,
      },
    ],
  },

but it yields the same result.
I have a boiled down repository to showcase the thing, I don't think it's necessary as the code provided is enough but just in case, here it is: https://github.com/posva/store-code-split-demo

Here is example how this problem is solved in Bobril-build:
Input: https://github.com/bobril/bbcore/tree/master/Lib/Bundler/Js/Tests/Inputs/TwoLazyLibsSharingLib
Output: https://github.com/bobril/bbcore/tree/master/Lib/Bundler/Js/Tests/Expected/TwoLazyLibsSharingLib
Look inside files with "cb-" prefix (it means compressed and beautified by uglify).
Basically shared module is changed to be lazy imported and placed in separate chunk. Because code splitter always see complete program, it can modify imports of these chunks to first import this new shared chunk. Side effects are then applied only once and just before first lazy import.

@sokra
Hello!
Is there any work going on this? I have an issue on splitting my (side-effect free) utils into two chunks with correct DCE.
I got a pretty minimal example:
// index.ts (entrypoint)

const moduleA = import(/* webpackChunkName: 'module-a' */'./module-a');
const moduleB = import(/* webpackChunkName: 'module-b' */'./module-b');

function index(): void {
    Promise.all([moduleA, moduleB])
        .then(([moduleA, moduleB]) => {
            moduleA.default();
            moduleB.default();
        });
}

// module-a.ts

import {foo} from './utils';

function run(): void {
    foo();
}

export default run;

// module-b.ts

import {bar} from './utils';

function run(): void {
    bar();
}

export default run;

// utils.ts

export function foo(): void {
    console.log('foo');
}

export function bar(): void {
    console.log('bar');
}

export function baz(): void {
    console.log('baz');
}

Both chunks ('module-a' and 'module-b') are built with foo and bar, baz is (correctly) not included.
Can I mark utils.ts as side-effect free somehow?

here is some activity to prevent this from being autoclosed

Bump to remove inactive label

Should work with webpack@next. Feel free to report new issue with reproducible repo.

This one is not fixed as it's related to multiple async imports instead of entrypoints.

Ah, sorry..

Are there any workarounds for this issue except splitting up side-effect free files into multiple files?

@sokra the workaround is not working for me as I'm getting the 'default' added still. To build on the example above my module looks like this:
export function foo(): void {
    console.log('foo');
}

export function bar(): void {
    console.log('bar');
}

export default Class Baz() {
    constructor() {
        console.log('baz');
    }
}

When I go look at my main chunk I see there is a reference to 'default' even though I am importing the separate modules as you've suggested.
/***/ "./app/utils?foo":
/*!***********************************************************!*\
  !*** ./app/utils?foo ***!
  \***********************************************************/
/*! exports provided: foo, default */

@sokra now that I think about your example, there would even be a problem with stateless modules if they have to refer to classes within themselves, class definitions would have to be moved to some shared chunk to prevent instanceof problems.

Actually I'm confused.  Looking back at my OP it seems like Toggle and Value instances already do get duplicated.  But I assume the first chunk to get loaded registers that module with webpack, and the second chunk loads that preregistered module instead of registering duplicate class, function, etc instances?

Yes exactly. At runtime there is a module cache that makes sure that only a single instance of each module is instantiated. The first loaded chunk will add the module to the cache and the second chunk will use the module from the cache. So the modules in the chunks need to be identical as any of them might be used for both.

Makes sense.  Assuming we had code to split a stateless module into a base of common local variables used by all importing chunks, and tree-shaked modules that import from the base and export only what's used by the chunks, how tricky would it be to work those split modules into webpack?  I've dealt with fairly complex codemods and scope traversal with babel a lot, but I'm not very familiar with webpack internals.

@sokra will this come to Webpack? It looks like esbuild supports it now. Maybe that can be used as a reference point? https://github.com/evanw/esbuild/blob/d926cebcc3fffce6e12aa345ae741211353fe6e2/docs/architecture.md#code-splitting

Should work with webpack@latest. Feel free to report new issue with reproducible repo.

I saw that

Should work with webpack@latest. Feel free to report new issue with reproducible repo.
take a look into runtime feature

Do you mean optimization.usedExports &&  optimization.runtimeChunk ? If runtimeChunk is 'single', it seems that the 'side-effect safe' exports will not be divided into multi chunk.

Is this supposed to work for a mix of regular and dynamic imports?
While I saw it working in https://github.com/vankop/webpack-runtime for multiple entries, when I have a single entry and some dynamic imports the file with the functions doesn't get split.
Example:
// utils.js
export function square(x) { return x * x; }
export function cube(x) { return x * x * x; }

// index.js
import { cube } from './utils'

console.log(cube(4))

async function main() {
  import('./async')
}

main()

// async.js
import { square } from './utils'

console.log(square(4))

even when splitting utils.js I still see a single chunk of it.
    splitChunks: {
      cacheGroups: {
        utils: {
          test: /utils/,
          usedExports: true,
          enforce: true,
          reuseExistingChunk: false,
        },
      },
    },

The result is another chunk for utils with both functions, which means that it has to be loaded on the initial load of the app.

i meet this problem in my single page application and i written a plugin to resolution it:
split-module-webpack-plugin
@elado @jedwards1211 @sokra


Google Analytics isn't working.

GA dashboard shows "No data received from your website yet."

try Bard for code help.

#76 && #77 -> created new GA4 property & updated page

Looking into CloudFlare for analytics.


change environment parameters

I would like to change the env parameter definition in our early phase now:

I want to decouple AMS_SERVICE from the rest of the parameters, as it should be possible to define, without triggering a bas DCL upload
AMS_DATA.directories got removed and the BP scans automatically
not AMS_DATA consists only of root. So I propose to move away from the json type and introdude AMS_DCL_ROOT, which triggers upload and defines DCL position
If you want more parameters in future we will introduce them with AMS_ prefix

Concept sounds good, but I think tests should be adapted to reflect it (remove AMS_DATA from tests and replace with other config vars).


dev: Make Generic Query API proposal

Propose a TypeScript specific API for Generic Query service
Use https://github.com/ydb-platform/ydb-dotnet-sdk/blob/main/src/Ydb.Sdk/src/Services/Query/QueryClient.cs as a base

Go into #348


keepalive check does not have subscription

Hi,
based on this change (and my comment on it) https://github.com/sensu-plugins/sensu-plugins-mailer/commit/9500dbb2152aa8897c4dde2db878fb08eb5a94b4 it's currently not possible to route emails for keepalive checks based on the host's subscriptions.

The event data contains the client configuration that has subscriptions, keepalives do not target check subscribers.


Race condition on boot between cups and sssd

When cups has set the "SystemGroup" directive to an external group provided through sss and cups starts before sssd has finished booting, cups will crash because the group does not exist. For instance, with a group named<EMAIL_ADDRESS>served from Active Directory through sssd, if the sssd service hasn't booted before cups:
Mar 27 10:10:33 cups-sssd systemd[1]: Started CUPS Scheduler.
Mar 27 10:10:33 cups-sssd systemd[1]: Started CUPS Scheduler.
Mar 27 10:10:33 cups-sssd systemd[1]: Started Make remote CUPS printers available locally.
Mar 27 10:10:33 cups-sssd cupsd[21463]: Unknown SystemGroup<EMAIL_ADDRESS>on line 19 of /etc/cups/cups-files.conf.
Mar 27 10:10:33 cups-sssd cupsd[21463]: Unable to read "/etc/cups/cups-files.conf" due to errors.
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Main process exited, code=exited, status=1/FAILURE
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Failed with result 'exit-code'.
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Service hold-off time over, scheduling restart.
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Scheduled restart job, restart counter is at 2.
Mar 27 10:10:33 cups-sssd systemd[1]: Stopping Make remote CUPS printers available locally...
Mar 27 10:10:33 cups-sssd systemd[1]: Stopped Make remote CUPS printers available locally.
Mar 27 10:10:33 cups-sssd systemd[1]: Stopped CUPS Scheduler.
If sssd is available before cups starts, everything works as expected.

Adding "After=sssd.service" to the [Unit] section in scheduler/org.cups.cupsd.service.in should be enough to fix this issue. I'll prepare a PR with the change.

Closing this issue; will track changes in the referenced pull request instead.


refactor: make ordinals com as main source of data for double checking utxos

Try out this version of Leather — Extension build, Test report

see title

The title of this PR indicates ordinals.com but the code seems related to bestinslot?

@markmhendrickson it might seem so, as I refactored it a bit, but the main sense of this pr is changing places between ordinals.com and bestinslot. the first one is the main source for us now


Allow to configure Notifications only for some environments

Idea is that some Notifications are only sent for some environments (like if you have a slack channel that should be only notified for production type deployments).
Probably easiest is to just allow a Regex to be defined for each notification that is added to a project

Would you configure this at the notification level, or the project level?


ocamlformat: 0.14.0 -> 0.14.1

Motivation for this change
Changelog: https://github.com/ocaml-ppx/ocamlformat/releases/tag/0.14.1
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build ocamlformat


Add a GitHub Sponsor button to this repository

I wonder why you didn't enable it yet :)

https://help.github.com/en/articles/displaying-a-sponsor-button-in-your-repository (it even has OpenCollective integration after all)
apply for GitHub matching sponsorship https://github.com/sponsors

@XVilka GitHub matching sponsorship is unfortunately only available when fundraising directly with GitHub.

Wouldn't it make sense to link out to whatever collective is associated with the OSS project? https://github.com/opencollective/opencollective
I think that would be a great way to encourage financial incentives such as  bounties https://github.com/opencollective/opencollective/issues/2420

Done!

Seems like the GitHub Sponsor button should link to a collective that references bounties and campaigns https://github.com/opencollective/opencollective/issues/2420 focusing on sustaining the project.
Is https://opencollective.com/opencollective the collective associated with the OSS project? https://github.com/opencollective/opencollective

@gusaus yes, the decision from the team is to lead donations to this collective


SAK-31119 Mobile - tool tabs display in white div, help/link buttons …

…overlap

Is this only an 11.x issue?  Not an issue for master?

Yes, this is only an 11.x issue.
On 11.x tool tabs is contained it looks like this:

And on 12.x:

With the PR on 11.x:


Added support for butterknife library for view bindings

As per the discussion in #395 have added support for Butterknife. Have refactored a few existing fragments to start using Butterknife. Have tested the existing functionality and it seems to be working as expected. Will come up with the wiki doc for using it in the codebase by this weekend.

Hrmm. Codacy does not appear to be very happy with this, although it could be an issue with how our codacy is set up? AFAIK we can customize it to work with butterknife (and probably should, if we want to proceed with this).

@misaochan Yes I was checking with other developers to be sure that this is a build box integration setting issue. Can we customize it to suppress these warnings.

It would be good if it is disabled only for @BindView (and other related annotations, if any).  It is a good check otherwise, for example against cases of simply (and unintentionally) forgetting to add "private".

I agree with @whym. @misaochan can you take up the change in codacy settings. I can continue refactoring the rest of the view bindings after this gets merged.

Isn't the configuration contained in checkstyle.xml under scripts/? Haven't tried but "ignoreAnnotationCanonicalNames" mentioned in http://checkstyle.sourceforge.net/config_design.html#VisibilityModifier seems relevant.
I think the configuration change should be added into this commit.

Can someone help me with it. I have added the checkstyle.xml settings as well. It still isn't passing the codacy tests. @misaochan @whym @tobias47n9e

I have no idea. :/ @nicolasraoul or @veyndan maybe?

I have no idea. :/ @nicolas-raoul or @veyndan maybe?

Adding

        <property name="packageAllowed" value="false"/>
        <property name="protectedAllowed" value="true"/>

seems to work, at least for my local invocation of "gradle check".

Yes @whym this didnt help. Can we try and figure out how to resolve the codacy issue.

Does it happen only on Codacy? Or does it happen both on Codacy and locally? Sharing a copy of your local result of checkstyle might help. (It should be found at app/build/reports/checkstyle/checkstyle.xml.)

I temporarily changed the Codacy settings to disable "Pull Request Comment" (which I believe sends these dozens of inline comments), to keep this page readable.

@whym How do i run checkstyle task locally? I am using
./gradlew checkstyle

Is this how i am supposed to run it locally. I dont see any scoping issues when i run it locally. :(

Did some magic happen 💃 . It is passing the checks now. :)

I found that PMD was enabled on Codacy, in addition to Checkstyle. PMD is now disabled (at least set to disabled, no idea why I see some of the issues still are linked to PMD...) on Codacy.
By the way, you can run checkstyle by:
./gradlew :app:checkstyle

@whym does this patch require any more changes from my side before a review?

The checks are passing now, I think it should be merge-able after the conflicts are resolved?

@misaochan Rebased.

Thanks @maskaravivek , I'm just waiting on @whym 's review.

Can the five TextViews in AboutActivity be an application of "the view binding aspect of data binding" as mentioned by @veyndan?
To be clear, I just wanted know more precisely about the possibility of what could be replaced with data binding - i.e. overlaps between butter knife and data binding. I don't meant suggest we immediately use data binding for these.

Yes that could be replaced with data binding. All that you'd need to do is replace setContentView(R.layout.activity_about); with ActivityAboutBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_about); where ActivityAboutBinding is generated by the data binding library when the whole of the R.layout.activity_about layout is wrapped in a <layout>…</layout>.
Now referencing the views is as easy as doing binding.aboutVersion for R.id.about_version, binding.aboutLicense for R.id.about_license, and so on.

@whym Is this fine to be merged now? :)

To be honest, I'm not sure about it. Do we decide that we are going to prefer butter knife over data binding in places where both can be used? Or do we want to let individual contributors choose whichever they like in each patch?

ButterKnife can always be used where the view binding aspect of data binding is used. I don't know why you'd ever prefer ButterKnife over data binding though with all the benefits that I have mentioned previously, and virtually no benefits of using ButterKnife over data binding.
As I've mentioned before, anywhere @BindView(…) is used, this can be replaced with data binding. Any of the other annotations provided by ButterKnife cannot be replaced with the view binding aspect of data binding (e.g. @BindColor(…), @OnClick(…)`).

I would support individual contributors choosing whichever they like (or none at all) in each patch. Not very uniform, so it wouldn't be a permanent solution, but would probably be better for the time being while we all get used to the new frameworks?

Sounds good. As long as we recognize the mixed situation and respect each other, I'm fine with that.

@whym yeah, I agree. We all good to merge this, then?

It looks like we are good to go. @maskaravivek do you want to update the commits into a single one, as you mentioned earlier?

... or maybe we can simply use the GitHub's "Squash and merge" feature.

Oh, this conflicts with the theme toggle PR. :/ Sorry that we had to put you through resolving so many conflicts @maskaravivek , we should really be able to merge after this one.
BTW would greatly appreciate the Butterknife wiki for new contributors that you said you would make. :) Are you able to create new Wiki pages here? If you can't, tell me and I'll create one for you.

@whym I have resolved the merge conflicts and squashed my commits to a single commit.
@misaochan Yes i am able to create new wiki pages. Have created a WIP page for butterknife wiki. I will update it with usage instructions.


Installation link is not working

I run the command in Stata console but get the following error message.
. net install sumup, from(https://github.com/matthieugomez/stata-sumup/raw/master/)
unknown network protocol
https://github.com/matthieugomez/stata-sumup/raw/master/ either
  1)  is not a valid URL, or
  2)  could not be contacted, or
  3)  is not a Stata download site (has no stata.toc file).
r(671);

Thanks for the program!

You need stata 13 to read https link. I've uploaded the README with installation instructions if you have a version < 13. Please tell me if it's working!

I just tried it and it works. It appears that there's no help document. But that's not a big deal, I can always go back to your readme file for examples. Thanks again!

I think another approach to ease the installation process for lower Stata version is to set up a github page  for the repo and copy the *.ado, *.pkg, and stata.toc files to the gh-page branch. Then one can install the program with
net install sumup, from(http://matthieugomez.github.io/stata-sumup)

I wonder if there's an install_github or Pkg_add Stata program that makes installing ado file from Github easier.

There is no stata program that allows to do this.
The issue with your solution is that it would require some management to keep the "<version 13" and ">= version 13" always updated, no?


Only 1.06 fps with ssd1327

I'm sure the issue is mine, but I've yet to figure out what it is. The ssd1327 produces a very poor frame rate:
Linux orangepizero 4.14.18-sunxi #24 SMP Fri Feb 9 16:24:32 CET 2018 armv7l GNU/Linux
Waveshare SSD1327 (https://www.amazon.com/gp/product/B079KRC9X3) in i2c bus (tried both 0 and 1).
perfloop.py -d ssd1327 --width 128 --height 128 --i2c-port 1 --i2c-address 0x3d produces a whopping 1.06 fps.
What do I do to improve this frame rate?

That is truely terrible.
What version of python are you using?
You should:

check what the system load is
check memory usage and see how much swap is being used
see what the cpu temperature is and if the cores are being throttled
try using a raspberry pi zero for comparison

my personal experience with opizero shows they have poor performance characteristics generally.

Thanks for the quick reply.
 According to top, there is 131068 KiB swap and zero swap being used. Doesn't seem to be a system performance issue.
I'll have to dust off a RPi to try it out. Give me a bit. In the meantime, if you have any other suggestions, I'm most appreciative.

@phidaisllc also give python 3.x a try.

I now have it on a Beaglebone Black with exactly the same result - 1.06 fps...

Could you run the perfloop demo with an additional flag of --mode=1 and let me know what FPS that gives please?
What version of pillow is installed?
I’m working away from home at the moment and haven’t got access to a raspberry pi to check this SSD1327 implementation... and it’s going to be early July until I’m back.

That got it up to 1.13 fps on the BBB...
I'm not in a rush and appreciate your work on this!

Oh, and pillow is v5.1.0.

I think rmhull never got his hands on an actual ssd1327, so anyone out there willing to donate one, please do.

I was pushing ~16FPS with a 128x128x1 black & white OLED (sh1106) after modifications to the library, so a framerate of 3.1 on a display needing 4x the data would seem about in line with my experience.
The reason for this is that the underlying i2c transport splits the data into 32byte chunks in order to get around the buffer limitations imposed by smbus/smbus2 etc, which implement the SMBus protocol to the letter. i2c itself does not have a 32byte limit.
This is 256 chunks for 128x128x4 bits of data, resulting in 512 additional bytes (address/register) needing to be sent every single frame. Okay it's not quite this bad since you probably have to set a page address register every X bytes anyway, but this doesn't help.
But this is not actually necessary- smbus2 supplies an i2c_rdwr method which can read/write in unlimited size blocks.
It seems both command and data could depend upon a test for this method against the supplied library, and make use of it where available. Since this feature would greatly benefit the users of our 128x128 OLED breakout, I'd be happy to prepare a PR for it. I've had it running before during some of my internal testing.
Still 128x128x4 = 65536 bits, at 400kHz is 0.16384sec ignoring any address/register data or paging that might take place to transfer this kind of buffer. At 400kHz I'd say your best possible framerate is maybe 5-6fps so you're not really far off.

Since this feature would greatly benefit the users of our 128x128 OLED breakout, I'd be happy to prepare a PR for it. I've had it running before during some of my internal testing.

sounds great.

Already working on it ;)


[ilp-core] Capture Setup Service code in new project

 Issue by sappenin
Saturday Sep 02, 2017 at 12:41 GMT
Originally opened as https://github.com/interledger/java-ilp-core/issues/78

Various non-core code was removed in this PR (https://github.com/interledger/java-ilp-core/pull/74/files), so we should probably capture that in a separate project. For example, see the SetupService.

Stale. The code may be re-used in a future module


DYK 33GX250 no caps

tcam-ctrl -l
Model: DYK 33GX250 Serial: 18020217 Type: aravis
tcam-ctrl -c 18020217
Available gstreamer-1.0 caps:
EMPTY
And therefore nothing works. I have installed tiscam with aravis.

Hello
you got it right. Therefore, I wrote to your email you sent to me, that you need Aravis directly, not tiscamera nor Gstreamer. I also sent a C++ sample do you, which as far as I remember the four polarization images separates.
Didn't you got my answer some minutes before?
Stefan

Dear Mr Szabó,
I also answered to your github issue.
Yours sincerely
Stefan Geissler
The Imaging Source Europe GmbH
Ueberseetor 18
D-28217 Bremen
Germany
Tel   +49/421/33591-0
Fax   +49/421/33591-80
Registergericht: Amtsgericht Bremen HRB 11 927
Geschäftsführer: Rolf Bollhorst
E-MAIL
On Fri, 26th Nov 2021 at 17:50, TheImagingSource/tiscamera @.***> wrote:
tcam-ctrl -l
Model: DYK 33GX250 Serial: 18020217 Type: aravis
tcam-ctrl -c 18020217
Available gstreamer-1.0 caps:
EMPTY
And therefore nothing works. I have installed tiscam with aravis.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub [https://github.com/TheImagingSource/tiscamera/issues/440], or unsubscribe [https://github.com/notifications/unsubscribe-auth/ABALVSEVV77HALJ7VHVGYRDUN624RANCNFSM5I3A5NIA].
Triage notifications on the go with GitHub Mobile for iOS [https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android [https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub]. [https://theimagingsource.deskpro.com/file.php/2904963JTSHHYJJKRDHRZG0/image1109.gif?sc=0-ynvjboascs-96e801a5b5cdea1d1be084035f65d9c0dd2a9d82]

On Fri, 26th Nov 2021 at 17:33, Stefan Geissler @.***> wrote:
Dear Mr Szabó,
Thank you for your email.
You can use the polarization camera in Linux with Aravis library only. It is available at https://github.com/AravisProject/aravis
I attached a small C++ sample. It uses OpenCV for displaying the image.
I hope, this helps a little bit!
Have a nice weekend!
Yours sincerely
Stefan Geissler
The Imaging Source Europe GmbH
Ueberseetor 18
D-28217 Bremen
Germany
Tel   +49/421/33591-0
Fax   +49/421/33591-80
Registergericht: Amtsgericht Bremen HRB 11 927
Geschäftsführer: Rolf Bollhorst
E-MAIL

On Fri, 26th Nov 2021 at 17:19, Kerecsen Szabó @.***> wrote:
Hi,
How do I get a DYK 33GX250 camera stream working on Linux?
Thank you,
Kerecsen Szabó
Was this message helpful?   Yes   [https://theimagingsource.deskpro.com/ticket-rate/OVHE-2933-MIKF/MYJSNH5J2DW9BAW/354602?setrating=1]   It was OK   [https://theimagingsource.deskpro.com/ticket-rate/OVHE-2933-MIKF/MYJSNH5J2DW9BAW/354602?setrating=0]   No   [https://theimagingsource.deskpro.com/ticket-rate/OVHE-2933-MIKF/MYJSNH5J2DW9BAW/354602?setrating=-1]
View and manage this ticket online: https://theimagingsource.deskpro.com/tickets/72710
The Imaging Source [https://www.theimagingsource.com] · https://theimagingsource.deskpro.com/
(#EDOOMYJSNH5J2DW9BAW)

I see, thank you for the rapid response.


[Table Designer] Cannot edit IsComputed for a computed column

Once a column is changed to computed (isComputed enabled), you cannot change it back to normal column. This is a regression from August release.

when this will be implemented?

when this will be implemented?

If you are talking about computed column support, it's been added since June release so if you are using latest version of ADS, computed column support should already be there.
This issue is for tracking a regression related to IsComputed setting and we'll be fixing this today.

Port PR https://github.com/microsoft/azuredatastudio/pull/21168 already merged to release/1.40, keep this issue open until PR to main is merged.


Custom plugin

Is there any way for using custom plugins such as tern-node-express?

I too am having issues with custom plugins.  I am trying to use the tern-meteor plugin.
What I found is that you can add the plugin to the /plugin folder where the atom-ternjs plugin is installed.  On my Mac its ~/.atom/packages/atom-ternjs/node_modules/tern/plugin.
The issue I face is that updating the auto-ternjs package seems to wipe this folder out, meaning any customizations I add are thus gone.
So, is there a way to preserve the files there?  If not, is there a location outside of the folder identified above that can be used to house the Tern plugins permanently?

Tern is at first looking for the plugin in the project-root.
e.g.: your-project/meteor.js
If this file doesn't exists, tern is is looking into the fallback dir which is .atom/atom-ternjs/node_modules/tern/plugins. use this as a workaround as @mbabauer mentioned.
Maybe, a good solution would be, if tern searches node_modules for the plugin, so you can specify it in your package.json and store it locally in your project-root. You may have a look here or open a ticket at marijnh/tern, to ask if this is possible.
@marijnh

So, if I am understanding you correctly, there is not permanent place to put the plugins such that they apply to all projects, since updating the atom-ternjs package would wipe out the atom plug-specific directory.  The alternative would be to include the file in the root of the project folder, next to the .tern-project file?

I never tried to just copy the plugin into the project-root. Give it a try and tell us, if it works.
Another temporary solution would be to just symlink the meteor-package. So if the package updates, you just have to create the symlink again. For example store your meteor-package to /meteor and create a symlink to this path at .atom/atom-ternjs/node_modules/tern/plugins
$ cd .atom/atom-ternjs/node_modules/tern/plugins
$ ln -s /Users/username/meteor

I don't now exactly if this works, so give it a try :)

I tried it. For me it does not work when I copy the plugin into the project project-root. It works fine in the atom-ternjs/node_modules/tern/plugins

I'm having the requirement. My solution was to execute the following every time atom-ternjs is updated:
cd ~/.atom/packages/atom-ternjs/node_modules/tern
npm install tern-node-express
npm install tern-node-mongoose

I was looking to see how complex it would be to add to lib/atom-ternjs-config.coffee the ability to fetch url specified plugins using npm.
It seems the entry point for this needs to be implemented in prepareLibs:
If anyone is working on this already - I would be happy to know before I dive into this.


monorepo & changesets

changed from semantic-release to changesets ~(which you already know since it's in graphql-shield)~ EDIT: It seems like graphql-shield is using semantic-release too
converted graphql-middleware to monorepo with pnpm workspaces mainly because of how changesets works
added changesets-github-release to also automatize the GitHub releases just like semantic-release does
update husky to v7

@maticzav this PR should be ready


How connect domain

How connect domain

how to connect domain to status

Okay, that's still very little information, but I can give you a hand

You need to have a public IP address and your machine has to be accessible outside your local network
You can buy a domain or use noip.com to link your IP with some domain name, if you have no public IP you can try using Ngrok
To assign domain/subdomain for Status, you will need to use a reverse proxy (like Nginx or Caddy)


Add Embeddable/None platform targets

This PR adds two new platform targets: PLATFORM_EMBEDDABLE, and PLATFORM_NONE. Alongside these, it puts parts of rcore.c into a new "rcore.h" file, which also includes GetCore, a function that returns CORE.
Both platform targets are blank slates. All of the functions within them have appropriate function pointers which can be left NULL or be overriden at runtime. The difference between the two is that Embeddable links against glfw by default, while also giving certain functions that don't explicitly rely on glfw (such as setting the window state or setting the cursor's state to be hidden) default behaviors. None does not do this.
They both represent two use cases, one important, and the other interesting.

Embeddable: Intended for embedding Raylib into other GUI libraries without having to fork the code. This actually started as me wanting to place Raylib in a GTK application, only to find out that the library that lets me do this relies on a fork of Raylib 3.7. By not having to fork the code, these kinds of libraries get a level of future proofing, as they can override functions that are potentially the same in a future version and potentially work with later versions of Raylib.
GetCore is a bit of a risky function to both use and implement, as it'll very likely prove to have a more unstable API then others. But I think that even with this fact it'll still be useful, because even if things break, they can still (hopefully) be easily updated, even by somebody who didn't work on the library, all in a fashion that's much easier/nicer then one having to fork the entire Raylib codebase.
It's not the most pretty to use or maintain (just see the new core/core_override example that's provided, I think would be the first feature of Raylib that requires a union to be used, for reasons out of my control), but it does solve a legitimate use case. This actually started out as me trying to add a InitOffscreenWindow function, but what I realized is that this would be trickier to implement, and I like doing this better because:
None: This enables of a level of protection for ports of Raylib to obscure/old platforms. The reasoning here is essentially the same as the sentence I just wrote: Instead of having to completely fork the Raylib codebase for something that might have pretty low priority to them, their library can override the functions at runtime and potentially be future proofed. It's also just good if somebody wants to embed Raylib but doesn't want the default behaviors.

Lastly, there is a downside that I think may affect CI: The macros used to make this cleaner to implement, don't seem to work when using GNU Make. I don't know if this a problem localized to my machine or if it'll affect this, or even why it happens when I'm pretty sure I only did stuff that was standard, but we'll see.

Rejected in the Discord

[ ]


Problem sir

Hi What button should I use to take a picture from the screen?

It's always taking pictures of the screen. You can read the code to see how it works, or just open a video of people walking around and watch your mouse lock onto them.


Stop working with Firefox 44 developer edition

The addon bar has disappeared since I have update to firefox 44.0a2

Same here.

Same here. Firefox 44 got into beta (which is usually the version I use) and I found out that it's not working. A fix would be awesome.

Actually Firefox 44 stable release also breaks it here for me.

@Geek-in-Training
Will you come with an update for FF44?
Is this project deprecated?

I am wondering what exactly do the add-on. Did it create a new bar or just enable the old one ?
After disable it and install another add-on "Toolbar buttons" ( https://addons.mozilla.org/fr/firefox/addon/toolbar-buttons/ ), it adds a set of button, and one of them allows to hide / display the status bar (the button which looks like a Window in white and blue), which seems to be a similar bar than the one created with this add-on. Did this other add-on create the bar or just gives access to display it ? So for now I switch on that. I just not found how to put icons to the right of the bar.

The addon appeared when Firefox removed the addon bar which many people used by, I think, creating a new bar for users to freely use.
Back on that day, the status bar - the one @tithom mentioned - didn't allow us to customize it like it does now (I don't even know when it started to allow customization), so after seeing a similar post on Addon Bar Restored's page in Firefox Addons (maybe it was yours) I started using like I used addon bar. And you don't even need another addon to hide/display the status bar as I will explain right away.
Fix (that's not a real fix)
My recomendation to everyone who gets here, trying to find a fix for the lack of updates of Addon Bar Restored, is to start using the built in status bar. You can enable it the following ways:

Right click on the main bar (the one where you have the URL/search boxes and possible some addon's buttons right now) and select "Status Bar". This will just make the status bar appear and it's possible that it has nothing in it.
Click Firefox's "hamburger" menu and then click "Customize" on the bottom left. The customization interface will appear and in the bottom left click "Show / Hide Toolbars" and select "Status Bar". The status bar will show and it's here that you can drag-and-drop/reorder/separate with spaces addon's buttons to the status bar.

Hope this is enough for all of you.

@vallovic perhaps I miss something, but with no other addon, the "status bar" is not available in the right click on the main bar neither in the customize menu.
I have the response of my previous answer about the addon Toolbar button, "The Toggle Status Bar button in back in Firefox, and if there is no Status Bar, the button now creates it.", so indeed it creates the bar.
Finally, by reading comments on the add-on bar restored on the firefox websites, someone proposes a very similar alternative, the New Add-on bar https://addons.mozilla.org/en-US/firefox/addon/new-add-on-bar/

And you're totally right! It was a mistake of mine because I have the addon Status-4-Evar (been using it for many years for a completely different reason than have a status bar) and that's the one that creates the status bar, so I thought that status bar was built in but hidden by default in Firefox. I apologize for that and modified my previous answer.
Well, but not everything is bad about this mistake. Now we know that we can use 2 different addons to recreate the addon bar and anyone can choose which one they want to. :smile:

The new version 3.2.9-compat-fixed is available on AMO: https://addons.mozilla.org/firefox/addon/the-addon-bar/versions
Thank you very much, dear developer. :-)

@tithom @standoski @swedeman @vallovic @EMLVIRUS
This is now fixed! https://addons.mozilla.org/firefox/addon/the-addon-bar/
@AtTheGates  Thanks for letting every one know for me! ;)
Sorry to all that it took me so long to get this done, I have not been able to even look at the addon to see how it was fairing for quite awhile.  With all the responsibilities I have here at home, it is hard to make time to work on maintaining addons.


as a clusternator user I would like to be able to change my project's slack channel

Is it published?

@SethDavenport No, I've never published before. Is it as simple as just running npm run release? or do I need permissions/account on npmjs.com?

I think you need permissions from Yuri.  I'll take care of it.

Ok the new command is available now in 0.5.2 from npm.


Region hardcoded in cluster_autoscaler.yml

"us-west-2" is set in cluster_autoscaler.yml, so it may be worth mentioning that that has to be updated for the module to work in any other region.

Created PR #668, which replaces the hard coded value with a placeholder.

Fixed by @evisb Thank you


Update dispose-pattern.md

Summary

Add C# code highlighting
Fix whitespace

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


Add ReactiveFormGroupRenderer dynamically?

Hello @OndrejKunc, congratulations on the project!
Is it possible to duplicate (creating a new formGroup with default values) a formGroup dynamically?
In the ReactiveFormGroupRenderer class, I would like to do something like that, rendering with a button to dynamically add another formGroup
Something like that:
childrenWidgets.addAll(
  snapshot.data
      .whereType<FormElement>()
      .where((f) => f.isVisible)
      .map(
        (child) => renderer(child, context),
      ),
);
childrenWidgets.add(
  new IconButton(icon: const Icon(Icons.add_circle_outline), onPressed: () {
    Widget elementCopy = renderer(element, context);
    childrenWidgets.add(elementCopy);

    //Notify the root form to render again with the changed property value ???
  })
);

So I gave it a try and was able to find a solution.
The working solution is for now in my branch ok/copy-container.
I implemented a component called CopyContainer which is very similar to your Group component.
Here is what you need to do:
1)
Add new behavior subject to your model, so you have an easy way to inform a view that new child was added:
  BehaviorSubject<int> changedSubject = BehaviorSubject<int>.seeded(0);
  Stream<int> get changedStream => changedSubject.stream;

Create a new event which will allow you to pass your component through the dispatcher:
class CopyFirstChildEvent extends FormElementEvent {
  final CopyContainer copyContainer; //Pass your Group component instead

  CopyFirstChildEvent(this.copyContainer);
}

In your Renderer wrap the outer StreamBuilder in another StreamBuilder listening to the changedStream you just added.
Also, dispatch the CopyFirstChildEvent in your onPressed delegate. This is my renderer class but yours should be very similar.
class CopyContainerRenderer extends FormElementRenderer<CopyContainer> {
  @override
  Widget render(
      CopyContainer element,
      BuildContext context,
      FormElementEventDispatcherFunction dispatcher,
      FormElementRendererFunction renderer) {
    return StreamBuilder<int>(
      initialData: 0,
      stream: element.changedStream,
      builder: (context, itemCount) {
        return StreamBuilder<List<ExpressionProviderElement>>(
          initialData: element.children,
          stream: element.childrenChanged,
          builder: (context, snapshot) {
            return Column(
              children: [
                ...snapshot.data
                    .whereType<FormElement>()
                    .where((f) => f.isVisible)
                    .map(
                      (child) => renderer(child, context),
                    )
                    .toList(),
                IconButton(
                  icon: const Icon(Icons.add_circle_outline),
                  onPressed: () {
                    dispatcher(CopyFirstChildEvent(element));
                  },
                )
              ],
            );
          },
        );
      },
    );
  }
}

Finally, process your event in the same place you are processing ChangeValueEvent. You should also have your FormManager instance available in this place:
  void _onFormElementEvent(FormElementEvent event) {
    if (event is ChangeValueEvent) {
      _formManager.changeValue(
          value: event.value,
          elementId: event.elementId,
          propertyName: event.propertyName,
          ignoreLastChange: event.ignoreLastChange);
    }
    if (event is CopyFirstChildEvent) {
      var children = event.copyContainer.children;
      if (children.isEmpty) {
        return;
      }

      // Create copy of the first children
      var clonedRoot = children[0].clone(null);

      var clonedElements =
          getFormElementIterator<FormElement>(clonedRoot).toList();

      // Change id of each element in the cloned subtree
      for (var i = 0; i < clonedElements.length; i++) {
        var clonedElement = clonedElements[i];
        if (clonedElement.id == null) {
          continue;
        }
        clonedElement.id = "${clonedElement.id}_$i";
        _formManager.formElementMap[clonedElement.id] = clonedElement;
      }

      // Build expressions in the cloned subtree
      var clonedExpressions =
          getFormPropertyIterator<CloneableExpressionProperty>(clonedRoot);
      for (var expressionValue in clonedExpressions) {
        expressionValue.buildExpression(_formManager.formElementMap);
      }

      // Add subscriptions to existing expressions
      for (var expressionValue in clonedExpressions) {
        var elementsValuesCollectorVisitor =
            ExpressionProviderCollectorVisitor();
        expressionValue.getExpression().accept(elementsValuesCollectorVisitor);
        for (var sourceProperty
            in elementsValuesCollectorVisitor.expressionProviders) {
          (sourceProperty as Property).addSubscriber(expressionValue);
        }
      }

      (clonedRoot as FormElement).parentProperty = children[0].parentProperty;

      // Add back to the children list
      children.add(clonedRoot);

      // Notify view about the change
      event.copyContainer.changedSubject.add(children.length);
    }
  }

And that's it.
I admit the code processing the CopyFirstChildEvent is not so easy to understand and probably should be moved to the library.
Also, this solution is not so ideal, because you can't use expressions referencing the items in the block you are copying - we would need to extend expression language for this use case. However, you can reference any expressions outside this copy component.
I should also add an API which allows user to emit new item in the default PropertyChanged stream so you don't have to define your own Stream for this.
Please let me know if this solved your problem or if you need any further help.

This is pretty interesting, is there any chance this gets rebased and put into master? I'm looking to create a number of form groups based on a select field and this looks like it would be a good base.


Postman Collection

In order to test more easily the API, in the resources folder, add the json of the postman collection that will be generated from importing the swagger documentation into it.
Need #4 to be done and merged

Hey @ErwanLT, can this be assigned to me?