Make Division S standings prettier

Currently, we show two headlines for the standings of Division S, which are both almost equal. The second headline should read something that is different from the division title. Instead, we want a new attribute for divisions that defines what is shown in that place.

Looks like you mean:
https://heroeslounge.gg/eu-division-s-season-1/eu-division-s-season-1
and
https://heroeslounge.gg/na-division-s-season-1/na-division-s-season-1
Is that correct?

Indeed, these are the only pages online right now. I would expect that there may be more like them in the future.
The main problem why we would not want to change the title is that the calendar shows scheduled matches alongside the title of the division, which is not equal to what should be on the two pages linked above. The title is also used to identify the division in the backend (which is already a bit messy since we have several divisions titled 'Division 1' and so on, but that is a separate issue).
Another thing that could be improved upon are the URLs, but that can be handled by the slug which already exists.

I see this is the page in the repo;
plugins\rikki\loungeviews\components\divisionoverview\default.htm
And therefore the fields that are questionable are these:

{{__SELF__.div.season.title}}

{{__SELF__.div.title}}

I'm not sure exactly what is desired to change specifically.  Where are those 2 fields used elsewhere?  Why can't we just change div.title to whatever we want to show as the subheading?

Ah, if I experiment, I can see this one: http://localhost:8080/hl/na-season-1/division-5 -- live site: https://heroeslounge.gg/na-season-1/division-5
which is from:
MariaDB [hl]> SELECT * FROM rikki_heroeslounge_seasons WHERE id = 5;
+----+--------------+--------------+-------------+---------------+-----------+---------------------+---------------------+------------+----------+-----------+-----------+------+
| id | title        | round_length | slug        | current_round | is_active | created_at          | updated_at          | deleted_at | reg_open | mm_active | region_id | type |
+----+--------------+--------------+-------------+---------------+-----------+---------------------+---------------------+------------+----------+-----------+-----------+------+
|  5 | [NA]Season 1 |            8 | na-season-1 |             8 |         1 | 2018-09-26 19:22:22 | 2019-01-14 10:00:05 | NULL       |        0 |         0 |         2 |    1 |
+----+--------------+--------------+-------------+---------------+-----------+---------------------+---------------------+------------+----------+-----------+-----------+------+
1 row in set (0.00 sec)

MariaDB [hl]> SELECT * FROM rikki_heroeslounge_divisions WHERE id = 75;
+----+-----------+---------------------+---------------------+------------+------------+------------+------------+
| id | season_id | created_at          | updated_at          | deleted_at | title      | slug       | playoff_id |
+----+-----------+---------------------+---------------------+------------+------------+------------+------------+
| 75 |         5 | 2018-10-30 21:58:02 | 2018-10-30 21:58:32 | NULL       | Division 5 | division-5 |       NULL |
+----+-----------+---------------------+---------------------+------------+------------+------------+------------+

