Tons of balance changes

About the PR

Adjusted most mech weapons' fire rates and energy consumption.
Fixed mech battery drain from being EMP'd not being visible in the status menu
Ling fleshmend and panacea now have unique chems (having three chems in fleshment caused one to be ignored) and are decently stronger
Grabbing an infused blade now hardstuns you
Goliaths stun for 3 seconds less
Added evasion to part targeting
Removed most bundles from uplink and replaced them with individual guns
Fixed misinformation in stims description
Tons of energy sword tweaks, they now easily delimb, and only reflect energy projectiles
Desword does less damage but has better energy reflect than the normal esword, reduced price accordingly
Fixed implant misinformation
Tweaked a few shitty uplink prices
Reduced Northstar stamina usage
Made toy esword use esword inhand sprite :godo:
Changed how syndicate turret works, higher health and much higher firerate, but MUCH lower ammo count.
Made edagger more quiet
Evil fireaxe hits slower, costs more stamina, and deals more firestacks.
Many ling and heretic abilities can now be done while cuffed.
Ling armor slows you down less now
Ling armblade does next to no base damage, but extremely high limb damage. Should make ling combat more exciting.
Plasma rifle explodes less often at 3%
Plasma Cutter does stam damage now
Priest Ritual makes ichor

Changelog
:cl:

add: Added evasion to part targeting
add: New fleshmend and panacea chems for lings
add: BSC can be made again
fix: fix implant misinformation
fix: Fixed mech battery drain from being EMP'd not being visible in the status menu
tweak: Adjusted most mech weapons' fire rates and energy consumption.
tweak: Infused blades hardstun on grab
tweak: Goliaths stun for 3 seconds less
tweak: Removed most bundles from uplink and replaced them with individual guns
tweak: Energy swords now easily delimb, and only reflect energy projectiles
tweak: DEsword does less damage but has better energy reflect and is cheaper
tweak: change a few minor uplink prices
tweak: reduce northstar stam cost
tweak: funny toy sword sprite
tweak: edagger more quiet
tweak: Fireaxe hits harder, slower, costs more stam, and does more firestacks.
tweak: disposable turret fires faster, has less ammo, and more HP
tweak: Many heretic and ling abilities can be done while cuffed
tweak: less ling armor slowdown
tweak: armblade does VERY little damage and is now a delimbing based weapon
tweak: plasma rifle blows up less
tweak: plasma cutter deals stam damage
tweak: buff priest ritual

Could you make it so combat mechs can't move without a charged power cell :trollface:

Could you make it so combat mechs can't move without a charged power cell :trollface:

It is done

One last thing, with the alchemy it's kinda impossible to do in a real round and impractical as its just omnizine but slightly better, I think adding other things you can make with it (that only require cooperation with one other department instead of most of them) and making the current product of it better would be cool.

Also yaml fail :trollface:

One last thing, with the alchemy it's kinda impossible to do in a real round and impractical as its just omnizine but slightly better, I think adding other things you can make with it (that only require cooperation with one other department instead of most of them) and making the current product of it better would be cool.

yeah i added the base chems and whatnot first and am adding a couple dozen potions soon

Love to hear it, keep up the good work armok.

Stop returning BS crystals in protolathe. They're not supposed to be in protolathe because they are rare material that uses in very low amount of recipes. You also didn't fix anything about them - nor the price, nor effect.

Stop returning BS crystals in protolathe. They're not supposed to be in protolathe because they are rare material that uses in very low amount of recipes. You also didn't fix anything about them - nor the price, nor effect.

price is 30 now and the effect is fine

also I can join goob VC to discuss why I made some things the way they are

Stop returning BS crystals in protolathe. They're not supposed to be in protolathe because they are rare material that uses in very low amount of recipes. You also didn't fix anything about them - nor the price, nor effect.

price is 30 now and the effect is fine

30 for one material. One BSCrystal contains 100 materials. 3000 for one crystal.

Still, i don't like idea that you can craft rare ore materials. There is a reason why you can't craft diamonds.

ill make them mining only when we have lavaland so salv actually does their job

actually idea what if armblade had reflect

Make the plasma cutter do high limb damage :trollface:

Explain how evasion works

Make the plasma cutter do high limb damage :trollface:

based and doing this

Explain how evasion works

targeting a limb other than body has a chance for the other person to miss. head being highest at 70%
cutting off someones feet /  legs makes head easier to hit

actually what if lings had 2 melee weapons, one for delimbing and one current armblade

actually what if lings had 2 melee weapons, one for delimbing and one current armblade

I did bring up to armok in VC that you could potentially do sidegrades, or some form of progression where the armblade gets more damage based off of stages and depending on how many people you've absorbed, neat idea honestly.
Though theres not much reason to use the delimber one when you can just merk someone and absorb with less thought involved.

yeah i said that, delimber armblade is just useless, i don't think anyone will use it beyond being a meme ever

actually what if lings had 2 melee weapons, one for delimbing and one current armblade

I did bring up to armok in VC that you could potentially do sidegrades, or some form of progression where the armblade gets more damage based off of stages and depending on how many people you've absorbed, neat idea honestly.
Though theres not much reason to use the delimber one when you can just merk someone and absorb with less thought involved.

yeah i said that, delimber armblade is just useless, i don't think anyone will use it beyond being a meme ever

it kills faster than the current one, it is FAR from useless

it kills faster than the current one, it is FAR from useless

then i misunderstood how limb damage works, is that if you target the head or something?

it kills faster than the current one, it is FAR from useless

then i misunderstood how limb damage works, is that if you target the head or something?

join me in VC ill show you

Explain how evasion works

targeting a limb other than body has a chance for the other person to miss. head being highest at 70%
cutting off someones feet /  legs makes head easier to hit

By the way you will crit anybody before shooting a limb enough times to disable it


Incorrect errors for negative values in loot tables

The error states that the minimum value for "quality" and "bonus_rolls" is 1, but that's not the case--negative values for either of these keys are valid and will function in-game--a negative number of bonus rolls for a pool will decrease the number of rolls made for that pool for each level of luck, while a negative value for quality will decrease that entry's weight accordingly for each level of luck.

Gah, never mind. I just needed to update. >_<


Probably better of clearing unused memory (In my opinion)

The cached assets will stay until no longer in the PlayState. I think this is useful because there would be an asset that has been cached that’ll be executed after the create function has been run, or a mod could be using the same asset twice.

Good method, but I've seen better

hehe


Cannot build using standard component location, CMAKE build system

Can you provide the recommended directory structure and an example using the library?
I cloned your library repo into the "components" directory in the root of my project folder.
I added #include MIDIBLE.h in my source file but get an error that it cannot be found when compiling.
Could it be because it's missing a CMakeLists.txt file? According to the build-system docs, that is required.

@meltdown03

Could it be because it's missing a CMakeLists.txt file? According to the build-system docs, that is required.

May be it is true.
Please add CMakeLists.txt manually.


Evaluation don't work.

I have an error when I try to evaluate python code.
print("Hello, World!")
Traceback (most recent call last):
  File "/opt/LightTable/resources/app/plugins/Python/py-src/ltmain.py", line 193, in handleEval
    code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'eval')
  File "/opt/LightTable/resources/app/plugins/Python/py-src/ltmain.py", line 50, in ensureUtf
    if type(s) == unicode:
NameError: name 'unicode' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/LightTable/resources/app/plugins/Python/py-src/ltmain.py", line 197, in handleEval
    code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'exec')
  File "/opt/LightTable/resources/app/plugins/Python/py-src/ltmain.py", line 50, in ensureUtf
    if type(s) == unicode:
NameError: name 'unicode' is not defined

Lighttable 0.8.1-1 on Archlinux.

This is a duplicate of https://github.com/LightTable/Python/issues/24
The python plugin needs a maintainer. The LT core team has stopped supporting the python plugin.

Okay, didn't see it.
Ty

I also had this problem. Since searching for a solution didn't turn up anything useful I ended up editing my ltmain.py file, what the error message above is referring to.
I just put a simple version checking in, since Python 3 strings are unicode by default they don't have to be converted. It's about 8 lines more than the previous version.
I don't know how elegant this solution is but that's what I have and it works, although I only checked with simple things. Here it is: http://pastebin.com/2Q6KWM0W

@dexter1100 There are some existing pull requests that address this too:

Fixing compatibility with python3 by UnknownProgrammer · Pull Request #28 · LightTable/Python
Pep8 and Python 3 compatibility by hayd · Pull Request #30 · LightTable/Python
Changed unicode to str as Python3 does not use unicode by DChang87 · Pull Request #39 · LightTable/Python
Python3 unicode - Fixing issue #24 -NameError: name 'unicode' is not defined by RockyRoad29 · Pull Request #47 · LightTable/Python

I read some of them. I remember a particularly long conversation about converting between python3 and python2 strings which I didn't understand half of. That's why I chose to do a simple fix. Theoretically the plugin still should work with python 2 while fixing the unicode bug with python 3.
Is there a way to show inline documentation for python (like with Clojure (Ctrl + d))?

@dexter1100 There's currently no way to show inline docs for Python; that would need to be implemented in the plugin.


Moved Symfony before Buzz

Q
A

Bug fix?
no

New feature?
no

BC breaks?
no

Deprecations?
no

Related tickets

Documentation

License
MIT

I moved Symfony before Buzz since it is fairly more used and maintained. Im not sure if this list should be ordered by popularity, performance, most likeable or random. But this feels better.

Should we update order on the HTTPlug adapters too? @dbu @sagikazarmark?

I'm okay if we suggest a better maintained client. It only matters anyway if there are multiple ones installed.
For the user it shouldn't really matter, they should rely on the interface. The only thing that would impact them is a client not adhering the standard or performance differences. Again, I think we can make the better choice for the user in those cases as well.

Okey. Thank you for the input. I've updated the PR

Thank you for the reviews


Update pulsar script: add LWA1 paper pulsars and optional plotting

