[HUDI-1363] Provide Option to drop partition columns after they are u…

…sed to generate partition or record keys
Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
Provide Option to drop columns after they are used to generate partition or record keys
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Codecov Report

Merging #2225 (d9c0b86) into master (430d4b4) will decrease coverage by 43.14%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #2225       +/-   ##
=============================================
- Coverage     53.54%   10.39%   -43.15%
+ Complexity     2770       48     -2722
=============================================
  Files           348       50      -298
  Lines         16109     1779    -14330
  Branches       1643      211     -1432
=============================================
- Hits           8626      185     -8441
+ Misses         6785     1581     -5204
+ Partials        698       13      -685

Flag
Coverage Δ
Complexity Δ

hudicli
?
?

hudiclient
?
?

hudicommon
?
?

hudihadoopmr
?
?

hudispark
?
?

huditimelineservice
?
?

hudiutilities
10.39% <ø> (-59.70%)
0.00 <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ
Complexity Δ

...va/org/apache/hudi/utilities/IdentitySplitter.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-2.00%)

...va/org/apache/hudi/utilities/schema/SchemaSet.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-3.00%)

...a/org/apache/hudi/utilities/sources/RowSource.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-4.00%)

.../org/apache/hudi/utilities/sources/AvroSource.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-1.00%)

.../org/apache/hudi/utilities/sources/JsonSource.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-1.00%)

...rg/apache/hudi/utilities/sources/CsvDFSSource.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-10.00%)

...g/apache/hudi/utilities/sources/JsonDFSSource.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-4.00%)

...apache/hudi/utilities/sources/JsonKafkaSource.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-6.00%)

...pache/hudi/utilities/sources/ParquetDFSSource.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-5.00%)

...lities/schema/SchemaProviderWithPostProcessor.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-3.00%)

... and 321 more

@vinothchandar  i think it is ready, can you help to review? thanks

I wonder how this is an issue today, given users rely on a key generator? are you trying to avoid those partition fields completely?
@vinothchandar  the Original intention of this issue is to compatible with the the native spark.write.partitionBy operation.
https://github.com/apache/hudi/issues/2213

I will think about spark native support hudi and this issue together more

@lw309637554 sounds good. so do we still need this PR?

@lw309637554 sounds good. so do we still need this PR?

@lw309637554 sounds good. so do we still need this PR?

can close it now, when I think more better  method  such as filter the partition column when read ,  can add a new pr


Webpack & Uglify.js build problem

When attempting to build a distribution that includes videojs5-hlsjs-source-handler with Webpack, Babel and Uglify, the following exception occurs:
ERROR in video-c9d821f60adba8a625ac.js from UglifyJs
Unexpected token: name (QualityMenuItem) [./~/videojs-quality-picker/lib/quality-menu-item.js:3,0][video-c9d821f60adba8a625ac.js:36836,6]

@mbertrand I got this same issue, what did you do to resolve this?

@dylanjha I ended up switching to videojs-contrib-hls instead:

webpack config alias

It is caused by the outdated quality picker plugin, I have just updated to remove it. Meanwhile you can still include it as a separate plugin.

Problem seems to be solved, closing.
Ping me if you still have this issue.


[Doc] update storage_medium in create table and ignore nulls of first/last-value

Signed-off-by: evelynzhaojie<EMAIL_ADDRESS>What type of PR is this：

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[x] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[x] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_admit_test

run starrocks_admit_test

run starrocks_be_unittest

run starrocks_admit_test

run starrocks_admit_test

@Mergifyio backport branch-2.5

@mergify backport branch-2.5


fix #1777, Dynamic DAG failed after changing parallelism for many times

Not ready for merge.

Current coverage is 62.72%

Merging #1934 into master will decrease coverage by -0.99% as of 8e3d9e1

@@            master   #1934   diff @@
======================================
  Files          174     174
  Stmts         5261    5373   +112
  Branches       580     600    +20
  Methods
======================================
+ Hit           3352    3370    +18
  Partial          0       0
- Missed        1909    2003    +94

Review entire Coverage Diff as of 8e3d9e1

Uncovered Suggestions

+0.28% via ...cutor/Executor.scala#283...297
+0.24% via .../master/Master.scala#124...136
+0.20% via .../MasterService.scala#134...144
See 7 more...

Powered by Codecov. Updated on successful CI builds.

+1


Visualization issue

Could you provide the code of visualization for ShapeNet? Thank you very much.

Sorry to bother you again. After I run the code as follows, there are only .log and config.yaml in the output file but no text file. Is there any other operation that needs to be done? Thanks.
bash ./scripts/test.sh 0
--ckpts ./pretrained/PoinTr_PCN.pth
--config ./cfgs/PCN_models/PoinTr.yaml
--exp_name example

@Boom708 Hi, the code does not save the text file during test, but i think you can add a line into runner.py by yourself, maybe this line, saving the dense prediction as a txt file, if you want to use Windows Meshlab as we do. Or you can try to use the plt to plot the point cloud and directly save the picture during the test as we do when infer on KITTI. The code can be slightly modified by yourself to achieve this goal. code

Close it since no response. Feel free to re-open it if problems still exist


Fix selectors for latest Insta UI

@Jayphen Thank you, that's just what was needed!
Sorry I couldn't find the time to fix it myself...


Attempt to fix offense.highlighted_area returning an incorrectly constructed range

Attempt at #12527. This is not correct yet because tests are not passing.
To be honest, I'm not sure what's wrong here. Sometimes it starts one character to the left, adding 1 all the time is not the fix since it then starts one to the right in some cases. There's some offset fuckery going on that I'm not getting behind.
If someone can give insight into why that might be, that would be appreciated. I will add changleog/tests when I've got this figured out.

Before submitting the PR make sure the following are checked:

[ ] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[ ] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[ ] Feature branch is up-to-date with master (if not - rebase it).
[ ] Squashed related commits together.
[ ] Added tests.
[ ] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Sample test case bundle exec rspec ./spec/rubocop/cli/autocorrect_spec.rb:1714. I have added a bit of debugging output in the method:
def highlighted_area
  correct_range = Parser::Source::Range.new(source_line, column, column + column_length)
  range = location.source_buffer.line_range(line)
  offset = location.begin_pos - column
  range = range.with(begin_pos: column, end_pos: column + column_length)

  pp "loc.begin_pos: #{location.begin_pos}, loc.end_pos #{location.end_pos}, loc.column: #{location.column}, loc.column_length: #{column_length}"
  pp correct_range.begin_pos - range.begin_pos
  pp correct_range.end_pos - range.end_pos
  pp correct_range.source, range.source

  range
end

example.rb:1:12: C: [Corrected] Style/MethodDefParentheses: Use def with parentheses when there are parameters.
def primes limit
+"loc.begin_pos: 11, loc.end_pos 16, loc.column: 11, loc.column_length: 5"
+0
+0
+"limit"
+"limit"
           ^^^^^
example.rb:2:24: C: [Corrected] Style/SymbolProc: Pass &:even? as an argument to select instead of a block.
  1.upto(limit).select { |i| i.even? }
-                       ^^^^^^^^^^^^^^^
+"loc.begin_pos: 40, loc.end_pos 55, loc.column: 23, loc.column_length: 15"
+0
+0
+"{ |i| i.even? }"
+"to(limit).selec"
+                      ^^^^^^^^^^^^^^^

I can tweak the positions that the source is correct but then the positions are all wrong. Haven't figured out how to get both to line up yet.

@koic Can you take a look here?


Force time_scale to have vocabulary terms

This is part of the cleanup work on EPN-TAP word lists, https://wiki.ivoa.net/twiki/bin/view/IVOA/EpnTapWordLists.  Since the number  of time scales in use is reasonably small, this restriction is probably not terribly problematic (compared to, e.g., the time_refposition).
I'm also sneaking in a whitespace-only commit cleaning up trailing whitespace.  I don't think this is material for an extra PR, but in case this PR turns out to be controversial, the whitespace commit should be taken out because it will lead to no end of conflicts if it reamins on a branch for a long time.

OK, all current services are compliant


FFT plotter GUI still crashes sometimes if you close it while running

Need to do more investigation as to the root cause. The application uses several threads to perform the data capture and FFT calculation - probably an issue with one of them not being stopped properly, and invoking an event on the form after it is closed.

I believe this has been resolved on <IP_ADDRESS>


Hi @bradfeehan @mattgibson @hotgazpacho @Aupajo @kagux
I don't use docker or virtual machines in my local development environment, so I think I've missed a use case when designing how Rails will retrieve the manifest file and how the assets will be communicated to the user.
The intention was that, despite what dev_server.host is set to, the webpack-dev-server would always be running on the same machine as the Rails server, via the Procfile. Thus, it'd always be available via localhost on the configured port. Obviously this is not always the case. Have I misunderstood something about how docker works?
Given the PRs that have been submitted I'm considering a mix of https://github.com/mipearson/webpack-rails/pull/28/ (in fact, making request.host the default) and https://github.com/mipearson/webpack-rails/pull/23, but I'm worried that this will make things too complicated and hinder future development & use.
I'm hoping that you can outline how you're using webpack-rails and how the current setup isn't working, so that we can agree on a universal & simple way forward.

So, docker is a native Linux thing (it relies on kernel hooks). In order to run docker on anything other than Linux, you need to have a Linux VM running. The happy path for this is docker-machine. Containers then run inside this VM, and through crazy routing and NAT, are exposed via private IP addresses. The practical effect is that localhost isn't an option.
There's the secondary matter of networking between containers. This occurs via a different network.
Finally, there's the fact that you're in effect running multiple machines; each container is its own Linux machine, each with it's own hostname. Tools like docker-compose provide a level of DNS and discovery among the containers. For example, you run a separate app and database container, you can address the db container from the app container as "database" or "postgres". Therefor, on the server-side code, you can't rely on the hostname of the machine running either rails or webpack dev server to provide a hostname that a web browser running on a host OS X machine can route to.
All that said, there's a project under way to bring a native-like docker experience to Mac and Windows. It's still in beta, but the upshot is that you can address exposed ports from docker containers via localhost. That said, docker-machine isn't going away anytime soon, and is still useful for isolated docker environments.
All that said, I hadn't considered inferring the hostname from the request, so that may well be a viable option.

