Images/diagrams not visible in bioSTEAM

Hello,
My name is Dr. Sarvada Chipkar. I work with Dr. Emma Brace. I was to learn how to work with bioSTEAM. The code runs fine but doesn't show any flowcharts or diagrams.
I am using Anaconda --> Spyder to run bioSTEAM using the online tutorial code. Under the common error section on the website, it mentions to install Graphviz. I tried adding a code line to install it however I get the error message as: 'graphviz' imported but unused(pyflakes E).
How do I fix this issue?

@SarvadaC graphviz tends to cause problems but I've not seen that error before. Note that just installing graphviz via pip is not enough if you are using Windows, there's a separate software.
This might give you some clue, I wrote it for QSDsan users but the issue underlying it is the same.
https://qsdsan.readthedocs.io/en/latest/FAQ.html#graphviz

@SarvadaC, after installing graphviz, can you post the code you are using that raises the exception? We first need to be able to reproduce the issue.
Thanks,

Hello Yoel,
Thanks for the reply. I have been using the same tutorial code uploaded on
BioSTEAM website but it doesn't generate any flow sheet diagrams with it.
Thanks,
Sarvada
On Thu, Oct 24, 2024 at 9:40 AM Yoel @.***> wrote:

@SarvadaC https://github.com/SarvadaC, after installing graphviz
https://forum.graphviz.org/t/new-simplified-installation-procedure-on-windows/224#format-svg-not-recognized-use-one-of,
can you post the code you are using that raises the exception? We first
need to be able to reproduce the issue.
Thanks,
—
Reply to this email directly, view it on GitHub
https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/issues/174#issuecomment-2435331082,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMFI7WCTZU3GAIQR7SK73QTZ5D2GVAVCNFSM6AAAAABQB3IEXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZVGMZTCMBYGI
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

--
Sarvada Chipkar, Ph.D.
(Pronounced as ser-VA-dh{as in 'the'}-aa  chip-ker)
Postdoctoral Research Fellow | Brace Lab https://brace-lab.com/
Department of Engineering | Boston College https://www.bc.edu/
245 Beacon Street, Chestnut Hill, MA
Contact: @.***

Please post it here along with the full traceback and we can go through it. I suspect it might be some versions of your dependencies, but that's really all I can guess without additional information. Please post the following:
To Reproduce
A script or a text file that runs the code to reproduce the error.
Actual behavior
Full trace back, as text or a screenshot
Version

PyPI  version or github

Thanks

Hi Yoel,
Here is my script:
To Reproduce
import biosteam as bst
from biosteam import settings
bst.nbtutorial() # Light-mode html diagrams and filter warnings
settings.set_thermo(['Water', 'Methanol'])
feed = bst.Stream(Water=50, Methanol=20)
feed.show()