@caseyjlaw
I've updated the script that identifies suitable pulsars for LWA testing. I've added the capability to find not only the bright ones (which are now the default), but also all pulsars (with --all option) mentioned in the LWA1 paper (https://arxiv.org/pdf/1410.7422.pdf) (adding CSV files with their information). Additionally, I made plotting optional to avoid plotting them all the time, which makes the execution time longer.
Could you take a quick look to see if it looks okay?

I've installed this into the development environment on calim10.
I'll open another PR with a new feature for ovro-alert. I would appreciate any comments you might have in a review here on github.


Update to TSLint 4.0

TSLint 4.0 got released some hours ago, see https://github.com/palantir/tslint/releases/tag/4.0.0. Yet, the update doesn't work with the latest version of gulp-tslint.
Are there any plans when gulp-tslint will be updated?

Working on it.

Could someone test tslint-4 branch? Basic support seems to be working. I'll probably release it tomorrow.

gulp-tslint 7.0.0 is released, which supports tslint 4.x.

Awesome! Thanks for the very quick update!


milligram.io/getting-started.html - should NOT be minified so that a user of a website could simply inspect what's going on the page and appreciate simplicity

Agreed! Or at least the unminified versions should be available somewhere.
Also the same should be done for the milligram web site; I had to clone the project from https://github.com/milligram/milligram.github.io and build the styles myself.

@marcusasplund You can see the source code of the website here  https://github.com/milligram/milligram.github.io
Now, I will close this issue


Integrated logging

It constantly complains that it cannot open the log.txt file because of the multiple threads.

Good you were able to get this far; probably the config is mostly correct. The wiki will help you here:
https://github.com/jameschch/LeanOptimization/wiki/Setup-Guide

If you wish to enable parallel logging, you will need to modify your lean build as per this commit:
https://github.com/jameschch/Lean/commit/0115dabd16b0d6e88794b20f7415d76702349c6

...otherwise you will just need to disable logging.
I've completed porting the optimizer logging over to NLog and Lean has done the same. Problem may go away at that point.

Issue will be closed when batcher branch merged to master

Hi James, thanks for the reply - I totally forgot there is a wiki on Github lol.
With regards to the Logger issue, Lean has an ILoggerHandler interface, which means I think some kind of dependency injection could allow the Optimizer to simply replace the Logger used somehow. But I'm not sure. For now I'll do as you said.

Yes the docs have been neglected so far. Sorry about that.
On 10 April 2017 01:19:37 BST, Worthy7<EMAIL_ADDRESS>wrote:
Hi James, thanks for the reply - I totally forgot there is a wiki on Github lol.
With regards to the Logger issue, Lean has an ILoggerHandler interface, which means I think some kind of dependency injection could allow the Optimizer to simply replace the Logger used somehow. But I'm not sure. For now I'll do as you said.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jameschch/LeanOptimization/issues/10#issuecomment-292824022, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APvtWGQSGEkbC2MuKXotGeX6lF41vc3eks5ruXWZgaJpZM4MwnW_.

fix merged to master


Prefix internal global variables with underscore

This will help differentiate between variables which are internal
and should not be overridden using container-storage-setup file
and the one which are overriddable.
Signed-off-by: Vivek Goyal<EMAIL_ADDRESS>

@rhatdan PTAL

LGTM

@rh-atomic-bot r+ b2786ad


chore(.nvmrc): define node-version

I add .nvmrc same reason with https://github.com/toss/slash/pull/88

Close this since I don't think it is useful on this project
Btw, I prefer .tool-versions where it needed

Close this since I don't think it is useful on this project
Btw, I prefer .tool-versions where it needed

@cometkim oh, I didn't know .tool-versions. then Do you use asdf?


feature: support units for independent transforms

Fixes #111

Hey @xaviergonz thanks for the PR - I've used this test for https://github.com/motiondivision/motionone/pull/128 but adding support to timeline as well


fix(cisco_syslog): Parse PRI for cisco events

In most cases the cisco PRI is meaningless in some newer devices the severity will match the message using the new syslog-ng no parse feature to capture pri

:tada: This PR is included in version 1.69.0-develop.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update OpenCage Data README section

Hi Alex,
Just a quick update now that OpenCage Geocoder is out of beta :-) Thanks!
Congrats on getting featured in Ruby Weekly by the way!
Alex

Nice! Thanks for that!


Nuget updates

Updated all nuget packages including Xamarin Forms 4.6.
Changed existing Android project to support AndroidX

Hey @rid00z and @libin85 this PR very important!!!!!

Thanks, will look at it now.
On Mon, 29 Jun 2020 at 2:10 am, Thiago Moreira<EMAIL_ADDRESS>wrote:

Hey @rid00z https://github.com/rid00z and @libin85
https://github.com/libin85 this PR very important!!!!!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rid00z/FreshMvvm/pull/312#issuecomment-650786994, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALZPPKILZVRINOYDUHPRPTRY5TNZANCNFSM4NDH77OQ
.

--
Michael Ridland
co-CEO
XAM Consulting
xam-consulting.com

Any update?

hey @rid00z,
is this project still alive? i am considering it to add into a project at our company since i like what i see. but after checking issues and PRs it seems the project is not maintained any more? care to give a statement on that? if so, could you suggest alternatives?
thanks and kind regards!

Hi Prince
Yes its still alive, generally its pretty close to done and doesn’t require
alot of updates.
That said, we have a pending releases coming soon.
On Thu, 26 Nov 2020 at 1:03 am, PrinceCharles23<EMAIL_ADDRESS>wrote:

hey @rid00z https://github.com/rid00z,
is this project still alive? i am considering it to add into a project at
our company since i like what i see. but after checking issues and PRs it
seems the project is not maintained any more? care to give a statement on
that? if so, could you suggest alternatives?
thanks and kind regards!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rid00z/FreshMvvm/pull/312#issuecomment-733725406, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALZPPOJWCY6VJEAILJ4OHTSRUFDNANCNFSM4NDH77OQ
.

--
Michael Ridland
co-CEO
XAM Consulting
xam-consulting.com

hey @rid00z,
thanks for the comforting reply! there are quite a few PRs open (some regarding version updates and such) and therefore i was feeling a bit uneasy about it. sounds very good that you have an update release planned!
thank you for your work!

This PR is merged. 😀🤠


Shiny left menu

Hi @eblondel,
Last issue for today. It's not really an issue, but an ergonomic suggestion:
Would it be possible to make the left menu simpler? The "configuration" expand is not really intuitive for a novice user.
Thank you!
Wiflried

@wheintz i've made the "configuration" menu expanded by default so users can access directly the sub-menu items. Would it be enough? I let it under a expandable menu, thinking that other menus might come, but we could also have 2 different menus items (without expandable accordion). Let meknow


Remove remained AddressBook details

Changes

Change existing AddressBook details to fit iBook

Related Issues/ PRs

None

Codecov Report

Merging #267 (9b357a0) into master (6ac569f) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##             master     #267   +/-   ##
=========================================
  Coverage     66.05%   66.05%
  Complexity      751      751
=========================================
  Files           131      131
  Lines          2604     2604
  Branches        261      261
=========================================
  Hits           1720     1720
  Misses          768      768
  Partials        116      116

Impacted Files
Coverage Δ

...c/main/java/seedu/ibook/ui/control/ControlBox.java
0.00% <0.00%> (ø)

...c/main/java/seedu/ibook/ui/table/ProductTable.java
0.00% <0.00%> (ø)

...main/java/seedu/ibook/ui/table/item/ItemTable.java
0.00% <0.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Gourish is added to the list

Related issue

What changes does this PR do?
Screenshots (If any)
Questions

I hope i did the procedure the right way


Change existing components

Hey guys,
First I would like to thank and congratulate you for this repository
We've been working on easy email all weekend and I've identified some points we can improve to have better usability
I wanted to know if it is possible to do, for example, when we add text the font field looks like this

However, within the page we have an option, within the page settings, in which the font size contains plus and minus arrows

Another point is about the image size setting, today we are like this

The ideal would be a width scroll with the height always on auto, like this

Anyway, I wanted to know how I can get this change in the library, which file I need to change to have access to these settings.
Hugs,

https://github.com/zalify/easy-email/blob/master/packages/easy-email-extensions/readme.md
If you want to update the basic UI, you may need to rewrite the config panel.

@m-Ryan, So if we are doing that anyhow we need to use the arco-designs right?
Say for example here, he wants to adjust the height according to the width using Slider.
In that case, we need to use Arco-design's slider right?


Support to Blockquote (<disp-quote>) is not working.

Documents and archives with the tag <disp-quote> in their  are not being opened to edition on the Texture Wrapper.
Once uploaded a XML file which contains a <disp-quote> tag, the document doesn't open the editor, leaving the screen blank, as it can be seen here.
If you remove the <disp-quote> tag, the document is loaded fully to edition, or validation, as this version of the XML above, which has no <disp-quote> used in its body, shows.
The following link shows the XML file which contains the <disp-quote> tag in use, according to the proposed schema (outside the
 tag, e.g.): 0034-7744-rbt-63-03-00004. As it can be seen, the <disp-quote> is marked correctly on the XML document.
As the blank page can also be a problem with my browser (since in the first time I tested the blockquotes just were being supressed from the article text), here are some extra info: the tests were run on Mozilla Firefox 54.0.1 (32-bit) and Google Chrome 60.0.3112.113 (64-bit), on a Windows7 64-bit SO.

disp-quote elements should be supported already. There's an example in the kitchen_sink.xml file. See: http://cdn.substance.io/texture-alpha-3/?file=data/kitchen-sink.xml
It must fulfil a certain tagging style though, like this:
<disp-quote>

lorem

ipsum

  <attrib>Mr. XYZ</attrib>
</disp-quote>

Can you provide the full markup of the disp-quote element not being editable?

Dup of #256.


Permission denied?

I enabled my cloud speech api, got a service account and downloaded the json and placed it in the /res/raw directory.
However, when I try to run the demo. I keep getting a Permission denied error.
Any help? I have no idea what is wrong.
01-11 12:15:59.638 22938-23044/com.google.cloud.android.speech E/SpeechService: Error calling the API.
io.grpc.StatusRuntimeException: PERMISSION_DENIED: Permission denied: Consumer 'project_number:1082880516923' has been suspended.
at io.grpc.Status.asRuntimeException(Status.java:543)
at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:395)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:426)
at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:76)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:512)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:429)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:544)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

@KokJianYu once its suspended should we reenable by paying the amount?

@pallaviMN yes, my problem is resolved after repaying the amount.

@KokJianYu ok but nowadays when we try to enable initially itself it asks for payment, not giving an option of free usage, so wanted to confirm

@pallaviMN we do have to provide a payment method first before being able to use the API. But they will only charge your card if you exceed the free usage limit if I recall.

@kokjianYu thanks but does it require verification by showing govt id?

@pallaviMN you just need a verified Google account to use the API. Don't remember needing verification through ID.

Yes you are true but nowdays they have made it . Otherwise it shows as account suspended. Soon after enabling billing it asks for verification


Error in ubuntu build