Which seems to come from:
http://localhost:8080/hl/backend/rikki/heroeslounge/season/update/5 (season title)
and:
http://localhost:8080/hl/backend/rikki/heroeslounge/division/update/75 (division title)
This in turn leads me to:
plugins\rikki\heroeslounge\models\season\fields.yaml
and:
plugins\rikki\heroeslounge\models\division\fields.yaml
(I also see that these can be edited in the admin from: http://localhost:8080/hl/backend/indikator/devtools/editor --after clicking down to the matching dir path)
What are the columns.yaml files for in those same folders?  They appear to be subsets of fields -- did the yaml config file/format change and we not remove the old files?
I see that this is related to the "rikki" plugin which has a changelog of sorts here:
http://localhost:8080/hl/backend/system/updates/details/rikki-heroeslounge/changelog
which does indicate db table changes however I am unclear on the migration process -- how do you actually update the db to deploy changes to the schema?
I added a new field to the season yaml:
    other:
        label: Other
        span: auto
        required: 0
        type: text

And it shows up immediately in the admin UI however I had to manually add the db column like so:
ALTER TABLE rikki_heroeslounge_seasons ADD COLUMN other VARCHAR(255);

And then it saved when I updated in the admin and also shows in the page when I add it there:

{{__SELF__.div.season.other}}

Is that all that is required here?

This change ^ did not increment the rikki changelog version, looks like that is a manual addition here:
plugins\rikki\heroeslounge\updates\version.yaml
Is that correct?

Ah actually I see where migrations are now, from this commit modifying this version file:
https://github.com/Fabian-Sommer/HeroesLounge/commit/fedd71859344a30ac061a989f4c1393152e7b012#diff-3801f562f9e0c1b45af5f81e6225eb9b

Ohhhhh the migrations come from using the builder at:
http://localhost:8080/hl/backend/rainlab/builder
and selecting "heroeslounge" plugin then "database" then "rikki_heroeslounge_divisions" then "Add column" -- define the new column then hit save, and it automatically creates the migration and changelog for you.
Still have to add the new field to fields.yaml it seems.
It seems that the migrations run automatically after adding in builder, and I see documentation here claims that as well:
https://octobercms.com/plugin/rainlab-builder
I'm mildly curious how you handle the deploy process in prod to get the migrations run before the changes are live, or if you normally do separate PRs for adding migrations then adding code relying on the new fields.

How will people run the new migration after they git pull?

They can go into their local back-end to Builder, select the updated plugin (E.g: heroeslounge), select versions and then select the version to update to.

The fields.yaml influences which attributes can be set from the backend when creating/modifying records. The columns.yaml decides which attributes are visible when seeing all records from the backend. Neither of them influences which columns are actually in the DB, we use the Builder plugin for that. All columns in the DB are always accessible from the model, so any column that is neither in the fields.yaml nor in the columns.yaml is still fully functional, it just will not be accessible from the backend.

So what is the new field supposed to represent so I know what to name it? And this lives on the division and not on the season? Why?

For now, the field should hold the name that is displayed exactly at the one location we are talking about, so it could be something like overview_display_title. It should be on Division because for DivS we might have multiple divisions titled 'Standings Phase 1' and 'Standings Phase 2' while still being part of the same season.

How will people run the new migration after they git pull?

Like Astraeus said, Builder can also run migrations (thats also how I deploy on production, so they can be part of the same PR). Alternatively, I think migrations run on their own after some time, not entirely sure.

All of these connections would likely be relatively easy to document in the github wiki or something to help others jump in even more quickly.

Most of the interplay between themes, pages, components, controllers and so on should be documented on the October Documentation (https://octobercms.com/docs/cms/themes). I will add this link to the front page of this repo.

Another thing about our project structure:
Technically, we have 3 plugins called 'Heroeslounge', 'LoungeViews' and 'LoungeStatistics'. LoungeViews and LoungeStatistics just contain more components for the most part (LoungeStatistics everything related to stats, LoungeViews all components that do not render any forms or need to process user input, Heroeslounge for everything else, including models, migrations, API, backend, components that process user input).


os: IsNotExist returns false for file on non-existing \server\share

This program
package main
import (
"log"
"os"
)
func main() {
_, err := os.Stat(\\no_such_server\no_such_share\no_such_file)
if err == nil {
log.Fatal("stat succeeded")
}
if !os.IsNotExist(err) {
log.Fatal("os.IsNotExist is false")
}
}
fails with
2015/08/28 10:08:21 os.IsNotExist is false
exit status 1
but should succeed.
It appears windows returns ERROR_BAD_NETPATH error here, but os.IsNotExist does not check for that error.
Alex

I can't reproduce this problem on windows 7 amd64 with go1.5 .
Can you give an example path rather than \\no_such_server\no_such_share\no_such_file？Thx.

If you run program above (as is), what does it output?
Alex

The error is not ERROR_BAD_NETPATH. It's GetFileAttributesEx.

@choleraehyq I am not asking what the error is, I just want to know what you see on your screen. My program outputs this:
2015/08/28 10:08:21 os.IsNotExist is false
exit status 1

Do you see something completely different? Would you mind providing your screen output? you can use mouse to select required portion of your screen and clipboard to capture it. Alternatively you can press PrintScreen key to get a picture.
Alex


fix: declare types for _renderList helper

closes #57

Codecov Report

Merging #62 (f9984d8) into master (b02f1ea) will increase coverage by 0.08%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #62      +/-   ##
==========================================
+ Coverage   58.67%   58.76%   +0.08%
==========================================
  Files          43       43
  Lines        2904     2910       +6
  Branches      949      950       +1
==========================================
+ Hits         1704     1710       +6
  Misses       1200     1200

Impacted Files
Coverage Δ

...kages/analyze/src/analyzers/ScriptBlockAnalyzer.ts
86.36% <100.00%> (+0.15%)
:arrow_up:

packages/compiler-tsx/src/index.ts
89.06% <100.00%> (+0.92%)
:arrow_up:

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 b02f1ea...f9984d8. Read the comment docs.


fix(babel-preset-app): add explicit dep on used babel plugin

🔗 Linked issue
https://github.com/babel/babel-plugin-proposal-private-property-in-object/issues/1#issuecomment-1584287021
resolves nuxt/nuxt#21489
resolves https://github.com/nuxt/create-nuxt-app/issues/1030
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This adds an explicit dependency on the version of @babel/plugin-proposal-private-property-in-object we need in the project.
📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

@danielroe If it takes too long to release this, I can temporarily add a workaround in Babel. Out of curiosity, did you get similar bug reports ~1 week ago?
In Babel 7.22.0 we removed the @babel/plugin-proposal-private-property-in-object because we didn't need anymore. That broke all create-react-app installs because it has a bug identical to the one fixed in this PR, and since create-react-app is not maintained we temporarily added the dependency back to Babel.
To avoid having the unnecessary dependency, we now replaced it with a placeholder whose unique goal is to fix CRA compatibility, and that otherwise behaves as a missing dependency when required.
I'm surprised that we didn't discover this problem in Nuxt when we released 7.22.0 🤔

Oh well :)

Sorry for the pain @nicolo-ribaudo!
For everyone else, until this is released in 2.17, you can opt in to use nuxt-edge in your projects, or add this plugin explicitly as a dev dependency. (I'll be triggering an edge release shortly.)
We expect to release 2.17 this weekend.

Yes I had same problem 1 week ago


Cannot specify Fabric CU when purchase reservation

I tried to follow your instruction on purchasing Microsoft Fabric reservation, but I don't see an option to specify Fabric CU. Can you please confirm if this is correct?
Thanks,
John

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6b5c1c87-6850-d459-9312-5fb2b01e5e97
Version Independent ID: 48bc06bf-b7e1-9088-c886-e8324f1613da
Content: Save costs with Microsoft Fabric Capacity reservations - Microsoft Cost Management
Content Source: articles/cost-management-billing/reservations/fabric-capacity.md
Service: cost-management-billing
Sub-service: reservations
GitHub Login: @bandersmsft
Microsoft Alias: banders

@johnli88
Thanks for your feedback! We will investigate and update as appropriate.

@johnli88, thank you for reaching out to us.
As per the doc, the option to select CUs is available in the cart. Can you please share a screenshot of your cart to help us understand the options available to you? - please do hide the sensitive information from image, if any.

@johnli88, We will now proceed to close this thread as we have not heard back from you. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.


Global: Sometimes game gets stuck in loop and keeps refreshing main group screen. Has to do with player's screens in some way.

Similar and related to  #179
Please see video for reference. Was playing HTYI and after about 31 seconds, continually, the game would "refresh" and player screens would refresh, showing the same screen but restarting the timer. This happened over and over.
https://drive.google.com/open?id=0B2iJJeD7RJtgS0YtSkNfUUdJc0k

update on this: we found that this would happen in wikigeeks around the same time EVERYTIME. this happened at :58-59 seconds.

confirming that I was abl to recreate this on HTYI again today:

four players in game. category science and technology.
all three players were functioning correctly, but one player's screen never moved on automatically as the game progressed.
played through one round after refreshing the faulting player screen and was able to play normally.
in round 3, the game started through a refresh cycle seen similarly in above video + in issues #179 #214 #190 . It ALWAYS happens at the same time (about halfway, at 30 seconds).
I refreshed the player's screen that kept reloading in sync with group screen, and fired off tweets across all players devices before the timer could refresh on me.
once I did that, the game functioned again normally.

checked HTYI on newest QA build. Unfortunately still is an issue anytime a player refreshes.
however, the "refresh" is not happening at 30s and instead happening at around 46s

also this seem to only trigger if I do this after the 30 second mark


Refactor static_server

Also attempt to fix handleFileRequest which was copy pasted from jester.nim wrongly. Changes made:

Cleanup imports, use std
Fix logging: add consolelogger, set filter in release mode
Run nimpretty on the file
option around RawHeaders was removed as it served no purpose.
publicUrl env variable removed, it is also absent from jester
Smaller cleanups not worth mentioning

I don't use this tool. If your version works better for you, I'll merge it. Ping @planetis-m

I don't use this tool. If your version works better for you, I'll merge it. Ping @planetis-m

It works so far, yes I consider it an improvement.

It works so far, yes I consider it an improvement.


fixes CodeIgniter.gitignore deleting a critical framework file

Provide a link to the application or project’s homepage: https://github.com/codeigniter4/CodeIgniter4
Provide links to documentation supporting the change you’re making : https://codeigniter.com/user_guide/concepts/structure.html#system

System : This directory stores the files that make up the framework, itself. While you have a lot of flexibility in how you use the application directory, the files in the system directory should never be modified.

Please consider the scope of your change : ok
Please only modify one template per pull request : ok

Explain why you’re making a change :
After spending a lot of time finding why my app won't run on a clean install of my repository, I just noticed that the gitignore I copied introduced a deletion/ignore rule of an internal folder used by the framework.
The current gitignore file deletes the folder /system/Cache/* and causes the following error when running the App from the CLI or the web server : Class "CodeIgniter\Cache\CacheFactory" not found ; making the app unable to run.
I added the following rule to fix this : !system/Cache/*.
Note : this won't fix the bug if the system folder is renamed

(any updates ? this gitignore causes serious problems and need to be updated !)

Sorry for the delay. Thanks for the details provided in the OP.


Ci/refactor message

Description
Fix cosmetic on the repo
Development notes

Update contributor list
Mention gitmoji for contribution and update CI release message
Add an extra dev dependency and change names of existing tests/docs extra dependencies to remove the final "s"

Checklist

[X] Read the contributing guidelines
[ ] Open this PR as a 'Draft Pull Request' if it is work-in-progress
[x] Update the documentation to reflect the code changes
[ ] Add a description of this change and add your name to the list of supporting contributions in the CHANGELOG.md file. Please respect Keep a Changelog guidelines.
[ ] Add tests to cover your changes

Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Codecov Report

Merging #220 (9438d92) into master (1eaebbe) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #220   +/-   ##
=======================================
  Coverage   99.87%   99.87%
=======================================
  Files          27       27
  Lines         791      791
=======================================
  Hits          790      790
  Misses          1        1

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 1eaebbe...9438d92. Read the comment docs.


How to deal with the pseudo instruction vmsltu.vi and vmsgeu.vi if the immediate is zero in assembler??

Hi Team,
The original discussion is in the following link,
https://github.com/riscv/riscv-binutils-gdb/issues/206
The current gnu assembler handles the pseudo vmsltu.vi v25, v14, 0 and vmsgeu.vi v25, v14, 0 to vmsleu.vi v25, v14, -1 and vmsgtu.vi v25, v14, -1, which are caused unexpected result.  As @aswaterman mentioned, we have two good solutions for now,

Regard them as error pseudo instructions when imm=0.
Convert the pseudo instruction to vmsne.vv/vmsgt.vv v25, v14, v14 when imm=0, which has the correct effect of setting all the elements to 0 (and also it maintains any illegal-instruction trapping behavior because of the register numbers).

So which solution do you prefer?
Thanks
Nelson

I don't have a clear preference. Here are three comments.

In a perfect world, I'd like the vector instructions to extend the semantics of their scalar analogues. But my wish seems misguided in the case of integer comparisons because:

the immediates have different widths (12 vs. 5 bits),
the immediates are sign-extended to different widths (XLEN vs. SEW bits), and
many of the vector integer comparisons don't have scalar analogues anyway.

In your second option, there are three choices for vmsltu.vi with zero immediate: vmsne.vv, vmsgt.vv, and vmsgtu.vv (input arguments equal). And there are three choices for  vmsgeu.vi with zero operand: vmseq.vv, vmsle.vv, and vmsleu.vv (input arguments equal). There are other ways of zero- and unit-initializing a vector: these are just the choices from the cornucopia of comparisons, albeit perhaps the only choices in V-extension which preserve the illegal-instruction behavior you mentioned.

A third solution is to leave the behavior as-is, i.e., I don't think this "unexpected" behavior is necessarily a bug.

Since no strong opinion has been expressed in a week, I'll put my finger on the scale so we can make progress on this:
These instructions are useless in optimized code, but they might show up occasionally in sloppy macro-ized assembly (test codes and the like).  So I propose we do the thing that will be most useful in that scenario, which is to convert them to an instruction that does what the programmer intends (vmsne.vv/vmseq.vv).

@aswaterman @knightsifive Thank you very much, I know how to deal with this now :)


Category’s for permissions in web editor

Description
A way to group permission nodes together in the web editor. In drop down menus that can be titled
Proposed Behaviour
A drop down menu inside of groups that contains permission nodes and can be named. It should be collapsible too
Extra Details
It would also be nice to nest these groups. But it isn’t essential for the functionality of this suggestion

There is a separate repository for the editor and other web services - LuckPerms/LuckPermsWeb
I also imagine that the answer will be a no, simply because you can 'nest' or categorize permissions by adding them to groups which you then add as parents to other groups. There's no need for additional visual organization tools because the group method is plenty sufficient. However, I'll ask Luck to move this issue over to the correct repository for further discussion.


The tag key aws:createdBy is not valid in cost allocation tags

Tried to deploy v.5.3.2 with Cost allocation tags on and got this CF error
cost allocation tag settings default except
  {
    "ParameterKey": "EnableCostAllocationTags",
    "ParameterValue": "true"
  },

The tag key ?aws:createdBy? is not valid. Tag keys starting with 'aws:' are reserved for internal use. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidTagKey.Malformed; Request ID: 8686fdf5-82c0-4b0e-96ab-c7b44ad3f2db; Proxy: null)

Hi @ysawa0 I’ve just tested this and you’re right, when turning on EnableCostAllocationTags the default value CostAllocationTagName parameter results in an error. A workaround for this is to provide your own tag name to the CostAllocationTagName parameter.
Thanks for letting us know, we’ll change the default value of this parameter to a supported value in a future release. 😄


Add round up

Right now, rounding a decimal will only round half up, I need a round up (ceiling). Looking through the code it seems that just changing the >= 5 to > 0 will make this happen.

Hello @aschmois , thanks for your bugreport.
Can you add an example of code, the expected output, and the current output? I'm not sure I'm correctly understanding the problem, and it would help having an example to add to the regression test in case a fix is needed.

Sure, the innerRound method should allow a full up round instead of a half up round, which can be done by simply changing line 601 in the Decimal class from if ($diffDigit >= 5) { to if ($diffDigit > 0) {
The current result will round 3.14159 to 3.14 when setting the scale to 2, but I would like to be able to round full up (ceiling) so that the result is 3.15. The reasoning behind this is financial matters. When dealing with finances a very precise format needs to be used and all numbers are rounded up because a company will round up to the nearest cent, always.

Ok,
so maybe what is needed is to add a ceil method rather than modify the round method, no?
I think if we add a 'ceil' method then we need a 'floor' method too in order to have a consistent API.

Correct, I see where the confusion went, that was my original thought :)
Thank you,
Andres Schmois
Developer
T<PHONE_NUMBER>
E<EMAIL_ADDRESS>http://android305.com
On Thu, Mar 5, 2015 at 5:54 PM, Andreu Correa Casablanca <
<EMAIL_ADDRESS>wrote:

Ok,
so maybe what is needed is to add a ceil method rather than modify the
round method, no?
I think if we add a 'ceil' method then we need a 'floor' method too in
order to have a consistent API.
—
Reply to this email directly or view it on GitHub
https://github.com/Litipk/php-bignumbers/issues/10#issuecomment-77470394
.

Fixed in commit number 2f1d13e5a77009044143977d088fcabe78fc9916 .


TGP-2338: Update content on category 2 result page

Will merge once i've updated the journey tests


[BUG] Import error, possible missing module?

Pyprland version
2.3.7
Describe the bug
Import error aiopen from pyprland aioops.
To Reproduce
Steps to reproduce the behavior:

installed the package with curl from https://hyprland-community.github.io/pyprland/
set up the pyprland.toml file
run pypr to get the daemon running to test it
See error

Expected behavior
A clear and concise description of what you expected to happen.
Configuration (provide following files/samples when relevant):

pyprland.toml
not exactly relevant, but the exact toml supplied in the link above and the added the lines to the end of my conf file for the hyprland configs.

Additional context
Add any other context about the problem here.

Oh thank you there was a typo!
Note that installing "aiofiles" fixes the issue too...
You can rename substitute aioopen with aiopen to get the same result of the git version which I just patched.


Fix how momento configure interacts with config file

The config file should:

Supports default profile with a token, default cache name, and default TTL
Supported named profiled with a token, optional cache name, and TTL

On command line, support passing in named profile via env var:
# use default profile
momento cache get --key

# use named profile
MOMENTO_PROFILE=iad-region momento cache get --key

Should resolve: #37 , #38 , #27 , #34 , #35 , #32 , #36

Do we want the user to just manually create their config files for now?

@bruuuuuuuce yes exactly, but we should provide a template config.toml for them to fill out

Whoever picks this up next, sync with @cprice404 to discuss the plan before proceeding please

@gautamomento @bruuuuuuuce @rlinehan @cprice404
I wrote up my findings for the above questions. Please take a look and let me know if I missed/misunderstood anything!

Determine TOML Support and adoption is sufficient for above mentioned criteria

Ability for lossless edit
I'd assume that we're looking for Rust solutions for this. If so, I found that there is this library to edit toml files while preserving comments, spaces and relative order or items. With this, it seems that we could tackle #37 as well as #38. It certainly needs to be tested to see if this library fits our needs but it looks somewhat promising to the file-parsing-in-rust noob's eye.
Wide compatibility
TOML is widely supported by the following languages: C, C#, C++, Clojure, Dart, Elixir, Erlang, Go, Haskell, Java, Javascript, Lua, Objective-C, Perl, PHP, Python, Ruby, Swift, Scala and more.

Is AWS Config file format sufficient for our use cases as well?
AWS CLI directs users to format their config files in INI format.
From their README Configuration section:

To implement lossless edits of INI files, these are the crates I found: rust-ini and configparser-rs.
Again, these need to be tested to determine if they achieve what we're trying to accomplish.
Also, INI file compatibility can be found here.
There are no data types in INI and everything is encoded as a string.

Are there any other file formats that should be looked at?
Other popular file formats are YAML and JSON; however I'm not sure if these are particularly better than TOML or INI. YAML can create nested hierarchy, but not sure we need that feature in Momento CLI. JSON cannot include comments. For other advantages/disadvantages are listed in this blog post. This blog post also talks about XML and HCL (this is a tool specific language).

I'd assume that we're looking for Rust solutions for this.

Not just Rust we should look at other languages also and see if they allow lossless edits. If down the line, we decide to not continue using Rust then we should be able to migrate. Similarly, not all customers would use Rust to change these files in lossless format. I think we have wide compatibility with TOML going for us - it may also be nice to quickly lookup how easy is lossless editing in those languages.

Append to an existing file (no overwrite):

C opne with mode O_APPEND and write
C++ open with mode app
C# File.AppendText
Java write with OpenOption StandardOpenOption.APPEND
Python open with mode a
Golang OpenFile with filemode os.O_APPEND
JavaScript open with a flag

I think, although @cprice404 might correct me, that we want the ability not just to append to a file. Say I have something like
[profile.default]
# default settings for my app because reasons
cache = "foo"
ttl = 15

and then I want to change the ttl, and I do something like momento configure --ttl=60. In that case I would expect the result to be
[profile.default]
# default settings for my app because reasons
cache = "foo"
ttl = 60

not
[profile.default]
# default settings for my app because reasons
cache = "foo"
ttl = 15
ttl = 60

I worry that "append" just means the latter - that it adds the new item where we want to replace but ONLY what we tell it to replace.

First, ensure config file support multiple profiles so users can use the CLI to talk to multiple regions if they have multiple tokens.
Then, ensure momento configure can updates these profiles, maybe momento configure --profile to edit different profiles?
Ensure momento configure doesn't clobber existing data like comments, or other profiles.

Rust ini file parser: https://github.com/QEDK/configparser-rs
Python ini file parser: https://docs.python.org/3/library/configparser.html
Java ini file parser: http://ini4j.sourceforge.net/
JavaScript ini file parser: https://github.com/npm/ini
Golang ini file parser: https://github.com/go-ini/ini

I have been looking into more on how we can achieve the following:

Read INI format files so that users can specify a preferred profile
Write new INI format files
Update existing INI format files without clobbering existing data if the files already exist

After playing with a few Rust crates, it seems possible to implement 1 and 2 fairly easily.
However, in order to implement 3, I think we need to convert some of the config writer in AWS CLI to Rust and see if it works.

https://github.com/aws/aws-cli/blob/45b0063b2d0b245b17a57fd9eebd9fcc87c4426a/awscli/customizations/configure/writer.py#L27
https://github.com/aws/aws-cli/blob/45b0063b2d0b245b17a57fd9eebd9fcc87c4426a/awscli/customizations/configure/configure.py#L122

It seem that it would take more time to implement this than I originally expected, so wanted to make sure that this approach seems reasonable.


New Find-Commands & Find-DbaSP improv

Find-DbaStoredProcedure - Add schema name and change to Write-Message
Find-DbaTrigger - Returns all triggers that contain a specific
case-insensitive string or regex pattern. Take into account the
different levels. Server, Database, Object
Find-DbaView - Returns all views that contain a specific
case-insensitive string or regex pattern.

yay

heck yahhhh nice work!!


mac-30 is dead.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
mac-30 is dead.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

The connection between our building to Salt master is being blocked by Firewall, Brandon DeRosier is working with Network teams to resolve issue.

Mac-27and mac-30  marked as dead from monitoring website due both machines out of sync with Salt master and at the same time Salt master out of reach from network due to some Network changes last week in building. Brandon DeRosier is working on this issue with Network Teams. Network issue has been resolved and fixed, Mac-30 is back online and ready for service.


updated sphinx episode

mentioned common gotcha of indentation, using literalinclude for adding content from files, open command for opening a webpage. This commit closes #9 and closes #10.

Nice!


Update sbt-scalafix to 0.9.28

Updates ch.epfl.scala:sbt-scalafix from 0.9.23 to 0.9.28.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.epfl.scala", artifactId = "sbt-scalafix" } ]

labels: sbt-plugin-update, semver-patch

Superseded by #134.


Migrate to app dir

Don't do it, I just jumped out of this mud hole

@FlatMapIO Oh no. What went wrong?

The Next.js team have been fixing things as I report them. They'll get there but I agree, not quite there. For what it's worth, I'm still betting on it for my production app launching in about a month - just crossing my fingers 😅.

@FlatMapIO I've been using it in production for a few weeks now (in another project) and while there are certainly a few bugs, it's been manageable.
The core Brail elements have no business being dependent on next or app dir, but the devtools/UI are highly coupled so I'll bear this in mind, considering some people might not want to be forced into using app dir.


remove files

This is the good instruction for removing files
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository

Donee


Rubocop updates and execution

Updates rubocop.yml to match https://github.com/rgeo/rgeo/blob/main/.rubocop.yml
Ran rubocop -A to autocorrect files

Final output of rubocop -A:
❯ rubocop -A
Inspecting 14 files
..............

14 files inspected, no offenses detected

Thank you!
I made a few comments, and I also think it would be nice to add this to the CI, WDYT?
There's already an example of this in rgeo (https://github.com/rgeo/rgeo/blob/main/.github/workflows/CI.yml) and then we'll configure it to be mandatory in PRs :)

Apologies for neglecting this this week. Had a bit of a rough week. Will try to wrap this up next week!

That... was an accident. Saw shiny button, clicked shiny button lol

If so, just send me an email at buonomo dot ulysse at gmail dot com so I have yours.

Sent by the way :)

@BuonOmo do you want to squash this?


Move rollup to dev deps

Pull Request Test Coverage Report for Build 527

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 70.153%

Totals

Change from base Build 522:
0.02%

Covered Lines:
2169

Relevant Lines:
2872

💛  - Coveralls


Give full output of git command on errors

As a side effect, the tracing of commands also prints the full output (instead of separating stderr and stdout), which I think is more useful.
Implementing this was triggered by #2050 (git clone was failing due to known_hosts being updated, but I had to exec into the pod in order to figure it out).

Give full output of git command on errors

I restricted the error message to the first line of output deliberately. But who knows where that impulse came from, it was a while ago. It's certainly useful to have the full error from git.

the tracing of commands also prints the full output (instead of separating stderr and stdout), which I think is more useful.

Because they will be interleaved?

Because they will be interleaved?

Yep

@squaremo I have finally finished fixing the race conditions PTAL


Setting ADB path causes spinning pinwheel of death

I hadn't downloaded ADB so it didn't detect a location, once I had downloaded just ADB I couldn't then manually select a location as it pinwheels and I have to kill the app. It isn't possible to simply type into the path box either.
M1 MacBook Air, 16GB / 512GB, macOS 11.1

Hi, this should be fixed in the current preview.

Confirmed working thanks


Risczero Fit

compile:
CXXFLAGS="-DRISCZERO" CXX=/opt/riscv-new/bin/riscv32-unknown-elf-g++ cargo build -p host

Neat!
Unfortunately I don't see any way to accept this. Modifying the upstream serialize.h to differ from upstream, in a semantically meaningful way, is not something we can accept. And upstream has sunsetted the library so they won't accept changes either.
Why do you need these serialization impls?

Makes sense. I think the correct fix though is to use int32_t everywhere that a 32-bit integer is expected rather than adding serialization logic for int (which isn't guaranteed to work, e.g. if int is 16 bits wide) (and it's nice that the existing code causes compilation failures when int size assumptions are wrong, instead of silently doing integer promotions).
If this isn't done upstream already, could you also PR there?
I'd be willing to carry an extra patch here which did that, since it'd be a clear bugfix and the new code would be clearly correct. Though it would require some extra changes to our vendoring scripts and could be a long while before it got in since this project is in near-maintenance-mode due to the upstream libbitcoinconsensus deprecation.

However, I have a question: in the current version, when running on 32-bit and 64-bit platforms, why doesn't ss << nHashType cause serialization inconsistencies due to int being 32-bit or 64-bit?

I suspect that there is an inconsistency but it's just not hit on any target platforms? I think when the 64-bit transition happened almost all C compilers (and presumably C++) kept their ints at 32 bits to avoid breaking the tons of code that assume this.
But the standard only says that int must be "at least 16 bits" so unless there is some template magic protecting them, I think this is a possible failure mode.


Replace OperationFuture with tokio::sync::oneshot?

Perhaps, instead of implementing our own custom Future (OperationFuture), it might be easier (and more efficient?) to use tokio::sync::oneshot, as per Alice Ryhl's blog post recommendation for using tokio with rayon?
Specifically, maybe the struct Operation would include a field send_output_to: Option<oneshot::Sender>.
ObjectStoreAdapter::get would look something like this:
use tokio::sync::oneshot;
let (tx, rx) = oneshot::channel();
let operation = Operation::Get {
    location: location.clone(),
    buffer: None,
    send_output_to: Some(tx),
};
self.worker_thread.send(operation);
rx.await.expect("Panic in worker thread")

Pros of using oneshot instead of OperationFuture:

Simplifies LSIO. I think we can entirely remove operation_future.rs (71 LoC). And remove OperationWithCallback (about 30 LoC).
Makes it easier to send a Result from io_uring_local.rs back to the user (#45).
Might be faster?

We no longer need to Box every callback. Hence we we can avoid one heap allocation per operation.
We no longer need a Mutex.

Cons of using oneshot instead of OperationFuture:

Makes tokio a hard requirement

TODO

[x] Benchmark the existing code (using OperationFuture)
[ ] Implement oneshot approach
[ ] Benchmark oneshot approach
Try removing the Box in OpTracker, and see what the speed implications are, and how many page faults we get. (See #54)

Performance (on my Intel NUC) on main:
     Running benches/io_uring_local.rs (target/release/deps/io_uring_local-d557319dd99ba2ea)
Benchmarking load_1000_files/io_uring_local: Collecting 10 samples in estimated 5.6984 s (20 iterations
load_1000_files/io_uring_local
                        time:   [207.78 ms 210.58 ms 213.61 ms]
                        thrpt:  [1.1429 GiB/s 1.1594 GiB/s 1.1750 GiB/s]
                 change:
                        time:   [-58.118% -38.248% -6.8618%] (p = 0.07 > 0.05)
                        thrpt:  [+7.3674% +61.939% +138.76%]
                        No change in performance detected.
Benchmarking load_1000_files/local_file_system: Collecting 10 samples in estimated 9.1056 s (20 iterati
load_1000_files/local_file_system
                        time:   [397.58 ms 400.84 ms 403.92 ms]
                        thrpt:  [618.94 MiB/s 623.69 MiB/s 628.80 MiB/s]
                 change:
                        time:   [+1.1105% +2.0875% +3.1119%] (p = 0.00 < 0.05)
                        thrpt:  [-3.0180% -2.0449% -1.0983%]
                        Performance has regressed.

jack@jack-NUC:~/dev/rust/light-speed-io$ perf stat target/release/deps/io_uring_local-d557319dd99ba2ea
io_uring_local --bench --profile-time 5
Benchmarking load_1000_files/io_uring_local: Complete (Analysis Disabled)

 Performance counter stats for 'target/release/deps/io_uring_local-d557319dd99ba2ea io_uring_local --bench --profile-time 5':

          5,987.58 msec task-clock                       #    1.239 CPUs utilized
            44,483      context-switches                 #    7.429 K/sec
               705      cpu-migrations                   #  117.744 /sec
            68,401      page-faults                      #   11.424 K/sec
    20,497,858,273      cycles                           #    3.423 GHz
    29,238,104,335      instructions                     #    1.43  insn per cycle
     6,359,888,104      branches                         #    1.062 G/sec
        15,793,219      branch-misses                    #    0.25% of all branches

       4.832593203 seconds time elapsed

       0.155372000 seconds user
       5.858586000 seconds sys

Performance (on my Intel NUC) after implementing oneshot:
     Running benches/io_uring_local.rs (target/release/deps/io_uring_local-d557319dd99ba2ea)
Benchmarking load_1000_files/io_uring_local: Warming up for 2.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 8.6s.
Benchmarking load_1000_files/io_uring_local: Collecting 10 samples in estimated 8.5936 s (10 iterations
load_1000_files/io_uring_local
                        time:   [221.51 ms 230.14 ms 239.77 ms]
                        thrpt:  [1.0182 GiB/s 1.0608 GiB/s 1.1022 GiB/s]
                 change:
                        time:   [-21.848% -7.6751% +3.8043%] (p = 0.45 > 0.05)
                        thrpt:  [-3.6649% +8.3132% +27.956%]
                        No change in performance detected.

jack@jack-NUC:~/dev/rust/light-speed-io$ perf stat target/release/deps/io_uring_local-d557319dd99ba2ea io_uring_local --bench --profile-time 5
Benchmarking load_1000_files/io_uring_local: Complete (Analysis Disabled)

 Performance counter stats for 'target/release/deps/io_uring_local-d557319dd99ba2ea io_uring_local --bench --profile-time 5':

          6,205.63 msec task-clock                       #    1.235 CPUs utilized
            45,178      context-switches                 #    7.280 K/sec
             1,102      cpu-migrations                   #  177.581 /sec
            50,208      page-faults                      #    8.091 K/sec
    20,896,514,171      cycles                           #    3.367 GHz
    30,142,505,520      instructions                     #    1.44  insn per cycle
     6,631,236,034      branches                         #    1.069 G/sec
        15,694,413      branch-misses                    #    0.24% of all branches

       5.026145053 seconds time elapsed

       0.147539000 seconds user
       6.087379000 seconds sys

OK, I can get the same bandwidth with oneshot, by running the benchmark immediately after creating the files with fio:
     Running benches/io_uring_local.rs (target/release/deps/io_uring_local-d557319dd99ba2ea)
Benchmarking load_1000_files/io_uring_local: Collecting 10 samples in estimated 5.0233 s (20 iterations
load_1000_files/io_uring_local
                        time:   [206.03 ms 208.93 ms 212.11 ms]
                        thrpt:  [1.1510 GiB/s 1.1685 GiB/s 1.1850 GiB/s]
                 change:
                        time:   [-75.334% -56.610% -7.0844%] (p = 0.13 > 0.05)
                        thrpt:  [+7.6245% +130.47% +305.42%]
                        No change in performance detected.


Settings bug

"Tree view compact list" checkbox does not work.
Atom version: 1.17.0

@sanada01 Dublicate #394

Thanks. :) Problem solved.

Closing in favor of #394


Angular

Is there any way to implement this in angular ?

I'm not experienced in using Angular so I can only say that you just do.


fixed broken link to SyncML RePro Protocol

the SyncML Representation Protocol link to openmobilealliance.org was broken. I fixed it with the working link to the document as I can't update the MS link redirector.

I completely agree with your suggestion. We have been down this road before, other pages have had these links updated, but we obviously forgot some of these OMA-URI pages.


fix VC path for VS2017 templates

https://github.com/ms-iot/samples/issues/374

Hi @bfjelds, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Brian Fjeldstad). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Welling/cleanup and add provenance

This PR:

removes files which have been moved to the new soft-assay-rules repo.  This includes the rule generator and tester, the captured copy of the old assay_types.yaml file, and the contents of the test examples directory.
adds a field of provenance info to the info available to matching rules.  This serves some special case needs for legacy assay types needing vitessce-hints which cannot be computed without provenance.

FYI @jswelling @j-uranic I'm off Wednesday, will take care of the PR on Thursday. Please feel free to append any additional updates to the branch. It also seems this branch is based on jpuerto/assay_classifier_updates which has a few recent tweaks deployed on DEV.

Hi @yuanzhou, I think I was tagged by mistake in your message instead of @jpuerto-psc .

@yuanzhou - these change are fine, I believe my branch updated some of the deleted files, but I was only doing so to copy over changes from the soft-assay repository. Since Joel has separate these two things now, we can just delete these files as Joel has done here.

Hi @yuanzhou, I think I was tagged by mistake in your message instead of @jpuerto-psc .

Oops, my bad. @j-uranic hope everything is well with you, it's been a while since we talked last time.


[BUG] failed to package the logs, when attempting to download Upgrade Log

Describe the bug
When attempting to Download Log, noticing "Failed to Generate Logs"

To Reproduce
This seems difficult to reproduce - only noticing it has occurred during an upgrade where one node succeeded and the other happened to be stuck in pre-drained like #4477
Expected behavior
Logs to be able to be packaged and downloaded
Support bundle

seems to unfortunately hang
with supportconfig -k -c attaching that zip here:

scc_harvester-node-0_230906_0019.zip
Environment

Harvester ISO version:  v1.1.2->v1.2.0-rc6
Underlying Infrastructure: qemu/kvm

@irishgordo Is this similar to https://github.com/harvester/harvester/issues/4222?
cc @starbops

I've checked the env and get the packager log:
clean up stale archives, if any
start to package upgrade logs
  adding: logs/ (stored 0%)
  adding: logs/kube-system.rke2-ingress-nginx-controller-jqm72.rke2-ingress-nginx-controller.20230901.log (deflated 93%)
  adding: logs/longhorn-system.backing-image-manager-d7ad-2dcd.backing-image-manager.20230901.log
zip I/O error: No space left on device
zip error: Output file write failure (unexpected error on zip file)

The issue is duplicated with #4222.


Fix Mem.Get for OpenBSD 6.5

I noticed that in OpenBSD 6.5, Mem.Get() returns 0 and a nil error. After digging down the stack, I found that the issue comes from the way the sysctl is called: It uses the sysctl library call instead of syscall.
I'm aware of https://github.com/elastic/gosigar/pull/77, which doesn't seem to fix my issue. I assume they fix related but not completely identical problems.

:grey_exclamation: Build Aborted

The PR is not allowed to run in the CI yet

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Branch indexing

Reason: The PR is not allowed to run in the CI yet

Start Time: 2021-02-16T09:19:09.554+0000

Duration: 2 min 43 sec

Commit: a4d74540ddeb21f7d291171fe7f6d1e04ccddc13

Trends :test_tube:

Steps errors
Expand to view the steps failures

Load a resource file from a shared library

Took 0 min 0 sec . View more details on here
Description: approval-list/elastic/gosigar.yml

Error signal

Took 0 min 0 sec . View more details on here
Description: githubPrCheckApproved: The PR is not allowed to run in the CI yet. (Only users with write permissions can do so.)

Log output
Expand to view the last 100 lines of log output

[2021-02-16T09:20:29.815Z]  > git --version # timeout=10
[2021-02-16T09:20:29.819Z]  > git --version # 'git version 2.25.1'
[2021-02-16T09:20:29.825Z] fatal: bad object 619ac1080f178a9fb682688f918faa815ff1c90a
[2021-02-16T09:20:29.764Z]  > git rev-parse --verify HEAD # timeout=10
[2021-02-16T09:20:29.768Z] Resetting working tree
[2021-02-16T09:20:29.768Z]  > git reset --hard # timeout=10
[2021-02-16T09:20:29.776Z]  > git clean -fdx # timeout=10
[2021-02-16T09:20:30.865Z] Timeout set to expire in 1 hr 0 min
[2021-02-16T09:20:30.904Z] The timestamps step is unnecessary when timestamps are enabled for all Pipeline builds.
[2021-02-16T09:20:31.380Z] [INFO] 'shallow' is forced to be disabled when running on PullRequests
[2021-02-16T09:20:31.407Z] Running in /var/lib/jenkins/workspace/Beats_gosigar_PR-125/src/github.com/elastic/gosigar
[2021-02-16T09:20:31.463Z] [INFO] gitCheckout: Checkout SCM PR-125 with default customisation from the Item.
[2021-02-16T09:20:31.512Z] [INFO] Override default checkout
[2021-02-16T09:20:31.678Z] Sleeping for 10 sec
[2021-02-16T09:20:41.718Z] The recommended git tool is: NONE
[2021-02-16T09:20:41.778Z] using credential f6c7695a-671e-4f4f-a331-acdce44ff9ba
[2021-02-16T09:20:41.966Z] Wiping out workspace first.
[2021-02-16T09:20:41.978Z] Cloning the remote Git repository
[2021-02-16T09:20:41.978Z] Using shallow clone with depth 4
[2021-02-16T09:20:41.978Z] Avoid fetching tags
[2021-02-16T09:20:41.994Z] Cloning repository git@github.com:elastic/gosigar.git
[2021-02-16T09:20:42.023Z]  > git init /var/lib/jenkins/workspace/Beats_gosigar_PR-125/src/github.com/elastic/gosigar # timeout=10
[2021-02-16T09:20:42.029Z] Fetching upstream changes from git@github.com:elastic/gosigar.git
[2021-02-16T09:20:42.030Z]  > git --version # timeout=10
[2021-02-16T09:20:42.034Z]  > git --version # 'git version 2.25.1'
[2021-02-16T09:20:42.035Z] using GIT_SSH to set credentials GitHub user @elasticmachine SSH key
[2021-02-16T09:20:42.039Z]  > git fetch --no-tags --force --progress -- git@github.com:elastic/gosigar.git +refs/heads/*:refs/remotes/origin/* # timeout=15
[2021-02-16T09:20:42.715Z] Cleaning workspace
[2021-02-16T09:20:42.686Z]  > git config remote.origin.url git@github.com:elastic/gosigar.git # timeout=10
[2021-02-16T09:20:42.693Z]  > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
[2021-02-16T09:20:42.704Z]  > git config remote.origin.url git@github.com:elastic/gosigar.git # timeout=10
[2021-02-16T09:20:42.721Z]  > git rev-parse --verify HEAD # timeout=10
[2021-02-16T09:20:42.735Z] Using shallow fetch with depth 4
[2021-02-16T09:20:42.735Z] Pruning obsolete local branches
[2021-02-16T09:20:43.288Z] Merging remotes/origin/master commit 6a900099b2e5e7246bd04eb5a6744fa8a1567955 into PR head commit a4d74540ddeb21f7d291171fe7f6d1e04ccddc13
[2021-02-16T09:20:43.364Z] Merge succeeded, producing b8feac140848246f4e42ac4673702aeb9deefcce
[2021-02-16T09:20:43.364Z] Checking out Revision b8feac140848246f4e42ac4673702aeb9deefcce (PR-125)
[2021-02-16T09:20:43.388Z] Commit message: "Merge commit '6a900099b2e5e7246bd04eb5a6744fa8a1567955' into HEAD"
[2021-02-16T09:20:43.389Z] First time build. Skipping changelog.
[2021-02-16T09:20:43.389Z] Cleaning workspace
[2021-02-16T09:20:43.431Z]  > git --version # timeout=10
[2021-02-16T09:20:43.435Z]  > git --version # 'git version 2.25.1'
[2021-02-16T09:20:43.439Z] fatal: bad object 619ac1080f178a9fb682688f918faa815ff1c90a
[2021-02-16T09:20:42.726Z] No valid HEAD. Skipping the resetting
[2021-02-16T09:20:42.726Z]  > git clean -fdx # timeout=10
[2021-02-16T09:20:42.738Z] Fetching upstream changes from git@github.com:elastic/gosigar.git
[2021-02-16T09:20:42.738Z] using GIT_SSH to set credentials GitHub user @elasticmachine SSH key
[2021-02-16T09:20:42.742Z]  > git fetch --no-tags --force --progress --prune -- git@github.com:elastic/gosigar.git +refs/pull/125/head:refs/remotes/origin/PR-125 +refs/heads/master:refs/remotes/origin/master # timeout=15
[2021-02-16T09:20:43.290Z]  > git config core.sparsecheckout # timeout=10
[2021-02-16T09:20:43.294Z]  > git checkout -f a4d74540ddeb21f7d291171fe7f6d1e04ccddc13 # timeout=15
[2021-02-16T09:20:43.315Z]  > git remote # timeout=10
[2021-02-16T09:20:43.319Z]  > git config --get remote.origin.url # timeout=10
[2021-02-16T09:20:43.323Z] using GIT_SSH to set credentials GitHub user @elasticmachine SSH key
[2021-02-16T09:20:43.326Z]  > git merge 6a900099b2e5e7246bd04eb5a6744fa8a1567955 # timeout=10
[2021-02-16T09:20:43.359Z]  > git rev-parse HEAD^{commit} # timeout=10
[2021-02-16T09:20:43.367Z]  > git config core.sparsecheckout # timeout=10
[2021-02-16T09:20:43.370Z]  > git checkout -f b8feac140848246f4e42ac4673702aeb9deefcce # timeout=15
[2021-02-16T09:20:43.391Z]  > git rev-parse --verify HEAD # timeout=10
[2021-02-16T09:20:43.394Z] Resetting working tree
[2021-02-16T09:20:43.394Z]  > git reset --hard # timeout=10
[2021-02-16T09:20:43.403Z]  > git clean -fdx # timeout=10
[2021-02-16T09:20:44.456Z] Masking supported pattern matches of $GIT_USERNAME or $GIT_PASSWORD
[2021-02-16T09:20:45.250Z] + git fetch<EMAIL_ADDRESS>+refs/pull/*/head:refs/remotes/origin/pr/*
[2021-02-16T09:20:45.612Z] Running in /var/lib/jenkins/workspace/Beats_gosigar_PR-125/src/github.com/elastic/gosigar/.git
[2021-02-16T09:20:45.741Z] Archiving artifacts
[2021-02-16T09:20:46.602Z] + git rev-parse HEAD
[2021-02-16T09:20:46.960Z] + git rev-parse HEAD
[2021-02-16T09:20:47.278Z] + git rev-parse origin/pr/125
[2021-02-16T09:20:47.338Z] [INFO] githubEnv: Found Git Build Cause: pr
[2021-02-16T09:20:47.629Z] Masking supported pattern matches of $GITHUB_TOKEN
[2021-02-16T09:20:48.692Z] [WARN] githubApiCall: The REST API call https://api.github.com/repos/elastic/gosigar/pulls/125/reviews return 0 elements
[2021-02-16T09:20:48.816Z] [INFO] githubPrCheckApproved: Title: Fix Mem.Get for OpenBSD 6.5 - User: gballet - Author Association: FIRST_TIME_CONTRIBUTOR
[2021-02-16T09:20:49.244Z] ERROR: githubPrCheckApproved: The PR is not allowed to run in the CI yet
[2021-02-16T09:20:49.246Z] ERROR: githubPrCheckApproved: The PR is not allowed to run in the CI yet. (Only users with write permissions can do so.)
[2021-02-16T09:20:49.342Z] [INFO] Let's stop build #1. The PR is not allowed to run in the CI yet
[2021-02-16T09:20:49.377Z] Sleeping for 5 sec
[2021-02-16T09:20:49.582Z] Stage "Lint" skipped due to earlier failure(s)
[2021-02-16T09:20:49.684Z] Stage "Build and test" skipped due to earlier failure(s)
[2021-02-16T09:20:49.919Z] Stage "Matrix - PLATFORM = 'macosx'" skipped due to earlier failure(s)
[2021-02-16T09:20:49.928Z] Stage "Matrix - PLATFORM = 'ubuntu-20 && immutable'" skipped due to earlier failure(s)
[2021-02-16T09:20:49.936Z] Stage "Matrix - PLATFORM = 'windows-2012-r2 && windows-immutable'" skipped due to earlier failure(s)
[2021-02-16T09:20:50.021Z] Stage "Matrix - PLATFORM = 'macosx'" skipped due to earlier failure(s)
[2021-02-16T09:20:50.035Z] Stage "Matrix - PLATFORM = 'ubuntu-20 && immutable'" skipped due to earlier failure(s)
[2021-02-16T09:20:50.043Z] Stage "Matrix - PLATFORM = 'windows-2012-r2 && windows-immutable'" skipped due to earlier failure(s)
[2021-02-16T09:20:50.270Z] Stage "Matrix - PLATFORM = 'macosx'" skipped due to earlier failure(s)
[2021-02-16T09:20:50.285Z] Stage "Matrix - PLATFORM = 'ubuntu-20 && immutable'" skipped due to earlier failure(s)
[2021-02-16T09:20:50.294Z] Stage "Matrix - PLATFORM = 'windows-2012-r2 && windows-immutable'" skipped due to earlier failure(s)
[2021-02-16T09:20:50.591Z] Failed in branch Matrix - PLATFORM = 'macosx'
[2021-02-16T09:20:50.603Z] Failed in branch Matrix - PLATFORM = 'ubuntu-20 && immutable'
[2021-02-16T09:20:50.615Z] Failed in branch Matrix - PLATFORM = 'windows-2012-r2 && windows-immutable'
[2021-02-16T09:20:51.326Z] Running on Jenkins in /var/lib/jenkins/workspace/Beats_gosigar_PR-125
[2021-02-16T09:20:51.516Z] [INFO] getVaultSecret: Getting secrets
[2021-02-16T09:20:51.696Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2021-02-16T09:20:52.805Z] + chmod 755 generate-build-data.sh
[2021-02-16T09:20:52.805Z] + ./generate-build-data.sh https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/gosigar/PR-125/ https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/gosigar/PR-125/runs/1 ABORTED 102947
[2021-02-16T09:20:53.056Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/gosigar/PR-125/runs/1/steps/?limit=10000 -o steps-info.json
[2021-02-16T09:20:54.917Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/gosigar/PR-125/runs/1/tests/?status=FAILED -o tests-errors.json
[2021-02-16T09:20:54.917Z] Retry 1/3 exited 22, retrying in 1 seconds...
[2021-02-16T09:20:56.261Z] Retry 2/3 exited 22, retrying in 2 seconds...
[2021-02-16T09:20:58.122Z] Retry 3/3 exited 22, no more retries left.


[Bug][Azure MySQL] Error at Azure Mysql Database Flexible on Migration Step Devlake

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When I try run firt time Apache Devlake and start "Proceed to Migration" I receive this information on lake pod:
**error executing migration (500) Wraps: (2) Error 1235 (42000): This version of MySQL doesn't yet support 'existing primary key drop without adding a new primary key.
In @@sql_generate_invisible_primary_key=ON mode table should have a primary key. Please add a new primary key to be able to drop existing primary key.' (500) Wraps: (3) Error 1235 (42000): This version of MySQL doesn't yet support 'existing primary key drop without adding a new primary key.**

I´m using Azure Mysql Flexible and tried disable sql_generate_invisible_primary_key and remove PK´s and not resolved.
Mysql version 8.0 and not have another available version at Azure MySQL.
References:
https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-limitations#generated-invisible-primary-keys
https://dev.mysql.com/doc/refman/8.0/en/create-table-gipks.html
https://github.com/prisma/prisma/issues/20944
What do you expect to happen
Expected Apache DevLake run correctly migration and allow access at tool.
How to reproduce
I´m using Azure Kubernetes Service (AKS) and Azure MySQL Flexible version 8.0.
Apache Devlake v0.18.0 latest installed with Helm Chart.
Anything else
No response
Version
latest version and v0.18.0
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@keon94 @CamilleTeruel Please help take a look when you find time, thanks.

@osanam-giordane
Have you tried to disable GIPK following this guide ?
If you disable it, it won's return errors theoretically.
And if you want to dive into it, after disabling it, you can create a test table and run command ALTER TABLE {test_table_name} DROP PRIMARY KEY and  see what will happe.
And if you build devlake from source code, I think you can remove this line https://github.com/apache/incubator-devlake/blob/main/backend/python/plugins/azuredevops/azuredevops/migrations.py#L148   (@keon94 please help to confirm it.)

Hi @d4x1 I tried disabke GIPK and wasn´t resolved.
For build source code for me it´s impossible because I use pipelines for deploy this and when another release will created I need to change this line again and is it not help me.
The problem is with Azure Mysql, I tried last weekend on AWS and GCP and ran properly.
I´ll open a ticket at Microsoft for understand how I can resolve this.
Thanks for help folks!

Hi @d4x1 I tried disabke GIPK and wasn´t resolved.
For build source code for me it´s impossible because I use pipelines for deploy this and when another release will created I need to change this line again and is it not help me.
The problem is with Azure Mysql, I tried last weekend on AWS and GCP and ran properly.
I´ll open a ticket at Microsoft for understand how I can resolve this.
Thanks for help folks!

@osanam-giordane  Looking forward to receiving a response from Microsoft

@osanam-giordane, hey did you receive anything from Microsoft?

I confirm I get the same error when using Azure MySQL Flexible Server
MySQL version: 8.0


[#2098] Change Fee Choices for request and inquiry forms

WIP
Fixes #2098

@maneesha I need URL for the destination page.
I also have small issue with the link. This is the default way Django renders the changed choice text:

As you can see, <a href> is rendered literally, so I was wondering if you're okay with putting this link into help text instead of the choice option. If it was there, the HTML rendering would work just fine.
If you prefer to keep the link inside choice option, then I will spend some time figuring out how to do it.

I will share the url shortly.
It's fine to have it in the help text.

@maneesha the help text version would look like this:

Please correct my verbiage.

@maneesha I changed the options. Here's how it looks like now.
Workshop Inquiry:

(Removed "Not sure yet", changed options for "for-profit", "member" and waiver).
Workshop Request:

(Changed options for "for-profit", "member" and waiver).
@maneesha please remember about the link for destination page.

I found the link: https://carpentries.org/workshops/#workshop-cost


Would you like to bypass splash screen?

I've really loved your work & wondering if you can bypass demo splash screen to, its too annoying.

I'm still thinking about what to use for that. I'll leave this issue open until I do.

I hope you can make this :) Good luck
29 Haz 2023 Per, saat 11:33 tarihinde Ren @.***> şunu
yazdı:

I'm still thinking about what to use for that. I'll leave this issue open
until I do.
—
Reply to this email directly, view it on GitHub
https://github.com/RenardDev/OreansCrack/issues/3#issuecomment-1612631542,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3L3LW2KA766SVAV5DIZ7Y3XNU4WJANCNFSM6AAAAAAZV5AM5A
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hey, im having this problem too where it doesnt bypass the demo splash screen for themida and winlicense, but everything works perfectly with code virtualizer.

Hey, im having this problem too where it doesnt bypass the demo splash screen for themida and winlicense, but everything works perfectly with code virtualizer.

Nah, the reason it works with code virtualizer is code virtualizer doesn't have a demo splash screen. I'm still using this app and I hope Renard is gonna do it soon :)

any future work planned in regards to this or no?

any future work planned in regards to this or no?

At the moment it is impossible to competently perform this with the existing Detours. Another project is currently being developed, which may give a different direction for solving this task (it will be something similar to Blackbone)


Update travis osx to 10.10 and xcode 6.4 to fix osx build issues

Fixes https://github.com/omnia-md/conda-recipes/issues/608

Reminder that this should probably be merged if it wont cause issue. According to the travis.yml file, the Xcode 6.1 license expired yesterday.


hardening Environment.shape_class for distinct usage

Harding for issue https://github.com/locustio/locust/issues/1981
Signed-off-by: Chenyang Yan<EMAIL_ADDRESS>

Does it fix that issue or just make it more clear if the user made a mistake? Looks like a reasonable change, I'm just wondering. And maybe it is meaningful to add a test case?

Making it more clear, prevent usage error.

And maybe it is meaningful to add a test case?

OK, I will add test case happily and rebase commit later.

@cyberw I have updated and rebased it, you could be ready to review.

thx!


No way to output file to a different directory

I noticed that there isn't a switch to output the file to a different directory like there is with your other app.  Is this a limitation or did I miss something?
I am running a powershell script that looks for files in one folder and converts them.  Currently it outputs to the location of my script file.  Would like it to output to a different folder if possible.

@TheClaus All output going to the current working directory is intentional and by design. And I have no plans to change that. You can already decide where your output will go simply by using the cd command before you invoke other-transcode. So it's not a limitation either.
Your request is actually a duplicate of issue #9 (and issue #44) where I've detailed my reasoning for not implementing this. Sorry.

@TheClaus In your powershell script you can add a working directory command to put the output where you want to.  My 2 cents worth.


Not downloading all lectures

when i ran the code it didn't download all lectures, It just downloaded videos of first two modules. And  When i  used --info argument, it listed out only the first two modules
[i] : Trying to login using session cookie
[i] : Logged in successfully.
[+] : Downloaded course information ..  (done)
[i] : Trying to logout now...

     - Lecture id : 22184926.
        - hls:mp4@360            360p
        - hls:mp4@432            432p
        - hls:mp4@576            576p
        - hls:mp4@720            720p
        - hls:mp4@1080           1080p
        - video:mp4@144          144p    40.94MB
        - video:mp4@360          360p    123.37MB
        - video:mp4@480          480p    188.74MB
        - video:mp4@720          720p    325.59MB (Best)
        - file:pdf@pdf           pdf     8.02MB
        - subtitle:en@vtt        vtt     32.62KB

[i] : Chapter (02 Introduction to Rasa Open Source-5266410)
[i] : Lecture(s) (1)
     - duration   : 31:46.
     - Lecture id : 22049252.
        - hls:mp4@360            360p
        - hls:mp4@432            432p
        - hls:mp4@576            576p
        - hls:mp4@720            720p
        - hls:mp4@1080           1080p
        - video:mp4@144          144p    36.34MB
        - video:mp4@360          360p    103.28MB
        - video:mp4@480          480p    149.59MB
        - video:mp4@720          720p    257.00MB (Best)
        - subtitle:en@vtt        vtt     38.42KB

[i] : Chapter (03 Conversation Design & NLU Deep Dive-5266528)
[i] : Lecture(s) (1)

[i] : Chapter (04 DIET Architecture & TED Policy-5266530)
[i] : Lecture(s) (1)

[i] : Chapter (05 Events, Slots, Custom Actions, and Implementing Forms-5266536)
[i] : Lecture(s) (3)

[i] : Chapter (06 Conversation-Driven Development and Connecting to Messaging Platform-5266546)
[i] : Lecture(s) (2)

[i] : Chapter (07 Recap & Certification Exam-5266548)
[i] : Lecture(s) (1)

this is related to DRM protected video... dev wont fix, check warning at https://github.com/r0oth3x49/udemy-dl

so isnt there any other way to download it?

no, its encrypted, decrypting it violates many laws and will result in this code being taken down.


Relationship between Schema & Ontologies

Hi,
I'm currently using the SparQL endpoint to explore Uk Parliament data and am confused by the differences between the schema and the ontologies.
While there is a lot of overlap between these two descriptions of the data store, there is also a great deal of separation (ontological terms not present in the schema, predicates named differently in the ontology, etc). Please could you clarify the relationship between these documents?
Is the ontology a design you're moving the schema towards or a completely difference data source? If the latter, is there a way to query the ontological data source?
Thanks,
Ian

For the schema , look at this ontology. The ontologies is worked on by data architects, which has some differences from what is actually implemented.

Thank you for the quick answer.
I have a bunch more questions for which Github issues feel like a poor fit. Do you have any other forums for asking questions about the UkParliament SparQL endpoint?


Dto refresh optimizations

Dto refresh optimizations and code cleanup. Final clean up of the saving code.
Depends on https://github.com/ManageIQ/manageiq/pull/12248

@miq-bot assign @agrare

@miq-bot remove_label wip

@agrare this is ready, should be final changes for now, then we will merge lots and lots of specs on the AWS side


Use CTE instead of inheritance views when generating ranges for types

If a type or pointer has children and the compiler is not using EXPLAIN, use a CTE instead of the current inheritance views.

The flag is a bit awkward, the end goal is to have two flags, is_explain and use_type_inheritance_ctes while removing the current expand_inhviews.

@dnwpark, my PRs are merged, SQL now uses inheritance CTEs

For example, given:
  type Foo {
    n -> int64;
  }
  type Foo2 extending Foo;
  type Bar {
    foo -> Foo {
      n -> str
    }
  }
  type Bar2 extending Bar;

The query select Foo { n } produces the sql:
WITH
"t_default::Foo~1" AS NOT MATERIALIZED
    ((
    (
        FROM edgedbpub."default::Foo" AS "Foo~2"
        SELECT/*<pg.SelectStmt at 0x7fe6befd7aa0>*/
            "Foo~2".id AS "Foo_value~1",
            "Foo~2"."n" AS "n_serialized~1"
    ) union ALL (
        FROM edgedbpub."default::Foo2" AS "Foo2~1"
        SELECT/*<pg.SelectStmt at 0x7fe6be4e7ad0>*/
            "Foo2~1".id AS "Foo_value~2",
            "Foo2~1"."n" AS "n_serialized~2"
    )
    ))