feed.price = 0.15 # USD/kg
feed.cost # USD/hr
print(feed.cost)
##Set the chemical engineering plant cost index
settings.CEPCI
print(settings.CEPCI)#settings.CEPCI=603.1#To year 2018
##set power utility options
settings.electricity_price #Default price (USD/kWhr)
print(settings.electricity_price)
settings.electricity_price=0.065 #Adjust price
##set heat utility options via utility agent objects
settings.cooling_agents
cooling_water = settings.get_cooling_agent('cooling_water')
cooling_water.show() # A UtilityAgent
cooling_water.regeneration_price
chilled_water = settings.get_cooling_agent('chilled_water')
chilled_water.heat_transfer_price
cooling_water.T = 302 # Change the temperature of cooling water (K)
settings.heating_agents
##low pressure system
lps = settings.get_heating_agent('low_pressure_steam') # A UtilityAgent
lps.show() # Note that because utility changes phase, T_limit is None
lps.regeneration_price = 0.20 # Adjust price (USD/kmol)
lps.show() #To check what changes were made SHC
#Remove propane, propylene, and ethylene refrigerants:
settings.cooling_agents = settings.cooling_agents[:-3]
settings.cooling_agents
#Add Ammonia as a refrigerant:
Assume cost from Table 17.1 in Warren D.Seider's
Product and Process Design Principles Synthesis, Analysis and Evaluation.
Wiley (2016)
Ammonia = bst.Chemical('Ammonia') # Load ammonia properties
P = 101325 * 1.2 # Pressure should be above atmospheric
T = Ammonia.Tsat(P) # Temperature should be at the bubble point for latent
cooling
ammonia = bst.UtilityAgent(
'ammonia',
Ammonia=1,
P=P,
T=T,
phase='l',
thermo=bst.Thermo([Ammonia]),
heat_transfer_price=13.17e-6,
)
settings.cooling_agents.append(ammonia)
#1.3. Find design requirements and cost with unit objects
Specify vapor fraction and isobaric conditions
F1 = bst.Flash('F1', ins=feed, V=0.1, P=101325)
F1.show()
#to simulate the flash, use simulate
F1.simulate()
F1.show()
F1.results() # Default returns DataFrame object with unit
F1.net_duty # Duty with heat transfer losses [kJ / hr]
F1.net_power # Electricity consumption [kW]
[F1.feed, F1.vapor, F1.liquid] # Inlet feed and vapor and liquid outlets
#1.4 Solve recycle loops and process specifications with system objects
recycle = bst.Stream('liquid_recycle')
feed = bst.Stream('feed', Methanol=100, Water=450)
M1 = bst.Mixer('M1', ins=(recycle, feed))
F1 = bst.Flash('F1',
ins=M1-0, # -pipe- notation equivalent to M1.outs[0]
outs=('vapor_product', 'liquid'),
V=0.1, P=101325
)
S1 = bst.Splitter('S1',
ins=F1-1, # -pipe- notation equivalent to F1.outs[1]
outs=(recycle, 'liquid_product'),
split=0.5 # Split to 0th output stream
)
bst.main_flowsheet.diagram()
F1.diagram()
F1.diagram(format = '.png')
sys = bst.main_flowsheet.create_system('sys')
sys.show()
sys.simulate()
sys.show()
sys.results()
Actual behavior
Python 3.12.4 | packaged by Anaconda, Inc. | (main, Jun 18 2024, 15:03:56)
[MSC v.1929 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 8.25.0 -- An enhanced Interactive Python.
import biosteam as bst
from biosteam import settings
bst.nbtutorial() # Light-mode html diagrams and filter warnings
settings.set_thermo(['Water', 'Methanol'])
feed = bst.Stream(Water=50, Methanol=20)
feed.show()

feed.price = 0.15 # USD/kg
feed.cost # USD/hr
print(feed.cost)
Stream: s1
phase: 'l', T: 298.15 K, P: 101325 Pa
flow (kmol/hr): Water     50
Methanol  20
231.24018
settings.CEPCI
print(settings.CEPCI)#settings.CEPCI=603.1#To year 2018
567.5
settings.electricity_price #Default price (USD/kWhr)
print(settings.electricity_price)
settings.electricity_price=0.065 #Adjust price
0.0782
settings.cooling_agents
cooling_water = settings.get_cooling_agent('cooling_water')
cooling_water.show() # A UtilityAgent
cooling_water.regeneration_price
chilled_water = settings.get_cooling_agent('chilled_water')
chilled_water.heat_transfer_price
cooling_water.T = 302 # Change the temperature of cooling water (K)
settings.heating_agents
UtilityAgent: cooling_water
heat_transfer_efficiency: 1.000
heat_transfer_price: 0 USD/kJ
regeneration_price: 0.000488 USD/kmol
T_limit: 325 K
phase: 'l'
T: 305.37 K
P: 101325 Pa
flow (kmol/hr): Water  1
Out[4]:
[<UtilityAgent: low_pressure_steam>,
<UtilityAgent: medium_pressure_steam>,
<UtilityAgent: high_pressure_steam>]
lps = settings.get_heating_agent('low_pressure_steam') # A UtilityAgent
lps.show() # Note that because utility changes phase, T_limit is None
lps.regeneration_price = 0.20 # Adjust price (USD/kmol)
lps.show() #To check what changes were made SHC
UtilityAgent: low_pressure_steam
heat_transfer_efficiency: 0.950
heat_transfer_price: 0 USD/kJ
regeneration_price: 0.238 USD/kmol
T_limit: None
phase: 'g'
T: 412.19 K
P: 344738 Pa
flow (kmol/hr): Water  1
UtilityAgent: low_pressure_steam
heat_transfer_efficiency: 0.950
heat_transfer_price: 0 USD/kJ
regeneration_price: 0.2 USD/kmol
T_limit: None
phase: 'g'
T: 412.19 K
P: 344738 Pa
flow (kmol/hr): Water  1
settings.cooling_agents = settings.cooling_agents[:-3]
settings.cooling_agents
Out[6]:
[<UtilityAgent: cooling_water>,
<UtilityAgent: chilled_water>,
<UtilityAgent: chilled_brine>]
Ammonia = bst.Chemical('Ammonia') # Load ammonia properties
P = 101325 * 1.2 # Pressure should be above atmospheric
T = Ammonia.Tsat(P) # Temperature should be at the bubble point for latent
cooling
ammonia = bst.UtilityAgent(
'ammonia',
Ammonia=1,
P=P,
T=T,
phase='l',
thermo=bst.Thermo([Ammonia]),
heat_transfer_price=13.17e-6,
)
settings.cooling_agents.append(ammonia)
F1 = bst.Flash('F1', ins=feed, V=0.1, P=101325)
F1.show()
#to simulate the flash, use simulate
F1.simulate()
F1.show()
F1.results() # Default returns DataFrame object with unit
F1.net_duty # Duty with heat transfer losses [kJ / hr]
F1.net_power # Electricity consumption [kW]
[F1.feed, F1.vapor, F1.liquid] # Inlet feed and vapor and liquid outlets
#1.4 Solve recycle loops and process specifications with system objects
recycle = bst.Stream('liquid_recycle')
feed = bst.Stream('feed', Methanol=100, Water=450)
M1 = bst.Mixer('M1', ins=(recycle, feed))
F1 = bst.Flash('F1',
ins=M1-0, # -pipe- notation equivalent to M1.outs[0]
outs=('vapor_product', 'liquid'),
V=0.1, P=101325
)
S1 = bst.Splitter('S1',
ins=F1-1, # -pipe- notation equivalent to F1.outs[1]
outs=(recycle, 'liquid_product'),
split=0.5 # Split to 0th output stream
)
bst.main_flowsheet.diagram()
F1.diagram()
F1.diagram(format = '.png')
Flash: F1
ins...
[0] s1
phase: 'l', T: 298.15 K, P: 101325 Pa
flow (kmol/hr): Water     50
Methanol  20
outs...
[0] s2
phase: 'l', T: 298.15 K, P: 101325 Pa
flow: 0
[1] s3
phase: 'l', T: 298.15 K, P: 101325 Pa
flow: 0
Flash: F1
ins...
[0] s1
phase: 'l', T: 298.15 K, P: 101325 Pa
flow (kmol/hr): Water     50
Methanol  20
outs...
[0] s2
phase: 'g', T: 352.84 K, P: 101325 Pa
flow (kmol/hr): Water     2.59
Methanol  4.41
[1] s3
phase: 'l', T: 352.84 K, P: 101325 Pa
flow (kmol/hr): Water     47.4
Methanol  15.6
sys = bst.main_flowsheet.create_system('sys')
sys.show()
sys.simulate()
sys.show()
sys.results()
System: sys
ins...
[0] feed
phase: 'l', T: 298.15 K, P: 101325 Pa
flow (kmol/hr): Water     450
Methanol  100
outs...
[0] vapor_product
phase: 'l', T: 298.15 K, P: 101325 Pa
flow: 0
[1] liquid_product
phase: 'l', T: 298.15 K, P: 101325 Pa
flow: 0
System: sys
Highest convergence error among components in recycle
stream S1-0 after 4 loops:

flow rate   3.12e-01 kmol/hr (0.57%)
temperature 3.56e-02 K (0.0099%)
ins...
[0] feed
phase: 'l', T: 298.15 K, P: 101325 Pa
flow (kmol/hr): Water     450
Methanol  100
outs...
[0] vapor_product
phase: 'g', T: 359.26 K, P: 101325 Pa
flow (kmol/hr): Water     53.4
Methanol  46.7
[1] liquid_product
phase: 'l', T: 359.26 K, P: 101325 Pa
flow (kmol/hr): Water     397
Methanol  53.6
Out[9]:
System                           Units      sys
Low pressure steam       Duty    kJ/hr 6.76e+06
Flow  kmol/hr      175
Cost   USD/hr     34.9
Total purchase cost                USD 3.64e+04
Installed equipment cost           USD 1.08e+05
Utility cost                    USD/hr     34.9
Material cost                   USD/hr        0
Sales                           USD/hr        0

No diagrams appeared in the 'Plots' inetrface
Version

Python 3.12.4 | packaged by Anaconda, Inc. | (main, Jun 18 2024,
15:03:56) [MSC v.1929 64 bit (AMD64)]
IPython 8.25.0 -- An enhanced Interactive Python.

Other things I tried doing:

Used 'conda install graphviz';

Error sign: Invalid syntax (pyflakes E)

Used 'import graphviz';

Error sign: 'graphviz' imported but unused (pyflakes E)

Thanks,
Sarvada
On Thu, Oct 24, 2024 at 11:02 AM Yoel @.***> wrote:

Please post it here along with the full traceback and we can go through
it. I suspect it might be some versions of your dependencies, but that's
really all I can guess without additional information. Please post the
following:
To Reproduce
A script or a text file that runs the code to reproduce the error.
Actual behavior
Full trace back, as text or a screenshot
Version

PyPI version or github

Thanks
—
Reply to this email directly, view it on GitHub
https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/issues/174#issuecomment-2435545879,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMFI7WHERD2I7Q7UFO5W36TZ5EDXFAVCNFSM6AAAAABQB3IEXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZVGU2DKOBXHE
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

--
Sarvada Chipkar, Ph.D.
(Pronounced as ser-VA-dh{as in 'the'}-aa  chip-ker)
Postdoctoral Research Fellow | Brace Lab https://brace-lab.com/
Department of Engineering | Boston College https://www.bc.edu/
245 Beacon Street, Chestnut Hill, MA
Contact: @.***

Ok, will keep in mind going forward.
Here is the output of the code:
from biosteam import *
preferences.raise_exception = True
settings.set_thermo(['Water'])
m = bst.Mixer()
m.diagram()
Traceback (most recent call last):
File
~\AppData\Local\anaconda3\Lib\site-packages\graphviz\backend\execute.py:76
in run_check
proc = _run_input_lines(cmd, input_lines, kwargs=kwargs)
File
~\AppData\Local\anaconda3\Lib\site-packages\graphviz\backend\execute.py:96
in _run_input_lines
popen = subprocess.Popen(cmd, stdin=subprocess.PIPE, **kwargs)
File
~\AppData\Local\anaconda3\Lib\site-packages\spyder_kernels\customize\spydercustomize.py:109
in init
super(SubprocessPopen, self).init(*args, **kwargs)
File ~\AppData\Local\anaconda3\Lib\subprocess.py:1026 in init
self._execute_child(args, executable, preexec_fn, close_fds,
File ~\AppData\Local\anaconda3\Lib\subprocess.py:1538 in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
Cell In[10], line 5
m.diagram()
File
~\AppData\Local\anaconda3\Lib\site-packages\thermosteam\network.py:1852 in
diagram
return bst.System(None, units).diagram(
File ~\AppData\Local\anaconda3\Lib\site-packages\biosteam_system.py:2118
in diagram
with preferences.temporary():
File
~\AppData\Local\anaconda3\Lib\site-packages\thermosteam_preferences.py:303
in exit
if exception: raise exception
File ~\AppData\Local\anaconda3\Lib\site-packages\biosteam_system.py:2151
in diagram
finalize_digraph(f, file, format, height)
File
~\AppData\Local\anaconda3\Lib\site-packages\biosteam\digraph\digraph.py:617
in finalize_digraph
else: display_digraph(digraph, format, height)
File
~\AppData\Local\anaconda3\Lib\site-packages\biosteam\digraph\digraph.py:574
in display_digraph
img = digraph.pipe(format='svg')
File ~\AppData\Local\anaconda3\Lib\site-packages\graphviz\piping.py:104
in pipe
return self._pipe_legacy(format,
File ~\AppData\Local\anaconda3\Lib\site-packages\graphviz_tools.py:171
in wrapper
return func(*args, **kwargs)
File ~\AppData\Local\anaconda3\Lib\site-packages\graphviz\piping.py:121
in _pipe_legacy
return self._pipe_future(format,
File ~\AppData\Local\anaconda3\Lib\site-packages\graphviz\piping.py:161
in _pipe_future
return self._pipe_lines(*args, input_encoding=self.encoding, **kwargs)
File
~\AppData\Local\anaconda3\Lib\site-packages\graphviz\backend\piping.py:161
in pipe_lines
proc = execute.run_check(cmd, capture_output=True, quiet=quiet,
**kwargs)
File
~\AppData\Local\anaconda3\Lib\site-packages\graphviz\backend\execute.py:81
in run_check
raise ExecutableNotFound(cmd) from e
ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the
Graphviz executables are on your systems' PATH
On Thu, Oct 24, 2024 at 11:59 AM Yoel @.***> wrote:

@SarvadaC https://github.com/SarvadaC, for future issues, please
provide the minimum code you can reproducible the issue. Something more
like this is what we would expect:
from biosteam import *preferences.raise_exception = Truesettings.set_thermo(['Water'])m = bst.Mixer()m.diagram()
Can you provide the output of this code (the full traceback)?
—
Reply to this email directly, view it on GitHub
https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/issues/174#issuecomment-2435678572,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMFI7WHVAWNGHENSVFN7XHLZ5EKMPAVCNFSM6AAAAABQB3IEXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZVGY3TQNJXGI
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

--
Sarvada Chipkar, Ph.D.
(Pronounced as ser-VA-dh{as in 'the'}-aa  chip-ker)
Postdoctoral Research Fellow | Brace Lab https://brace-lab.com/
Department of Engineering | Boston College https://www.bc.edu/
245 Beacon Street, Chestnut Hill, MA
Contact: @.***

@SarvadaC, the issue is that graphviz is not correctly installed. Please reinstall and follow the instructions on this site exactly:
https://forum.graphviz.org/t/new-simplified-installation-procedure-on-windows/224
Make sure you "Add Graphviz to the system path for current user" as shown in the dialog box.
Thanks,

Hi Yoel,
Sorry for the delayed reply. Yes, this fixed the issue. Thanks for helping
me resolve it.
Regards,
Sarvada
On Thu, Oct 24, 2024 at 12:41 PM Yoel @.***> wrote:

@SarvadaC https://github.com/SarvadaC, the issue is that graphviz is
not correctly installed. Please reinstall and follow the instructions on
this site exactly:
https://forum.graphviz.org/t/new-simplified-installation-procedure-on-windows/224
Make sure you "Add Graphviz to the system path for current user" as shown
in the dialog box.
Thanks,
—
Reply to this email directly, view it on GitHub
https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/issues/174#issuecomment-2435763994,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMFI7WGJOFRJUE5HLA6UHMLZ5EPKRAVCNFSM6AAAAABQB3IEXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZVG43DGOJZGQ
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

--
Sarvada Chipkar, Ph.D.
(Pronounced as ser-VA-dh{as in 'the'}-aa  chip-ker)
Postdoctoral Research Fellow | Brace Lab https://brace-lab.com/
Department of Engineering | Boston College https://www.bc.edu/
245 Beacon Street, Chestnut Hill, MA
Contact: @.***


please review sqlite

please review sqlite

added my-sql mysql sqlite nosql

added my-sql mysql sqlite nosql


Sort Saved report tree in Cloud Intel

Report results are sorted by a date they were last run on.
Issue #9444
Before:

After:

@miq-bot add_label bug, ui

@ZitaNemeckova from what I can see, are you now sorting by date with oldest first?  I would think the user would want the newest reports first.  Can you confirm @h-kataria?

@ZitaNemeckova, @dclarizio is correct Saved reports in the tree should be sorted to show newest reports on top, that should match with order on the list view on right side.

@dclarizio @h-kataria order is now reversed and matches with order on the list view on right side :)

@dclarizio @h-kataria order is now reversed and matches with order on the list view on right side :)

and that makes sense, newest on the top
merging


refactor: different config loading strategy

Summary
Fixes https://github.com/netlify/netlify-cms/issues/4817
In this refactoring config loading has been moved from App.js to bootstrap.js, which makes App component "dumber". And also redundant mergeConfig and configDidLoad actions has been removed. This also should make https://github.com/netlify/netlify-cms/pull/4776 merging easier.
Test plan
Run current tests

Probably should add tests for loadConfig action

Probably should add tests for loadConfig action

I believe this PR should also fix the problem with fast refresh. Currently when cms is being fast-refreshed, config validation results in error:
Unhandled Runtime Error
Error: 'collections[0].view_filters' should NOT have fewer than 1 items
'collections[0].view_groups' should NOT have fewer than 1 items

That's because after refresh, we validate existing config (which was normalized and to which defaults were applied), where each collection has view_filters and view_groups equal to empty array.

I believe this PR should also fix the problem with fast refresh. Currently when cms is being fast-refreshed, config validation results in error:
Unhandled Runtime Error
Error: 'collections[0].view_filters' should NOT have fewer than 1 items
'collections[0].view_groups' should NOT have fewer than 1 items

That's because after refresh, we validate existing config (which was normalized and to which defaults were applied), where each collection has view_filters and view_groups equal to empty array.

btw, did you have a chance to check if this fixes the issue with hot reload?

btw, did you have a chance to check if this fixes the issue with hot reload?

btw, did you have a chance to check if this fixes the issue with hot reload?

Yes it does 🥳

btw, did you have a chance to check if this fixes the issue with hot reload?

Yes it does 🥳


Add a dark mode.

Dark mode built to be easy on the eyes.
Can be (possibly) implemented using bootstrap .dark classes.

I would like to work on this issue.

@nayonika1999 No problem, go ahead.


[BUG]: Office 365 Management API: 401 Using Application Account

Describe the bug
Reading Audit logs with Application account still uses user credentials
Component (please tell us which flow or app you are experiencing issues with):

Solution: Audit
Version <IP_ADDRESS>
Custom Connector: Operation failed (401)

To Reproduce
Steps to reproduce the behavior:

Set up Application account and connector as in https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup-auditlog#option-2-connect-to-the-audit-log-by-using-an-azure-app-registration
Remark: in some places I see "ActivityFeed.Read" and "ServiceHealth.Read" selected for both Application and Delegated permissions; would this make a difference? Doc only states ActivityFeed.Read for Delegated...
perform the 'StartSubscription' test (same result for 'ListSubscriptions')
Get a 401

Bearer token in the request contains my credentials and not those of the Application Account. (And I don't have access myself -> error?)
Expected behavior
Integration using the Application account should work
Screenshots
/
Additional context
Application account has all required rights as the access to the management API was tested via PowerShell:
`
// Create app of type Web app / API in Azure AD, generate a Client Secret, and update the client id and client secret here
$ClientID = ""
$ClientSecret = ""
$loginURL = "https://login.microsoftonline.com/"
$tenantdomain = ".onmicrosoft.com"
// Get the tenant GUID from Properties | Directory ID under the Azure Active Directory section. For $resource, use one of these endpoint values based on your subscription plan: Enterprise - manage.office.com; GCC - manage-gcc.office.com; GCC High: manage.office365.us; DoD: manage.protection.apps.mil
$TenantGUID = ""
$resource = "https://manage.office.com"
// auth
$body = @{grant_type="client_credentials";resource=$resource;client_id=$ClientID;client_secret=$ClientSecret}
$oauth = Invoke-RestMethod -Method Post -Uri $loginURL/$tenantdomain/oauth2/token?api-version=1.0 -Body $body
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}
Invoke-WebRequest -Headers $headerParams -Uri "$resource/api/v1.0/$tenantGUID/activity/feed/subscriptions/list"
Invoke-WebRequest -Method Post -Headers $headerParams -Uri "$resource/api/v1.0/$tenantGUID/activity/feed/subscriptions/start?contentType=Audit.General&PublisherIdentifier=$clientID"
Invoke-WebRequest -Headers $headerParams -Uri "$resource/api/v1.0/$tenantGUID/activity/feed/subscriptions/list"
`
Correctly gives
[200] empty list
[200] Audit.general enabled
[200] list with Audit.general

These setting have worked for others so I don't think there is a generalized problem here.
Can you validate that the end state for the API Permissions are shown as in the set up instructions?

Indeed, I confirm those are the active settings. As mentioned, when using the API via powershell it works fine.
But when I do the test as described in the docs, the JWT in the request contains my personal credentials and no reference at all to the application account.

Given that you started the subscription in PowerShell, then you should be good to go.
Are you now able to use the connector in the flow?

I've reverted my changes to the flows and updated the subscription via powershell to use the tenantId, but still the same issue. Not surprising, as the API cannot even get called... (401: Unauthorized)
When you say it works for plenty of other users, is it possible they used the 'user' login or at least have the necessary privileges themselves?

This is the decoded JWT token sent when doing a 'list subscriptions' test from the Connector config. No mention of my application id; it's a user token. Compare to the JWT generated via powershell:

Might I have downloaded a faulty version of the connector?

Hi, I managed to get it working...
I updated the Core Components from 1.60 to 1.70.2
I tried to upgrade the AuditLogs Solution from <IP_ADDRESS> to 1.20, but it failed because I could not link the connector.
I then removed AuditLogs <IP_ADDRESS> to directly import 1.20. This fails as well because of missing dependencies on 'Active'; it seems like the connector is missing from this solution...
Re-installing <IP_ADDRESS> and then 1.20 worked, but the upgrade can't be applied (because the connector is missing in 1.20, and so <IP_ADDRESS> can't be removed, because it would delete the connector)
Anyway, with this setup (Core 1.70.2, AuditLogs <IP_ADDRESS>+1.20) I managed to reconfigure and recreate the connector, and now it is working... Very weird.
So I guess you can consider this issue closed; but I'd have a look at the AuditLogs 1.20 Solution because it's missing stuff that makes it impossible to install on an empty environment...
Thanks for your help :)

The missing connector is due to an issue we just discovered with the modern import.
Thanks for being so capable! And for using CoE!


Cannot load source file for class: PHP_PMD_Rule_Design_LongClass

PHPMD version: 2.8.1 [or 'latest'; see other bug]
PHP Version: PHP 5.6.40-29+0~20200514.35+debian10~1.gbpcc49a4 (cli)
Installation type: composer global
Operating System / Distribution & Version: Debian Stretch

Current Behavior
$ phpmd src/ text tests/phpmd.xml
Cannot load source file for class: PHP_PMD_Rule_Design_LongClass
Expected Behavior
Run given tests on src/ directory
Tests ran weekly until 2020-08-31. Testing on 2020-09-07 failed. I run composer global update --optimize-autoloader --prefer-stable --with-dependencies --prefer-dist every Sunday, via Cron.
Steps To Reproduce:
Attempt to run phpmd

My config file:
phpmd.xml.txt

The name of the class is irrelevant; deleting that rule from my phpmd.xml triggers the same error for the next rule in sequence. Deleting all rules doesn't trigger the error.

Hello, since 2.9.0 the snake_cased class are no longer available.
PHP_PMD_Rule_Design_LongClass is now available as PHPMD\Rule\Design\LongClass and the same for every PHP_PMD_* classes as this casing was in contradiction with the naming convention PHPMD recommend to follow and prevent the explicit import we also recommend.
The recommended way is to import them with use PHPMD\Rule\Design\LongClass; in the top of your file then use LongClass in the rest of the file.
Thanks,

To clarify: are you saying that v2.8.1 is broken because something changed in v2.9.0? And that the fix is to use namespace at the top of my XML file? Or at the top of every PHP file I want to test? I've not added any custom code for PHPMD, so I didn't expect your namespacing to affect me.

Ah, no. I'm composer global show phpmd/phpmd says I'm running v2.9.0

Okay: progress -- thanks to adding debug_print_backtrace() to ~/.composer/vendor/phpmd/phpmd/src/main/php/PHPMD/Exception/RuleClassFileNotFoundException.php ...
The error is in my XML file(s) -- wot I copied from the PHPMD docs back when dinosaurs roamed the earth.
Each of my  tags has a class attribute e.g. class="PHP_PMD_Rule_Naming_BooleanGetMethodName". Changing that to e.g. class="PHPMD\Rule\Naming\BooleanGetMethodName" fixed the problem. I did it with these commands:
sed -i 's|class=PHP_PMD_|class=PHPMD\|g' tests/phpmd*.xml
sed -Ei 's|class="([^]*)|class="\1\|g' tests/phpmd*.xml
The first changes the prefix to PHPMD ; the second changes one underscore to a backslash -- you should run it maybe three times in case of classes with lots of underscores.

Oh yes, I though it happened in PHP file (custom rule for instance). Indeed names should be changed too in XML files.

About the version it should not happen in 2.8.1, but I though you meant you stayed at 2.8.1 because unable to update due to the error.
Are you sure the phpmd you run (in the composer global vendor) is in 2.8.1 and fail to parse the underscore case rule names?

I'm actually running v2.9. I think we're now discussing bug #820

Oh yes, sorry for that.


[fix](spark load) Hive table properties do not take effect when creating spark session

Proposed changes

When creating a Hive external table for Spark loading, the Hive external table includes related information such as the Hive Metastore. However, when submitting a job, it is required to have the hive-site.xml file in the Spark conf directory; otherwise, the Spark job may fail with an error message indicating that the corresponding Hive table cannot be found.
The SparkEtlJob.initSparkConfigs method sets the properties of the external table into the Spark conf. However, at this point, the Spark session has already been created, and the Hive-related parameters will not take effect. To ensure that the Spark Hive catalog properly loads Hive tables, you need to set the Hive-related parameters before creating the Spark session.

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 53.15 seconds
stream load tsv:          535 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         19 seconds loaded<PHONE_NUMBER> Bytes, about 118 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>5 Bytes


Added Paused column to vmi

Signed-off-by: L. Pivarc<EMAIL_ADDRESS>What this PR does / why we need it:
There is no way to identify if VMI is running or is paused from cli. This PR makes it possible.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:
NONE

/retest


Add foreign neighbors query to Spatial.KDTree

I recently had to rewrite a KDTree to support finding nearest neighbors within a subset of the input data. In addition I want to share the Spanning Tree algorithm I wrote with the NetworkX community however rather than maintaining a separate algorithm it would be great to add this functionality to SciPy.
AFAIK the only way to replicate finding neighbor a of b | a ∈ A in SciPy is to iteratively increase k and query until that condition is true.
To get a sense of performance, here is a benchmark of mapping over a set of points and finding their nearest neighbor with the constraint that the result must be in the first five indices of the array.

netopt is my personal KDTree, netoptP is the same tree with parallel queries and scipy is the cKDTree.
x axis denotes array with n rows and y axis is processing time in seconds.

I am trying to wrap my head around this in case I need to help with cKDTree. (I wrote the current query and __query methods.) However, I fail to see the purpose of this enhancement. Building a cKDTree is usually much faster than querying. So what do we gain compared to simply rebuilding a new tree from a subset of the data?

I would like to say, though, that it is important that cKDTree has the same interface as KDTree, so both sould be updated.
A much more important enchancement would be to implement dual tree query, like @jakevdp did for the KDTree in scikit-learn.
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neighbors/binary_tree.pxi
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neighbors/kd_tree.pyx
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neighbors/ball_tree.pyx
Perhaps we should consider to deprecate KDTree and cKDTree in favor of scikit-learn? Do we really need to maintain three kd-tree implementations in the SciPy stack? Even though I wrote parts of cKDTree I gladly admit that Jake's code is the better.

@sturlamolden KDTree is in pretty good shape and heavily used, so deprecating it just because there's an even better version around is not a good idea imho. Also, scikit-image is a pretty heavy dependency if all you want is a kd-tree in your scipy-using code.

We should reference the scikit-image implementation in the KDTree docstring though.

scikit-learn ;-)

It's Sunday morning....

Oh yes, and the methods query_ball_point and query_ball_tree should preferably be renamed. They are misleading because they do not query a ball tree but does something totally different.
scikit-learn has a BallTree object as well, by the way. But it is actually a ball tree. :-)