Getting the following error while building the master in Ubuntu 14.04
pex requirements: ['requests==2.3.0', 'tornado==4.0.2']
**** Failed to install certifi-2016.2.28. stdout:
**** Failed to install certifi-2016.2.28. stderr:
Traceback (most recent call last):
File "", line 2, in
File "/usr/local/lib/python2.7/dist-packages/setuptools/init.py", line 11, in
from setuptools.extension import Extension
File "/usr/local/lib/python2.7/dist-packages/setuptools/extension.py", line 8, in
from .dist import _get_unpatched
File "/usr/local/lib/python2.7/dist-packages/setuptools/dist.py", line 21, in
packaging = pkg_resources.packaging
AttributeError: 'module' object has no attribute 'packaging'

Have you searched for the problem? Looks like this might be related:
http://stackoverflow.com/questions/28967785/attribute-error-installing-with-pip/30310206#30310206

Thanks @billonahill, the answer here worked.


---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37375393-nomethoderror-undefined-method-associate-forrom-sql-association-onetomany?utm_campaign=plugin&utm_content=tracker%2F8353094&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F8353094&utm_medium=issues&utm_source=github).

Related to #79.

Switching the implementation to create the user first and then update the department, results in a different exception:
require 'script/container'
require 'script/repos/role_repo'
require 'script/repos/user_repo'
require 'script/repos/department_repo'
require 'script/container'
require  'thor'

module Script
  class CliRunner < Thor
    desc 'parse_data', 'Parse data from files'
    def parse_data
      role_repo = RoleRepo.new(Script::CONTAINER)
      department_repo = DepartmentRepo.new(Script::CONTAINER)
      user_repo = UserRepo.new(Script::CONTAINER)

      employee_role = role_repo.create(name: 'employee')
      manager_role = role_repo.create(name: 'manager')
      department = department_repo.create(name: 'department1')
      user = user_repo.create(name: 'user1')

      department_repo.add_user(name: 'department1', user: user)
      user = user_repo.create(name: 'user1')
      manager = manager_repo.create(name: 'manager1')

    end

    default_command :parse_data
  end
end

The department repo definition:
require 'script/department'

module Script
  class DepartmentRepo < ROM::Repository[:departments]
    relations :users

    commands :create, update: :by_pk

    def query(conditions)
      departments.where(conditions).as(Department)
    end

    def by_id(id)
      departments.fetch(id)
    end

    def add_user(department)
      command(:update, aggregate(:users)).all(department)
    end
  end
end

NameError: undefined local variable or method `associations' for ROM::SQL::Commands::Update[:users]:Class
Did you mean?  associates
/home/user1/.rvm/gems/ruby-2.3.0/bundler/gems/rom-sql-1c11f057dc0c/lib/rom/sql/plugin/associates.rb:106:in `associates'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:182:in `setup_associates'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:155:in `block in register_command'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-2.0.0/lib/rom/commands/class_interface.rb:73:in `create_class'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:151:in `register_command'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:115:in `visit_relation'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:98:in `visit'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:126:in `block in visit_header'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:126:in `map'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:126:in `visit_header'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:98:in `visit'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:106:in `visit_relation'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:98:in `visit'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:45:in `block in []'
/home/user1/.rvm/gems/ruby-2.3.0/gems/concurrent-ruby-1.0.2/lib/concurrent/map.rb:133:in `block in fetch_or_store'
/home/user1/.rvm/gems/ruby-2.3.0/gems/concurrent-ruby-1.0.2/lib/concurrent/map.rb:122:in `fetch'
/home/user1/.rvm/gems/ruby-2.3.0/gems/concurrent-ruby-1.0.2/lib/concurrent/map.rb:132:in `fetch_or_store'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository/command_compiler.rb:38:in `[]'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository.rb:212:in `compile_command'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository.rb:138:in `block in command'
/home/user1/.rvm/gems/ruby-2.3.0/gems/concurrent-ruby-1.0.2/lib/concurrent/map.rb:133:in `block in fetch_or_store'
/home/user1/.rvm/gems/ruby-2.3.0/gems/concurrent-ruby-1.0.2/lib/concurrent/map.rb:122:in `fetch'
/home/user1/.rvm/gems/ruby-2.3.0/gems/concurrent-ruby-1.0.2/lib/concurrent/map.rb:132:in `fetch_or_store'
/home/user1/.rvm/gems/ruby-2.3.0/gems/rom-repository-0.3.1/lib/rom/repository.rb:137:in `command'
/home/user1/project/lib/script/repos/department_repo.rb:20:in `add_user'
/home/user1/project/lib/script/cli_runner.rb:27:in `parse_data'
/home/user1/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/home/user1/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/home/user1/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/home/user1/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
bin/script.rb:7:in `<top (required)>'

Thanks for this detailed report, that's very helpful. I'll look into that.

btw:
    def add_user(department)
      command(:update, aggregate(:users)).all(department)
    end

^^ should be :create instead of :update and call instead of all

@solnic Thanks. If you need more information, don't hesitate to ping me.

BTW: I love the flexibility of rom, but it's a bit confusing for beginners. :-) Is there an ongoing discussion about the "style" you should use with rom anywhere? I found quite a few different possibilities on the net, which all seem to work. Shall I open another issue for that?

I love the flexibility of rom, but it's a bit confusing for beginners. :-)

This will improve once rom-repository reaches 1.0.0 :)

Is there an ongoing discussion about the "style" you should use with rom anywhere?

Nope, but feel free to start one on discuss.rom-rb.org

What was a bit problematic for me, is the order in which things needs to be initialized. I was not able to reproduce the problem I had, along with the problems above I faced a ROM::Repository-constant missing error. After adding require 'rom/repository' to my repo-files the error went away. I cannot provide more information on that topic for you. Does it makes sense to open a ticket for that?

Nothing requires rom/repository for you, so you need to require that file yourself. This is not a bug. Require What You Require™ :)

Nothing requires rom/repository for you, so you need to require that file yourself.

Ah, ok. Good to know. Was not aware of that. Thanks.

Nothing requires rom/repository for you, so you need to require that file yourself.

Ah, ok. Good to know. Was not aware of that. Thanks.

I'm closing this one. Feel free to re-open or report a new issue if something needs to be done or discussed.


Add support for reexporting the derive proc macro?

Hi, my library has a proc macro that generates code that uses #[derive(::my_library::RefCast)].
Here ::my_library::RefCast reexports ::ref_cast::RefCast, but sadly the RefCast macro generates hardcoded references to the ::ref_cast crate.
This means that users of my_library have to add a dependency on both my-library and ref-cast.
Could you make the RefCast derive macro accept a path to the location where it has been reexported from and then use that for the generated code?

Oh and I can make a PR if that is desired.

I would prefer not to support that in this crate. But if you are interested in working on it, https://github.com/rust-lang/rust/issues/54363#issuecomment-1237544924 describes a design for how I would like for proc macro re-exporting to work instead.


have_received doesn't work with ordered messages

I tried to test an object to receive messages in a specific order. Using receive works but have_received doesn't:
describe 'a double' do
  let(:dbl) { double('dbl') }
  before do
    allow(dbl).to receive(:foo)
    allow(dbl).to receive(:bar)
  end

  it 'works with receive' do
    expect(dbl).to receive(:foo).ordered
    expect(dbl).to receive(:bar).ordered
    expect(dbl).to receive(:foo).ordered

    dbl.foo
    dbl.bar
    dbl.foo
  end

  it 'fails with have_received' do
    dbl.foo
    dbl.bar
    dbl.foo

    expect(dbl).to have_received(:foo).ordered
    expect(dbl).to have_received(:bar).ordered
    expect(dbl).to have_received(:foo).ordered
  end
end

This test fails with the following result
a double
  works with receive
  fails with have_received (FAILED - 1)

Failures:

  1) a double fails with have_received
     Failure/Error: expect(dbl).to have_received(:foo).ordered

       (Double "dbl").foo(*(any args))
           expected: 1 time with any arguments
           received: 2 times with any arguments
     # /tmp/receive_spec.rb:23:in `block (2 levels) in <top (required)>'

Finished in 0.02743 seconds (files took 0.13699 seconds to load)
2 examples, 1 failure

Failed examples:

rspec /tmp/receive_spec.rb:18 # a double fails with have_received

I like to stick to the four phase test pattern which is why i tried to use have_received instead of receive. Is there a reason why have_received behaves differently and is there a way to make it work as shown above?

Spies verify their behaviour directly and this is an oversight on our part, we probably should have removed the unsupported ordered modifier here until it was implemented. PRs would be welcome to implement it however!

This is a known issue -- see #916.  Fixing it isn't simple, unfortunately, which is why it hasn't been done yet.  If you'd like to chip in, that'd be great.  Please respond on #916. I'm going to close this to keep the conversation going on the existing issue.


Fix contributing docs heading

Fix duplicated heading under Support

Merging as I'm starting work on these pages again today.


ct.tl.communication_deg_detection error:Not all gene IDs are present in the models object.