FROM (
    FROM "t_default::Foo~1" AS "t_default::Foo~2"
    SELECT/*<pg.SelectStmt at 0x7fe6be4e7260>*/
        "t_default::Foo~2"."Foo_value~1" AS "Foo_value~3",
        "t_default::Foo~2"."n_serialized~1" AS "n_serialized~3"
) AS "q~1"
SELECT/*<pg.SelectStmt at 0x7fe6be0354f0>*/
    ROW((
        SELECT/*<pg.SelectStmt at 0x7fe6be4e6420>*/
            "q~1"."n_serialized~3" AS "n_serialized~4"
    )) AS "Foo_serialized~1"

The query select Foo2 { n } produces the sql:
FROM edgedbpub."default::Foo2" AS "Foo2~2"
SELECT/*<pg.SelectStmt at 0x7fe6bd8bee70>*/
    ROW((
        SELECT/*<pg.SelectStmt at 0x7fe6be4e66c0>*/
            "Foo2~2"."n" AS "n_serialized~1"
    )) AS "Foo2_serialized~1"

The query select Bar { foo : { n, @n } } produces the sql:
WITH
"t_default::Bar~1" AS NOT MATERIALIZED
    ((
    (
        FROM edgedbpub."default::Bar" AS "Bar~2"
        SELECT/*<pg.SelectStmt at 0x7fe6bd8be630>*/
            "Bar~2".id AS "Bar_value~1",
            "Bar~2"."foo" AS "foo_identity~1"
    ) union ALL (
        FROM edgedbpub."default::Bar2" AS "Bar2~1"
        SELECT/*<pg.SelectStmt at 0x7fe6be4e61b0>*/
            "Bar2~1".id AS "Bar_value~2",
            "Bar2~1"."foo" AS "foo_identity~2"
    )
    )),