A brief history on why scikit-learn duplicates this tree functionality: Ball Trees are nice in machine learning because they work with arbitrary metrics, and have some good properties as the dimension grows (though their performance in this area is often exaggerated). I wrote a python-wrapped C++ ball tree in 2009 for my own research, and wondered whether it would be a nice addition to scipy. I emailed the scipy list to check if there was interest; the only interest I got was from the then-nascent scikit-learn team. I ended up contributng the ball tree code there, and a lot of sklearn functionality has since been build around it.
The second iteration of the ball tree was in ~2010-2011, when I rewrote the code in Cython and in the process attained some significant speedups. At this point is was much faster than the cKDTree implementation then in scipy.
The third iteration was some time around 2012-2013; I rewrote the Cython code using typed memoryviews rather than raw pointers, attained further speedups, and also abstracted the binary tree and implemented the BallTree and KDTree as subclasses of that same base. Concurrently, Patrick, Sturla, and others were working on rewriting scipy's cKDTree to make it faster; the result is that the two cython KDTree implementations are basically comparable speed-wise, with a slight advantage toward scipy at build time, and a slight advantage toward scikit-learn at query time.
Folks in scikit-learn have remarked on many occasions that the Ball/KD tree code is a functionality that really belongs in scipy; it would be nice to be able to push it upstream like we did with the sparse graph traversal routines. But with the duplicative functionality already there, as well as the slightly different interface, and the desire to mirror the functionality in scipy's KDTree, it's not a straightforward prospect.