I get why the hostname that the browser sees must be configurable - but not the one that Rails uses to retrieve the manifest.
Are using docker-compose to run webpack-dev-server in a different container to the rails server, instead of using foreman to run both on the same container?

Hi,
One of the reasons I have to run webpack outside of vm (and thus not being reachable by rails) is to have file events working. VM doesn't support inotify events and every single workaround is a major pain one way or another.
Currently to make this setup work (rails on VM and webpack on host) I create an ssh tunnel to VM on webpack's port.

@mipearson with docker, the idea is to have each container do one and only one thing. For my app, for local development, I have half a dozen containers running:

rails
postgres
sidekiq
clockwork
redis for sidekiq
redis for cache
webpack dev server

Foreman doesn't come into play at all here; docker-compose takes care of orchestrating starting, stopping, and restarting containers.
@kagux good point about the lack of inotify support. We are in the same situation with docker. We were just going to resort to polling. Perhaps running webpack dev server on the host is something I should look into.
Either way, we need to be able to configure the hostname that rails uses to retrieve the manifest.

I don't use Docker, so I can't contribute much to anything Docker-specific. I can talk about my use-case, though.

The intention was that, despite what dev_server.host is set to, the webpack-dev-server would always be running on the same machine as the Rails server, via the Procfile.

This makes sense to me, and how I'm using it.

Thus, it'd always be available via localhost on the configured port.

Consider the following cases:

Visiting the Rails app (say, http://localhost:5000) locally
Visiting the Rails app over the network (http://<IP_ADDRESS>:5000) on a mobile phone

By default, the HTML returns looks something like this:
<script src="http://localhost:3808/webpack/output.js">

This works great in the first case, but will cause the second case to fail.
Ideally, the second case would return:
<script src="http://<IP_ADDRESS>:3808/webpack/output.js">

Which is to say, the same host that the Rails app was accessed by.
This will allow the webpack-dev-server to run over the network (on the same machine as the Rails server).
My pull request, #28, allows you to use a proc as well as a hard-coded string for the dev host. This allows anyone to customise the dev server host at request time, and suit it to whatever fits their use-case best.
If you were to merge it, I'd suggest having a default of -> { request.host }, which will satisfy both cases above.

I've integrated #23 and #28 in to the https://github.com/mipearson/webpack-rails/tree/DevHosts branch.
Note that I've renamed server_host and server_port to manifest_host and manifest_port.

awesome, thanks for your work @mipearson!

Merged and will be released soon.


Napkin Diagram

Create a Napkin Diagram.
Should show how it works in a simpler manner
Easy to understand to anyone

The user wants to check the weather of a city at a particular date. So he logged into the website and then in search tab enter the city and date and click on the search. It returns the required output for the user.

Fixed with commit 2cb05b4d0aacc40bec515e12a2d97d05275c62d4

All ok now.


Http2 proxy don't work

What would you like to discuss?
Hello, we tested and proxy function don;t work with http2, also useragents  just use 1 useragent, im testing on my website, all requests coming with POST method, and 1 useragent
What about tls v1.2 / v1.3 and encoding, gzip, br etc
Just a sugestion, can have also support for anti-captcha ?
The hooman can bypass uam and captcha now, can't bypass ''banned'' protection ?
//edit
see u have updated, now proxy function work but spaming with html etc, and stop sending requests and bypass
`deleted
Response code 403 (Forbidden)
deleted
Response code 403 (Forbidden)
deleted
Response code 403 (Forbidden)
deleted
Response code 403 (Forbidden)
deleted
Response code 403 (Forbidden)
Checklist

[ ] I have read the hooman and got documentation.

Please don't use the master branch from Github. I will post a new update on npm soon with fixes. About UA, it's meant to use the same UA every time on launch. If you re-launch it will update UA.

ok sir, thank

Fixed on v1.2.1


Use Load/LoadAsync pattern to load OpenApi documents

Fixes #1434

Goals

We would like to move the loading code into OpenApi.Net core library so that people who only want to load JSON don't need a dependency on the third party YAML library
We would like to avoid developers needing to discover a secondary "factory/reader" class and simply be able to use a static member on the model to load/parse content

Constraints

We cannot create a circular dependency between the core library and reader library
We must support loading any OpenAPI model object directly, not just a complete document. (fragments)
We don't want to duplicate all of the loading/parsing code in every model object's static methods.

Proposal
In the core library we create a static factory for loading/parsing any OpenAPI model object.
T OpenApiModelFactory.LoadAsync(url)
T OpenApiModelFactory.LoadAsync(stream, format)
T OpenApiModelFactory.LoadAsync(textReader, format)
...
T OpenApiModelFactory.Parse(string)
We can add simple static helper methods to the OpenAPIDocument class to avoid the "discovery problem".
OpenApiDocument OpenApiDocument.LoadAsync(stream)  -> Calls factory
OpenApiDocument OpenApiDocument.Parse(string)  -> Calls factory
We need to be able to add support for other formats in the factory:
OpenApiModelFactory.RegisterReader(IOpenApiReader)  <- Making this up. Look at how Kiota does it.
OpenApiJsonReader : IOpenApiReader   <- Lives in the core library
OpenApiYamlReader : IOpenApiReader  <- Lives in the reader library
OpenApiModelFactory.RegisterReader(new OpenApiJsonReader)  <= Do this by default in a static ctor.
// User chooses to enable YAML parsing by adding reference to Microsoft.OpenApiReaders
OpenApiModelFactory.RegisterReader(new OpenApiYamlReader) ;

@darrelmiller

OpenApiJsonReader : IOpenApiReader <- Lives in the core library

Is this representative of things now or a desired change? Why would we play favorite child with a specific format?

OpenApiDocument OpenApiDocument.LoadAsync(stream) -> Calls factory

Assuming the factory lives in readers, and the LoadAsync method in core, this is not going to be possible due to circular references

User chooses to enable YAML parsing by adding reference to Microsoft.OpenApiReaders

Didn't we say we'd enable auto-registration through static constructors? (I've never done that in the past, I'm not sure this is possible)

Superseded by #1553


"apiKey": "DEFAULTUSERAPIKEYTOBECHANGED",

Hello :)
When I install either manually or with a quick setup "/vrt-install.sh" API key is generated each time through migration with: DEFAULTUSERAPIKEYTOBECHANGED
migration-1  | The user with the email<EMAIL_ADDRESS>and password "123456" was created (if not changed before)
migration-1  | The Api key is: DEFAULTUSERAPIKEYTOBECHANGED
migration-1 exited with code 0

Do I have to do anything extra?
Thanks for your help in advance :)

@loocar for basic service setup that is it
now you could start integrating your tests with service

@pashidlos but the frontend returns "NetworkError when attempting to fetch resource.", so we can't really use the service. Also we're unable to change the API key.
We used to use pre-5.0 version and it worked fine, but for some reason we're unable to setup 5.0.2.

@aspenboy have you completed migration steps or trying to make a completely new instance?
https://github.com/Visual-Regression-Tracker/Visual-Regression-Tracker/releases/tag/5.0.0

@pashidlos no, we tried to setup from scratch.
It turned out that I forgot to update API url in .env - now everything works fine :) Thanks!


decouple buffer from observable

Decoupled buffer from observable, please review.
Thank  you,
Grigoriy

Thank you!


Ability to suppress logs from bgpstreamlivetap_1 container (or others)

Is your feature request related to a problem? Please describe.
The logs for invalid messages are very spammy and filling up the docker-compose logs esp if your looking back over a period of days. It would be nice to not have the logs at all, if they are not really useful.
bgpstreamlivetap_1   | process - 2021-03-20 17:25:44,039 - WARNING @ run: Invalid format message: {'type': 'A', 'timestamp':<PHONE_NUMBER>.0, 'path': ['####', '####', '####'], 'service': 'bgpstreamlive|routeviews|route-views.sg', 'communities': [{'asn': ####, 'value': 100}, {'asn': ####, 'value': 4}, {'asn': ####, 'value': 21000}, {'asn': ####, 'value': 204}, {'asn': ####, 'value': 10101}, {'asn': ####, 'value': 22013}, {'asn': ####, 'value': 10100}, {'asn': ####, 'value': 1051}, {'asn': ####, 'value': 1000}], 'prefix': 'xxx.xxx.xxx.xxx', 'peer_asn': ####}
Describe the solution you'd like
Can we look at getting the maintainer to lower the classification of some types of messages away from warning, to info? Then we could filter out all of the info and such?
Describe alternatives you've considered
Things that Artemis deems unimportant, should be filtered it possible.

Fixed via https://github.com/FORTH-ICS-INSPIRE/artemis/commit/8c69eb898046ab8470755042ede7a0eae79c2a2e
You can pull the latest master containers and code (requires ARTEMIS shutdown and start, as usual)


Add new template 'lightweight-thymus'

Hi @jpuerto-psc @gesinaphillips and @lchoy. I have added a workspace template that represents my recent HuBMAP Hackathon (winning) submission. The template actually pulls the main analysis jupyter notebook and some small text files from https://github.com/sooheelee/notebooks/tree/main/hubmap-hackathon-2024. May I please get a review?

@sooheelee Can we, instead of copying over a notebook from another github repo, use that notebook directly here as a template? This gives us more stability, such that that notebook doesn't suddenly change.

Hi @thomcsmits. That is certainly possible and I can change things to consolidate to one notebook. I do want to point out the risk of my repo notebook changing is nil as (i) I created the project specifically for its use in HuBMAP workspaces and (ii) I am a paying github user.

@sooheelee I think the convert-notebook.py got some unexpected format when you ran it. Because of this, I am not able to reverse it and open this as a notebook. Can you add the .ipynb file to this PR? (Or send it to me on slack / email) Thanks!

@thomcsmits the .ipynb is available at https://github.com/sooheelee/notebooks/blob/main/hubmap-hackathon-2024/shlee-hh-lightweight-thymus-20241004.ipynb.

Hi @thomcsmits, wondering if you are set for the review or if I can clarify/add anything more?


Property in depdencyManagement of parent pom not changed, version tag added in submodul pom

I just ran the following command:
mvn org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-hibernate:RELEASE -Drewrite.activeRecipes=org.openrewrite.hibernate.MigrateToHibernateDependencies61

The project on which I applied it has a parent-pom and multiple submodule-poms. The parent-pom has a dependencyManagement section where versions are defined using properties. The submodules only list the dependencies without version declaration.
This was before open rewrite:
parent pom:
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>${hibernate.version}</version>
</dependency>

submodul pom:
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
</dependency>

This after:
parent pom:
<dependency>
  <groupId>org.hibernate.orm</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>6.1.0.Final</version>
</dependency>

submodul pom:
<dependency>
  <groupId>org.hibernate.orm</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>6.1.0.Final</version>
</dependency>

OpenRewrite replaced the property in the parent pom (instead of changing it) and added a version tag to the submodul pom although it isnt necessary there

Thanks for the detailed tests @Evodam ! And sorry to hear you had trouble getting the project to work. We have some instructions documented here if that is still of help to you: https://docs.openrewrite.org/reference/building-openrewrite-from-source
I've moved the issue as I believe it's not specific to rewrite-hibernate, and moving it here should make it easier to find & correlate the fix. We did have some recent changes to that particular recipe that might have already improved

https://github.com/openrewrite/rewrite/pull/3998

We'd have to double check with the tests you've provided, which I'll try to fit in when I find the time. Thanks again!


Missing x-opam-monorepo-duniverse-dirs field in opam-monorepo lockfile

In opam-monorepo for 4.13, after I run dune build and opam monorepo lock, running opam monorepo pull fails because I'm missing x-opam-monorepo-duniverse-dirs field in opam-monorepo lockfile. It looks like this was added recently but doesn't seem to be documented. What do I need to do to successfully pull?

Never mind; the issue here was that I wasn't enumerating dependencies properly in the dune-project file.


Perform logic in FixedUpdate or LateUpdate?

Hi~ Can we have more samples and explaination on Class-based architectures？ Like:

Using Class-based architecture to rebuild the GuardAI Example.

Derived from StateBase/ActionState/State and their difference

How te create Custom Actions in such class instead of ".AddAction("OnFixedUpdate", () => { })"

Thank you!

Just Found out it can be done by custom action, thank you!

Maybe it's better to reopen it


I propose to delete the original code of shiftnet.

Since we acc_shift_net has been developed, we need to delete the obsolete code to keep the codebase clean.
What's your opinion on this? @tchaton

Hello @Zhaoyi-Yan
I think we should leave everything in the project.
People might want to join the project.
It is easier to have everything when they want to understand it.
We could just desactivacte its usage.
Best,
T.C


Improve check Visual Studio components

Add checks for the following Visual Studio components:

C++:

Windows Universal C Runtime: Microsoft.VisualStudio.Component.Windows10SDK
C++ core desktop features: Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core
Visual Studio Build tools:

Microsoft.VisualStudio.Component.VC.140 (for Visual Studio 2015)
Microsoft.VisualStudio.Component.VC.Tools.x86.x64 (for Visual Studio 2017 or later)

MSBuild: Microsoft.Component.MSBuild
Windows SDK:

8.1: Microsoft.VisualStudio.Component.Windows81SDK
10.0.18362: Microsoft.VisualStudio.Component.Windows10SDK.18362
10.0.19041: Microsoft.VisualStudio.Component.Windows10SDK.19041
10.0.20348: Microsoft.VisualStudio.Component.Windows10SDK.20348
11.0.22000: Microsoft.VisualStudio.Component.Windows11SDK.22000

ARM/ARM64:

Visual Studio Build tools for ARM: Microsoft.VisualStudio.Component.VC.Tools.arm
Visual Studio Build tools for ARM: Microsoft.VisualStudio.Component.VC.Tools.arm64

UWP:

Visual Studio Build tools for UWP: Microsoft.VisualStudio.ComponentGroup.UWP.VC

Related: https://github.com/microsoft/vcpkg/pull/22214

@strega-nil-ms I found the error message exists in 3 positions and not related:

https://github.com/microsoft/vcpkg-tool/blob/c30b0adffec59365fc328f0a6fca1db7ca71fda6/src/vcpkg/visualstudio.cpp#L22-L35
https://github.com/microsoft/vcpkg-tool/blob/c30b0adffec59365fc328f0a6fca1db7ca71fda6/src/vcpkg/vcpkgpaths.cpp#L1248-L1273
https://github.com/microsoft/vcpkg-tool/blob/c30b0adffec59365fc328f0a6fca1db7ca71fda6/src/vcpkg/build.cpp#L306-L318

I think that's not good.

Does our code format check have some problems? It requies me to modify locales/en.json which I didn't touch.

Does our code format check have some problems? It requies me to modify locales/en.json which I didn't touch.

No, If you add DECLARE_AND_REGISTER_MESSAGE stuff you have to update the locales/en.json file. You have to run vcpkg.exe x-generate-default-message-map

(or just git apply format.diff)

@strega-nil-ms Do you have any other suggestions?

Closed due to inappropriate, we will look for another suitable way to solve this issue.


Swap to calling Errorf instead of Fatalf from Cleanup

Codecov Report

Merging #46 (2b8a70b) into master (fd3a99f) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #46   +/-   ##
=======================================
  Coverage   99.31%   99.31%
=======================================
  Files           6        6
  Lines         437      437
=======================================
  Hits          434      434
  Misses          2        2
  Partials        1        1

Impacted Files
Coverage Δ

ensurepkg/ensurepkg.go
91.89% <100.00%> (ø)

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 fd3a99f...2b8a70b. Read the comment docs.


Fixed tabular_q_learning.py breaking in Python 3

color returns a float instead of int in Python 3. %x for color_string throws an exception. Fixed using a int typecast for color.

Thanks for spotting this! Python 2's "/" operator truncates to int, Python 3's doesn't... I thought we'd fixed all the places where this broke things, but this one slipped through the net - it doesn't actually get run as part of the integration tests (there's a TODO in there about that!), and apparently we never ran it manually when we did the Python upgrade.

Hi @DaveyBiggers and @ongzexuan,
Currently facing the same issue in Python_Examples/tutorial_6.py. It seems that this commit only addresses tabular_q_learning.py
Thanks,


Added travis ci support for node 6

Thanks again!
I would have added this with the next version, too :-)


remove low-quality icons

Motivation

Increase documentation quality
Enable developers to work-in without unnecessary distractions.

Description
A serious and complex technical project needs to have serious and focused documentation.
(complement: remove icon from the repository About section:
🌟 TypeScript Implementation of Ethereum Consensus)

Hey @abebeos , thanks for your contribution. We value your opinion and will leave this PR open for more commenting from other users and maintainers. We generally won't merge something in that doesn't have a majority consensus on whether the problem being solved here is in fact, a problem. And that this PR rectifies this problem.

I understand, just be aware that this problem would be more of a "Product Management" or "CTO" issue:
If your CTO or Product Manager does not see the problem (with the emojs), then you have a problem with your management (because it fails to introduce/enforce quality-criteria)
As for those who "vote":

Please show me one manual of a semiconductor that contains low-quality emojis (don't waste your time, you won't find one).

(Just to clarify: those emojis are nicely blockable via e.g. AdBlockPlus - I do not see them anymore in my browser, the problem is solved for me personally.)

Would be in favor of keeping the emojis as they convey additional information.

(Just to clarify: those emojis are nicely blockable via e.g. AdBlockPlus - I do not see them anymore in my browser, the problem is solved for me personally.)

that't great that you found a solution to get rid of these abominations 😄
P.S. let's not advertise for AdBlockPlus here, people should use proper ad blocker such as uBlock which is open source and transparent about how it blocks ads

This "fun oriented" mentality keeps Ethereum and (crypto in general) back.
Lets get serious:

additional information

Over-information, redundant cognitive load


[backport] Update documentation requirements

Backport of #4630

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 8cbad3e8e6f30bea42c401495962a9e84679c111, target branch v8) succeeded!


Windows: Refactor daemon

Signed-off-by: John Howard<EMAIL_ADDRESS>@swernli
This PR is part of the proposal described in issue 10662 to port the docker daemon to Windows. This PR splits daemon\daemon.go into platform specific parts, thus for example, removing the dependency on vfs and lxc in the Windows daemon. It also corrects the use of filepath instead of path.
Note: This is a replacement for PR12933 (my git skills let me down).

Rebased and reworked after libnetwork coming in.

Rebased again.

@tiborvass @crosbymichael - since you commented on the original PR, could you review please.

@ahmetalpbalkan - DockerSuite.TestLogsSince is failing on Windows. Was that the same test you had previously fixed? Can you take a look please as this change shouldn't have any effect on that test. Thx.

@jhowardmsft looks like it's flaky, I rebuilt and it's green now. It's been merged 2 weeks ago, never heard of any such problems. Could be a time drift on the test VM. I'll follow up if it happens again.

@calavera Updated. Thanks for looking

FYI @tianon @icecrime @crosbymichael
Is there any chance I could get some more reviews on this PR - it's one of 3 outstanding PRs which when merged will allow Windows daemon build CI to be turned on :) Full list is 13617, 12813 & 13272

Rebased (yet!) again :(

A minor comment, but LGTM

Rebased again. Lost count of how many times now!

LGTM

:sunglasses: neat! congrats.

Thanks for being so patient, @jhowardmsft!

Thanks everyone. This was a really important one to get in to get Windows daemon CI turned on in Jenkins :+1:


Fix not being able to install Lens metrics

Signed-off-by: Sebastian Malton<EMAIL_ADDRESS>

this would impact anything that uses resource-applier, not just Lens Metrics

Fair, though I think the most common case would be this


[Frontend] User sign up page

When user click "created account", we will show an introduction page:

When user click "start the journey", we will require user to download the private key before the next steps

figma: https://www.figma.com/file/BPaDYx9xn4OFejQlUwpF4g?node-id=328:1371#424563658
related to #10

I think we already did the sign-up page here: https://github.com/State-Channel-4/Channel4-pocv2/pull/42


Revert "Phantom "entry point not found" error in the Playground (#1628)"

This reverts commit 6640e8f601bde083f2ea8f75cfe9a6283ff62949.
See https://github.com/microsoft/qsharp/issues/1577#issuecomment-2172459882

Duplicate PR.


[AWS] Domain Name

This setup requires domainname in docker compose but AWS ECS task does not have such property. Any idea how to solve this ? amavis won't start because it doesn't have a FQDN in the hostname.

ECS may not offer the flexibility required. I'm successfully running my server on a t2.micro instance.

@ttermeer-ouat can you try without docker-compose using docker run -h mail.domain.tld?

Unfortunately EB and ECS does not expose docker run call. You have to create task definition using AWS modified version of docker property.
Here is the list of available parameters : http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/task_definition_parameters.html

There is a hostname parameter in the page you linked.

hostname
Type: string
Required: no

The hostname to use for your container. This parameter maps to Hostname in the Create a container section of the Docker Remote API and the --hostname option to docker run.

"hostname": "string"

I close this issue because it's not related to our image.
Let us know how it works on AWS with the suggested parameter.
Thank you @ttermeer-ouat


fixed multiple occurrences of itemprop return only last value ~ resolves #5

Also:

added flag to disable JSON.stringify of the resulting data object
added basic .editorconfig

microdata.parse(html) now accepts html as first parameter (old signature support is preserved)
fixed microdata.parseUrl(url, callback) callback not called if underlying http request returned error
removed internal usage of global vars + other code cleanup and refactor
updated doc to JSDoc

Thanks @Yurko-Fedoriv, very good job!

@tomav could you please publish new version to npm?

Done.


Update service-bus-performance-improvements.md

updating SendBatchAsync based on this request
https://github.com/Azure/azure-service-bus/issues/222

Microsoft authors of articles need to make updates through the private repository so the updates can be staged and validated by the current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
Public repo URL: https://github.com/Microsoft/azure-docs/blob/master/articles/azure-portal-overview.md
Private repo URL: https://github.com/Microsoft/azure-docs-pr/blob/master/articles/azure-portal-overview.md
We have closed this pull request. Please resubmit the updates through the private repo. If you need perms to the private repo, see the contributor guide instructions


implement snapshots validation

Snapshots get cleaned in this way:

Everytime a test has at least one toMatchSnapshot:
we keep track of which snapshots didn't run, we delete those in save
If a test file exists but there's no toMatchSnapshot:
same logic as above, plus save will now tell if a snapshot existed
previously so that we can add it to the summary
if the test file no longer exists:
we use the hastemap at the end of the run to check if all the
snapshots have an associated test file, we then delete the orphan one.

I left a bunch of comments regarding code style, variable naming and maintenance concerns. Overall your solution looks good and those are just minor comments.
One high-level comment: I believe that we should consider the update flag for validation: all validations should make the test file throw, even if it was deleted (we'll just produce a "fake" result entry). It should then highlight in the summary that snapshots aren't valid any more and have to be cleaned up, and jest -u should be used to do that. What do you think?

@facebook-github-bot import

Thanks for importing. If you are an FB employee go to Phabricator to review.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


"cannot import name viewkeys" on HEAD

Just to warn you that updating your scrip to fetch the HEAD (given a COMMIT ID in the build args) gives the following error:
Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 4, in <module>
    __import__('pkg_resources').run_script('airflow==1.9.0.dev0+apache.incubating', 'airflow')
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 738, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1499, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/lib/python2.7/dist-packages/airflow-1.9.0.dev0+apache.incubating-py2.7.egg/EGG-INFO/scripts/airflow", line 28, in <module>
    args.func(args)
  File "/usr/local/lib/python2.7/dist-packages/airflow-1.9.0.dev0+apache.incubating-py2.7.egg/airflow/bin/cli.py", line 734, in webserver
    app = cached_app(conf)
  File "/usr/local/lib/python2.7/dist-packages/airflow-1.9.0.dev0+apache.incubating-py2.7.egg/airflow/www/app.py", line 161, in cached_app
    app = create_app(config)
  File "/usr/local/lib/python2.7/dist-packages/airflow-1.9.0.dev0+apache.incubating-py2.7.egg/airflow/www/app.py", line 60, in create_app
    from airflow.www import views
  File "/usr/local/lib/python2.7/dist-packages/airflow-1.9.0.dev0+apache.incubating-py2.7.egg/airflow/www/views.py", line 27, in <module>
    import bleach
  File "/usr/local/lib/python2.7/dist-packages/bleach-2.0.0-py2.7.egg/bleach/__init__.py", line 5, in <module>
    from bleach.linkifier import (
  File "/usr/local/lib/python2.7/dist-packages/bleach-2.0.0-py2.7.egg/bleach/linkifier.py", line 4, in <module>
    import html5lib
  File "build/bdist.linux-x86_64/egg/html5lib/__init__.py", line 16, in <module>
  File "build/bdist.linux-x86_64/egg/html5lib/html5parser.py", line 2, in <module>
ImportError: cannot import name viewkeys

Hi,
I'm only maintaining the current stable version.
Thanks


Add image loader

Add an image loader to improve such as https://frontend-digest.com/progressively-loading-images-in-react-107cb075417a

https://www.freecodecamp.org/news/how-to-lazy-load-images-in-react/


proposal: crypto/x509: expose hash algorithm for SignatureAlgorithm

What version of Go are you using (go version)?

$ go version
go version go1.12.7 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/matt/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/matt/Documents/work"
GOPROXY=""
GORACE=""
GOROOT="/opt/local/lib/go"
GOTMPDIR=""
GOTOOLDIR="/opt/local/lib/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="/usr/bin/clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/_k/xdj1vdy51gb4pbncgvq0p03w0000gn/T/go-build134256866=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

As part of generating TLS channel bindings (RFC 5929) it is necessary to generate a hash of a given certificate using the hashing algorithm used in its SignatureAlgorithm, (with some exceptions documented in the RFC). So for example a SignatureAlgorithm of x509.SHA256WithRSA should use crypto.SHA256 to generate its tls-server-end-point channel binding type, etc.
What did you expect to see?
I was hoping to have a method on SignatureAlgorithm to return its associated crypto.Hash. This information is available in the unexported signatureAlgorithmDetails struct.
What did you see instead?
For now, I have made my own map[x509.SignatureAlgorithm]crypto.Hash but as new algorithms are added this needs to be kept in sync, (x509.PureEd25519 for example has been added to the source since 1.12.7).
I propose adding a simple method along the lines of:
func (algo SignatureAlgorithm) Hash() crypto.Hash {
        for _, details := range signatureAlgorithmDetails {
                if details.algo == algo {
                        return details.hash
                }
        }
        return crypto.Hash(0)
}

/cc @FiloSottile

Thank you for this request @bodgit and welcome to the Go project!
Thank you @julieqiu for the triage and tag.
While this request and its corresponding CL are simple and straight forward, and it follows pretty much what we did for (SignatureAlgorithm).String() https://golang.org/pkg/crypto/x509/#SignatureAlgorithm.String, I have tagged it as a proposal because it increases the API surface.

What are we supposed to return for Ed25519? What does channel binding end up using with it?

This is what the RFC says:

if the certificate's signatureAlgorithm uses no hash functions or
uses multiple hash functions, then this channel binding type's
channel bindings are undefined at this time (updates to is channel
binding type may occur to address this issue if it ever arises).

So as you would be returning crypto.Hash(0) for Ed25519 that would seem to be perfectly valid.

IIRC tls-unique was mostly dropped following the SLOTH attacks, and is not even supported in TLS 1.3.
Would this API have any other use case than RFC 5929 channel bindings?

IIRC tls-unique was mostly dropped following the SLOTH attacks, and is not even supported in TLS 1.3.

I wasn't using tls-unique, only tls-server-end-point that I was required to use, which IIRC is used to guard against MITM attacks.

Would this API have any other use case than RFC 5929 channel bindings?

No idea TBH. As it stands the implementation literally just returns the associated struct member; the logic documented in the RFC for using SHA256 in place of MD5 or SHA1 remains the responsibility of the calling code, it's not part of this PR.

It'd be nice to see this merged.
This would be useful in environments that implement custom TLS verification based on a Hash block list. At the moment we're just using a rudimentary strings.Contains(..., "SHA-1")

Adding to proposal minutes. Is this something people still need?

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Based on the discussion above, this proposal seems like a likely decline.
— rsc for the proposal review group

No change in consensus, so declined.
— rsc for the proposal review group


Added props to loading component

Added component props to loading component.
I bumped in to situation where I need to make some logic inside loading component this props passed to Loadable.
For example:
export default Loadable({
  loader: () => import('./component'),
  loading: (props) => <LoadingComponent {...props} />
})

class App extends React.Component {
  render() {
    return() {
      <Loadable beforeLoading={noop} afterLoading={noop}/>
    }
  }
}

class LoadingComponent extends React.Component {
  componentDidMount() {
    this.props.beforeLoading()
  }

  componentWillUnmount() {
    this.props.afterLoading()
  }

  render() {
    Loading...
  }
}

@jamiebuilds  q

Look at past pull requests before you open a new one

@jamiebuilds the fact that so many other people have opened PRs (and AFAICT are still struggling to understand the proposed workarounds in the ongoing discussion on e.g. #88, #113) seems to indicate a lot of demand for this :P.
For me the use-case is simply to pass some props to the loading component so that the loading component can do a better "quick and dirty" render before being replaced by the real component. (I don't want to do more fancy things like "dynamically choosing the component based on the props" as #88 mentions.) You said that supporting this doesn't play well with SSR, but I can't imagine why my simple use case would cause a problem.
Maybe some of the more dynamic things people want to do wouldn't work with SSR, but I think this would be a more capable library if it just passed the props to the loader since a) not everyone wants to do fancy dynamic things and b) not everyone is using SSR.
Maybe there could be an asterisk in the documentation saying dynamic loader tricks aren't supported but any "normal" React patterns will work fine. FWIW passing the props seems like the completely obvious way this should work (I was surprised when it wasn't) whereas overriding the Loadable render method is unintuitive.

So fork it, I don't want it


[Issue]: Unable to run the python files due to docker usage.

Describe the issue
I followed instruction and have set the Docker to false, but when I ran the python file, it keeps showing errors that I need to "ValueError: Invalid value for AUTOGEN_USE_DOCKER: 0/False/no. Please set AUTOGEN_USE_DOCKER to "1/True/yes", "0/False/no", or "None"."
setx AUTOGEN_USE_DOCKER "0/False/no"
echo %AUTOGEN_USE_DOCKER%
code_execution_config=False,
Steps to reproduce
No response
Screenshots and logs
No response
Additional Information
No response

You have to set the env variable's value to one of "0/False/no" in case you want to disable docker.
setx AUTOGEN_USE_DOCKER no

I guess the error message here could be better worded.

Hi @kwanweijeat, is your issue addressed with suggestion from @Gr3atWh173? Thanks!


Having both "Exclude VCS Ignored Paths" and "Hide VCS Ignored Paths" settings is confusing

The Exclude VCS Ignored Paths setting under Core Settings commonly gets confused with the similar setting under the Tree View package, Hide VCS Ignored Paths. I believe the first is for excluding files from search and the latter is for the tree view itself.
For an idealized UI I'd vote for removing both settings and adding a new one that is a Select box where we can select to exclude (from search and tree view), exclude from search only, and show. It doesn't make sense (to me) to allow not showing in the tree view but showing up in search.
We could also just add some explanation text to both settings if the above is too radical a change.
// ref #8270

Another option would be to rename the settings to Exclude VCS Ignored Paths From Search and Hide VCS Ignored Paths from Tree View, respectively.  Of course, if either of the settings has a broader impact, then this won't work :P.

I'm here because I wanted to file a bug that Exclude VCS Ignored Paths is not honoured in TreeView, so yeah, it's confusing :smile:

The check box would be more clear if it was: "Hide .gitignore files"

@tomByrer In your variant, I would believe that by checking the checkbox it will hide the .gitignore file itself from the tree view, which is not the intended function.

I second this. Having both settings is confusing. Especially as you have to dig a bit to get to the tree-view settings.
 For future sailors: pressing i in the tree view will toggle your ignored files. You might find this useful in diagnosing why they disappeared in the first place.


전화 걸려왔을 때 앱 실행 구현

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our convention
[x] Tests for the changes have been added (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Feature
[ ] Bugfix
[ ] Refactor (no functional changes, no api changes)
[ ] Design changes
[ ] Comment added
[ ] Code style update (formatting, local variables)
[ ] Test code added
[x] Chore (other changes)
[ ] Init
[ ] Rename
[ ] Remove
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

아주 멋지네요


⚠ BroadcasTheNet has degraded performance

In 0d456e2, BroadcasTheNet ($BTN) experienced degraded performance:

HTTP code: 200
Response time: 2430 ms

Resolved: BroadcasTheNet performance has improved in 238630e after 6 minutes.


FIxing typo on "propagate" modifier

As mentioned here, this fix a typo on the "propagate" modifier which wasn't spelled correctly.

...and I completely screwed up rebasing my fork. Sorry for that.

I'm checking!! thank you so much

Thanks @iFgR! Could you also release a version to npm when it's merged please?


mysql57: 5.7.23 -> 5.7.24

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mysql/versions.
meta.description for mysql57 is: '"The world's most popular open source database"'.

Checks done (click to expand)

built on NixOS
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqldumpslow had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqld_multi had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/myisam_ftdump had a zero exit code or showed the expected version
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/myisamchk passed the binary check.
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/myisamlog had a zero exit code or showed the expected version
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/myisampack passed the binary check.
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqlxtest had a zero exit code or showed the expected version
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/my_print_defaults passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/perror passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/resolveip passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/replace passed the binary check.
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/lz4_decompress had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/zlib_decompress had a zero exit code or showed the expected version
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/innochecksum passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/resolve_stack_dump passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_upgrade passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqltest passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqlcheck passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqldump passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqlimport passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqlshow passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_plugin passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqlbinlog passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqladmin passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqlslap passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_config_editor passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_secure_installation passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_install_db passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_ssl_rsa_setup passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqlpump passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_client_test passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqld passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_tzinfo_to_sql passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_embedded passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqltest_embedded passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_client_test_embedded passed the binary check.
/nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysql_config passed the binary check.
Warning: no invocation of /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin/mysqld_safe had a zero exit code or showed the expected version
31 of 39 passed binary check by having a zero exit code.
1 of 39 passed binary check by having the new version present in output.
found 5.7.24 with grep in /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24
directory tree listing: https://gist.github.com/e773173d4cb2eee8023ba0459491fcfb
du listing: https://gist.github.com/9785af5dad03615d69d41ddba4d3c073

Outpath report (click to expand)

Outpath difference report
24 total rebuild paths
8 package rebuilds
8 x86_64-linux rebuilds
6 i686-linux rebuilds
4 x86_64-darwin rebuilds
6 aarch64-linux rebuilds
First ten rebuilds by attrpath
amarok
amarok-kf5
gdal_1_11
gplates
libmysqlconnectorcpp
mysql-workbench
mysql57
powerdns

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A mysql57 https://github.com/r-ryantm/nixpkgs/archive/0406263ec95c40215f8f39a935d631c95b0b88c6.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24
ls -la /nix/store/352s7z72pp80ib52ycvc33az43nziqc5-mysql-5.7.24/bin

Failure on x86_64-darwin (full log)
Attempted: mysql57
Partial log (click to expand)
/nix/store/l9rv7ibbgbb17dwng4n6wj74i4h4h336-protobuf-3.6.1/include/google/protobuf/repeated_field.h:1928:31: error: unknown type name 'noexcept'
    RepeatedPtrField&& other) noexcept
                              ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [rapid/plugin/x/CMakeFiles/mysqlxtest.dir/build.make:179: rapid/plugin/x/CMakeFiles/mysqlxtest.dir/mysqlxtest_src/message_formatter.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4428: rapid/plugin/x/CMakeFiles/mysqlxtest.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/2dckkwwpbgydxr4jzr5g4hrq1jflmndx-mysql-5.7.24.drv' failed with exit code 2
error: build of '/nix/store/2dckkwwpbgydxr4jzr5g4hrq1jflmndx-mysql-5.7.24.drv' failed

@GrahamcOfBorg build mysql57

Success on aarch64-linux (full log)
Attempted: mysql57
Partial log (click to expand)
/nix/store/9wmxs4i7d8fifh7l32jkda8zm94mqgf3-mysql-5.7.24

Failure on x86_64-darwin (full log)
Attempted: mysql57
Partial log (click to expand)
/nix/store/l9rv7ibbgbb17dwng4n6wj74i4h4h336-protobuf-3.6.1/include/google/protobuf/repeated_field.h:1928:31: error: unknown type name 'noexcept'
    RepeatedPtrField&& other) noexcept
                              ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [rapid/plugin/x/CMakeFiles/mysqlxtest.dir/build.make:179: rapid/plugin/x/CMakeFiles/mysqlxtest.dir/mysqlxtest_src/message_formatter.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4428: rapid/plugin/x/CMakeFiles/mysqlxtest.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/2dckkwwpbgydxr4jzr5g4hrq1jflmndx-mysql-5.7.24.drv' failed with exit code 2
error: build of '/nix/store/2dckkwwpbgydxr4jzr5g4hrq1jflmndx-mysql-5.7.24.drv' failed

Timed out, unknown build status on x86_64-linux (full log)
Attempted: mysql57
Partial log (click to expand)
                 from /build/mysql-5.7.24/sql/item_geofunc_buffer.cc:24:
/nix/store/6qmfmricr58bjivgr16y9sjisakdykag-gcc-7.3.0/include/c++/7.3.0/bits/unique_ptr.h:51:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
[ 73%] Building CXX object sql/CMakeFiles/sql.dir/item_geofunc_internal.cc.o
[ 73%] Building CXX object sql/CMakeFiles/sql.dir/item_geofunc_relchecks.cc.o
[ 73%] Building CXX object sql/CMakeFiles/sql.dir/item_geofunc_relchecks_bgwrap.cc.o
[ 73%] Building CXX object sql/CMakeFiles/sql.dir/item_geofunc_setops.cc.o
building of '/nix/store/vb1bnbj2zyk13y1yvhgy1m0mbap9bw5n-mysql-5.7.24.drv' timed out after 3600 seconds
error: build of '/nix/store/vb1bnbj2zyk13y1yvhgy1m0mbap9bw5n-mysql-5.7.24.drv' failed

Since borg timed out, built locally.


sipML5 error and  MicroSIP error

WebSocket connection to 'wss://myip:8089/' failed: Error during WebSocket handshake: Unexpected response code: 404
__tsip_transport_ws_start @ SIPml-api.js?svn=252:1

change to wss://myip:8089/ws , it work well , thanks


Private/One-off dependencies/layers

Sometimes, I want to create a separate layer, that is used only once for another layer to declare dependencies only for this particular layer. It is better explained on these 2 examples:

External library that should be used only by one particular layer
In this case, I might via vendor include a library that should be used only by this particular layer and nobody else. Right now I would have to create a separate named layer, make sure it will be always hidden in most outputs (like graphviz) to ensure this
Domain that has a public API and private "implementation"
Here I want to provide only a few classes to be available to use by other domains/layers that call the internal implementation of the domain that on the other hand should not be under any circumstances available to anybody else other than the public API layer. This result in me often creating "Domain" and "Domain Private" layers to make this possible in Deptrac

It would be nice if every layer had another key like collectors, something like backend/private_collectors that would look the same as current collectors, but tokens collected would be available only to this layer. Access by anybody else would be a violation.
Do you think this feature would be useful? Or is this just my convoluted use case? If so, it should be fairly trivial to implement, so I would take a stab at it.

I like the idea, but instead of having a new section how about having an associative options array, we can pass into collectors instead, e.g. like this:
layers:
  - name: MyDomain
    collectors:
      - type: className
        regex: '...'
        options:
          private: true


PacReq:

Types
-deb (Debian achieve release of the package)
URL
https://github.com/videolan/vlc
Building guide
No response
Additional context
No response

Anyway, Debian version (.deb) are already present in their official repository both for Debian and Ubuntu (which it's based on Debian). Maybe you want to request for present it here for tarball versions or git versions (because you gave the source code links), or maybe you want AppImage versions (https://appimage.github.io/VLC/) ?


Extension for encoder-decoder attention

Hello and thanks for your work.
I wonder if this algorithm can be extended to use for encoder-decoder attention.
In the decoder, I guess it is possible to unpad -> self-attention -> pad again to deal with the subsequent EDA. However, is it possible to implement EDA using this method, such that both queries and (keys values) are unpadded?
Thanks!

Yes, I think we can support encoder-decoder attention.
Is the difference that Q can have different sequence length compared to K & V?

Yes, that is the only difference as far as I can tell. Thank you for the answer

I see. And would Q also have a padding mask in case the query sequences in the batch have different lengths?

You're right, it doesn't affect the result. We've been focusing on speed / memory so ideally we'd avoid redundant computation.
I haven't used cross attention much so I'm just trying to understand how it's used. Maybe in translation decoding Q might have a mask? I'm not sure.
In any case I'll try to find some time this weekend to implement it. Should be straightforward (hopefully).

In most translation decoders Q don't have masking simply because the sequences are padded to the right, so causal masking is just enough. Its trivial to make such mask though, to remove the redundant computation.

oh by the way, I am not an expert in low level optimization. But from reading your paper, I understand that it is possible to fuse the gemm - gelu/relu- dropout - gemm in one kernel?
In your paper, the 3x speed up compared to a HF baseline is done only with flashattention and without any optimization in layernorm/FFN/softmax, is it correct?

Gemms are hard to fuse because each output element depends on many input elements, so you have to figure out how to parallelize the computation the right way. Moreover, gemms tend to be compute-bound and not memory-bound. Nvidia has done some work on fusing Gemm + ReLU/GELU in cuBlasLT. I'm not aware of any implementation that can fuse gemm + activation + another gemm in the FFN layer into one kernel.
In our GPT2 implementation we use FlashAttention and a standard FFN layer. You can probably get even more speedup if you fuse Gemm + GELU.

Oh NVIDIA CUTLASS has some examples for fusing 2 gemms.
https://github.com/NVIDIA/cutlass/tree/master/examples/13_two_tensor_op_fusion
Thanks for the answer! Crossing fingers for the cross attention.

I see, thanks for the pointer! Let me check it out.

I was thinking about trying to implement this, starting from the set_params function
https://github.com/HazyResearch/flash-attention/blob/main/csrc/flash_attn/fmha_api.cpp#L33
If we have Q and KV of different lengths, then we need max_s and cu_seqlens for each (assuming Q and KV are unpadded)? I don't really understand how the algorithm works with unpadded tensors, do you need to rearrange and pad them, like this figure: (From Effective Transformer)
https://github.com/bytedance/effective_transformer/blob/master/images/1.png

FasterTransformer also has an illustration.
Our cu_seqlens is essentially their sequence length offset.
You're right, we'll need max_s and cu_seqlens for each. The CUDA code only works on unpadded tensors and assumes that the unpadding step is done outside.
I've started to refactor the code that reads/writes from/to global memory to store pointers to Q, K, V separately.
Got caught up thinking about some other technical problem so I didn't finish the cross-attention stuff yet.
Hopefully this week or next.

Thank you for the implementation of the general case with Q and KV separated :)


Add an option to use | as a separator in $permissions

https://adguard.com/kb/general/ad-filtering/create-own-filters/#permissions-modifier
https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#permissions
Change \, to | as more simple and habitual.
AdGuard:
$permissions=storage-access=()\, camera=()
uBO:
*$permissions=oversized-images=()|unsized-media=()

thank you 👍


BLD: Generate config.h header file

Hi @HaoZeke,
Here's my attempt to generate config.h file for OpenBLAS project.
With this change I can successfully build it on qgpu Linux machine with commands:
meson setup build --reconfigure --buildtype release
meson compile -C build

Design
The config.h header generation is divided into several steps:

First we need to run c_check and f_check scripts. This is done in the setup stage by using run_command(...). Thanks to this we have _config_1.h with the first batch of contents. TODO: ./build/ path is hardcoded. It should use meson-provided path.
The rest of steps happen in meson compile stage. Then we compile getarch.
Next we define a custom target _config_2.h that is the output of ./getarch 1
Then we merge _config_1.h and _config_2.h into _config_for_getarch_2nd.h into one custom target.
Compiling getarch_2nd with _config_for_getarch_2nd_h dependency.
The last piece of header input that we need is _config_3.h which is a custom target from calling ./getarch_2nd 1.
The last step is merging _config_for_getarch_2nd.h and _config_3.h into a final config.h.

Then I add config_h as an input in all static_library(...) which require config.h header.
I followed the pattern described in https://mesonbuild.com/Generating-sources.html#generating-headers to implement it. Ideally we could remove the intermediate _config...h but it's a detail.
Questions

WDYT about this approach? The generated config.h is exactly as make one on my Linux machine.
In getarch_2nd.c I had to add an #ifndef to include my merged pre-header as meson doesn't allow targets with the same name. It's behind a BUILD_WITH_MESON that I set in meson.build. Does it make sense?
I had to comment out three lines in lapack-netlib/meson.build as add_project_arguments can't happen after the first custom_target (I think) but it only sets a warning flag.

I like this, its more concise and elegant than what I had in mind with the subprojects, some nits aside this would be the way forward.

Addressed all comments!

Almost there, oddly enough my getarch 1 is slightly different with this setup than make
0a1
> // ./c_check Makefile.conf config.h gcc
6a8
> // ./f_check Makefile.conf config.h gfortran
9c11
<
---
> // ./getarch 1
11c13
< #define L1_CODE_SIZE 32768
---
> #define L1_CODE_SIZE 65536
14,15c16,17
< #define L1_DATA_SIZE 49152
< #define L1_DATA_ASSOCIATIVE 12
---
> #define L1_DATA_SIZE 32768
> #define L1_DATA_ASSOCIATIVE 8
17,18c19,20
< #define L2_SIZE 1310720
< #define L2_ASSOCIATIVE 7
---
> #define L2_SIZE 2097152
> #define L2_ASSOCIATIVE 16
37,38c39
<
<
---
> // From getarch_2nd
44d44
<

I'll try to see why soonish.

@HaoZeke I think it might be a missing flag when building getarch binary (I think this output is from getach 1 call)
getarch in make is build with:
getarch : getarch.c cpuid.S dummy $(CPUIDEMU)
	avx512=$$(./c_check$(SCRIPTSUFFIX) - - "$(CC)" $(TARGET_FLAGS) $(CFLAGS) | grep NO_AVX512); \
	rv64gv=$$(./c_check$(SCRIPTSUFFIX) - - "$(CC)" $(TARGET_FLAGS) $(CFLAGS) | grep NO_RV64GV); \
	$(HOSTCC) $(HOST_CFLAGS) $(EXFLAGS) $${avx512:+-D$${avx512}} $${rv64gv:+-D$${rv64gv}} -o $(@F) getarch.c cpuid.S $(CPUIDEMU)

where with meson.build it's a simple executable('getarch', ['getarch.c', 'cpuid.S'])
Maybe a missing flag?

With make -n -p I get:
'/OpenBLAS' avx512=$$(./c_check - - "/micromamba/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc"  -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /micromamba/envs/numpy-dev/include | grep NO_AVX512); \ rv64gv=$$(./c_check - - "/micromamba/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc"  -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /micromamba/envs/numpy-dev/include | grep NO_RV64GV); \ /micromamba/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc -march=native -DGEMM_MULTITHREAD_THRESHOLD=4 -DNO_PARALLEL_MAKE=0  $${avx512:+-D$${avx512}} $${rv64gv:+-D$${rv64gv}} -o getarch getarch.c cpuid.S  ./c_check Makefile.conf config.h

However both avx512 and rv64gv are empty with this invocation, and even without any additional flags:
gcc getarch.c cpuid.S -o fakegetarch
./c_check Makefile.conf blah gcc
./f_check Makefile.conf blah gfortran
./fakegetarch 1 >> blah
./getarch_2nd 1 >> blah
diff blah wrking_conf.h

Gives the correct set of #defines.
0a1
> // ./c_check Makefile.conf config.h gcc
6a8
> // ./f_check Makefile.conf config.h gfortran
8a11
> // ./getarch 1
35a39
> // From getarch_2nd

More clearly with $(warning) calls, cflags is -march=native -DGEMM_MULTITHREAD_THRESHOLD=4 -DNO_PARALLEL_MAKE=0.
Will look into the meson build more.

Weirdly works for me now

Thanks @mtsokol 🚀


No Audio in recordings longer than 10 seconds

Platform:
OSX 10.11.6
Kap Version:
<IP_ADDRESS>
Steps to reproduce
Create a screen recording including audio for longer than 10 seconds
Current behaviour
Audio is missing in videos longer than 10 seconds. Clips under 10 seconds include audio. Multiple input sources provide the same behavior.
Expected behaviour
Audio to be included regardless of duration
Workaround
None

I wonder if this might somehow be related to #128. Could you give us some more information about your system? RAM, OS version and anything else you think might be useful for us to know.

This is happening on a Mid-15 15" i7 Macbook Pro w/ 16gb ram running El Capitan 10.11.6. The only thing of note that I can think of is that it's connected to and recording the screen of an external display connected via thunderbolt Just did a test without external display with the same result. This happens with or without typing or mouse interaction.
I tested multiple times with various mic input devices, with two recordings each, both where I simply started recording and spoke (no typing or mouse movement) - one for under 10 seconds, one for over 10 seconds.

I can reproduce 😩 I wonder if this is somehow fixed on Sierra? (I'm on El Capitan)

Hey guys Apparently this related to this issue http://stackoverflow.com/questions/26768987/avcapturesession-audio-doesnt-work-for-long-videos

@Khaledgarbaya I was concerned that this could be the issue 😕 We had movieFragmentInterval before, but we removed it since it was making the Kaptures invalid to Twitter, for example. @sindresorhus any ideas?

 Setting movieFragmentInterval to 1 second caused a semi-corrupt file. Not setting it (default 10 seconds) seems to cut off audio at that point, and setting it to invalid fixes it, but also makes the whole file corrupt if the recording does not end properly. I guess the latter is the least worst, so we can go with that if @matheuss agrees.

Yeah, seems like there is no magic recipe for this, I saw some people setting it to 5 seconds, maybe before stopping the recording kap should count for the timer and gives a bit of buffer time to allow for the last fragment to be written or disable the fragment writing. I wanted to test this in aperture last night but seems like the master somehow broken. complaining about getAudioSources does not exist.

@sindresorhus looks like it's the best option, I'm ok with it. I wonder how QuickTime handles this 🤔

Is there a fix for this? I'm trying to record a video and getting no sound on long videos.

@freelancesam You could build the app from master yourself but it isn't production ready so you'd have to deal with some non-styled things at the moment. I'll be working on Kap this week to we can get this fix ASAP 🤞

@freelancesam @CodeTheory this is fixed since the last release 🤗 See https://github.com/wulkano/kap/releases/tag/v1.0.1 👌

Ah! Wasn't aware because of the milestone labels on this issue 🙈
@freelancesam do you have the latest release? Does it work as intended?


fix layout for odd spacing

doesnt fix it by itself --> this cant be separate from the style system fix as it's due to a few lingering issues + this then


Refactor airtable token refresh

This change will move airtable token refresh to when the attempt to reach airtable fails instead of on each request.
This aligns with the airtable style and should work better and increase availability.

Did you/can you manually test these changes?

These tests have been manually verified - going ahead and rewriting the condition.

After some additional discussion - noted that the current behavior does depend upon failures/exceptions to branch logic - no easy way forward right now without reconfiguring dependencies.  Can revisit upon further investment into this action.


Add my project, please: Tally

Project details!

GitHub repo, GPLv3
Email or Twitter<EMAIL_ADDRESS>+ @tallycash

Added, thanks! :)


Some type parameters do not follow naming conventions

While looking at https://github.com/vaadin/hilla/blob/main/packages/java/parser-jvm-core/src/test/java/dev/hilla/parser/test/helpers/context/AbstractContext.java, I was trying to find the ReflectionOrigin class returned by getReflectionOrigin. Turns out it is a type parameter.
The "official" Java convention for type parameter is to use single uppercase letters.
Some developers want to use meaningful names. In that case, uppercase names are used sometimes. Google proposed to append a T to the name, like ReflectionOriginT.
But in this case, I think that T is perfectly fine, as all other names, like the cited method name, already describe what type is expected.
I haven't found an IDEA inspection to search names that do not follow any convention.

Here's some inspiration for what kind of mayhem you can cause with type parameter names that look like regular types: https://horstmann.com/unblog/2022-07-20/index.html


[Feature Request] At Pull Request: download patchfile [Button]

add a option to download the patch of the PullRequest
GitLab has a buton and Github does via link
For example:
-> https://patch-diff.githubusercontent.com/raw/alpinelinux/aports/pull/10887.patch
-> https://patch-diff.githubusercontent.com/raw/alpinelinux/aports/pull/10887.diff

What about your use case for this feature request?

It's basically copying GitHub functionality, but allows Gitea to function a bit like a patch server. I could imagine it being necessary to form part of federation or to allow Gitea to integrate with other VCS s.
It's not a high priority issue afaics just a nice to have.

@6543 Did you mean https://gitea.com/gitnex/GitNex/pulls/122.patch ?

@zeripath you are right :low_prio: ... this is a note for a nice to have fumction
@lunny this are only demo links how it can look like (kan add a gitlab demo too butvdont think it is nessesary)

I think @lunny means that the code for this is already present:
https://gitea.com/gitea/log/pulls/10.patch
https://gitea.com/gitea/log/pulls/10.diff
(Which are both public PRs so anyone should be able to see.)
I guess the issue is that the links aren't displayed anywhere.

Yes, so we only need a button or a link on a suitable place.

I'm searching in the docu if there is a note ..

and I'll search for the button too - perhaps i find a place

@lunny does gogs have this too?

make "Show  Diff Stats" to a dropdown menue "Diff Options" wich contain

"Show Stats"
"Download Patch"
"Download Diff"

?

Sounds reasonable.

-> https://github.com/go-gitea/gitea/pull/8470


feat(ibis): added support for snowflake data source

This PR solves the issue #709 (in progress)

Close inactive PR.


Caption Support

+1

Any feedback on this? :)

Ping @zvonicek

hi, @zvonicek
thank you write the library, i love it 😃
but now , i wanna add caption to every each photos,  so i come here, and i don't know how to add caption to eacth photos, i hope if you got time tell me how to do .
thank you again, sorry about my english .


Running the Repository inside a Docker Container

Hi @Hvass-Labs,
Can I add simple docker instructions so users can get up and running quickly? With Docker container, users don't have to install required software such as pythonand jupyter notebook since it is already available in docker container.
It is something like this but I can simplify it and update the readme with a short section for running the notebooks from the docker container.
docker run --rm -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/jovyan/work jupyter/datascience-notebook
great work by the way! 💯

Several of these Python Notebooks write data to disk (e.g. for saving/loading various data and for writing plots to graphics-files), and some of the Notebooks also use other Python packages that write and read data on disk (e.g. the SimFin package). I have investigated this aspect of Docker a bit more. It appears that writing data to disk from inside Docker containers is quite complicated, because it requires the creation of so-called Docker "volumes" that must be mounted and passed to the Docker container when running it, see here.
The instructions for setting this up for the end-user of this project, would probably become far more complicated than either running these Python Notebooks in a virtual environment, or using Google Colab if people don't want to install anything on their own computer - both these methods are already described in the README.
If I have mis-understood this aspect of Docker, then please explain how to easily write/read data on the local disk from inside Docker containers.
Maybe I will update the README with my reason for not having a Docker image.
In my investigation I also found that you can automatically build Docker images using Docker Hub, see here. That is actually pretty cool! But again, because some of these Notebooks need data i/o on the local disk, I think Docker is too complicated.
But thanks for the suggestion!

Oops, I just now see that the installation instructions in the README are outdated. They are missing instructions on how to create a virtual environment and install all the dependencies. I will update the README soon and hopefully that will make it easy enough to run these Notebooks without using Docker.


support native execution

This reverts to a previous version of substrate. We don't want to have it merged into main.
But we can keep it here in a branch and rebase from time to time.
The solution we want is to have the current substrate run in Native, probably through some changes in the substrate framework

replaced by #1407

replaced by https://github.com/keep-starknet-strange/madara/pull/1407


Claim & Check Plots

Key features:

Players should be able to claim a plot using a bot command if the plot is available on a given realm
Claim attempts that fall within the boundaries of another plot should receive an error message
Admins should able able to claim plots, either in behalf of the player or the server itself
Plot shape and size should be set per Realm, with the option to override either by admins
Admin status should be determined per realm using Discord roles (the role name should be configured at the server level)
Admins should be able to configure a minimum distance between plots
Players should be able to check the location of another player's plot by name
Players should be able to check their own plot by calling the command without any parameters
Admins should be able to configure a maximum number of plots for each player

A default value should be configurable
Admins should be able to increase or decrease the maximum number of "plot slots" per player

Players who have formed a group should be able to claim a plot for said group
Group plot defaults should be configured per server as well

Punted on minimum distance between plots for now, currently they just check for overlap.


HTML5 callbacks rework.

Fixes compatibility with emscripten 1.39.5+ .
Most input callbacks now require a target and no longer support NULL
defaults.
This commit changes all required null targets to the expected default in
the binding phase.
Since for canvas-related callbacks there is no default, the "#canvas"
selector is used instead.
Additionally, since canvasX and canvasY event properties are no longer
supported, event positions are computed from "clientX" and "clientY" and
the "#canvas" bounding client rect.
Fixes #35238

I've added this fix (and #35237) to my clone of 3.1.2-stable, after which I could compile with Emscripten 1.39.11. Thanks a lot! However, my games stopped working for a bit because my canvas didn't have its id set as canvas. Which makes sense looking at this code, but doesn't match what i would expect from the docs ("By default, the first canvas element on the page is used for rendering. To use a different canvas element the engine.setCanvas() can be used").
To fix this I changed GODOT_CANVAS_SELECTOR to just "canvas" and, for added consistency, EM_ASM_INT({ return document.getElementById('canvas').getBoundingClientRect().x; }); to EM_ASM_INT({ return document.querySelector(Module.UTF8ToString($0)).getBoundingClientRect().x; }, GODOT_CANVAS_SELECTOR); (same for y and by adding "UTF8ToString" to the EXTRA_EXPORTED_RUNTIME_METHODS in detect.py).
This works for me, but I think this should either be adjusted in the code or in the docs. And I wonder if this would work properly for someone using engine.setCanvas() to select their canvas with a non-default selector? What do you think?


Indexing not working when embedded struct is nil

So I think we are getting close to finally getting this figured :). Indexes weren't working correctly and I had to add this patch to fix (it passes go test as well). Also have you thought about changing this to support multi-depth embedded structs via an inline recursion function or similar?
diff --git a/store.go b/store.go
index 0915944..aa94f19 100644
--- a/store.go
+++ b/store.go
@@ -230,13 +230,14 @@ func (s *Store) newStorer(dataType interface{}) Storer {
                                                anonType := anonValue.Type()
                                                if anonType.Kind() == reflect.Ptr {
                                                        if anonValue.IsNil() {
-                                                               return nil, nil
+                                                               if tpType.Field(i).Name == name {
+                                                                       return nil, nil
+                                                               }
                                                        }
                                                        anonType = anonType.Elem()
                                                }
                                                for j := 0; j < anonType.NumField(); j++ {
                                                        if anonType.Field(j).Name == name {
-
                                                                return s.encode(anonValue.Interface())
                                                        }
                                                }
@@ -246,7 +247,7 @@ func (s *Store) newStorer(dataType interface{}) Storer {
                                                }
                                        }
                                }
-                               panic("Field " + name + " does not exist in this value")
+                               panic("Field \"" + name + "\" does not exist in this value")
                        }
                }
                if strings.Contains(string(field.Tag), BoltholdSliceIndexTag) {

As soon as you start supporting indexing recursively, things get very very complicated.  How do you handle linked-list like structures that point to themselves?  You'd create infinite loops try to recurse them.  When you have an index on a field that is part of slice of values that is part of a parent struct, what is the index actually pointing to?
I'm all for properly supporting anonymous structs, because they basically act like top level struct fields, but the data model doesn't really make sense for nested structures.

Can you send me specifically what type of struct you're using?  I'm not convinced your changes are fixing what you think they are, or else I'm misunderstanding the issue.
The tests have this struct:
type (
		Profile struct {
			Username string `boltholdIndex:"Username" json:"username"`
			Password string `json:"password"`
		}

		User struct {
			*Profile

			ID   string
			Name string
		}
	)

The index is on Username, but the name of the anonymous struct is Profile.  The issue fixed in the last patch was due to the fact that Profile (a pointer) was nil, and so we couldn't get the value of Username from a nil pointer parent.
Your patch checks to see if the index name matches the name of the anonymous struct, which would mean you're trying to put an index on the anonymous struct?  What am I missing?

yep put 2 anonymous structs in there
type (
		Profile struct {
			Username string `boltholdIndex:"Username" json:"username"`
			Password string `json:"password"`
		}
                Account struct {
			GuardianName string `boltholdIndex:"GuardianName" json:"name"`
			Create time.Time `json:"created"`
                }

		User struct {
			*Profile
                        *Account

			ID   string
			Name string
		}
	)

The GuardianName field in *Account wont return any value when attempting to build the index for it. The code sees that it exists, but then hits that return nil,nil and returns an empty string for the index value.

Ah, that makes more sense.  I've got enough to work off of now.  It is dropping out early when it shouldn't.
Thanks,

The nesting of anonymous structs is nice, since it allows you to keep potentially empty data from being saved into bolt. But I use structs like this quite often and it has only been recently that I have had enough data to care about indexing it. Sometimes this data is coming out of a foreign api that  for various reasons, I can't control or change the data structures. But, I may still need indexing on nested values. In any case, this library has been super helpful and I appreciate your efforts on it.
type (
	User struct {
		*Address
		*Account
		*History

		ID   string `boltholdKey:"ID" json:"id"`
		Team *Team  `json:"team"`
	}

	Customer struct {
		*Address
		*Account
		*History

		ID string `boltholdKey:"ID" json:"id"`
	}

        //this would likely be its own db, but also be used above in the user account,
       //to just store the id, etc. Upon a rest api call allows you to rehydrate into
       //a complete structure nested in the user account
	Team struct {
		*History

		ID   string `boltholdKey:"ID" json:"id"`
		Name string `json:"name"` //name given by user to this team
	}

	History struct {
		Created  time.Time `json:"created,omitempty"`
		Modified time.Time `json:"modified,omitempty"`
	}

	Address struct {
		Name     string `boltholdIndex:"Name" json:"name"` //name given by user to this team
		Address1 string `json:"address1"`
		Address2 string `json:"address2"`
		City     string `json:"city"`
		State    string `json:"state"`
		ZipCode  string `json:"zipcode"`
		Phone    string `boltholdIndex:"Phone" json:"phone"`
		Email    string `boltholdIndex:"Email" json:"email"`
	}

	Account struct {
		*Credentials

		IsActive  bool      `json:"is_active"`
		Hidden    bool      `json:"hidden"`
		Disabled  bool      `json:"disabled"`
		LastLogin time.Time `json:"last_login,omitempty"`
	}

	Credentials struct {
		Username string `boltholdIndex:"Username" json:"username,omitempty"`
		Password string `json:"password,omitempty"`
	}
)

Ah, I see.  Not Nested Structs, but Nested Anonymous structs.   Yeah, I'll see what I can do.  We'll still have a infinite recursion issue, but I think Gob encoding has the same issue.

Yes sorry, nested anonymous structs. I agree, but really, I think that comes down to developer skill and understanding. Libraries that have too many safety nets become limiting for developing edge cases, which for some reason, I seem to deal with a lot.
There is also another edge case like below when promoted field name matches one in the primary struct. So which one do you choose when reflecting through the struct? Seems like maybe the index bucket names should be keyed like Address.Name when using anon structs. As for use case, I may have one database full of just addresses. I want to keep the user db as light and clean as possible. So using anonymous structs allows a lot of flexibility in how I choose to store the user record.  If I haven't mentioned it, I am using json as my encoder/decoder when saving into bolt.

type (
	User struct {
		*Address

		ID   string `boltholdKey:"ID" json:"id"`
		Name string `boltholdIndex:"Name" json:"name"` //name given by user to this team
	}

	Address struct {
		ID       string `boltholdKey:"ID" json:"id"`
		Name     string `boltholdIndex:"Name" json:"name"` //name given by user to this team
		Address1 string `json:"address1,omitempty"`
		Address2 string `json:"address2,omitempty"`
		City     string `json:"city,omitempty"`
		State    string `json:"state,omitempty"`
		ZipCode  string `json:"zipcode,omitempty"`
		Phone    string `boltholdIndex:"Phone" json:"phone, omitempty"`
		Email    string `boltholdIndex:"Email" json:"email, omitempty"`
	}
)
	addressID := uuid.Must(uuid.NewV4()).String()

	user := &User{
		ID:   uuid.Must(uuid.NewV4()).String(),
		Name: "Test User",
		Address: &Address{
			ID: addressID,
		},
	}

	address := &Address{
		ID:       addressID,
		Name:     "work",
		Address1: "123 Test Street",
		Address2: "Suite 123",
		City:     "Somewhere",
		State:    "CA",
		ZipCode:  "12345",
		Phone:    "123-123-1234",
		Email<EMAIL_ADDRESS>	}

	addressDB.Insert(addressID, address)
	userDB.Insert(user.ID, user)

Yeah I actually found an issue where I was using the field name as the index name.  The index should instead be named after the Struct tag, so you can name them whatever you want to make sure they are separate indexes.

You can name them that, but you can't use them as an index.

// Index specifies the index to use when running this query
func (q *Query) Index(indexName string) *Query {
	if strings.Contains(indexName, ".") {
		// NOTE: I may reconsider this in the future
		panic("Nested indexes are not supported.  Only top level structures can be indexed")
	}
	q.index = indexName
	return q
}

but yes i get that i could name "User_Address" or whatever, but i did run into that above.

Yeah I actually found an issue where I was using the field name as the index name. The index should instead be named after the Struct tag, so you can name them whatever you want to make sure they are separate indexes.

sorry i read over that too fast, i thought you were referencing my User.Address suggestion above.

but in reality, though you wouldn't want to change the index from "Name" in the address struct, cause when querying that db specifically you wouldn't want to do dbAddress.Find(&address, bolthold.Where("User_Address").Eq("whatever").

Querying and and indexing is different.
Querying will work with nested structs using the . notation.  Indexes will indexes should index by whatever name you  put in the tag:
`dbAddress.Find(&address, bolthold.Where("Address.Name").Eq("whatever").Index("Address_Name")

Also I'll remove that panic, so if you want to name your index with a . you can.  That was leftover when index names were hardcoded by field name.

does this still apply with anonymous structs? cause you don't need Address.Name in the where since the field(s) are promoted to the parent struct

I don't have tests for all of those scenarios yet, but it should work just like it does in Go, where you don't need to specify the anonymous struct name unless you have a namespace conflict on the anonymous field.
Address.Name vs User.Name

Give master a try.  I rewrote how all of the anonymous structs are handled, and added some better tests.
Thanks for opening issues, and testing all of this.  It exposed some bugs I didn't know I had in there.

Ok, sounds great. I will let you know if I bump into anything. Thanks!


(promote) release: build v5.7.0

Test plan: automated release PR, CI will perform additional checks

:green_circle: Release has been promoted, see tag: https://github.com/sourcegraph/deploy-sourcegraph-k8s/tree/v5.7.0.
:no_entry: Do not under any circumstance delete the branch holding the tagged commit (i.e. release-v5.7.0).
:arrow_right: You can safely close that PR and delete its a associated branch.


REST-API Operations / CRUD operations in JS

Adding performing Ajax/Fetch API Operations to help learners know how to do them in JS.

Thank you :1:

@all-contributors please add @Henry-Asante for code


Add FAQ section for email

See: https://stackoverflow.com/questions/46691449/jodd-message-parsing-failed-java-lang-nullpointerexception

https://jodd.org/email/faq.html


No way to change details on the tasks

When you have the tasks print, is no way you can change dates, priority or any other detail

No way to change them currently but this is a feature I want to add!


TheDocumentFoundation.LibreOffice.LTS version 7.3.5

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Change version from 7.3.5 to <IP_ADDRESS>

@wingetbot run

Close with reason: Inactive PR;


Does not work with pydicom >= 1.0

Library does not work with the newest version of pydicom which is imported as pydicom instead of dicom
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-a2708da00b4e> in <module>()
      4 import tensorflow as tf
      5
----> 6 from radio.dataset import Pipeline, FilesIndex, Dataset, F
      7 from radio import CTImagesMaskedBatch as CTIMB

/Users/mader/anaconda/lib/python3.5/site-packages/radio/__init__.py in <module>()
      3 """3d ct-scans preprocessing module with dataset submodule."""
      4 import importlib
----> 5 from .preprocessing import *
      6 from .pipelines import *
      7 from . import dataset

/Users/mader/anaconda/lib/python3.5/site-packages/radio/preprocessing/__init__.py in <module>()
      1 """ CT-scans preprocessing module. """
      2
----> 3 from .ct_batch import CTImagesBatch
      4 from .ct_masked_batch import CTImagesMaskedBatch
      5 from .histo import sample_ellipsoid_region

/Users/mader/anaconda/lib/python3.5/site-packages/radio/preprocessing/ct_batch.py in <module>()
     12 import aiofiles
     13 import blosc
---> 14 import dicom
     15 import SimpleITK as sitk
     16

ImportError: No module named 'dicom'

fixed in PR, https://github.com/analysiscenter/radio/pull/2

Thank you @kmader for your contribution.


Forceload

Use the new forceload API to replace cancelling chunk unloads
Also includes necessary patches to compile with Bukkit API 1.14.1-R0.1

Thanks for the pull request, and apologies for not having posted an update for that yet. I have actually already handled this, I just haven't committed it yet; been extremely busy this past week or so.
I will try to make time to get it released in the next few days.

Only issue I foresee with the new forceload method is that another plugin could set forceload=false or worldborder could set it to false when another plugin wants it true, but I'd say that's a bukkit issue.
My solution is to set forceload to true every loop.