"t_default::Foo~1" AS NOT MATERIALIZED
    ((
    (
        FROM edgedbpub."default::Foo" AS "Foo~1"
        SELECT/*<pg.SelectStmt at 0x7fe6be201fa0>*/
            "Foo~1".id AS "Foo_identity~1",
            "Foo~1"."n" AS "n_serialized~1"
    ) union ALL (
        FROM edgedbpub."default::Foo2" AS "Foo2~1"
        SELECT/*<pg.SelectStmt at 0x7fe6be201550>*/
            "Foo2~1".id AS "Foo_identity~2",
            "Foo2~1"."n" AS "n_serialized~2"
    )
    )),
"t_default::__|foo@default|Bar~1" AS NOT MATERIALIZED
    ((
    (
        FROM edgedbpub."foo" AS "foo~1"
        SELECT/*<pg.SelectStmt at 0x7fe6be202600>*/
            "foo~1".source AS source,
            "foo~1".target AS target,
            "foo~1"."@n" AS "n_serialized~5"
    ) union ALL (
        FROM edgedbpub."foo" AS "foo~2"
        SELECT/*<pg.SelectStmt at 0x7fe6be200650>*/
            "foo~2".source AS source,
            "foo~2".target AS target,
            "foo~2"."@n" AS "n_serialized~6"
    )
    ))