The main thing to notice is the difference between build and query time. Clearly it is premature to optimize for fast build time. Yes, cKDTree builds faster, but it is not really that relevant.
It would only take a minor change to cKDTree to constrain the kd-tree to the populated part of the hyperspace. Perhaps I should experiment with this and see what happens...
Another thing is that cKDTree do not produce a balanced tree due to the sliding midpoint rule. Anne implemented this because she thought it would be faster than e.g. a median rule.
The speed difference in queries might also be due to less efficient use of cache på cKDTree, since the nodes are allocationed by multiple calls to malloc.
Dynamic allocation with malloc() do not prevent serialization. But it makes it more complex than just rebuilding the tree (which is fast anyway).
Using parallel computing to speed up queries is also interesting. Unfortunately a lot of cKDTree needs the GIL now, so a solution based on multiprocessing (or at least multiple processes) would be required.

Thanks Sturla. You did hit on one other thing: the scikit-learn trees don't use any dynamic memory allocation; all allocation is done through numpy, which makes pickling of the objects trivial. That's a feature that I'm pretty proud of, as it took a LOT of careful design effort to make it happen :smile:

I have noticed that the proposed implementation in #4279 (as well as the example here) uses dot product against an indicator array to test if children and subset intersect. This is not an optimal solution. It is better to use two Python sets and check if they intersect. Set intersection is the obvious way to test for intersection of two sets...
Each note would e.g. have two sets, one with indices of children in less and one with indices of children in greater. And the recursive query would pass the intersection as the subset, thus reducing the subset to test against. When an intersection is an empty set the recursion is stopped. Note that we also use Python sets in cKDTree.query_pairs because they are very fast for this type of task.
One problem with this method is that we have to store a list of children indices or two sets of children indices at each level in the tree. It has a memory overhead. So perhaps supporting subset query should be controlled by a keyword argument to init. If the tree is not constructed to support subset queries the function should just raise NotImplementedError or RuntimeError.
I will try to implement subset query for cKDTree but I will use Python sets instead of dot products (unless I find there is a very good reason not to).

Ping @patvarilly

@jakevdp Here is a clean-up of cKDTree, now also with pickling: https://github.com/scipy/scipy/pull/4374

I have a related question: is there still a good reason to keeping around both KDTree and cKDTree? Why not just rename cKDTree to KDTree?
I'm sure the Python KDTree is easier to understand, but the scipy codebase does not exist for pedagogical reasons.

I don't really want to have an opinion on that. I have not been involved in writing spatial.KDTree and I never use it myself, so I don't feel responsibility for it. I will just focus on making spatial.cKDTree better. Then someone else can worry about what to do with spatial.KDTree.
We might export the name KDTree as an alias for cKDTree. But if there are minor differences in the APIs we might break someone's code by doing it. But if we are to deprecate and remove the current KDTree that will be in a different PR. I will not mess up this one with that change.
Another thing which could be important is that spatial.cKDTree locks the GIL (i.e. makes the interpreter unresponsive) in any search method except .query(). spatial.KDTree do not. This is particularly inportant in programs which have a GUI, and interactive visualization and games are common use cases for kd-trees. I will port all of the query methods in spatial.cKDTree over to C++ to prevent this problem, but it will take some time to complete. But yes, it is on my TODO list.
I also suspect it is possible to pickle spatial.KDTree in Python 2, whereas my pickling code for cKDTree for some mysterious reason (Cython bug?) only works for Python 3. Note that this is important if someone is using KDTree in combination with multiprocessing.

If someone wants to contribute the rules for the C++ code is roughly this:

Keep in Cython everything which does not need to be in C++
Minimal subset of C++ (e.g. only structs, no inheritance, no templates...)
The ckdtree struct does not have any C++ methods. Export a function to Cython.
1:1 mapping between C++ and the current Cython code
Always use RAII for auxillary objects (heaps, memory pools, trackers, ...)
Use STL containers for storage
Use exceptions for error handling
std::vector instead of malloc, try to avoid new and delete
Translate C++ exceptions to Python exceptions
Use NumPy C API properly
Follow NumPy C coding style as much as we can

There are still a few minor problems, but long-term I think we should simply remove the Python KDTree. The historical reason for the duplication is that cKDTree was not nearly feature-complete when it was added.

And that at that time this pattern (Python Object + accelerated cObject)  was still common in the Python stdlib. It's really outdated now.

Actually, pickle isn't support on Python 2.7 for the pure Python KDTree, either:
from scipy.spatial import KDTree
import numpy as np
import pickle

tree = KDTree(np.arange(10)[:, None])
pickle.dumps(tree)

So we may in fact even be at the point where we can consider removing the pure Python KDTree. As far as I can tell from the doc pages, KDTree and cKDTree have identical APIs.

That looks very much like the error message I get when pickling cKDTree in Python 2.7. What is going on here?

One motivation for having KDTree as well as cKDTree was that users could annotate KDTree nodes or manually traverse the tree - that is, because all the objects were python-accessible, it was more flexible for non-scipy-developers.

@aarchiba Can you give an example of what can be done with KDTree and cannot be done with cKDTree? Is there a way of adding python-level accessors to cKDTree, esp the gh-4374?

@aarchiba I have made all the nodes in cKDTree Python accessible in my latest PR #4374

@ev-br There are already Python level accessors in #4374

Well, in #4374 it is possible to traverse and inspect the kd-tree structure from Python, but not annotate the nodes. This is because the kd-tree structure itself is a C object stored in a contiguous memory buffer. This way it can be pickled with a single memcpy. I can make the nodes annotatable, sure, but then it cannot be stored in a flat buffer and pickle performance will suffer. I don't know of any use case for node annotation though. The main use case for tree traversal (that I know of) is to allow the test suite to sanity check the internal structure of the kd-tree, whcih is also in my PR.

As I can see, there are three reasons to keep scipy.spatial.KDTreeat the moment:

education [out of scope for cKDTree]
no GIL-locking query methods [will be fixed in cKDTree]
note annotation [probably not fixable in cKDTree]

more dumb questions from the peanut gallery: are cKDTree nodes hashable? I mean, my knee-jerk reaction if I need to annotate nodes is to use them as dict keys.  So I probably have to implement __hash__ manually, which I certainly can do. Thanks :)

Just to clear this up: We can make ckdtree.cKDTreeNode annotatable by making them ordinary Python classes with a __dict__ (which Cython now allows). But this annotation will not affect the real kd-tree structure. Also the next time you traverse the tree you will get a fresh set of  ckdtree.cKDTreeNode objects, except for the root node at ckdtree.cKDTree.tree which stays they same. ckdtree.cKDTreeNode.greater and ckdtree.cKDTreeNode.lesser are properties which return new ckdtree.cKDTreeNode objects as needed.  ckdtree.cKDTreeNode allow read-only inspection of the ckdtree.cKDTree, but are not the C datastructure from which the ckdtree.cKDTreeis constructed. It is a bit convoluted, but the main purpose is to have the C data structure in a flat buffer, and also to save memory and refcounting overhead by avoiding a data structure of Python objects.

Is education even in scope for scipy at all?

I'm not sure. At least it used to be one of the reasons to have a Python KDTree in addition to a Cython cKDTree.

I'd say that if we add code just for teaching purposes, that's not in scope. However for KDTree you can argue that it's also educational for new developers that want to work on the much harder to read cKDTree, because functionally they're the same.

The KDTree, cKDTree pattern is really outdated though - my impression is that that's from a time when the stdlib either had more explicit educational purposes or contained code that was optional to compile.