hi, thanks for the tool! I have a question for you.
when  I run 'ct.tl.communication_deg_detection' :
'df_deg, df_yhat = ct.tl.communication_deg_detection(adata,
database_name = 'cellchat', pathway_name='GRN', summary = 'receiver')'
some errors occurred: (i have no idea about this, looking forward to your reply!)
Traceback (most recent call last):
File "/dellfsqd2/ST_LBI/USER/zhaowandong/projects/wochong/05.test/ccc/A8_deg.py", line 18, in
df_deg, df_yhat = ct.tl.communication_deg_detection(adata,
File "/dellfsqd2/ST_LBI/USER/zhaowandong/Tools/anaconda3/envs/py3.8/lib/python3.8/site-packages/commot/tools/_downstream_analysis.py", line 168, in communication_deg_detection
ro.r(string_cluster)
File "/dellfsqd2/ST_LBI/USER/zhaowandong/Tools/anaconda3/envs/py3.8/lib/python3.8/site-packages/rpy2/robjects/init.py", line 501, in call
res, visible = rinterface.evalr_expr_with_visible(   # type: ignore
File "/dellfsqd2/ST_LBI/USER/zhaowandong/Tools/anaconda3/envs/py3.8/lib/python3.8/site-packages/rpy2/rinterface.py", line 183, in evalr_expr_with_visible
raise embedded.RRuntimeError(_rinterface._geterrmessage())
rpy2.rinterface_lib.embedded.RRuntimeError: Error in .clusterExpressionPatterns(models = models, nPoints = nPoints,  :
Not all gene IDs are present in the models object.

Hi, I encountered the same error. I believe we need to select the correct pathway name.
We should choose the pathway name exclusively from the output of
adata_dis500.uns['commot-cellchat-info']['df_ligrec']['pathway'].
I hope this information can be helpful.

I meet same problem ， can you slove this error？

Hello, I have the same problem. Have you solved it now？

For me it depends on the cellchat pathway: For example 'Ptn-Ncl' or 'Mdk-Ncl' work fine, but 'PDGF' or "GRN" cause the very same error.


Invalid parameters were provided to the RPC method

Starting with v0.4.9 there is a regression observed in my ponder setup:
InvalidParamsRpcError: Invalid parameters were provided to the RPC method.
Double check you have provided the correct parameters.

URL: https://opt-sepolia.g.alchemy.com/v2/<id>
Request body: {"method":"eth_getLogs","params":[{"fromBlock":"0xa8f3a9","toBlock":"0xa9b6f8","topics":[["0x20fd8a5856711b18d00def4aa6abafbe00ce6d60795e015cc1cad35eb9b46359","0xf910705a7a768eb5958f281a5f84cae8bffc5dd811ca5cd303dda140a423698c","0xcf8be9ab2b5edf8beb2c45abe8e0cc7646318ac19f6c3164ba2e19e93a8a32af","0xe80f571f70f7cabf9d7ac60ece08421be374117776c311c327a083ca398f802f","0xe893e4ba0e364cdc96364b1e1e0d53b0d91e5fd6aa0ee9d81a17ecd61178bf17","0xb5bff96e18da044e4e34510d16df9053b9f1920f6a960732e5aaf22fe9b80136","0xa32e6f42b1d63fb83ad73b009a6dbb9413d1da02e95b1bb08f081815eea8db20","0xde5b57e6566d68a30b0979431df3d5df6db3b9aa89f8820f595b9315bf86d067","0xe46f6591236abe528fe47a3b281fb002524dadd3e62b1f317ed285d07273c3b1"]],"address":"0x8957494ccd4b085133e9a8d3600b766427d4976a"}]}

Details: Log response size exceeded. You can make eth_getLogs requests with up to a 2K block range and no limit on the response size, or you can request any block range with a cap of 10K logs in the response. Based on your parameters and the response size limit, this block range should work: [0xa8f3a9, 0xa927df]
Version<EMAIL_ADDRESS>    at withRetry.delay.count.count (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/buildRequest.ts:146:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at attemptRetry (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/promise/withRetry.ts:37:22)

Hi, thanks for reporting. Did this throw an error / crash your server, or just a warning? It would be helpful if you could provide the logs above and below this.

It didn't crash the server but I am worried that it can caused events not to be processed.
Here are the logs with context:
4:27:11 PM INFO  historical Started sync with 3.9% cached (contract=sim network=base)
4:27:11 PM INFO  historical Started sync with 0.0% cached (contract=proof network=base)
4:27:13 PM ERROR Request failed
InvalidParamsRpcError: Invalid parameters were provided to the RPC method.
Double check you have provided the correct parameters.

URL: https://opt-sepolia.g.alchemy.com/v2/J1EvgyNWEiBHllMcgEa-SWVkJBERKjPt
Request body: {"method":"eth_getLogs","params":[{"fromBlock":"0xa8d63d","toBlock":"0xa9998c","topics":[["0x20fd8a5856711b18d00def4aa6abafbe00ce6d60795e015cc1cad35eb9b46359","0xf910705a7a768eb5958f281a5f84cae8bffc5dd811ca5cd303dda140a423698c","0xcf8be9ab2b5edf8beb2c45abe8e0cc7646318ac19f6c3164ba2e19e93a8a32af","0xe80f571f70f7cabf9d7ac60ece08421be374117776c311c327a083ca398f802f","0xe893e4ba0e364cdc96364b1e1e0d53b0d91e5fd6aa0ee9d81a17ecd61178bf17","0xb5bff96e18da044e4e34510d16df9053b9f1920f6a960732e5aaf22fe9b80136","0xa32e6f42b1d63fb83ad73b009a6dbb9413d1da02e95b1bb08f081815eea8db20","0xde5b57e6566d68a30b0979431df3d5df6db3b9aa89f8820f595b9315bf86d067","0xe46f6591236abe528fe47a3b281fb002524dadd3e62b1f317ed285d07273c3b1"]],"address":"0x8957494ccd4b085133e9a8d3600b766427d4976a"}]}

Details: Log response size exceeded. You can make eth_getLogs requests with up to a 2K block range and no limit on the response size, or you can request any block range with a cap of 10K logs in the response. Based on your parameters and the response size limit, this block range should work: [0xa8d63d, 0xa927d6]
Version<EMAIL_ADDRESS>    at withRetry.delay.count.count (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/buildRequest.ts:146:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at attemptRetry (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/promise/withRetry.ts:37:22)
4:27:13 PM ERROR Request failed
InvalidParamsRpcError: Invalid parameters were provided to the RPC method.
Double check you have provided the correct parameters.

URL: https://opt-sepolia.g.alchemy.com/v2/J1EvgyNWEiBHllMcgEa-SWVkJBERKjPt
Request body: {"method":"eth_getLogs","params":[{"fromBlock":"0xa9998d","toBlock":"0xaa0572","topics":[["0x20fd8a5856711b18d00def4aa6abafbe00ce6d60795e015cc1cad35eb9b46359","0xf910705a7a768eb5958f281a5f84cae8bffc5dd811ca5cd303dda140a423698c","0xcf8be9ab2b5edf8beb2c45abe8e0cc7646318ac19f6c3164ba2e19e93a8a32af","0xe80f571f70f7cabf9d7ac60ece08421be374117776c311c327a083ca398f802f","0xe893e4ba0e364cdc96364b1e1e0d53b0d91e5fd6aa0ee9d81a17ecd61178bf17","0xb5bff96e18da044e4e34510d16df9053b9f1920f6a960732e5aaf22fe9b80136","0xa32e6f42b1d63fb83ad73b009a6dbb9413d1da02e95b1bb08f081815eea8db20","0xde5b57e6566d68a30b0979431df3d5df6db3b9aa89f8820f595b9315bf86d067","0xe46f6591236abe528fe47a3b281fb002524dadd3e62b1f317ed285d07273c3b1"]],"address":"0x8957494ccd4b085133e9a8d3600b766427d4976a"}]}

Details: Log response size exceeded. You can make eth_getLogs requests with up to a 2K block range and no limit on the response size, or you can request any block range with a cap of 10K logs in the response. Based on your parameters and the response size limit, this block range should work: [0xa9998d, 0xa99a6a]
Version<EMAIL_ADDRESS>    at withRetry.delay.count.count (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/buildRequest.ts:146:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at attemptRetry (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/promise/withRetry.ts:37:22)
4:27:13 PM ERROR Request failed
InvalidParamsRpcError: Invalid parameters were provided to the RPC method.
Double check you have provided the correct parameters.

URL: https://opt-sepolia.g.alchemy.com/v2/J1EvgyNWEiBHllMcgEa-SWVkJBERKjPt
Request body: {"method":"eth_getLogs","params":[{"fromBlock":"0xa97971","toBlock":"0xa9998c","topics":[["0x20fd8a5856711b18d00def4aa6abafbe00ce6d60795e015cc1cad35eb9b46359","0xf910705a7a768eb5958f281a5f84cae8bffc5dd811ca5cd303dda140a423698c","0xcf8be9ab2b5edf8beb2c45abe8e0cc7646318ac19f6c3164ba2e19e93a8a32af","0xe80f571f70f7cabf9d7ac60ece08421be374117776c311c327a083ca398f802f","0xe893e4ba0e364cdc96364b1e1e0d53b0d91e5fd6aa0ee9d81a17ecd61178bf17","0xb5bff96e18da044e4e34510d16df9053b9f1920f6a960732e5aaf22fe9b80136","0xa32e6f42b1d63fb83ad73b009a6dbb9413d1da02e95b1bb08f081815eea8db20","0xde5b57e6566d68a30b0979431df3d5df6db3b9aa89f8820f595b9315bf86d067","0xe46f6591236abe528fe47a3b281fb002524dadd3e62b1f317ed285d07273c3b1"]],"address":"0x8957494ccd4b085133e9a8d3600b766427d4976a"}]}

Details: Log response size exceeded. You can make eth_getLogs requests with up to a 2K block range and no limit on the response size, or you can request any block range with a cap of 10K logs in the response. Based on your parameters and the response size limit, this block range should work: [0xa97971, 0xa979eb]
Version<EMAIL_ADDRESS>    at withRetry.delay.count.count (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/buildRequest.ts:146:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at attemptRetry (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/promise/withRetry.ts:37:22)
4:27:14 PM ERROR Request failed
InvalidParamsRpcError: Invalid parameters were provided to the RPC method.
Double check you have provided the correct parameters.

URL: https://opt-sepolia.g.alchemy.com/v2/J1EvgyNWEiBHllMcgEa-SWVkJBERKjPt
Request body: {"method":"eth_getLogs","params":[{"fromBlock":"0xa927d7","toBlock":"0xa97970","topics":[["0x20fd8a5856711b18d00def4aa6abafbe00ce6d60795e015cc1cad35eb9b46359","0xf910705a7a768eb5958f281a5f84cae8bffc5dd811ca5cd303dda140a423698c","0xcf8be9ab2b5edf8beb2c45abe8e0cc7646318ac19f6c3164ba2e19e93a8a32af","0xe80f571f70f7cabf9d7ac60ece08421be374117776c311c327a083ca398f802f","0xe893e4ba0e364cdc96364b1e1e0d53b0d91e5fd6aa0ee9d81a17ecd61178bf17","0xb5bff96e18da044e4e34510d16df9053b9f1920f6a960732e5aaf22fe9b80136","0xa32e6f42b1d63fb83ad73b009a6dbb9413d1da02e95b1bb08f081815eea8db20","0xde5b57e6566d68a30b0979431df3d5df6db3b9aa89f8820f595b9315bf86d067","0xe46f6591236abe528fe47a3b281fb002524dadd3e62b1f317ed285d07273c3b1"]],"address":"0x8957494ccd4b085133e9a8d3600b766427d4976a"}]}

Details: Log response size exceeded. You can make eth_getLogs requests with up to a 2K block range and no limit on the response size, or you can request any block range with a cap of 10K logs in the response. Based on your parameters and the response size limit, this block range should work: [0xa927d7, 0xa92ace]
Version<EMAIL_ADDRESS>    at withRetry.delay.count.count (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/buildRequest.ts:146:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at attemptRetry (file:///Users/inkvi/dev/evm-indexer/node_modules/viem/utils/promise/withRetry.ts:37:22)
4:27:21 PM INFO  historical Sync is 30.9% complete with ~28s remaining (contract=sim)
4:27:21 PM INFO  historical Sync is 31.0% complete with ~27s remaining (contract=proof)
4:27:21 PM INFO  historical Sync is 6.2% complete with ~6m 44s remaining (contract=sim)

It looks like the RPC is telling you that you're requesting too much data at once. Try setting maxBlockRange in your config. The error message says it can support up to 2k, so i would start with adding:
maxBlockRange: 2_000,

into your config

More context - Ponder recognizes this error and retries it using the suggested range. The regression is that we are now incorrectly logging this as an error. I don't think there is any runtime/functional difference. We'll remove the log in a patch.
Cc @kyscott18, looks like this block is firing, even though we catch the error in the eth_getLogs helper function and handle it properly.
https://github.com/ponder-sh/ponder/blob/main/packages/core/src/utils/requestQueue.ts#L68-L74

So what happens when the error is thrown? Does ponder reduce the block range or just skips the blocks?

Ponder parses the error string, divides the original block range into N smaller chunks according to a set of rules, and sends N new eth_getLogs requests. These requests usually succeed, so they do not log anything.
Here is the code: https://github.com/ponder-sh/ponder/blob/main/packages/utils/src/getLogsRetryHelper.ts

Lovely! I am going to use maxBlockRange just to be safe.


fixing overflow

Fix Overflow errors that were missed. in #1179

@Wolfof420Street May you run dart format more info can be found here https://dart.dev/tools/dart-format

@kevmo314 This one looks fine, anything else for this one?


Fix #68: don't require SystemStubs on OS X.

I can't be sure that this doesn't cause problems on some older versions of OS X (presumably this was here for some reason originally), but removing it doesn't cause any problems on Lion, whereas keeping it does since SystemStubs does not exist anymore.

Hi Stefan,
Thank you for this patch.
Xianyi

Hi Stefan,
Thank you for this patch.
Xianyi

You're quite welcome. It wasn't a tough one ;-)

You're quite welcome. It wasn't a tough one ;-)


Help regarding getting the right image

Hi, I am new to web designing and also to git hub and I am in love with the website that you have designed. So a big thank you!
Currently I have an "About" section up and running (thanks to the previous queries) but I wanted to change the preview image on the left of the website when I click the "about" tab. Could you help/point me in the right direction please? Thanks
https://github.com/rashhairs/site
http://sriharsha.ga/site/

I didn't build the theme to do that, so you're on your own for that one. An active class is already being added to the tab through JS, so you could just display a picture on the left with a little function.


//> using option "--explain" does nothing

Version(s)
0.1.12
Describe the bug
//> using option "--explain" doesn't change the compilation output. Probably it has the same root cause as #1023. The problem goes away if we run scala-cli with --server=false.
To Reproduce
explain.scala:
//> using option "--explain"

class A

val i: Int = A()

Run scala-cli compile explain.scala.  I want to summarize this issue.
First of all, the explain message which you mention is generated here in scalac and set to a  field rendered in Problem class.
From the bloop side, the rendered message are available and ready to use but it is skipped. In BSP there is no reasonable field in Diagnostic class to send rendered message. The rendered content isn't so important to the IDE and is probably for this reason the message isn't sent anywhere from bloop.
In scala-cli which uses bloop under the hood, the rendered message isn't available because bloop doesn't send this message.
There are at least two solutions of this problem:

modification of the BSP protocol to send rendered message to scala-cli
if the user passes the explain option to scala-cli, the scalac compiler will be automatically used, i.e. the --server=false flag will be set

It's also a bit weird that explain message is only available in the rendered message and not in for example usual message field. This doesn't allow tools to sensibly use that additional message and render in their own style. It's either you use render or you don't get it.
I would be better if this was added to some other field or as additional diagnostics. Not sure currently what would be the best solution, but it fits into the whole structured errors and actionable diagnostics debacle. Ideally explain message would be a field that is always available without running a second compilation or modifying the whole build definition.


Fixed #24152 -- Deprecated GeoQuerySet aggregate methods

I've revised a little the patch...

Please add to deprecation timeline as well.


Enhance the string_manipulation file by adding methods to improve string handling capabilities.| Issue  #36

Enhance the string_manipulation file by adding methods to improve string handling capabilities.by adding functionalities like swapping the case , replace the words of the string , split the string based on a delimiter , strip the  trailing white spaces , encoding a string and decoding it  . Each function is designed to handle various edge cases, such as ignoring spaces, punctuation, and case sensitivity where applicable. The script also includes example usage that demonstrates how each function works on a sample string.
A separate test file (test_string_manipulation.py) is provided to verify the correctness of the functions using the pytest framework. The tests cover typical use cases and edge cases to ensure robustness.
Issue #36

@Su-creator-spec add the test cases only in the dedicated folder in Tests


Evaluation on training set

Hey,
i have a problem with evaluation using this framework. Im using it to train UMT model and I can't find a way to calculate mAP on the train dataset. Is it possible?

You may simply change the config file (e.g., here) to change the validation dataset.


Change test status code to INVALID_ARGUMENT

Pubsub has been updated to retry on INTERNAL errors for some methods - this breaks our tests, as we are not expecting retries. (https://github.com/googleapis/googleapis/blob/master/google/pubsub/v1/pubsub_gapic.yaml#L401)
This changes the code returned by our exception tests to something that should never be retried, i.e. a client-side error, INVALID_ARGUMENT

LGTM

Codecov Report

Merging #1132 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1132   +/-   ##
=========================================
  Coverage     85.71%   85.71%
  Complexity     3608     3608
=========================================
  Files           366      366
  Lines         14212    14212
  Branches       1614     1614
=========================================
  Hits          12182    12182
  Misses         1586     1586
  Partials        444      444

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 f019d1a...204402a. Read the comment docs.


Setup GitHub workflows for the cQube project

Figure out the dev/testing workflow and encode that into the GitHub project Workflows

Closing this issue as workflows as been corrected and the project board has been reconfigured to better reflect the development and testing cycle.


fix and make common python version normalization

relating to https://github.com/python-poetry/poetry/issues/5717
there were two similar but diverging bits of code.  They really ought to be the same; and the version that I've gone for is actually not quite the same as either of the originals.
Specifically, in the handling of python_version when specified with either one or two digits...
First, the single digit case.

I believe that a constraint like python_version > 3 is strictly not valid, PEP 508 says that the python_version should be equivalent to '.'.join(platform.python_version_tuple()[:2]).
However experiment with pip and a requirements.txt teaches me that in my 3.8.10 environment, python_version > 3 does allow a dependency to be installed
python_version <= "3" does not allow installation at 3.8.10
So I conclude that the interpretation of >3 as > 3.0.0 per #155 is reasonable, and have removed code that treats >3 as >=4.0.0

For the two digit case though, experiment shows that python_version > "3.8" does indeed cause pip not to install a dependency in my 3.8.10 environment, that I think should be reinterpreted as >=3.9.0.  So I have included that code.

I added a comment.
I also went to the trouble of installing python 3.0.0, to see how single digit precision  really works at the edge cases.
Turns out that python_version <= "3" is not satisfied, according to pip, at 3.0.0.  I reckon that probably what's happening is that the strings "3" (from the marker) and "3.0" (from the actual python version) are compared, as strings.
So I've added a comment saying that, and updated the code accordingly (not that there's anyone out there running 2.0.0 or 3.0.0 who will ever care about the difference)

Hmm, not sure I appreciate sonarcloud telling me that it doesn't like this code, let's try a small rearrangement...

Honestly I find the SonarCloud-driven version to be more readable and cleaner :)
LGTM if suppressing Sonar is all we can do, despite the mild refactor.


feat: support vector data type when generating typescript types

Adds pgvector's vector data type to TypeScript generation logic to produce a number[] string type.
Edit: vector actually produces a string, eg "[1,2,3]".

Thanks! I'm actually getting vector columns as text from PostgREST though:
create table t (c vector(3));
insert into t values ('[1,2,3]'), ('[4,5,6]');

[
  {
    "c": "[1,2,3]"
  },
  {
    "c": "[4,5,6]"
  }
]

Ah seems like I can do:
> curl 'https://<...>.supabase.co/rest/v1/t?select=c::_float4' -H 'Authorization: Bearer <...>' -H 'apikey: <...>' | jq

[
  {
    "c": [
      1,
      2,
      3
    ]
  },
  {
    "c": [
      4,
      5,
      6
    ]
  }
]

This needs casting support on postgrest-js though - will take a look at that

Woah, TIL you can cast over PostgREST 😃

This needs casting support on postgrest-js though - will take a look at that

Thanks! I imagine this means we should default it as a string instead (we probably shouldn't implicitly cast)?

we should default it as a string instead (we probably shouldn't implicitly cast)?

Yup, agreed :+1:

Great, updated it to a string now.


Replace ConnectorType#fromClass with #forHttpConnectorFactory

Replace ConnectorType#fromClass with forHttpConnectorFactory which accepts an HttpConnectorFactory. This makes the logic literally just:
static ConnectorType forHttpConnectorFactory(HttpConnectorFactory factory) {
    if (factory instanceof HttpsConnectorFactory) {
        return HTTPS;
    }

    return HTTP;
}

The reasoning is that we only care about HttpConnectorFactory and HttpsConnectorFactory, and we already have the object so don't need to getClass() and can instead just use a simply instanceof (one of the rare places where it makes sense to use it). And by making this new method accept HttpConnectorFactory we enforce that contract via the type system.
ConnectorType#fromClass should accept subclasses of HttpConnectorFactory and HttpsConnectorFactory so that custom connector factories are allowed. We actually use a custom subclass of HttpsConnectorFactory in order to auto-magically set the TLS properties on the connector without needing tons of configuration in every single service config.yml file.

Probably should add a null check to the argument as well...


Fix issue with restoring rooms from bin

What this does
This PR:

Fixes issues with rooms not being restored (fixes #165 , fixes #147)
I've also tried to make the bin restoration code more defensive so that unhandled binnable types won't fail silently next time (like in #147)
JsonAdaptedBinItem tests have been updated to test Rooms.

How to test

Try deleting and restoring some Rooms.
See if the tests and code defensiveness improvements I've added are reasonable.

Notes

Codecov Report

Merging #170 into master will increase coverage by 0.10%.
The diff coverage is 9.09%.

@@             Coverage Diff              @@
##             master     #170      +/-   ##
============================================
+ Coverage     63.75%   63.86%   +0.10%
- Complexity      932      936       +4
============================================
  Files           155      155
  Lines          3383     3393      +10
  Branches        428      431       +3
============================================
+ Hits           2157     2167      +10
- Misses         1078     1079       +1
+ Partials        148      147       -1

Impacted Files
Coverage Δ
Complexity Δ

...a/seedu/resireg/logic/commands/RestoreCommand.java
21.21% <0.00%> (-6.79%)
3.00 <0.00> (ø)

...java/seedu/resireg/storage/JsonAdaptedBinItem.java
83.33% <33.33%> (+20.83%)
12.00 <0.00> (+4.00)

Continue to review full report at Codecov.

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


#1019 #comment Request timed out after 30000ms with increased load

This pull request should solve the issue #1019
The issue root cause:
if you require a request timeout and require ack, the kafka-node will queue your callback in a queue and start a timer. This issue happens when the event queue has a lot of requests to handle -like in case of load test- so the event loop takes a lot of time to handle the recieved ack from the kafka and the timer will timeout and a timeout exception will fire although the kafka has sent the ack and the service received it successfully.
solution
this solution checks the return value of unqueueCallback method, if it is equal 'null' this means handleReceivedData method has handled this request and unqueued it before so it will return without firing request timeout error.

It looks like this is only failing on Kafka 0.9, but I'd find it hard to believe it wasn't something goofy with Kafka and not the changes Can Travis be re-run for this PR so that a merge can happen? This is something I'm running in to.

We are also running into this issue using kafka 2.1.1. Looking forward for this PR to be merged

This issue is becoming very annoying lately, when will we have this in the latest version?

Can Travis be re-run for this PR so that a merge can happen? This is something I'm running in to.

I've rerun it several times and it fails consistently.

so the event loop takes a lot of time to handle the recieved ack from the kafka and the timer will timeout and a timeout exception will fire although the kafka has sent the ack and the service received it successfully.

How do you know if the service had received it successfully? If the client called the callback for that request the timer should be cleared since unqueueCallback and invoking the callback (clearing the timer) are done synchronously.
Is there a way to create a test to reproduce this issue?

Any solution for this?


Upgrade to HikariCP 4.0.3

We can't upgrade to 5.x as it requires Java 11+.
See information about the CVEs reported against the (unshipped) dependencies of this library here: https://github.com/gradle/gradle/issues/24708.

@bot-gradle test and merge please.

I've triggered a build for you.


HRA Design System website notepad

For all Storybook-related conversations, see #524
Image functionality & image workflow delivery questions:

Can we mimic Primer's responsive image functionality on page resize? I am having trouble getting it to behave in Figma like images from Primer: UI color system - Overview. I love that the images resize easily and that people can click on the image to see a larger version. This would be nice to implement in our design system website.
How can I support the dev team in delivering these graphic design assets? I have started a graphic design section for all images we will need to export. I would be happy to deliver these if that could help the team. Additionally, I could export them at 1.5x size, to achieve the clickable larger image functionality:

This website could have 3 different page layouts and every breakpoint is designed with responsive components. Certain elements between 430px to 320px are on a linear scale, as noted here. These pages will behave the same and will use the same elements.
Layout question: Now that I'm getting into content design for the style guide, is it necessary to provide breakpoints for every page?
Daniel and I will catch up later on this.

Thanks for catching up with me earlier @axdanbol!

Can we mimic Primer's responsive image functionality on page resize? Yes.
How can I support the dev team in delivering these graphic design assets? We will export as 1.5x png files for all images in the style guide graphic design section for now. More to follow on other libraries.
Now that I'm getting into content design for the style guide, is it necessary to provide breakpoints for every page? Not if it behaves the same way.

We also discussed that I am specifying too much UI at the moment, as Storybook & integrations will house this documentation. I will focus on content mainly moving forward. We will catch up later this week when we can experiment more with Storybook and our content.

Consolidating information from #524
Daniel and I met on July 3rd about the Design System Website infrastructure.
My integration list from 7.3.2024
Necessary integrations

Designs

Integrations that may be nice to have

Accessibility

Figma

Design System Website
Design System Repository


exception with new analytics - without data

Trying to access array offset on value of type null {"userId":1,"exception":"[object] (ErrorException(code: 0): Trying to access array offset on value of type null at /.../vendor/tightenco/nova-google-analytics/src/PageViewsMetric.php:42)
'previous' => $analyticsData->first()['pageViews'],
'result' => $analyticsData->last()['pageViews'],

same here

Not 100% if thats it but i think this error is occuring when you just setup your analytics and Spatie's Package retrieves only one or no datasets. The Metrics card then throws the error because it expects to have values which it doesnt have on the first day.
It worked for me on the 2nd Day without changing anything.

yes. on 2nd day working perfectly...


Scaling physics bodies after creation

Is there a specific way to scale physics bodies after they have been created?

You could probably change some shape properties, and then update various things like mass properties and bounding boxes and stuff.
I think this should work (for a box shape):
boxShape.halfExtents.set(1,2,3);
boxShape.updateConvexPolyhedronRepresentation();
boxShape.computeBoundingSphereRadius();
boxBody.computeAABB();
boxBody.updateMassProperties();

See https://github.com/schteppe/cannon.js/issues/122.
However, it's probably the easiest to remove the shape, change the properties in it, and then re-add it to the body.
boxShape.halfExtents.set(1,2,3);


Remove unnecessary quotes

Why:
Unnecessary quotes in documentation.

What's being changed:
Removing a bunch of quotes from the file below:

content/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors.md

Check off the following:

[x] All of the tests are passing.
[x] I have reviewed my changes in staging.
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

Thanks so much for opening a PR @aaron-binary 🎉  The " at the end of line 51 is the end " to the ones opened in the middle of line 47, at the beginning of the commit message. So, both sets of quotes should stay in this example 💛


Symptoms Not Updating in Calendar View When Activated/Deactivated

Description
When a symptom is applied to a date in the current month view of the calendar and is then directly inactivated, it continues to show in the calendar view. The symptoms only update correctly when switching to another month and then returning to the original month.
Steps to Reproduce

Open the calendar view for the current month.
Apply a symptom to a date.
Immediately inactivate the symptom.
Observe that the symptom still appears in the calendar view for the current month.
Switch to another month and then return to the original month.

Expected Behavior
The calendar view should reflect the updated status of the symptoms immediately after a symptom is activated or deactivated, without needing to navigate away and back.
Actual Behavior
The symptom remains visible in the calendar view even after being deactivated until another month is viewed and then returned to the original month.
Proposed Solution
Implement a mechanism to re-render or refresh the symptoms in the current month view whenever a symptom is activated or deactivated. This will ensure that the calendar view is always up-to-date with the latest symptom statuses.
Additional Information
This issue affects the visibility of symptoms in the calendar view and can lead to inconsistencies in user experience.

Really low priority (to me)

Fixed. Added logic for handling onSave() from ManageSymptomsDialog and CalendarScreen. When pressing save in ManageSymptomDialog we re-render the calendar using refreshSymptomDates()


Print version information when the program starts

Is your feature request related to a problem? Please describe.
Whenever an error occurs, we want to know clearly which version of codes the agent is on. But now there is no such information printed by the collector and only an outdated KINDLING_PROBE_VERSION: v0.1-2021-1221 printed by the probe. We can't know the exact versions of them now.
Describe the solution you'd like
The best version information is the combination of the release version and the commit revision number, IMO. We could insert these numbers as environment variables when we build the containers and print them periodically while the agent is running.
Additional context
Any ideas about how we could get this information are appreciated.

I find a solution for adding build numbers from git,  take a look at this.

I find a solution for adding build numbers from git, take a look at this.

Looks great! I think it is what we want. We could insert it as a parameter when building the collector, like `go build -ldflags -X main.githash=xxx". Do you have any idea about how we insert it into the probe?

Looks great! I think it is what we want. We could insert it as a parameter when building the collector, like `go build -ldflags -X main.githash=xxx". Do you have any idea about how we insert it into the probe?

add_definitions(-DBUILD_NUMBER)
find_package(Git)
if(GIT_FOUND)
    execute_process(
            COMMAND ${GIT_EXECUTABLE} describe --match build
            OUTPUT_VARIABLE BUILD_NUMBER
            OUTPUT_STRIP_TRAILING_WHITESPACE)
    add_definitions(-DBUILD_NUMBER=\ "${BUILD_NUMBER}\")
endif()

Add this code into CMakeLists.txt of probe, then just use BUILD_NUMBER macro in the source code.

add_definitions(-DBUILD_NUMBER)
find_package(Git)
if(GIT_FOUND)
    execute_process(
            COMMAND ${GIT_EXECUTABLE} describe --match build
            OUTPUT_VARIABLE BUILD_NUMBER
            OUTPUT_STRIP_TRAILING_WHITESPACE)
    add_definitions(-DBUILD_NUMBER=\ "${BUILD_NUMBER}\")
endif()

Add this code into CMakeLists.txt of probe, then just use BUILD_NUMBER macro in the source code.

But now we are compiling the probe using Bazel, is there any similar method? @jundizhou

I haven't found a way to inject version information into a program with bazel. Maybe we can generate a header file with a .sh file like this
commit_ts=`git log -1 --format="%ct"`
commit_time=`date -d@$commit_ts +"%Y-%m-%d %H:%M:%S"`
current_time=`date +"%Y-%m-%d %H:%M:%S"`
git_version=`git log -1 --format="%h"`
build_number=`git describe`
sed  s/MYVERSION/"version: $build_number commit: $commit_time build: $current_time"/g version.h.tmp > version.h
make clean
make

There will be a macro in the generated header file
#ifndef _VERSION_
#define _VERSION_ "version: build01-5-g4e4dc12 commit: 2022-03-22 12:57:52 build: 2022-03-22 13:01:26"
#endif

Would it work in our project?


Update pom.xml

@rultor, release tag is 0.0.5

@rultor, release tag is 0.0.5

@dours OK, I will release it now. Please check the progress here


Easy ES5 ES6 Distinguishability via file extension only

This fixes an issue we encounter in https://github.com/playcanvas/engine/pull/5555 and makes sure that we can use a simple conditional which always works:
ENGINE_PATH.includes('.mjs')

The only workaround otherwise would be to peek into the file via some kind of /...import.../magic regexp, which just increases technical debt while not doing anything more than... figuring out if a file is ES5 or ES6 - and that's exactly the job of the *.mjs file extension :rainbow:
I confirm I have read the contributing guidelines and signed the Contributor License Agreement.

If you did git add -A . it would be marked as rename, instead of this large diff.

@slimbuck @willeastcott do you foresee any issue with this change?

If you did git add -A . it would be marked as rename, instead of this large diff.

Unfortunately not, I just tried it:

I could finalize that PR, but it would be the same. Only solution is to break it down in 2 PR's:

Rename src/index.js -> src/index.mjs
Add deprecated src/index.js

have you tried new branch, and first commit doing that?

Yep, did a new branch directly from main, only one commit:
https://github.com/kungfooman/playcanvas-engine/commits/easy-es5-es6-distinguishability-git-A

but not a big deal anyways

:+1:

Sorry to be late to the conversation.
There's no need to do any of this.  Need to add "type": "module", to the package.json
This covers node, browsers, tools, etc.
Basic idea is when the source (not the build products) are es6 modules, you mark it in the package.json and all tools work on that assumption.

There's no need to do any of this. Need to add "type": "module", to the package.json

What you are describing is the ESM algorithm: https://nodejs.org/api/esm.html

For whatever reason you dislike part (2) of it - it's there for a reason, if you like it or not.

Nothing to dislike.
Leave some room buy reserving file extensions to get a further, meaningful distinction.  Allow for some files to be interpreted in multiple ways instead locking it down (so you can force cjs require on plain javascript).  Tools are smart enough to look this up once. Making node tools happy in a browser project is not my primary concern.


Fill out and sign the final report

At https://drive.google.com/file/d/0B7AckGrBKzUtSjg2X1VGblAtbDQ/view?usp=sharing .

So only a signature is needed from me?


Confirming +100 market listings

I'm not sure if that's an issue with ASF or Steam, but I have 198 market listings to confirm:

But whenever I issue !2faok, ASF returns me this on chat:
[6:34:39 PM] master: !2faok master
[6:34:44 PM] bot: Something went wrong!
[6:35:07 PM] master: !2faok master
[6:35:12 PM] bot: Something went wrong!
[6:38:59 PM] master: !2faok master
[6:39:04 PM] bot: Something went wrong!
[6:43:58 PM] master: !2faok master
[6:44:04 PM] bot: Something went wrong!

ASF console output:
2016-08-20 18:44:02.6751|ERROR|ArchiSteamFarm.Logging|master|HandleConfirmations() HandleConfirmations() debug content: {"success":false}
And the weird part is that sometimes a very few listings are confirmed (which makes me think this is Steam's fault):

Not fixing steam fuckups.

You should add an option to confirm about 40-50 listings per request or something like that.

Why? Is there any limit enforced by Valve? Because to me this can happen even with 3-4.

It never happened to me before, maybe is temporary then

No, it's not temporary. It's steam fuckup that is happening constantly with more confirmations to accept than 1, and nobody including me managed to find any real reason for Steam randomly rejecting to accept some confirmations and returning an error. It happens also with normal steam authenticator and there is nothing to fix in ASF.

Damn :confused:

But you can add workaround for this, if it happens often, even though it's obviously steam bug. Try confirm all listings, if error returned - go one-by-one.

I'm using my phone atm to confirm the listings; I'm doing 10 by 10 and no errors so far

We already had tests with 30 and 5 ~3 weeks ago in https://github.com/JustArchi/ArchiSteamFarm/commit/fac5e6503516270eb0dc287b9403f1ce2d68ee03. Neither 30 nor 5 helped in anything.

Should be a bit better in https://github.com/JustArchi/ArchiSteamFarm/releases/tag/<IP_ADDRESS>
I pretty much adapted @Ryzhehvost idea, just in a bit improved version, thanks to which performance penalty happens only in case of Steam fuckup and not always.


Action does not seem to produce a runnable Node 14 on Mac/Linux/Windows (Node 16 and 18 work fine)

Description:
I'll readily acknowledge this could be MY problem, but I've tried a few things and nothing helps. Briefly, an existing matrix Workflow that worked fine for Node X/Y/Z for years stopped being able to run the node executable via npm run script for version 14 for all platforms. Links to example workflow below. This reproduces across two different projects.
Action version:
v3
Platform:

[x] Ubuntu
[x] macOS
[x] Windows

Runner type:

[x] Hosted
[ ] Self-hosted

Tools version:
Node 14
Repro steps:
Run "CI" workflow in markdownlint or markdownlint-cli2 projects. Existing run linked below.
Expected behavior:
"Run All Validations (npm)" script should run successfully for all matrix configurations (which don't special-case anything).
Actual behavior:
Nothing happens for Node 14 across all OSes. For diagnostics, I've added a version of that step using "yarn" instead and it also fails, though it emits slightly more information. (FYI, --scripts-prepend-node-path did not help.) I've also tried swapping out npm-run-all and even invoking node directly, but nothing seems to work in the Node 14 scenario.
Example workflow: https://github.com/DavidAnson/markdownlint/actions/runs/4213895777
Link to workflow: https://github.com/DavidAnson/markdownlint/blob/npm-run-nothing/.github/workflows/ci.yml
I run CI daily for my projects, but because this scenario fails and reports success (ugh), I don't know how long ago it stopped working.

Good news, I found the commit on my side that broke this: https://github.com/DavidAnson/markdownlint/commit/741e6fe72c6549da05e1b2bc9ef6bf07edce5cf7
Here's the diff in its entirety:
commit 741e6fe72c6549da05e1b2bc9ef6bf07edce5cf7
Author: David Anson<EMAIL_ADDRESS>Date:   Sun Dec 18 16:01:59 2022 -0800

    Default npm's ignore-scripts flag to true to prevent running pre- or post-scripts in package dependencies.

diff --git a/.npmrc b/.npmrc
index 43c97e7..3757b30 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1 +1,2 @@
+ignore-scripts=true
 package-lock=false

I'm not sure I understand why this change should prevent this action from successfully configuring Node 14, though?

Confirmed, removing ignore-scripts=true from .npmrc leads to a runnable Node 14. Example workflow (child of failing workflow in original comment): https://github.com/DavidAnson/markdownlint/actions/runs/4214042313
So my questions are:

Why does this configuration matter to setup-node?
Is it a bug in setup-node?
Can I work around the issue without changing .npmrc?

Thanks for your help!

Hello @DavidAnson !
Thank you for reporting this! We will investigate the issue and answer your questions

Hello @DavidAnson. Thank you for your report. I've reproduced the issue with default Nodejs installed from brew that is why I think it's the issue with your set up or Nodejs.
For now I'm going to close the issue.

@dmitry-shibanov @MaksimZhukov Could you please explain why you have closed this issue? As I understand the comment above, you were able to reproduce the problem and believe it is due to the use of brew. To me, that means this project should 1) work around the problem with brew, 2) use a version of brew without the problem, or 3) use something other than brew. There is no requirement for this project to use brew, but there IS an expectation that it produces a runnable version of Node.
We seem to agree that’s not happening here, so why was the issue closed without a fix?

Hello @DavidAnson. I've closed the issue because I didn't use the brew with setup-node. I commented setup-node and set up node 14 from brew and could reproduce the issue without using setup-node. The setup-node action does not use brew it downloads archives from nodejs website, extracts it to the hosted toolcache directory and adds it to the PATH.  We could reproduce the issue outside of setup-node action that is why we closed it.

Understood, thanks @dmitry-shibanov! I'll try to work around the problem on my side.


Multi Tenant Users, Same domain, Single login

Hello,
I have a use case where I am trying to create a multi-tenant system, however I want to use a single domain and have have all users go through the same login screen.
Scenario one:
Client registers for our app and a route is created for them (example.com/tenant1). He can then add new users to the account within the app.
Scenario two:
Support receives an issue on a specific tenant (example.com/tenant1), and needs to login to that tenant. The support user is associated with the master tenant as well. Currently, you need to create the support user in each tenant leading to duplicate records in the AspNetUsers table.
Is there a way to use a tenant-to-user mapping table so that when the user logs in, he is presented a list of tenants he is associated with, all while using the same domain? Then the user can select the tenant he wishes to access and  Finbuckle will set that as the selected tenant.
Thank you in advance!

Hi @Stephen250
Have you seen the shared login sample? It's only ASP.NET Core 2.1 but the idea should carry forward.
That should cover the regular user sign in, but as you have seen the sys admin signin for any tenant is trickier.
The most practical solution I've seen is to ignore the built-in tenant filter on EF queries on sys admin pages. This is made more difficult because it means you can't use some of Identities methods. I should probably write some extension methods for Identity to help make this easier.
An alternative is to use the TrySetTenantInfo on HttpContext (make sure to use the option to reset the DI scope), to change to the desired tenant, sign in the user, then redirect as needed. This will force the cookie options to get regenerated under the new tenant when signing in the user so that in the redirect the correct cookie is used. If you are using subdomains for each tenant this can be trickier but is possible.

@AndrewTriesToCode yes, I took a quick skim through the shared login example and would like to go that route with having the tenant as the first route (example.com/tenant)
I'm still a little confused with the multi tenant on a shared login within a single domain side of it...
If I am creating the system admin user for each of the tenants, when I go to login via the shared login, Identity will pick up that there is multiple users that exist, therefore how does it know which one to choose?
In the case of the shared login example, I think there would have to be a mapping table, tenant to user.
Within the DB you would only have the one user account with a currentTenantId (to not confuse identity), then you can present a list of Tenants that user is associated with. Once the user selects a tenant it updates the currentTenantId and sets the TenantInfo to that tenant.
Is this currently possible or can be easily configured?

Hello @AndrewTriesToCode,
After further review would it be possible to utilize a shard Multi Tenant DB Approach?
For Example, we have 3 Partners (A, B, C) that need their Clients within their tenant:

Partner A has there tenant with multi accounts set up.
Partner B has there tenant with multi accounts set up.
Partner C has there tenant with multi accounts set up.

My thought based on the framework was that I would have a global Identity DB (Shared Login Example, Catalog) that would be linked to a Partner DB. Within the Partner DB they would have their accounts which could have many users tied to the account.
When the user signs in, it would set the connection string to the Partner database, then the tenant identifier would be used on the tables to filter the data.
By default, I would set the Strategy as static and determine the Tenant once they are logged in.
I wanted to check with you if this was possible before implementing in my code base.

hi @Stephen250  sorry for the late reply
I think what you described can work. It will be tricky no matter what approach you take. Let me ask some questions to better understand:

In your scenario would a user ever need to be shared across the three partners or can you assume each partner is "isolated"?

If each partner is isolated, do the users within belong to only a single tenant or could they be part of multiple tenants within that partner?

Hi @AndrewTriesToCode, No Worries!

Ideally I would have a Catalog DB that houses all the Identity and global entitles for all the tenants.  The Partner DB would contain the Tenant Specific Tables and could be used either of the two ways:

A partner buys in to our system, and wants its clients (multi-tenants) within that database.
A partner buys a special subscription that keeps their data in an isolated database (one tenant)

Right now it would be just the support account that would require access to multiple partners, however each partner could offer different products and we might get some cross over long term.

As for now I only foresee crossover for the support account.


Add a tag latest with the version of the last built

We want to be able to download a specific file from latest build without the need to specify the name of the tag:
https://github.com/monarch-initiative/mondo/releases/download/v2020-10-03/mondo-with-equivalents.owl

https://github.com/monarch-initiative/mondo/releases/download/latest/mondo-with-equivalents.owl

Is it possible to maintain such a tag?

@aholovenko I think what you want is "current" instead of "latest":
https://github.com/monarch-initiative/mondo/releases/download/current/mondo-with-equivalents.owl
However I wouldn't rely on this URL, since it could be changed to a different storage solution in the future. There are permanent URLs for accessing Mondo and other OBO ontologies, e.g.:
http://purl.obolibrary.org/obo/mondo/mondo-with-equivalents.owl

@balhoff Thanks! Closing the issue.


Auto-format Tilex

Tilex should comply with the Elixir 1.6 formatter!
Now that we're running Elixir 1.6 on CircleCI, let's auto-format each file in the codebase, one at a time, as per:
https://github.com/hashrocket/tilex/pull/189
Once complete, we'll rebase this branch off master to ensure all future PR's pass successfully through the formatter.

This is done.


Document params.provider in hooks page.

Is there a specific reason? params.provider should be already documented in each provider documentation page.

Only because the hooks page covers what's available in the hooks.  I think it ought to be mentioned in brief.

This is documented now in the disable hook at http://docs.feathersjs.com/hooks/bundled.html


feat(DIA-135): add captions and navigation on artworks inside articles

This PR resolves DIA-135
Description
When receiving an Artwork type inside of ArticleSectionImageCollectionFigure  we were not displaying anything, now we display some captions like we do in Force and enabled navigation to the artwork by pressing on the image too.
This PR is a quick win to be released asap while we take this question to design to be properly worked on.
Before
https://github.com/artsy/eigen/assets/15792853/384e5b85-15a7-4f9e-9d08-7c94ff4dabef
After
https://github.com/artsy/eigen/assets/15792853/19f2a387-d0d6-402b-8c3d-43fee937f268
PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

add captions and navigation to artworks inside articles - araujobarret

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (add captions and navigation to artworks inside articles - araujobarret)

  Generated by :no_entry_sign: dangerJS against ed60299402083dde7c9007e88381eb92d889fee0


ResultBuilder::reconstructExpression() checks for impossible value: "!"

The following comparison is present in ResultBuilder::reconstructExpression():
catch_result_builder.hpp: 147
   else if( m_exprComponents.op != "!" ) {

However, as far as I can tell, m_exprComponents.op can never be equal to "!".
m_exprComponents.op is constructed as an empty string, and after that is only set via calls to ResultBuilder::setOp. There are two calls to setOp:
catch_capture.hpp(139):                .setOp( "matches" ) \
catch_expression_lhs.hpp(95):      .setOp( Internal::OperatorTraits<Op>::getName() );

Here are the possible return values for OperatorTraits<Op>::getName():
template<Operator Op> struct OperatorTraits             { static const char* getName(){ return "*error*"; } };
template<> struct OperatorTraits<IsEqualTo>             { static const char* getName(){ return "=="; } };
template<> struct OperatorTraits<IsNotEqualTo>          { static const char* getName(){ return "!="; } };
template<> struct OperatorTraits<IsLessThan>            { static const char* getName(){ return "<"; } };
template<> struct OperatorTraits<IsGreaterThan>         { static const char* getName(){ return ">"; } };
template<> struct OperatorTraits<IsLessThanOrEqualTo>   { static const char* getName(){ return "<="; } };
template<> struct OperatorTraits<IsGreaterThanOrEqualTo>{ static const char* getName(){ return ">="; } };

Proposed Fix
(Available as PR: https://github.com/philsquared/Catch/pull/618)
Remove the check and delete the default branch, which can never be reached:
diff --git a/include/internal/catch_result_builder.hpp b/include/internal/catch_result_builder.hpp
index d453fec..101f922 100644
--- a/include/internal/catch_result_builder.hpp
+++ b/include/internal/catch_result_builder.hpp
@@ -144,7 +144,7 @@ namespace Catch {
             return m_exprComponents.lhs.empty() ? m_assertionInfo.capturedExpression : m_exprComponents.op + m_exprComponents.lhs;
         else if( m_exprComponents.op == "matches" )
             return m_exprComponents.lhs + " " + m_exprComponents.rhs;
-        else if( m_exprComponents.op != "!" ) {
+        else {
             if( m_exprComponents.lhs.size() + m_exprComponents.rhs.size() < 40 &&
                 m_exprComponents.lhs.find("\n") == std::string::npos &&
                 m_exprComponents.rhs.find("\n") == std::string::npos )
@@ -152,8 +152,6 @@ namespace Catch {
             else
                 return m_exprComponents.lhs + "\n" + m_exprComponents.op + "\n" + m_exprComponents.rhs;
         }
-        else
-            return "{can't expand - use " + m_assertionInfo.macroName + "_FALSE( " + m_assertionInfo.capturedExpression.substr(1) + " ) instead of " + m_assertionInfo.macroName + "( " + m_assertionInfo.capturedExpression + " ) for better diagnostics}";
     }

 } // end namespace Catch

Good catch, @RossBencina. Sorry it's taken a while to get to this (and thanks, @horenmar, for surfacing it in your review).
You are quite correct that the condition is never met.
However I believe this is because some other change altered that code path that would have led to it - and I'm not sure that's what we want.
The idea here is that if you write an expression, like:
REQUIRE( !thisShouldAlwaysBeFalse() );

this is the natural way you'd probably write it - but we can't decompose that form. So that case was meant to have been detected at this point and the warning issued, so you might rewrite it as:

REQUIRE_FALSE( thisShouldAlwaysBeFalse() );
or:
REQUIRE( thisShouldAlwaysBeFalse() == false );
instead.
As I say, somewhere along the way that detection has gone missing. It's not behaviour-breaking so it looks like that got missed at the time. Maybe it's not a big deal. Perhaps it's not worth warning about this. What do you guys think?
If it's not worth warning about then let's go with Ross' PR (or something similar - I haven't checked it but I'm sure it's fine).
If we want to restore the original behaviour I'll take a look at where that needs to be added back in (shouldn't be a big job).

@philsquared If the code really is !thisShouldAlwaysBeFalse() writing thisShouldAlwaysBeFalse() == false will not give much benefit to the user when the expression is decomposed and printed. On the other hand !(getSomething() == 42) would be better written in a way that allows it to be decomposed. I guess that printing the warning makes some sense. I'm not sure which way is better though.

@RossBencina I think it was meant for objects that have overloaded conversion to bool, so that if you have an object that can be truthy or falsy, then for testing whether its falsy REQUIRE( !instance ) is fairly natural but prevents decomposition. On the other hand, REQUIRE_FALSE( instance ) would allow decomposition, but might not be obvious.
As to whether the warning is needed, I am not sure. I think it will be obvious to user when the decomposition fails, but it might not be so obvious that the proper fix is to use REQUIRE_FALSE instead of REQUIRE.
I think it would be worthwhile to make it work again, as long as the amount of work is not excessive.

This (and the related PR) can be closed as the "impossible value" check has been knowingly removed as part of the lazy-reconstruction patch.


0.6

0.6 is immenent,
Do we have any kind of rough ETA on when express 3.0 is "usable" other then "when it's done"

i'll probably end up supporting 2.x on 0.4.x and 0.6.x, the next release of express wont be for a while still

W00t


Streamline pkg and travis CI:

use tagged containers for pkg build
update build images
continue to build container images in pipeline, but allow
failure (non-block)
limit travis macos cache
add vs2019 windows to travis
remove xcode 9 travis build
remove clang5/6 from CI and update min version of Clang required in
cmake
break windows CI build into stages to reduce timeouts
update datelib
add if condition to travis builds to allow commit message to limit
builds by platform

Codecov Report

Merging #3216 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #3216   +/-   ##
========================================
  Coverage    70.78%   70.78%
========================================
  Files          689      689
  Lines        54296    54296
========================================
  Hits         38432    38432
  Misses       15864    15864

Impacted Files
Coverage Δ

src/ripple/overlay/impl/Message.cpp
100% <ø> (ø)
:arrow_up:

src/ripple/core/impl/Workers.cpp
98.93% <0%> (-1.07%)
:arrow_down:

src/ripple/protocol/impl/STTx.cpp
83.91% <0%> (+0.43%)
: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 c624fc9...838449b. Read the comment docs.

thanks @scottschurr  - yes, that's a disk space failure and currently working with the CI provider to see about increasing the fs allocation.


[WIP] Pluggable source provider with Delta Lake support

What is the context for this pull request?

Tracking Issue:
Parent Issue:
Dependencies: Links to issues you depend on for this pull request to work. Write N/A, if no dependencies.

Issue 1
Issue 2

What changes were proposed in this pull request?

Refactor #197 + #224 (except for hybrid scan test refactoring) based on #227
Does this PR introduce any user-facing change?

Yes
How was this patch tested?

Unit test

@imback82 Need to add some comments but could you review this PR?
I'll handle Hybrid Scan test refactoring in #224 with another PR.

@imback82 Need to add some comments but could you review this PR?

Cool! I will take a look.

I'll handle Hybrid Scan test refactoring in #224 with another PR.

Yes, I believe Hybrid Scan requires new APIs, so let's handle it separately. Thanks!

DeltaLakeFileBasedSource looks good to me. If you are OK with overall approach with #227, I can merge it and resolve comments (unit tests) as a follow up PRs.
Btw, can you check the build failure?

Yes, I believe Hybrid Scan requires new APIs, so let's handle it separately. Thanks!
@imback82 I added allFiles API for Hybrid Scan and seems that's all for Hybrid Scan.

BTW #227 also has the same test failure and it's not reproducible on my local. Let me check further.

#227 has been merged. Thanks!

LGTM, thanks @sezruby


stdenv: wrap phase running actions of genericBuild

Provide a runPhase function which wraps the phase running action of genericBuild. The new function can be used as an interface by nix develop, i.e. nix develop some#flake --build may just call runPhase build, which makes its behavior more consistent with nix build. In preparation of fixing https://github.com/NixOS/nix/issues/6202
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nix-build-phases-run-nix-build-phases-interactively/36090/4


added script to download chrome for tests

Changes Unknown when pulling adc05744c81275283b1591d183bcd376eda63ce7 on feat/ci-tests into ** on master**.

Changes Unknown when pulling 92b4271d4e16f57db0c15a2cb7d6dcad1d130643 on feat/ci-tests into ** on master**.


Create custom blueprint nodes with python

Hey Sorry for the newbie question -
Is it possible to make custom blueprint nodes with UnrealEnginePython?
I know that it is possible to make custom components.
Thank you for your time

Hi, once you add the python component to a blueprint you will get access to the 'call python method' nodes from which you can call python methods

Ok thanks :)