FROM (
    FROM "t_default::Bar~1" AS "t_default::Bar~2"
    SELECT/*<pg.SelectStmt at 0x7fe6be4e5d30>*/
        "t_default::Bar~2"."Bar_value~1" AS "Bar_value~3",
        "t_default::Bar~2"."foo_identity~1" AS "foo_identity~3"
) AS "q~1"
SELECT/*<pg.SelectStmt at 0x7fe6bd72c890>*/
    ROW((
        FROM LATERAL (
            FROM LATERAL (
                SELECT/*<pg.SelectStmt at 0x7fe6beb596d0>*/
                    "q~1"."foo_identity~3" AS "foo_identity~4"
            ) AS "q~2"
            JOIN LATERAL (
                FROM "t_default::Foo~1" AS "t_default::Foo~2"
                SELECT/*<pg.SelectStmt at 0x7fe6be201d90>*/
                    "t_default::Foo~2"."Foo_identity~1" AS "Foo_identity~3",
                    "t_default::Foo~2"."n_serialized~1" AS "n_serialized~3"
            ) AS "q~3"
                ON ("q~2"."foo_identity~4" = "q~3"."Foo_identity~3")
            SELECT/*<pg.SelectStmt at 0x7fe6be4e4830>*/
                "q~3"."Foo_identity~3" AS "foo_value~1",
                ((
                    SELECT/*<pg.SelectStmt at 0x7fe6be2023f0>*/
                        "q~3"."n_serialized~3" AS "n_serialized~4"
                ), (
                    FROM (
                        FROM "t_default::__|foo@default|Bar~1" AS "t_default::__|foo@default|Bar~2"
                        SELECT/*<pg.SelectStmt at 0x7fe6be2037a0>*/
<EMAIL_ADDRESS>AS source,
<EMAIL_ADDRESS>AS target,
<EMAIL_ADDRESS>AS "n_serialized~7"
                    ) AS "q~4"
                    SELECT/*<pg.SelectStmt at 0x7fe6be201070>*/
                        "q~4"."n_serialized~7" AS "n_serialized~8"
                    WHERE
                        (("q~1"."Bar_value~3" = "q~4".source) AND
                         ("q~2"."foo_identity~4" = "q~4".target))
                )) AS "foo_serialized~1"
        ) AS "Foo_foo~3"
        SELECT/*<pg.SelectStmt at 0x7fe6be4e75c0>*/
            "Foo_foo~3"."foo_serialized~1" AS "foo_serialized~2"
    )) AS "Bar_serialized~1"