The main reason KDTree exists is that I implemented it first to make sure I knew what I was doing before porting it to Cython (with non-Python data structures, so that it was nontrivial). I kept it because it was a lot easier to add new features (and in fact it did support some that the cKDTree didn't). It seems that none of that is still true. I think it can go.

I have not spent time on implementing subset queries in cKDTree because I am not convinced the feature is useful. In any situation where query time matters, building a new cKDTree from is three to four orders of magnitude faster than doing the actual query. So to speed up the query for a subset we can just build a new cKDTree from a subset of the data and do an ordinary query on that. The extra overhead from building a new kd-tree will be something like 0.01 % to 0.1 % of the total run-time. It likely even to be faster than a "real" subset query: The subset kd-tree might be more compact, thus faster to search because it does not index unused space, and excessive subset checks are also avoided during the query.

Agreed -- maybe just write a pure Python wrapper for compat reasons? (If we're going to rename cKDTree to KDTree)
On Sat, May 30, 2015 at 6:49 PM, Sturla Molden<EMAIL_ADDRESS>wrote:

I have not spent time on implementing subset queries in cKDTree because I am not convinced the feature is useful. In any situation where query time matters, building a new cKDTree from is three to four orders of magnitude faster than doing the actual query. So to speed up the query for a subset we can just build a new cKDTree from a subset of the data and do an ordinary query on that. The extra overhead from building a new kd-tree will be something like 0.01 % to 0.1 % of the total run-time. It likely even to be faster than a "real" subset query: The subset kd-tree might be more compact, thus faster to search because it does not index unused space, and excessive subset checks are also avoided during the query.
Reply to this email directly or view it on GitHub:
https://github.com/scipy/scipy/issues/4236#issuecomment-107107679


Dutch translation for Timex

Add dutch translation for timex

Coverage remained the same at 66.693% when pulling c6dce14662342554b47ecedc298947ef81263663 on nulian:master into bc34a8f47f41e267474a46f3b34d1e794527e322 on bitwalker:master.

Awesome, thanks!


[Return GDFs during eval]: (Return gdfs for TP, FN, FP when running eval)

Is your feature request related to a problem? Please describe.
Would like to add functionality to return gdfs for TP, FN, FP when running eval for retraining a model after its first iteration, and this is a prereq for fine grain classification with different classifiers.
Describe the solution you'd like
Wrote a function to do this
Describe alternatives you've considered
No
Additional context
np.nan

If possible to do this within the context of the EvalBase object as it's structured now that'd be awesome; if that doesn't make sense given the use case (I'm not quite following the description) no worries.

Yeah it's in the EvalBase object.  Identical to eval_iou just returns 3 GDFs  also that can be converted to geojsons for visualization.


I was looking at my screenshots in my modpack with this mod and for some reason I noticed the sun and lamps showing ugly gray-like patterns instead of their true color.
When opening the pictures externally, they show normal values.
I don't know if it's your mod or the way Java works in there, but maybe you got an idea what to do? (HSV/HSL color room or sRGB versus RGB? I don't know much about this topic...)
Modlist see here: https://github.com/xFirefalconx/Royal-Equines-Petrified-Magic/issues/24 (this is not fully accurate, but I last ran these mods when the issue showed up.)

Picture in-game:

Normal comparison out of game:

Picture in-game:

Normal comparison out of game:

Figured out the reason! Was nerfed by DarkModeEverywhere mod.
How to fix: Go to the DarkModeEverywhere configs and enable the debug logs in the log. Go to the screenshot menu and copy the io.github.lgatodu47.screenshot_viewer.screens.ScreenshotWidget:render and io.github.lgatodu47.screenshot_viewer.screens.EnlargedScreenshotScreen:m_6305_ and paste that to the blacklist, press save, done.
Closing because this mod was not the cause.


✨ Add WithFiles to Directory

What are you trying to do?
I find myself writing code like this lately:
dir := dag.Directory()

for _, file := range files {
    dir = dir.WithFile("", file)
}

I'd like to see a shorthand where I can easily add a list of files to a directory:
dir := dag.Directory().WithFiles(files...) // OR: WithFiles(files)

Why is this important to you?
When using CLI tools (or even in Dockerfiles) files and directories are usually described by a path without having to make a distinction between them.
It's not the case in Dagger, but in many cases a list of files (result of some build step) may be better represented as a directory (archiving).
How are you currently working around this?
See code snippet above.

If the maintainers are ok with this suggestion I'd like to try implementing it

+1 from me. In the meantime you can make a util:
dir := dag.Directory().With(util.Files(files...))

@sagikazarmark @helderco @tomasmota WDYT about the idea of a withoutFiles property?
Currently, there's not really a way of removing multiple files, might be nice to have something like that as well.

Yes, sgtm 👍


Adds tip based on GitHub Issue feedback.

https://github.com/MicrosoftDocs/azure-docs/issues/56682

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


_VUE... Feature flags not taken into account

Hi,
I tried to put the following in the vite.config.js file:
 export default defineConfig({
  define: {
    __VUE_OPTIONS_API__: 'true',
    __VUE_PROD_DEVTOOLS__: 'false',
    __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'true'
  },

...
});

But I still have the follwing warning in the browser console:
Feature flags VUE_OPTIONS_API, VUE_PROD_DEVTOOLS, VUE_PROD_HYDRATION_MISMATCH_DETAILS are not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.
I run meteor like that meteor run
By running meteor run --production, i got the following in the browser console:
Uncaught ReferenceError: __VUE_PROD_DEVTOOLS__ is not defined

Hey there. 👋
Would you be able to create an example repository that reproduces the issue? I'm running Vue with most of my Meteor projects and can't recall running into this. 👀 If you're running the latest version of meteor-vite, you could downgrading<EMAIL_ADDRESS>and<EMAIL_ADDRESS>to see if that makes a difference. The last update had quite a few internal changes.
Either way, if you can set up a repo that reproduces the issue that would be tremendously helpful. 🙏

Closing issue as fixed. Feel free to re-open if you run into any other issues. 😄


feat(cli): enable shanghai ethereum tests

Enable Shanghai ethereum test

Not sure if we should merge with the crates patch or wait for revm release?


Frozen / Static leaves

Reading the documentation, I understand that you can freeze variables by using a mask based upon name or type.
Is it possible to set a variable to "frozen" within the class definition i.e in the way Equinox has static_field option.
While I understand the concept behind being able to mask out a set of variables contained in a PyTree (or PyTree of PyTrees), there are lots of situations where you know when creating a new class, that certain variables will only ever be constant. Furthermore, as models become much more complicated (or if others may utilise elements of your model) it becomes more cumbersome to have to mask these out / others have to know to do this.

If you prefer manual masking, you could apply pytc.freeze on the value directly. But you have to use is_leaf=pytc.is_frozen if you want to interact with this value using tree_map
Using this style, the end user will only have to unmask before calling. At the same time, having access to the masked values using is_leaf=pytc.is_frozen.
You can do something like this:
Style 1: with no init body, callbacks here is a list of functions applied on your in_features before setting it to the instance.
import pytreeclass as pytc
class Tree(pytc.TreeClass):
     in_features: int = pytc.field(callbacks=[pytc.freeze])

Style 2: with init body
class Tree(pytc.TreeClass):
    def __init__(self, in_features: int):
        # Some logic using in_features
        # ...

        # Lastly you freeze it
        self.in_features = pytc.freeze(in_features)

    def __call__(self, x:float):
        return x * self.in_features

t1 = Tree(2)

@jax.value_and_grad
def jax_func(tree:Tree):
    tree = jax.tree_map(pytc.unfreeze, tree, is_leaf=pytc.is_frozen)
    return tree(1.0)

jax_func(t1)
# (2.0, Tree(in_features=#2)) # ->`#` is frozen marker

For background, an earlier version of pytreeclass had static field-like behaviour, but this has three problems:
1 . Even if these fields are constants,  Using static_field, you will lose the ability to filter your models based on that always-non-trainable field using jax.tree_map.
2. .at uses jax.tree_map under the hood, if I let the user designate a permanently static field, then this will have an asymmetric design. For example, if you select a as a static field for model nn, then nn.a will work while nn.at['a'].get() will not work at all.
3. static_field will lead to repetitive code because you have to declare it twice as a field and inside the init body. something like this: (from equinox conv code)
class Conv(Module):
    """General N-dimensional convolution."""

    num_spatial_dims: int = static_field()
    weight: Array
    bias: Optional[Array]
    in_channels: int = static_field()
    out_channels: int = static_field()
    kernel_size: Tuple[int, ...] = static_field()
    stride: Tuple[int, ...] = static_field()
    padding: Tuple[Tuple[int, int], ...] = static_field()
    dilation: Tuple[int, ...] = static_field()
    groups: int = static_field()
    use_bias: bool = static_field()

    def __init__(
        self,
        num_spatial_dims: int,
        in_channels: int,
        out_channels: int,
        kernel_size: Union[int, Sequence[int]],
        stride: Union[int, Sequence[int]] = 1,
        padding: Union[int, Sequence[int], Sequence[Tuple[int, int]]] = 0,
        dilation: Union[int, Sequence[int]] = 1,
        groups: int = 1,
        use_bias: bool = True,
        *,
        key: PRNGKey,
        **kwargs,
    ):

This gets worse as you write more and more code.
Lastly, pytc.freeze is just a pytree with no leaves yielded during the flattening rule. So you can use pytc.freeze on any pytree ( no special treatment inside a TreeClass ).
This design eliminates static field logic during the flattening/unflattening of a tree, leading to faster flattening/unflattening for non-masked trees and simplifying the code.
Let me know if this answers your question.

So if I am understanding this correctly,
tree = jax.tree_map(pytc.unfreeze, tree, is_leaf=pytc.is_frozen)
needs to be called prior to any call to a pytc.TreeClass containing static / frozen variables. So if I have a class within a class within a class all containing frozen variables (or a class that contains numerous other classes which utilise frozen variables), for each call to methods of that class they must have this unfreezing.
That doesn't seem ideal, when you start to get much more complicated models or wish to build a library of functions (as every class would need to be "wrapped").

For a deeply nested instance with frozen attributes all over the place, you need to write it once (usually inside your loss function) , something like this.

from typing import Any
import pytreeclass as pytc
import jax

class A(pytc.TreeClass):
    a: int = pytc.freeze(1)
    b: float = 2.0

    def __call__(self, x):
        return self.a * x + self.b

class B(pytc.TreeClass):
    c: int = pytc.freeze(1)
    d: A = A()

    def __call__(self, x):
        return self.c * x + self.d(x)

b = B()
# B(c=#1, d=A(a=#1, b=2))

@jax.jit
@jax.value_and_grad
def loss_func(b: B):
    b = jax.tree_map(pytc.unfreeze, b, is_leaf=pytc.is_frozen)
    return b(1.0)

loss_func(b)
# (Array(4., dtype=float32, weak_type=True),
#  B(c=#1, d=A(a=#1, b=f32[](μ=1.00, σ=0.00, ∈[1.00,1.00]))))

For comparison, under the hood, equinox filter decorated functions do something similar on two steps:
first equinox splits the tree to trainable/non-trainable parts before the Jax boundary, then combines it inside the jax function for each call. pytreeclass scheme should be faster because you only do one step.
import equinox as eqx
import jax
import pytreeclass as pytc
import jax.numpy as jnp

class TreeEqx(eqx.Module):
    a:int  = eqx.static_field(default=1)
    b:jax.Array = jnp.array(1.)

class TreePyTC(pytc.TreeClass):
    a:int  = pytc.freeze(1)
    b:jax.Array = jnp.array(1.)

tree = TreePyTC()

@jax.jit
def some_func(t):
    t = jax.tree_map(pytc.unfreeze, t, is_leaf=pytc.is_frozen)
    return t.a + t.b

%timeit some_func(tree)
# 12.1 µs ± 836 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

tree = TreeEqx()

@eqx.filter_jit
def some_func(t):
    return t.a + t.b

%timeit some_func(tree)
# 26.7 µs ± 5.86 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

let me know if you have any questions.

Arh ok, I understand. That is obviously more manageable.
I wonder if adding a wrapper function/decorator to hide this from users might be useful? The equinox decorated functions are very useful in this respect of hiding the complexity away.
I can see occurrences where somebody might want to use your model and try a different loss function, or incorporate your model / NN into a pipeline of others and they don't realise this behaviour. The ability to wrap your model such that another user doesn't even need to think about this jax.tree_map(pytc.unfreeze, b, is_leaf=pytc.is_frozen) might prove helpful in stopping obvious mistakes.

You are right; fortunately, it's easy to do just that.

def unfreeze_func(func):
    @ft.wraps(func)
    def wrapper(tree, *a, **k):
        tree = jax.tree_map(pytc.unfreeze, tree, is_leaf=pytc.is_frozen)
        return func(tree, *a, **k)

    return wrapper

@jax.jit
@jax.value_and_grad
@unfreeze_func
def loss_func(b: B):
    return b(1.0)


disable complexity metrics

these tend to excessively troll cookbooks.
all you have to do is have resources or definitions that wrap other
resources and inject properties from the parent to the children and the
abc/cyclomatic complexity can balloon from the cross product of all
the conditionals--when the code is actually trivial.

@fnichol another one.


Game is literally unplayable through Source Code

When attempting to load into either story mode or freeplay, the UserData.gd file returns the error
Invalid get index 'weeks' (on base: 'null instance').
211:    for week in song_list.weeks:
212:   freeplay_list.append_array(week.song_datas)

Looking into it

Fixed


Fix patching issue on Windows

Fix the issue in https://github.com/tensorflow/tensorflow/issues/10435
@gunan

I think I was too hasty merging this PR, now we have the merge issue on master.

Thanks for taking care of this, looks like this commit is the wrong solution.


Feature request: 1-2 more bits of resolution for the offset layer

As I said in my other feature request today, I think I have read that bits for steps are valuable things and great care has to be used in allocating them.
With that said, I find that the 12.5% increments a little more coarse grained than I would prefer. Usually playing with swing I can get the groove I am looking for but if there is 1 to 2 more bits that could be spared to the offset layer to get a bit more fine control I think it could be a very nice addition.
Just to add, I really am enjoying this sequencer. Please consider this an icing on the cake feature request!

Thats also a huge and profound thing i would love to see too. I don`t know how often i have read parts of the manual in the expectation to find the usefull hint, how to dial in decimal values. For me it makes things really hard and often unusable when i like to set the note length and gate delays right to my taste, so that it gels to the swinging feel of the rest of my modular setup. If it is too coarse it remains often an unusable feature for me.

I would have to agree here, 12.5% steps are a bit rough for the delays, some finer adjustment would be great.
I was thinking the other day, that it would be lovely if we could for example hold down the encoder while setting a value, to get finer resolution.
That could be implemented for all the step parameters :)


feat: delimit based on remaining balance

Checklist

[ ] I have read the coding guide.
[ ] My change requires a documentation update, and I have done it.
[ ] I have added tests to cover my changes.
[ ] I have filled out the description and linked the related issues.

Description
If a batch of stamps expires while reserve sampling is done, its exclusion is probabilistic.
This PR attempts to create a consensus on minimum batch balance in order to be included in the RC sampling.
Open API Spec Version Changes (if applicable)
Motivation and Context
Circumstances of content expiring in large volume during a round can be a source of discrepancy between sampling results of different nodes. This change of convention to exclude data that is expected to expire can also create a discrepancy if mixed with legacy behaviour, so it's best to add this with a release that changes the redistribution contract address.
Related Issue (Optional)
Screenshots (if appropriate):

This change is

This way, batchstore does not need to be a dependency for localstore as well.

that would have been our first approach, however, the price potentially changes in the sampling period, as the claim just has that effect, and depending on whether the sampling starts before or after this change you might get different ideas of what the common minimum balance for the round is.
to resolve this, we save the last consensually known price in the reveal phase (when price is not supposed to change) and use that

what is the status if ths PR? IS @istae 's alternative implemented?
AFAIK the issue is that no matter how we calculate expiring batches and what time limit we agree on for their  expiry, the price might change during sampling but could potentially be set before sampling starts.
so how about defines sampled set to include chunks that would servive the next round with  the last consensual price taken from the previous claim         ?

I would hold on to this PR until @umerm-work 's PR is merged

Constraint with minimum batch balance for reserve sample was implemented in #4055.


[1.16] Fluids flowing from the top replaces fluid source blocks

Industrial Foregoing Version: industrial-foregoing-1.16.5-<IP_ADDRESS>-16.jar
Titanium Version: titanium-1.16.5-<IP_ADDRESS>-22.jar
Crashlog If Applicable (Upload to pastebin/gist): -
When fluid source of IF fluid (tested with Latex and Ether Gas) is placed above another source fo the same fluid, the bottom source will get deleted and replaced with flowing fluid with broken localization name

This bug blocks the use of pumps, because they playe source blocks multiple times in the same postion and you can't create a propper infinite source with the create hose pulley, because it sucks this strange fluid out, which is not recognized from all recipes with latex in the desolution chamber.


Build issue while building gtkmm

I have trouble building gtkmm
D:\Hardware\Libraries\Visual Studio 2017\x64\vcpkg>vcpkg.exe install gtkmm
The following packages will be built and installed:
  * atkmm[core]:x64-windows
  * cairomm[core]:x64-windows
    gtkmm[core]:x64-windows
  * pangomm[core]:x64-windows
Additional packages (*) will be modified to complete this operation.
Starting package 1/4: atkmm:x64-windows
Building package atkmm[core]:x64-windows...
-- Using cached D:/Hardware/Libraries/Visual Studio 2017/x64/vcpkg/downloads/atkmm-2.24.2.tar.xz
-- Applying patch D:/Hardware/Libraries/Visual Studio 2017/x64/vcpkg/ports/atkmm/fix_properties.patch
-- Applying patch failed. This is expected if this patch was previously applied.
-- Applying patch D:/Hardware/Libraries/Visual Studio 2017/x64/vcpkg/ports/atkmm/fix_charset.patch
-- Applying patch failed. This is expected if this patch was previously applied.
-- Building D:/Hardware/Libraries/Visual Studio 2017/x64/vcpkg/buildtrees/atkmm/src/atkmm-2.24.2/MSVC_Net2013/atkmm.sln for Release
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
    Command failed: msbuild;D:/Hardware/Libraries/Visual Studio 2017/x64/vcpkg/buildtrees/atkmm/src/atkmm-2.24.2/MSVC_Net2013/atkmm.sln;/p:Configuration=Release;/t:atkmm;/p:Platform=x64;/p:PlatformToolset=v141;/p:VCPkgLocalAppDataDisabled=true;/p:UseIntelMKL=No;/p:WindowsTargetPlatformVersion=10.0.17134.0;/m;/p:ForceImportBeforeCppTargets=D:/Hardware/Libraries/Visual Studio 2017/x64/vcpkg/scripts/buildsystems/msbuild/vcpkg.targets;/p:VcpkgTriplet=x64-windows
    Working Directory: D:/Hardware/Libraries/Visual Studio 2017/x64/vcpkg/buildtrees/atkmm/x64-windows-rel
    See logs for more information:
      D:\Hardware\Libraries\Visual Studio 2017\x64\vcpkg\buildtrees\atkmm\build-x64-windows-rel-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_msbuild.cmake:119 (vcpkg_execute_required_process)
  ports/atkmm/portfile.cmake:27 (vcpkg_build_msbuild)
  scripts/ports.cmake:71 (include)

Error: Building package atkmm:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: atkmm:x64-windows
  Vcpkg version: 2018.10.20-nohash

Additionally, attach any relevant sections from the log files above.

@IshaanKarnik, thanks for posting this issue. I can install it on my machine successfully. Please open a new issue if this is still a problem for you.


Chore/update hms noise cancellation

Description
Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.
List which issues are fixed by this PR. You must list at least one issue.

Implementation note, gotchas, related work and Future TODOs (optional)

Pre-launch Checklist

[ ] The Documentation is updated accordingly, or this PR doesn't require it.
[ ] I updated/added relevant documentation.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

Merging:

Squash merge to dev
Merge commit to publish-alpha and main

@hdz-666 is this PR to be closed now that we are reverting the NC changes?


Linux: seeing the blue (stable) icon for Code even though I am not on stable

@joaomoreno fyi, not sure if this needs to be backported.

The icon is different on disk, but Ubuntu refuses to show it. Seems like a caching problem.


Adds custom spacing to lists

Added the possibility to setup a custom spacing to List.
I saw this in a closed issue which was never addressed and thought It would be a nice addition.
This implementation assumes the use of a constant spacing.

Hi @icopano! Sorry for my super late response, busy times and this got lost in my inbox.
Your implementation looks straight away, but I will adapt it slightly, so the flatted() method to find the last element isn't called on every single loop.

Ok it looks like I can't push to your branch because of branch protections of the main branch (it's often easier to create a new branch after forking).
Instead I pushed my recommended changes in the branch issue-352-adaptions, and I would kindly request you to adapt your PR according to it. I also merged main into it, because I did a lot of changes in the last weeks, and there is a merge conflict.
https://github.com/techprimate/TPPDF/commit/730bcf38908ec5cc995001d4ff90d29dfde14f7a

Ping @icopano are you still interested in getting this merged?

Ping @icopano are you still interested in getting this merged?

Hi Philip! Sorry just seen this, I'll have a look at this later this evening, if that's okey with you? Your comment makes sense, thanks for pointing it out!

No worries, I also forgot about the PR :)
Alright, looking forward to continue working on this!


Figure out the best way to read hp

Option 1: parse out the numbers on the left side.
Option 2: Use the length to estimate current health, if parse number is too hard.


return Error Object

Could we get this error wrapped into an Error object
https://github.com/yahoo/fluxible-router/blob/master/lib/navigateAction.js#L28
I get obscure 'non-error thrown' error message when using fluxible async libraries
in some other libraries (co) otherwise

Fixed in #31


Add codespell: config, workflow (to detect new) + make it find/fix some existing typos

Note that I completely skipped `generated/` -- they do carry a good number of typos which can be easily fixed
❯ codespell **/generated
client/src/app/generated/civic.apollo.ts:1008: irregardless ==> regardless
client/src/app/generated/civic.apollo.ts:1450: occured ==> occurred
client/src/app/generated/civic.apollo.ts:1464: irregardless ==> regardless
client/src/app/generated/civic.apollo.ts:1857: irregardless ==> regardless
client/src/app/generated/civic.apollo.ts:2597: submited ==> submitted
client/src/app/generated/civic.apollo.ts:2700: erronously ==> erroneously
client/src/app/generated/civic.apollo.ts:2729: currentlly ==> currently
client/src/app/generated/civic.apollo.ts:3008: occured ==> occurred
client/src/app/generated/civic.apollo.ts:4264: irregardless ==> regardless
client/src/app/generated/civic.model.graphql:730: erronously ==> erroneously
client/src/app/generated/civic.model.graphql:1368: reponse ==> response
client/src/app/generated/civic.model.graphql:1378: certaint ==> certain
client/src/app/generated/civic.model.graphql:1383: reponse ==> response
client/src/app/generated/server.model.graphql:96: occured ==> occurred
client/src/app/generated/server.model.graphql:133: irregardless ==> regardless
client/src/app/generated/server.model.graphql:1684: irregardless ==> regardless
client/src/app/generated/server.model.graphql:2296: occured ==> occurred
client/src/app/generated/server.model.graphql:2327: irregardless ==> regardless
client/src/app/generated/server.model.graphql:3002: irregardless ==> regardless
client/src/app/generated/server.model.graphql:3691: reponse ==> response
client/src/app/generated/server.model.graphql:3701: certaint ==> certain
client/src/app/generated/server.model.graphql:3706: reponse ==> response
client/src/app/generated/server.model.graphql:4321: submited ==> submitted
client/src/app/generated/server.model.graphql:4550: erronously ==> erroneously
client/src/app/generated/server.model.graphql:4682: currentlly ==> currently
client/src/app/generated/server.model.graphql:4833: occured ==> occurred
client/src/app/generated/server.model.graphql:5501: Columm ==> Column
client/src/app/generated/server.model.graphql:6002: Columm ==> Column
client/src/app/generated/server.model.graphql:6007: interal ==> internal, interval, integral
client/src/app/generated/server.model.graphql:6153: involed ==> involved
client/src/app/generated/server.model.graphql:6276: Columm ==> Column
client/src/app/generated/server.model.graphql:6596: decending ==> descending
client/src/app/generated/server.model.graphql:7041: irregardless ==> regardless
client/src/app/generated/server.model.graphql:8587: reponse ==> response
client/src/app/generated/server.model.graphql:8597: certaint ==> certain
client/src/app/generated/server.model.graphql:8602: reponse ==> response
client/src/app/generated/server.schema.json:721: occured ==> occurred
client/src/app/generated/server.schema.json:11763: occured ==> occurred
client/src/app/generated/server.schema.json:20877: submited ==> submitted
client/src/app/generated/server.schema.json:21996: currentlly ==> currently
client/src/app/generated/server.schema.json:23761: occured ==> occurred
client/src/app/generated/server.schema.json:26408: Columm ==> Column
client/src/app/generated/server.schema.json:28384: interal ==> internal, interval, integral
client/src/app/generated/server.schema.json:28420: Columm ==> Column
client/src/app/generated/server.schema.json:29276: Columm ==> Column
client/src/app/generated/server.schema.json:30765: decending ==> descending

Should I or they should just be regenerated?

Hi @yarikoptic
Thanks for your contribution (and sorry it took so long to review!).
I've made a couple of small changes, and then merged the latest main into this branch as there was a merge conflict that needed to be resolved. I've opened the merged version as a new PR here.

Note that I completely skipped generated/

Yep, this is the correct approach. Everything in that directory is derived from the codebase and rebuilt on deploy.


Re-introduce prevention of unnecessary retrying of fetching stats for stopped OPI instances

Thanks for contributing to cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:
Revert the changes we made to prevent unnecessary retrying of fetching metrics for stopped/0 instances apps and resolve the null-pointer dereferencing error those changes inadvertently introduced

An explanation of the use cases your change solves
Should mitigate slow response times for the cf apps command when there are more than 25+ apps pushed to a standard cf-for-k8s installation

Links to any other associated PRs
Reverts the reverting of the following:

#1934
#2083

[x] I have reviewed the contributing guide

[x] I have viewed, signed, and submitted the Contributor License Agreement

[x] I have made this pull request to the main branch

[x] I have run all the unit tests using bundle exec rake

[x] I have run CF Acceptance Tests

review complete, merging and closing


Activation Functions

Activation Functions

The activation function is applied to each neuron in the neural network and defines how the neuron will process its input and generate its output. It introduces non-linearity into the network, allowing the network to learn complex relationships and patterns in the data. Without a non-linear activation function, the neural network would be equivalent to a single linear layer, making it incapable of solving non-linear problems.
Activation functions transform the weighted sum of neuron input values (also called raw activation) into a non-linear output. Some examples of common activation functions are sigmoid, Tanh, ReLU, Leaky ReLU, among others. Each activation function has its own characteristics and affects how neurons activate or inhibit their connections in response to different input patterns.
-by chatGPT

ReLU activation was built in and enabled deeper learning. With only 1600 interactions, she was able to discern characters written in 5x5 px frames. Of course this might be a poor result when compared to other AIs, but I can't help saying:
"this is awesome!"


Adds support for Musl

Resolves #143.
This adds support for building the project with the "Swift Linux SDK".
For this imports of Glibc needs to be conditionalized for cases where musl is available.
Also there are some small API differences between musl and Glibc.
Also the target "OTelTesting" should be a testTarget otherwise it will be built together with the rest when invoking swift build. This fails though because the Swift Linux SDK does not contain any testing framework.
Also removes a seemingly unused import Foundation.

This PR avoids the import of Foundation for OTelEnvironment

In my PR, I've replaced environ with ProcessInfo.processInfo.environment (due to thread safety and no need for different implementations in glibc and musl), Hummingbird did the same some time ago. In that version the Foundation import would still be needed.

Instead of conditionally (not) compiling OTelTesting, this PR converts it into a testTarget so that it is only part of the "testing" build.

I am not sure if this is the right thing to do, as OTelTesting is not really a test target. It is more like a support library for writing tests for OTel (similar to NIOTestUtils in swift-nio), at least that's my understanding of it.
At the end, both approaches achieve the same goal, so either one is fine for me 😄
Let's see what @slashmo thinks about it.

I am not sure if this is the right thing to do, as OTelTesting is not really a test target. It is more like a support library for writing tests for OTel (similar to NIOTestUtils in swift-nio), at least that's my understanding of it.

Yeah, fair. But NIOTestUtils does not depend on any testing framework. If you want to depend on a testing framework it needs to be a testTarget.

@lovetodream / @t089 Thank you both for your contributions and discussion ❤ I lean slightly towards lovetodream's implementation since it requires less specificity for the imports. Also, as you mentioned, it's probably a good idea to move back to using Foundation for reading the environment now, especially if there's precedence in the ecosystem. Thanks again to the both of you! 🙏

Makes sense, though I would still consider avoiding Foundation(Essentials) if this is the only thing that we need from Foundation. I think in general it is good for these "low-level" frameworks to avoid Foundation if they can.


Create simple.yml

What problem does this PR solve?

Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

Please refer to Release Notes Language Style Guide to write a quality release note.
None

Codecov Report

:exclamation: No coverage uploaded for pull request base (coverage@f21d664). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@              Coverage Diff              @@
##             coverage         #1   +/-   ##
=============================================
  Coverage            ?   67.6982%
=============================================
  Files               ?          2
  Lines               ?        517
  Branches            ?          0
=============================================
  Hits                ?        350
  Misses              ?        141
  Partials            ?         26


Change start_with to start_value for postgres sequences

start_value is the correct column name.  See here:
https://www.postgresql.org/docs/9.1/infoschema-sequences.html
Note:  sorry I could not create a Hibernate Jira account. I tried nearly
a dozen times.  Kept getting 500s.

SequenceInformationExtractorHSQLDBDatabaseImpl has nothing to do with Postgres. It's right there in the name: HSQLDB.


Add constantV to CavaClass

While trying to demonstrate loops with initial values, I noticed an inconvenient feature of our current setup. Loops and delays take signal t as their reset value, see here:
https://github.com/project-oak/silveroak/blob/e83fe025e5186c59ea6e31256f4c2f8f86cc5505/cava/Cava/Core/Circuit.v#L36-L42
However, in the usual circuit-definition context with a completely abstract cava monad, it's impossible to construct a signal (Vec _ _) that doesn't have a cava wrapped around it (since #597, packV wraps vectors in cava).
This PR introduces the ability to construct constant vectors with constantV, similar to constant for bits. It comes at the cost of a new field for CavaClass.
@blaxill If you have a moment, it would be nice to confirm that this change doesn't affect the resource usage of our generated AES circuits.
Note: the changes to CipherControlCircuit.v are essentially undoing the changes to #597, where wrapping packV in cava forced a bunch of constants to be wrapped in cava too.

@blaxill If you have a moment, it would be nice to confirm that this change doesn't affect the resource usage of our generated AES circuits.

👍  i'll take a look

I think it is wrong for initial (reset) values to be specified as a signal t. It should be combType t i.e. a compile time value.
  | DelayInitCE :
      forall {t} (resetval : combType t),
        Circuit (signal t * signal Bit) (signal t)

because the reset value (for our semantics) can never vary.
In the generated SystemVerilog the reset value is not an input pin to the register circuit, it is a compile time parameter attached to the instantiation and is used to produce the configuration bitstream for an FPGA circuit e.g. in VHDL:
FDRE_inst : FDRE
generic map (
INIT => 0, -- Initial value of register, 1’b0, 1’b1
-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion
IS_C_INVERTED => ’0’, -- Optional inversion for C
IS_D_INVERTED => ’0’, -- Optional inversion for D
IS_R_INVERTED => ’0’ -- Optional inversion for R
)
port map (
Q => Q, -- 1-bit output: Data
C => C, -- 1-bit input: Clock
CE => CE, -- 1-bit input: Clock enable
D => D, -- 1-bit input: Data
R => R -- 1-bit input: Synchronous reset
);

Will there be any problems extracting, for instance, a Coq Vector.t as a SystemVerilog constant vector?

Will there be any problems extracting, for instance, a Coq Vector.t as a SystemVerilog constant vector?

No, it's perfectly fine to have a vector literal in SystemVerilog. We already generate lots of them.

No, it's perfectly fine to have a vector literal in SystemVerilog. We already generate lots of them.

Okay, great! I can change that, then.
What do folks think about this change, given the original justification is gone? Is it still beneficial to have the ability to write constant vectors without the monadic wrappers?

I think this change might be a prerequisite for https://github.com/project-oak/silveroak/pull/678#discussion_r598997698

No, it's perfectly fine to have a vector literal in SystemVerilog. We already generate lots of them.

Okay, great! I can change that, then.
What do folks think about this change, given the original justification is gone? Is it still beneficial to have the ability to write constant vectors without the monadic wrappers?

Yes.


Please make a startup option or something similar

Please make it so that you can first set the settings on a local computer, and then run it on hosting without a GUI

README.md is named that so you read it.


Wrong exception

When using the example in the readme :
message.reply(
  attachment: {
    type: 'image',
    payload: {
      url: 'http://sky.net/visual-aids-for-stupid-organisms/pig.jpg'
    }
  }
)

The returned exception is wrong:
Facebook::Messenger::Bot::**RecipientNotFound**: (#100) Failed to fetch the file from the url

@ylecuyer looks like that url is not valid. If you try to load it in the browser it doesn't load. Actually the whole domain sky.net is not available it seems.
Try with another url that you can verify works, like this: http://i.imgur.com/vG98twU.jpg

I know that the URL is wrong. The issue here is with the exception type
On 10 Feb 2017 04:44, "Johannes Gorset"<EMAIL_ADDRESS>wrote:

Closed #107 https://github.com/hyperoslo/facebook-messenger/issues/107.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hyperoslo/facebook-messenger/issues/107#event-957004210,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABx8OQkRspvLtk_MrgX0dLwdu09BjhXXks5rbDFvgaJpZM4L7dQp
.

Same thing for
Facebook::Messenger::Bot::RecipientNotFound at / (#100) Invalid keys "playload" were found in param "message[quick_replies][0]".

Ha, right! I'll reopen this, then.

The issue was fixed in #99. RecipientNotFound class doesn't exist anymore.

Nice @sorich87!


Can this repo be removed (or moved to a private account)?

I am trying to clean up our Github account. The code is open source and such can be cloned into a private account.
Your friendly entropy neighborhood officer
:-)

I will move it to my account :D
Mela

Can you let me know when you have done it … feel free to change the links in your blog post according.
http://www.launchd.de
<EMAIL_ADDRESS>| @hlgr360
http://hlgr360.wordpress.com
Sitz der Gesellschaft: Esslingen | Rechtsform: GbR
Geschäftsführer: Holger Reinhardt & Jonas Dagefoerde
USt-IdNr.: DE288302537

On May 29, 2017, at 1:12 PM, Melania Andrisan<EMAIL_ADDRESS>wrote:
I will move it to my account :D
Mela
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Haufe-Lexware/eloqua-contract-to-form-action-service/issues/1#issuecomment-304636395, or mute the thread https://github.com/notifications/unsubscribe-auth/AFsZ3Es7DLGmJFXys1nVaXPV4kFiud03ks5r-qgvgaJpZM4Nhh8u.


python3Packages.aiodiscover: 1.3.3 -> 1.3.4

Motivation for this change
Update to latest upstream release 1.3.4
Change log: https://github.com/bdraco/aiodiscover/releases/tag/v1.3.4
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Result of nixpkgs-review pr 119294 at 1b89ff1c run on aarch64-linux 1

5 packages built successfully:

home-assistant
python38Packages.aiodiscover
python38Packages.pyroute2
python39Packages.aiodiscover
python39Packages.pyroute2

2 suggestions:

warning: unused-argument
Unused argument: fetchpatch.
Near pkgs/development/python-modules/aiodiscover/default.nix:5:3:
  |
5 | , fetchpatch
  |   ^

warning: python-include-tests
Consider adding a checkPhase for tests, or if not feasible, pythonImportsCheck.
Near pkgs/development/python-modules/aiodiscover/default.nix:38:0:
   |
38 |     description = "Python module to discover hosts via ARP and PTR lookup";
   | ^

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

5 packages built:

home-assistant
python38Packages.aiodiscover
python38Packages.pyroute2
python39Packages.aiodiscover
python39Packages.pyroute2

Can we get an imports check on aiodiscover?
Also please take a look at the nixpkgs-hammering recommendations.

Can we get an imports check on aiodiscover?

I guess that we could run some of the tests (those which do not require access to /etc/resolv.conf) and use pythonImportsCheck.

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

5 packages built:

home-assistant
python38Packages.aiodiscover
python38Packages.pyroute2
python39Packages.aiodiscover
python39Packages.pyroute2


Support relocating to an insecure registry

The project does not appear to have the ability to relocate an image to an insecure registry. This functionality would be useful when working with local registries and not having to worry about TLS.

Please could you provide some steps to reproduce the issue.


Multi blocks should forbid disallowed requests

Dalli only supports the use of set, add, replace, and delete operations inside a multi block.  But the code itself doesn't enforce this anywhere.  It's only documented in the comments.
This presents a problem for the resolution of #772 .  If a non-quiet command can be inserted at any point in a multi block, then it becomes extremely easy to get the socket into a corrupt state.  And the discussed solution for #772 - draining the buffer at the end of the multi block - will not work to address this issue.
Instead we should raise an error to the caller if a disallowed request is called in a multi block.

This is merged to main and will be released as part of 3.1.x

Released as part of 3.1.0


Update cordova-osx

Updates cordova-osx to v6.0.0.

Unlike cordova-ios, cordova-osx still uses WebView, so local storage migration is not necessary.

Version-controls macOS plugin configuration files as a workround for a failure to restore plugins from package.json.

Reproduced this issue in a minimal macOS project; manually adding plugins results in the expected configuration.
I'm not yet sure if this is an issue with cordova-osx, cordova-cli or one of its dependencies, i.e. cordova-common, cordova-lib (note that all these had breaking updates).

Minor iOS compatibility fixes.

Do you get different configuration files when you add the plugins from the package.json?

Yes, it seems like instead of adding all plugins to the config files (cordova_plugins.js, osx.json, config.xml), only the last installed plugin overrides the config.

Adding manually works, but automatically gets you an error?

Restoring from package.json (automatically) fails. The committed config files result from manually removing and adding each plugin.

Reported the issue at https://github.com/apache/cordova-osx/issues/106.


pin mamba<2 for conda-lock: solution by Ben Mares @maresb

Our conda lock file generation action is currently failing, the issue is obscure, but I did ask Ben at conda-lock if he's got any ideas, see https://github.com/conda/conda-lock/issues/732 - ~for now I am testing about, see if pinning mamba helps~, and as suggested by @maresb pinning mamba<2 is the correct approach, cheers, Ben! :beer:
~Well, we'll test whenever core conda decides to work again, that is...~

@maresb Ben, your idea to pin mamba works a treat, very many thanks! I'll leave this one on, and will close your fork PR #3773 but I am naming you here as the man with the idea :bulb: :grin:

Cool, thanks a lot!!! Also it's great to be correct! :joy:

Sorry, bin tied up in meetings all day 😩  Will approve once the tests finished 👍

Then I defer to @schlunma, was avoiding this PR cause I got 0 clue about conda-lock =D

cheers, guys, not a worry, am just being pesky :fly:

legend! Cheers, chaps :beer:


sys::mman add netbsd's PROT_MPROTECT macro

Could you please explain what this is and how it can be properly used to me?

mmap
mremap
mprotect

As a NetBSD extension, the PROT_MPROTECT macro can be used to request additional permissions for later use with mprotect(2).  For example PROT_MPROTECT(PROT_READ) requests that future PROT_READ mappings are allowed and can be enabled using mprotect(2), but does not currently grant read mappings to the returned memory segment.

After reading the related manual pages and the test code provided in this PR, I am still confused about the functionality of this macro.
Per the mprotect(2) manual:

EACCESS: The new protection is less restrictive than the protection originally set with mmap(2).

You will get an EACCESS error if you reset the permission that is less restrictive than the original one given in the mmap(2) call on NetBSD, does this macro solve that error and thus allow additional permissions to be added?

Could you please explain what this is and how it can be properly used to me?

mmap
mremap
mprotect

As a NetBSD extension, the PROT_MPROTECT macro can be used to request additional permissions for later use with mprotect(2).  For example PROT_MPROTECT(PROT_READ) requests that future PROT_READ mappings are allowed and can be enabled using mprotect(2), but does not currently grant read mappings to the returned memory segment.

After reading the related manual pages and the test code provided in this PR, I am still confused about the functionality of this macro.
Per the mprotect(2) manual:

EACCESS: The new protection is less restrictive than the protection originally set with mmap(2).

You will get an EACCESS error if you reset the permission that is less restrictive than the original one given in the mmap(2) call on NetBSD, does this macro solve that error and thus allow additional permissions to be added?

This macro is for mprotect so let 's say you do this for mmap with this flag PROT_READ | PROT_WRITE | PROT_MPROTECT(PROT_EXEC) the actual page won t have PROT_EXEC flag allowed until mprotect request it, if that makes sense


feat: Short Lived NATS credentials

When bootstraping a new VM, BOSH stores credentials in the metadata services of the different IAASes. This includes the certificates the VM uses to access NATS. This is a security concern for some environments where a malicious user that can access the metadata service gets the NATS credentials. He will be able to connect to NATS and listen to the traffic between the the VMs and the director.
This feature removes that risk by making the credentials stored in the metadata service ephemeral/short lived, so if a user gets access to them, they won't be useful after the VM bootstrap. These credentials will be used only while starting a new VM, and after that, they will be replaced by permanent credentials that are not stored in the metadata service.
This feature is disabled by default. To enable it a new parameter called enable_short_lived_nats_credentials should be added with true as its value in the director manifest during the create-env. This will affect only newly created/recreated VMs.
When an operator enables this feature its a MUST to ensure that the stemcells used in the director are compatible with it; stemcells that are incompatible will result in unresponsive VMs.
The oldest compatible stemcell versions are:
Windows 2019 - 2019.41
Ubuntu Xenial - 621.171
Ubuntu Bionic - 1.36
Ubuntu Jammy - All versions are suported.
Please provide contextual information.
Story: [#183316690] [Deadline: Before End of FYQ1] [AHA] Short-lived NATS bootstrap credential
What tests have you run against this PR?
The BOSH unit tests.
Manual integration tests:

Create environment and deployment with the feature disabled.
Create environment and deployment with the feature enabled.
Update an environment with running VMs with the feature disabled and enabled.
Having a deployment without the feature, recreating it with the feature enabled.

How should this change be described in bosh release notes?
To increase security, this feature will mitigate the risk of plain text NATS credentials, obtained through the metadata service, being used with malicious intent.
The feature will rotate the NATS credential directly after VM creation, and also revoking access of the old credential.
Does this PR introduce a breaking change?
No

LGTM


What will happen for slow queries.

I just wonder, what if: we have some front-end components, which composes a relatively big query, then Relay group it together and send to GraphQL endpoint, it resolves part of the query fast, and then one of resolvers trying to get some REST and get timeout on it. Will the entire query timeout? Can we avoid such a situation and send answers partially? Or it is already done?

In GraphQL null can be returned when a resolve function fails. That also applies to REST requests with timeout.
However, the whole request returns at the same time. Streaming partial responses is not currently supported, but it's something we plan to do in some way or another in the future. For the time being, if you expect part of a query to take significantly longer than other parts, or if you need some parts sooner than others, you should break up your query into several smaller ones.

No, Im not saying about failing, just a long async. Ok, sure I can make different requests for slow and fast parts, but isnt it right, that that graphql merges all requests made in one tick? It may easily happen right after first page loading. If it not merges requests and make it separately - it can be a workaround.

GraphQL-JS itself doesn't have a timeout for queries, so when it times out will depend on your browser and maybe proxy servers in between. If your GraphQL server makes any REST requests, they should have a reasonable timeout that's shorter than that. The timeout should be quite short, because the GraphQL response won't be sent until all values have either been resolved or thrown an error.

The question im trying to address is not about timeouts itself, It is: will queries from different components be merged if made in the same time? And if Yes, then, will we have control over this process?
Sorry for this miswriting, my english is not excellent.

Also, maybe we have to have some kind of profiler for resolvers and entire queries, in the simpliest form it can just log slow queries as many db's does.

Ah, ok, now I understand. We actually don't use Relay, but we use Apollo-client. I believe the client doesn't merge queries right now, all it does is check if the query (or parts of it) have already been cached. So the case you mentioned can't happen at the moment.
I believe this is also true of Relay, where you have to merge queries by hand.
As for the profiler, we are working on something called tracer, which should provide insight into execution of queries across the client and server.
Btw, since this issue is about apollo-client, it may be better to post it there: https://github.com/apollostack/apollo-client

Thanks for answers! Pretty sure the tracer will be cool!

Note that Relay has some features about marking parts of your query more or less "required", so you can get the results you really care about faster. Something we should definitely look into so that people can make the initial data fetch fast!


add component hook for unfocusing widget on despawn

consumers reacting to widget focus may expect despawning the focused widget to trigger an "unfocus"

Nice, gonna merge, just imports conflict needs to be resolved.