The query select Bar2 { foo : { n, @n } } produces the sql:
WITH
"t_default::Foo~1" AS NOT MATERIALIZED
    ((
    (
        FROM edgedbpub."default::Foo" AS "Foo~1"
        SELECT/*<pg.SelectStmt at 0x7fe6bd6a8110>*/
            "Foo~1".id AS "Foo_identity~1",
            "Foo~1"."n" AS "n_serialized~1"
    ) union ALL (
        FROM edgedbpub."default::Foo2" AS "Foo2~1"
        SELECT/*<pg.SelectStmt at 0x7fe6bd6a9fd0>*/
            "Foo2~1".id AS "Foo_identity~2",
            "Foo2~1"."n" AS "n_serialized~2"
    )
    ))
FROM edgedbpub."default::Bar2" AS "Bar2~2"
SELECT/*<pg.SelectStmt at 0x7fe6be4e45f0>*/
    ROW((
        FROM LATERAL (
            FROM LATERAL (
                SELECT/*<pg.SelectStmt at 0x7fe6becb5a60>*/
                    "Bar2~2"."foo" AS "foo_identity~1"
            ) AS "q~1"
            JOIN LATERAL (
                FROM "t_default::Foo~1" AS "t_default::Foo~2"
                SELECT/*<pg.SelectStmt at 0x7fe6bd6a8920>*/
                    "t_default::Foo~2"."Foo_identity~1" AS "Foo_identity~3",
                    "t_default::Foo~2"."n_serialized~1" AS "n_serialized~3"
            ) AS "q~2"
                ON ("q~1"."foo_identity~1" = "q~2"."Foo_identity~3")
            SELECT/*<pg.SelectStmt at 0x7fe6bec1b9b0>*/
                "q~2"."Foo_identity~3" AS "foo_value~1",
                ((
                    SELECT/*<pg.SelectStmt at 0x7fe6bd6a8b00>*/
                        "q~2"."n_serialized~3" AS "n_serialized~4"
                ), (
                    FROM edgedbpub."foo" AS "foo~1"
                    SELECT/*<pg.SelectStmt at 0x7fe6bd6aaa80>*/
                        "foo~1"."@n" AS "n_serialized~5"
                    WHERE
                        (("Bar2~2".id = "foo~1".source) AND
                         ("q~1"."foo_identity~1" = "foo~1".target))
                )) AS "foo_serialized~1"
        ) AS "Foo_foo~3"
        SELECT/*<pg.SelectStmt at 0x7fe6bec190a0>*/
            "Foo_foo~3"."foo_serialized~1" AS "foo_serialized~2"
    )) AS "Bar2_serialized~1"


Learn about Git flow

Prepare Git flow and how to contribute to this project
Get people understand the flow & able to give their contributions

I'll do prepare the Git flow, but people make sure have a read on this :

Success Git Branching Model
Example Git Workflow with Bitbucket
Well understanding about Git stuff like: Fork, Pull Request, Merge, Conflict. If not, fell free to raise question here @toannk @hoangnh228 @cuongnguyen71190 @mrfeeder


Fix haskellng packages using ghc 7.6.3.

Again an issue with xhtml that was missing in
compiler specific configuration.
Actually mirrors what's done with 784.

xhtml is not a core package in GHC 7.6.3:
$ /nix/store/5pb2702lscrjwgfcn8bnil7d3za397xd-ghc-7.6.3/bin/ghc-pkg list
/nix/store/5pb2702lscrjwgfcn8bnil7d3za397xd-ghc-7.6.3/lib/ghc-7.6.3/package.conf.d
   Cabal-1.16.0
   array-<IP_ADDRESS>
   base-<IP_ADDRESS>
   bin-package-db-<IP_ADDRESS>
   binary-<IP_ADDRESS>
   bytestring-<IP_ADDRESS>
   containers-<IP_ADDRESS>
   deepseq-<IP_ADDRESS>
   directory-<IP_ADDRESS>
   filepath-<IP_ADDRESS>
   ghc-7.6.3
   ghc-prim-<IP_ADDRESS>
   haskell2010-<IP_ADDRESS>
   haskell98-<IP_ADDRESS>
   hoopl-<IP_ADDRESS>
   hpc-<IP_ADDRESS>
   integer-gmp-<IP_ADDRESS>
   old-locale-<IP_ADDRESS>
   old-time-<IP_ADDRESS>
   pretty-<IP_ADDRESS>
   process-<IP_ADDRESS>
   rts-1.0
   template-haskell-<IP_ADDRESS>
   time-<IP_ADDRESS>
   unix-<IP_ADDRESS>

What exactly is the problem that this patch ought to fix?

Indeed, you're right. I just noticed that this solution did not function properly when
my build finally crashed.
I had the following problem building with 7.6.3:

Configuring recaptcha-<IP_ADDRESS>...
Setup: At least the following dependencies are missing:
xhtml >=3000.0

There indeed is no haskell package named xhtml under
pkgs/development/haskell-modules/hackage-packages.nix but only
a package named xhtml_3000_2_1.
So the solution was rather to define xhtml to something valid: xhtml = self.xhtml_3000_2_1;
See:
https://github.com/jraygauthier/nixpkgs/commit/99a45155c4837f1a739ff1837ee84cdcb472f488
I succeed building and launching gitit using this solution.
I should update the pull request with this new solution.

96a8f36 will fix that issue when it's merged to master. Thanks for finding this omission!

My pleasure. Thanks to you too for this very prompt action. I'm intrigued, are you working full time
on the integration of Haskell within nix?

I'm doing this in my spare time. It's just a hobby. :-)


fugitive compatibility for viewing commits in PlugDiff

In :PlugDiff, it's possible to hit enter on a given commit to view its content:

fugitive.vim has a very similar feature for viewing commits, but with extra features like being able to browse to other commits and files, and with rhubarb.vim and others, to open the equivalent forge URL e.g. on GitHub.
It'd be cool if vim-plug used fugitive to view commits when it's available.

NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1703358377

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/opt/homebrew/Cellar/neovim/0.9.5/share/nvim"

Type:

[ ] Bug
[x] Enhancement
[x] Feature Request
[ ] Question

OS:

[x] All/Other
[ ] Linux
[ ] macOS
[ ] Windows

Vim:

[x] Terminal Vim
[x] GVim
[x] Neovim

Need some more testing, but this should do the trick.
diff --git a/plug.vim b/plug.vim
index 940811a..02976df 100644
--- a/plug.vim
+++ b/plug.vim
@@ -2666,6 +2666,7 @@ function! s:preview_commit()
   endif

   let sha = matchstr(getline('.'), '^  \X*\zs[0-9a-f]\{7,9}')
+  let use_fugitive = exists('g:loaded_fugitive') && len(sha)
   if empty(sha)
     let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$')
     if empty(name)
@@ -2683,6 +2684,10 @@ function! s:preview_commit()
     return
   endif

+  if use_fugitive
+    let title = FugitiveFind(sha, g:plugs[name].dir . '/.git')
+  endif
+
   if !s:is_preview_window_open()
     execute get(g:, 'plug_pwindow', 'vertical rightbelow new')
     execute 'e' title
@@ -2691,6 +2696,12 @@ function! s:preview_commit()
     wincmd P
   endif
   setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable
+  nnoremap <silent> <buffer> q :q<cr>
+  if use_fugitive
+    wincmd p
+    return
+  endif
+
   let batchfile = ''
   try
     let [sh, shellcmdflag, shrd] = s:chsh(1)
@@ -2706,7 +2717,6 @@ function! s:preview_commit()
     endif
   endtry
   setlocal nomodifiable
-  nnoremap <silent> <buffer> q :q<cr>
   wincmd p
 endfunction

The patch works. But it's considerably slower to open a commit, so users who don't need additional features of Fugitive may not like it.


WasmTrapJSTypeError while loading an SVG when building with LTO

This test program:
import Vips from './lib/vips-node.mjs';

const vips = await Vips({
  dynamicLibraries: ['vips-resvg.wasm']
});

const svg =
  '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" id="svg-root" />';
const im = vips.Image.newFromBuffer(svg);
im.writeToFile('x.png');

Fails with:
$ node test.mjs
wasm://wasm/00561afe:1

TypeError: type incompatibility when transforming from/to JS
    at wasm://wasm/00561afe:wasm-function[616]:0x7a3aa
    at gh (lib/vips-node.mjs:314:433)
    at wasm://wasm/00561afe:wasm-function[1113]:0xeafb9
    at wasm://wasm/00561afe:wasm-function[201]:0xcf95
    at wasm://wasm/00561afe:wasm-function[1304]:0x119fa2
    at wasm://wasm/0169d79e:wasm-function[6279]:0x474c27
    at wasm://wasm/0169d79e:wasm-function[311]:0x1ca8a
    at wasm://wasm/0169d79e:wasm-function[1465]:0xfbd6f
    at wasm://wasm/0169d79e:wasm-function[6208]:0x46ab34
    at sh (lib/vips-node.mjs:315:262)

Node.js v18.16.0

Readable stack trace
  1) SVG input
       Convert SVG with embedded images to PNG, respecting dimensions, autoconvert to PNG:
     Uncaught TypeError: type incompatibility when transforming from/to JS
      at rosvgtree::parse::parse::h46e668755e5e4dd7 (wasm://wasm/030b2c16:wasm-function[1098]:0xe5bf3)
      at invoke_vii (build/Release/sharp-emscripten-wasm32.node.js:7803:27)
      at _$LT$usvg_tree..Tree$u20$as$u20$usvg_parser..TreeParsing$GT$::from_str::h2ad984f34c8b8916 (wasm://wasm/030b2c16:wasm-function[1699]:0x161843)
      at _$LT$usvg_tree..Tree$u20$as$u20$usvg_parser..TreeParsing$GT$::from_data::hb74bbe40b8ecb9f0 (wasm://wasm/030b2c16:wasm-function[596]:0x60ca1)
      at invoke_viiii (build/Release/sharp-emscripten-wasm32.node.js:7936:27)
      at resvg_parse_tree_from_file (wasm://wasm/030b2c16:wasm-function[594]:0x60283)
      at vips_foreign_load_svg_file_header (wasm://wasm/030b2c16:wasm-function[5339]:0x2b4596)
      at vips_foreign_load_build (wasm://wasm/030b2c16:wasm-function[4480]:0x21e4af)
      at vips_object_build (wasm://wasm/030b2c16:wasm-function[4667]:0x2313ac)
      at vips_cache_operation_buildp (wasm://wasm/030b2c16:wasm-function[4227]:0x1ea98a)

When wasm-vips was build with LTO enabled, i.e:
$ npm run build -- --enable-lto

It looks like this error orginates from V8:
https://github.com/nodejs/node/blob/v18.16.0/deps/v8/src/common/message-template.h#L600
Building without LTO or removing id="svg-root" from this particular SVG seems to fix this.
This was found while trying to update wasm-vips in https://github.com/lovell/sharp/pull/3522.

On a somewhat tangent, LTO also causes some other test failures within wasm-vips' test suite.

Details
  1) foreign
       svgload:
     TypeError: type incompatibility when transforming from/to JS
      at wasm://wasm/00561afe:wasm-function[616]:0x7a3aa
      at gh (lib/vips-node.mjs:314:433)
      at wasm://wasm/00561afe:wasm-function[1113]:0xeafb9
      at wasm://wasm/00561afe:wasm-function[201]:0xcf95
      at rh (lib/vips-node.mjs:315:366)
      at wasm://wasm/00561afe:wasm-function[1291]:0x11847c
      at wasm://wasm/0169d79e:wasm-function[6279]:0x474c27
      at wasm://wasm/0169d79e:wasm-function[311]:0x1ca8a
      at wasm://wasm/0169d79e:wasm-function[1465]:0xfbd6f
      at wasm://wasm/0169d79e:wasm-function[6208]:0x46ab34
      at sh (lib/vips-node.mjs:315:262)
      at wasm://wasm/0169d79e:wasm-function[4909]:0x31284d
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[2456]:0x1a41b9
      at gh (lib/vips-node.mjs:314:433)
      at wasm://wasm/0169d79e:wasm-function[911]:0x93e6e
      at Function.Image$svgload (eval at Ee (lib/vips-node.mjs:156:242), <anonymous>:8:10)
      at a.<computed> [as svgload] (lib/vips-node.mjs:146:259)
      at Object.svgload (test/unit/test_foreign.js:19:33)
      at fileLoader (test/unit/test_foreign.js:78:33)
      at Context.<anonymous> (test/unit/test_foreign.js:907:5)
      at process.processImmediate (node:internal/timers:476:21)

  2) histogram
       histIsmonotonic:
     vips::Error: unable to call hist_ismonotonic
source: bad seek to 2435
: no property named `precision'

      at Yc (lib/vips-node.mjs:122:45)
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[6208]:0x46c065
      at sh (lib/vips-node.mjs:315:262)
      at wasm://wasm/0169d79e:wasm-function[4020]:0x25fefa
      at wasm://wasm/0169d79e:wasm-function[931]:0x94659
      at Ld.Image$histIsmonotonic [as histIsmonotonic] (eval at Ee (lib/vips-node.mjs:156:242), <anonymous>:9:10)
      at Context.<anonymous> (test/unit/test_histogram.js:35:15)
      at process.processImmediate (node:internal/timers:476:21)

  3) histogram
       case:
     vips::Error: property
      at Yc (lib/vips-node.mjs:122:45)
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[6208]:0x46a9bf
      at sh (lib/vips-node.mjs:315:262)
      at wasm://wasm/0169d79e:wasm-function[4545]:0x2dee69
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[2645]:0x1b72d4
      at Ld.Image$case [as case] (eval at Ee (lib/vips-node.mjs:156:242), <anonymous>:10:10)
      at Context.<anonymous> (test/unit/test_histogram.js:130:25)
      at process.processImmediate (node:internal/timers:476:21)

  4) morphology
       countlines:
     vips::Error: unable to call countlines
: no property named `precision'

      at Yc (lib/vips-node.mjs:122:45)
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[6208]:0x46c065
      at sh (lib/vips-node.mjs:315:262)
      at wasm://wasm/0169d79e:wasm-function[4425]:0x2d4957
      at Og (lib/vips-node.mjs:317:367)
      at wasm://wasm/0169d79e:wasm-function[2411]:0x1a0d38
      at Ld.Image$countlines [as countlines] (eval at Ee (lib/vips-node.mjs:156:242), <anonymous>:10:10)
      at Context.<anonymous> (test/unit/test_morphology.js:11:23)
      at process.processImmediate (node:internal/timers:476:21)

  5) morphology
       rank:
     vips::Error: property
      at Yc (lib/vips-node.mjs:122:45)
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[6208]:0x46a9bf
      at sh (lib/vips-node.mjs:315:262)
      at wasm://wasm/0169d79e:wasm-function[1237]:0xc643b
      at wasm://wasm/0169d79e:wasm-function[2366]:0x19d9e6
      at Ld.Image$rank [as rank] (eval at Ee (lib/vips-node.mjs:156:242), <anonymous>:12:10)
      at Context.<anonymous> (test/unit/test_morphology.js:69:20)
      at process.processImmediate (node:internal/timers:476:21)

  6) resample
       mapim:
     vips::Error: property
      at Yc (lib/vips-node.mjs:122:45)
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[6208]:0x46a9bf
      at sh (lib/vips-node.mjs:315:262)
      at wasm://wasm/0169d79e:wasm-function[3823]:0x22f06a
      at rh (lib/vips-node.mjs:315:366)
      at wasm://wasm/0169d79e:wasm-function[6417]:0x483721
      at lh (lib/vips-node.mjs:313:432)
      at wasm://wasm/0169d79e:wasm-function[2623]:0x1b4407
      at Ld.Image$mapim (eval at Ee (lib/vips-node.mjs:156:242), <anonymous>:10:10)
      at a.<computed> [as mapim] (lib/vips-node.mjs:146:259)
      at toPolar (test/unit/test_resample.js:51:18)
      at Context.<anonymous> (test/unit/test_resample.js:310:15)
      at process.processImmediate (node:internal/timers:476:21)

Disabling the support for dynamic modules at runtime or via the --disable-modules build option seems to fix that.
https://github.com/kleisauke/wasm-vips/blob/1a0160a367afb1f5137b27cb745dae2d01781e60/test/unit/node-helper.js#L12-L13
https://github.com/kleisauke/wasm-vips/blob/1a0160a367afb1f5137b27cb745dae2d01781e60/build.sh#L79-L82

LTO also causes some other test failures within wasm-vips' test suite.

These test failures are no longer reproducible, first good commit is e1cc2ddaecff889d1d9f2b8fb12e53fab51ccfad according to git bisect. Unfortunately, the main issue still persists on git master (tested with commit b5764895a98ea29e44f30c79b0f8e35603459b4b).

Closing this issue as "won't fix" for now, see: https://github.com/emscripten-core/emscripten/issues/20414#issuecomment-2273394239.


Distributed cellpose using Dask for large (3D) images

Hi Cellpose Team!
This is quite late, but per discussions here: https://github.com/MouseLand/cellpose/issues/244
This is the distributed Cellpose that I am using for large 3D volumes (~2K x 6K x 5K voxels, maybe 150K total cell segments).
I've kept all new code in one place: cellpose/distribute.py
The user should only be interacting with cellpose.distribute.distributed_eval
I've written a not-so-complete-but-hopefully-helpful docstring for it. And here is an example of it being used on our LSF cluster:
distribued_cellpose_example.pdf
There are of course also some new dependencies (dask, and my wrapper for working with dask on a cluster). So setup.py and environment.yml also have some new additions.
I see that @chrisroat has also merged a solution. Maybe we can compare experiences? I'm happy to chat here or zoom.
Thanks,
Greg

thanks @GFleishman! since this works on zarr arrays maybe you can add it to the contrib folder with the name distributed_zarr.py? also can you please put the dependencies in the setup.py under distributed? it would be great if you could add the example notebook as well, particularly if you have an example that can run proof of concept without a cluster

Happy to share it! I can make the suggested changes, but will do it after the symposium.

Is there an update to this getting merged?

New updated PR submitted where I actually follow through with the requirements for a merge.


Fix indentation check for classes where invocation is mistaken for a parameter list

Currently, the regex considers a class to start a parameter list if it contains "class", "object", or "trait" and is followed by a left-paren. However, this is incorrect in the example:
object A extends B(   a, b, c)
as it is not a parameter list, but constructor/method invocation.

Current coverage is 87.14%

Merging #194 into master will not affect coverage as of 739602d

@@            master    #194   diff @@
======================================
  Files           56      56
  Stmts         1252    1252
  Branches       162     162
  Methods          0       0
======================================
  Hit           1091    1091
  Partial          0       0
  Missed         161     161

Review entire Coverage Diff as of 739602d

Powered by Codecov. Updated on successful CI builds.

Cool. Thanks!