Device inverter instead of pvinverter possible?

My HM-350 is connected to a LFP battery, which is charged by a Victron MPPT.
Is it possible to show the HM-350 as an inverter, as it is using DC power instead of PV ?

as long as you have a DTU like ahoy or opendtu, that we can read data from, it can be displayed in venus OS

Hi,
I agree. I am currently using your code to display the inverter (connected to the battery) as
a PV-Inverter. It runs very well. BUT it assumes the energy comes from PV where in reality it comes from the battery.
So when the inverter runs I see for example:
Battery (via dbus-serialbattery) -600w
PV-Inverter ( via your dbus-opendtu) +600w
DC-Power (calculated by victron) +600w
The problem is that the cerbo is not netting the DC-Power (which is the input to the inverter)
with the PV-Inverter.
So the question is: Can the Opendtu (or Ahoy) be used as an inverter that is powered by DC load?

Thanks
Andreas

Yes, I would assume that something like this would be through the com.victronenergy.vebus.
It would need to look like a Multiplus to the Cerbo (I guess)....

I planned something for shelly https://github.com/henne49/dbus-opendtu/issues/32, but it was not working. This requires some rework, give it a try and you can submit a PR to include into the code. But wait until we Merged https://github.com/henne49/dbus-opendtu/pull/43

Sounds great!

This looks close: https://github.com/Telekatz/venus.dbus-hoymiles

we did a merge, your link is a different use case. Maybe that project is a better bit for your use case

I will try to ask the autor there for a possible update to disble the steering of the HM input.

Was just reading the code and then found this issue.
This project simulates the opendtu as a pvinverter: https://github.com/victronenergy/venus/wiki/dbus#pv-inverters
We would need an inverter: https://github.com/victronenergy/venus/wiki/dbus#inverter
It shouldn't be that hard to take this code and change com.victronenergy.pvinverter to com.victronenergy.inverter and also change the paths in the update funtion https://github.com/henne49/dbus-opendtu/blob/main/dbus-opendtu.py#L423 to match the ones required by the inverter interface. But maybe that should ne another project/fork of this one... Or maybe a config flag?

I think it needs to be a config flag, which allows for different mode. If you are interested, please create a fork and test, we can help with the code and Pull Request. We would include this into code for sure, just have no time yet to do it myself.

Maybe, the change #53 (based on feature request #52) will also help in this case. I will be able to configure servicename com.victronenergy.inverter.

Closing thing because of #53. Please reopen or create a new issue if necessary.

Reopening, as we need to also implement it for ahoy and opendtu and not just template

just tried it.
Only needed for OpenDTU and ahoy
AcPosition 0=AC input 1; 1=AC output; 2=AC output 2
1st inverter
[INVERTER0]
Phase=L1
DeviceInstance=34
AcPosition=0
Servicename=com.victronenergy.inverter
2nd inverter
[INVERTER1]
Phase=L1
DeviceInstance=35
AcPosition=0
Servicename=com.victronenergy.pvinverter
Inverter0 is not connected, Interverter1 works fine.

I think for inverter there are other variables:
https://github.com/victronenergy/venus/wiki/dbus#inverter

I think we will need:
/Dc/0/Voltage             <- Battery voltage /Ac/Out/L1/V              <- AC Output voltage /Ac/Out/L1/I              <- AC Output current /Ac/Out/L1/P              <- Not used on vedirect inverters  /State                    <- 0=Off; 1=Low Power; 2=Fault; 9=Inverting

Dear all, was this feature request from @TheGrumpyBadger already built in ? I tried to use the Servicename=com.victronenergy.inverter for Inverter0 But without luck. Seems it is not yet implemented...

Yes, setting the servicename was implemented in #53. But it seems there are devices (servicenames) where it is not sufficient to only set the servicename and some more attributes need to be set. This is why THIS ticket ist still open.

Hey @Tom051276 would you mind to post the debug log?
Logging=DEBUG
Right now it looks correct for me.
if dtuvariant != constants.DTUVARIANT_TEMPLATE:
            logging.info("Registering dtu devices")
            servicename=get_config_value(config, "Servicename", "INVERTER", 0, "com.victronenergy.pvinverter")
            service = DbusService(
                servicename=servicename,
                paths=paths,
                actual_inverter=0,
            )

Maybe there's something wrong with the getter. I'm not able to debug that right now.

As far as I see the paths are only implemented for pv inverter:
        paths = {             "/Ac/Energy/Forward": {                 "initial": None,                 "textformat": _kwh,             },  # energy produced by pv inverter             "/Ac/Power": {"initial": None, "textformat": _w},             "/Ac/L1/Voltage": {"initial": None, "textformat": _v},             "/Ac/L2/Voltage": {"initial": None, "textformat": _v},             "/Ac/L3/Voltage": {"initial": None, "textformat": _v},             "/Ac/L1/Current": {"initial": None, "textformat": _a},             "/Ac/L2/Current": {"initial": None, "textformat": _a},             "/Ac/L3/Current": {"initial": None, "textformat": _a},             "/Ac/L1/Power": {"initial": None, "textformat": _w},             "/Ac/L2/Power": {"initial": None, "textformat": _w},             "/Ac/L3/Power": {"initial": None, "textformat": _w},             "/Ac/L1/Energy/Forward": {"initial": None, "textformat": _kwh},             "/Ac/L2/Energy/Forward": {"initial": None, "textformat": _kwh},             "/Ac/L3/Energy/Forward": {"initial": None, "textformat": _kwh},         }
The paths for a "non-pv"-inverter I posted above.

Got you. I created a new branch feature-non-pv-inverter. I'm not able to test it yet but maybe it's a start

Yes, I got values:

But no visual:

2023-04-27 14:04:38,184 root DEBUG calling http://<IP_ADDRESS>/api/livedata/status with timeout=2.5
2023-04-27 14:04:38,191 urllib3.connectionpool DEBUG Starting new HTTP connection (1): <IP_ADDRESS>:80
2023-04-27 14:04:38,261 urllib3.connectionpool DEBUG http://<IP_ADDRESS>:80 "GET /api/livedata/status HTTP/1.1" 200 1401
2023-04-27 14:04:38,265 root DEBUG function fetch_url finished in 81 ms
2023-04-27 14:04:40,972 root DEBUG _get_value_handler called for /
2023-04-27 14:04:40,973 root DEBUG {'Mgmt/ProcessName': dbus.String('/data/dbus-opendtu/dbus_service.py', variant_level=1), 'Mgmt/ProcessVersion': dbus.String('Unkown version, and running on Python 3.8.13', variant_level=1), 'Mgmt/Connection': dbus.String('OpenDTU HTTP JSON service', variant_level=1), 'DeviceInstance': dbus.Int32(34, variant_level=1), 'ProductId': dbus.Int32(65535, variant_level=1), 'ProductName': dbus.String('OpenDTU', variant_level=1), 'CustomName': dbus.String('HM350-Akku', variant_level=1), 'Connected': dbus.Int32(1, variant_level=1), 'Latency': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'FirmwareVersion': dbus.Double(0.1, variant_level=1), 'HardwareVersion': dbus.Int32(0, variant_level=1), 'Position': dbus.Int32(1, variant_level=1), 'Serial': dbus.String('112183215725', variant_level=1), 'UpdateIndex': dbus.Int32(0, variant_level=1), 'StatusCode': dbus.Int32(0, variant_level=1), 'Ac/Energy/Forward': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/Power': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L1/Voltage': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L2/Voltage': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L3/Voltage': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L1/Current': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L2/Current': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L3/Current': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L1/Power': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L2/Power': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L3/Power': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L1/Energy/Forward': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L2/Energy/Forward': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L3/Energy/Forward': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/Out/L1/I': dbus.Double(1.059999943, variant_level=1), 'Ac/Out/L1/V': dbus.Double(234.1000061, variant_level=1), 'Dc/0/Voltage': dbus.Int32(49, variant_level=1)}

Perhaps the /state has to be 0 when I is 0 and 9 when I is > 0.
And /Mode to 2 when working.

@dsteinkopf I have no idea how to contact you on Discord. Just add me there Maurice#2144
@TheGrumpyBadger I'll change/check this later. As I said I couldn't test it ;-)

`            "/Mode": {"initial": 2, "textformat": None},
        "/State": {"initial": 9, "textformat": None}

`
did it.
Line 87/77 in dbus-opendtu.py

Great job! 👍

@0x7878 will you update the branch and create the PR? Well done guys

@0x7878 @TheGrumpyBadger Awesome !!! I will give it a new try this weekend. Sounds great, Thank you for your work.

Hi,
great progress and I am excited to use this.
When I tried the branch on a spare Rspi I found that for me the changes requested by @TheGrumpyBadger looked like they were not in the code?
For ref:
"        "/Mode": {"initial": 2, "textformat": None},
"/State": {"initial": 9, "textformat": None}
did it.
Line 87/88 in dbus-opendtu.py"
Also the inverter is inverter no2 in my list and it did not get any values. (But that may be due to my hasty / maybe faulty setup of the raspi..
Thanks!
ude6

Hey ude6,
this two lines has to be added to the code, has to look like this:
        "/Ac/Out/L1/I": {"initial": None, "textformat": _a},
        "/Ac/Out/L1/V": {"initial": None, "textformat": _v},
        "/Ac/Out/L1/P": {"initial": None, "textformat": _w},
        "/Dc/0/Voltage": {"initial": None, "textformat": _v},
        "/Mode": {"initial": 2, "textformat": None},
        "/State": {"initial": 9, "textformat": None}
    }

@henne49 : I created a pull request for this to lines.

This is not necessary as I am still working on it. Dbus_opendtu.py isn't really the best place to put the code either. In this section are some functions with some callbacks on text format.
The last commit broke some things that I already fixed but didn't push. I hope I'll be done with that tomorrow. I will also check why you might not be getting the values.

@TheGrumpyBadger Is The total consumption calculated correct? I am wondering that now only the net in is summed up, but not the ac-out delivered from the hoymiles…
Before these change the hoymiles deliver was summed up in PV Power in, which was also not correct… Not sure how to solve this… I do not have the DC module like you have…

This look good on my side:

in VRM it look not fine, but its ok for me:

@TheGrumpyBadger Ah okay, then you have the same problem on vrm site like I have. Any ideas how to solve this miscalculation on vrm?
Would be great if vrm site an also be fixed...

As far as I see there are no Victron inverters that can synchronize with die grid.
So the usecase we have is not supported in VRM. It is not possible to add grid and inverter power in the charts.

I found some miscalculations in VRM with AcPosition=1.
Doing some more testing, but AcPosition=0 seems to be better for the inverter.

Good to know. If so, such information belongs to the readme. I also figured out that (at least in my installation) it takes up to 10 minutes before the VRM-Portal starts showing the live values of an e.g. (PV-)inverter.

The 10 minutes can be configured in vrm or Venus, as the graphs you see are historical, that is why you have a delay.
I would at least use a delay of 10 minutes, as too short delays, you can have historical errors in case of unreachable or reboot of opendtu when opendtu shows 0

@henne49 ah yes, that's probably the rease for the delay. I am "happily" using 1 Minute.

I found some miscalculations in VRM with AcPosition=1. Doing some more testing, but AcPosition=0 seems to be better for the inverter.

It's in the config.ini: # 0=AC input 1; 1=AC output; 2=AC output 2. Yes, it should also be in the readme. But it's no "soft decision", it's a fact that must be configured correctly (where is the inverter connected), isn't it?

looks good so far:

In general: If a device becomes an inverter, the device in the middle (with the Victron logo) represents that device. This is why there is a label "Inverting, Off, etc.".
Furthermore, it works like that: The inverter takes Energy from the Battery and pushes it to AC-Loads. which then shows up in "consumption".
Feel free to correct me if something that I said isn't right.

You are right. On the screenshot are two HM-350 on a single openDTU-onbattery.
The first one ist an L1 and the inverter, it is feeded by an 24V LFP battery,
second one is on L3 and is a normal pvinverter on L3.
Both are now on AcPosition=0 and the numbers seems to be right.

It's in the config.ini: # 0=AC input 1; 1=AC output; 2=AC output 2. Yes, it should also be in the readme. But it's no "soft decision", it's a fact that must be configured correctly (where is the inverter connected), isn't it?

for the inverter config it's indeed a soft decision. An inverter has no "AC input", so I thought "AC output" must be right, but perhaps not. That's why I'm in testing.

Hey 👋
Please remove the hash sign "#" otherwise it will work as default (in this case PV inverter). After that check the values on your cerbo or via the terminal. See the readme for useful commands

Thank you... you mean it so or:

Unfortunately in the Cerbo is the HM-300 Status then unknown:

That's right. I'll try your setup with a test device the next days. It could be that an Inverter does not have ac in which lead to your problem. Could you try ac out?

Not so easy... but i have activate the AC-IN from the Multiplus, unfortunately still the same.

Ok I see. First of all this setup was implemented without a Multiplus in place. But still... I'm wondering why there are no values at all in your setup. I'll try to figure it out but because of "Vatertag" it has to wait ;-)

Thank you... it would be nice if it works with a Multiplus too :). But first i wish you a great "Vatertag" ;).

Hello,
Thanks for the good integration into the Victron world ( Cerbo GX ).
I have a Shelly 3EM working on the grid, which I have successfully connected via https://github.com/fabian-lauer/dbus-shelly-3em-smartmeter.
I have a Victron 150/35 MPPT pv-charger for my battery 48V.
From the battery, I feed a Hoymiles HM-800 into the L3 grid.
A second Hoymiles HM-600 (PV inverter) feeds PV directly to L3 in the grid ( 1st inverter ).
This has all been integrated correctly,
except that the HM-800 (inverter) feeds into L1 according to the display.
I have set it to L3 in config.ini ( 2nd inverter ).

How can I change it to L3?

Thanks

Victron doesn't support it.

They have no other endpoint than L1 and I didn't test a different one because it would then be an undocumented endpoint.

OK, then I have to live with it.
Thanks

We are currently (atm) doing several experiments, but yes, it seems Victron does not support it... At least not this way, maybe there is another one...

Please keep in mind Victron never intended to use an inverter on a system conncted with the grid.

Yes, will certainly be better,
to imitate Multiplus.

What do you mean by mimic/imitate a Multiplus?

Ok I see. First of all this setup was implemented without a Multiplus in place. But still... I'm wondering why there are no values at all in your setup. I'll try to figure it out but because of "Vatertag" it has to wait ;-)

Hello,
gives it already a Solution or is it not possible :)

We're still experimenting but it seems that it does not work as a an Inverter. I'll rebuild the code base to support more device's. I cannot tell when I start because I'm also busy right now. :-(

I have expanded my PV system and included a Cerbo-SGX. So far everything is working fine . There is just one thing that I don't see displaying correctly. The “total solar display value” always adds the power that the Hoymiles HM 1500 feeds in to the PV power that comes from the MPPT trackers. Normally this should be displayed as “AC Load”, which I get separately. The AC load values are correct. I tried all possible options (AC-position 0-2 and Servicename = pvinverter, charger and inverter). The enclodes config the currently running correctly displays the at least AC loads.
My PV system consists of 2 Victron mppt trackers, a Daly BMS with LifePo4 cells.
Furthermore, a "Hoymiles HM1500" inverter and a "Shelly Pro 3EM" as well as the Cerbo-sgx.
Does anyone have an idea how to solve the problem?
I think it has to do with the "servicename" but I am not sure. As said I tried all 3 to me known servicenames. No one made a difference, nor was solving the issue.

If I got you right, you want to tell victron that your hoymiles is actually an ac-inverter rather than an pv-inverter. If I remember right there is currently no solution for this use case. I'd like to emulate a Multiplus for this situation but I think there is much more that has to be implemented.
Just a note: In your config you did not comment out the service name. So it won't work like this. Feel free to try some other variations but I'm not sure if it works.

Yes, that is exactly what I try to achive I do not have an victron inverter in my installation. Only the Hoymiles HM1500 which is running as an ac-inverter. I found an emulation for victron multiplus inverters. But this implementaion was also not solving the problem. It is a shame that there is not solution available.  Anyhow thanks for your clarification on this issue :-(


Abstraction for TraversalState

A TraversalModel is currently responsible for knowing what the meaning of a TraversalState and providing methods for interacting with the state. many methods may create a new state vector in order to do update work or otherwise. in a few ways, there is actually a need to share the interface for a TraversalState between different modules:

TraversalModel: module that does state updates due to link traversals

EnergyTraversalModel has specific state for the Vehicle model

AccessModel: forthcoming module that does state updates dues to link access rules
FrontierModel: module that uses state to determine if links are valid for a traversal

In order to share the knowledge of the state between all of the above, we could create an abstraction that provides methods for interacting with a state vector and share it between the above modules. a traversal state object would still be a Vec but the TraversalStateModel would track name to index information, would be the factory for cloning/allocating a new mutable vector, and perhaps even hold unit information.
this solves a performance issue by allowing the downstream models to operate on a mutable state vector created by the TraversalStateModel and share the same behaviors for interacting with that vector during a search iteration. this way, a new vector is created once per iteration. it also allows us to automate vector sizing for any TraversalState to the known state representation size using Vec::with_capacity(n) to ensure all state vectors are as small as possible.

This is great and I think having this abstraction will really help us with performance and general code readability.
Something else on this topic that I noticed while working through the memory profiling is the fact that a vector has some overhead (24 bytes) for holding onto these state variables. So in the case of our energy traversal model with a ICE vehicle we have a total of 3 f64 state variables which at a minimum would take up 24 bytes but end up taking 48 bytes in our current Vec representation. Another nice thing about using the TraversalStateModel abstraction is that each traversal state implementation could store its state variables as a fixed size array. This would be a smaller memory footprint and would be on the stack which would make for quicker access and copies.


Question: Does this package support reverse engineering?

I think so (issue https://github.com/efcore/EFCore.SqlServer.HierarchyId/issues/5).
Like NTS, you'll need to add the design-time services if your reverse-engineering programatically.

Thanks!


add: ui external resource section

Examples
Preserved record:

Users with can_manage permission can see other statuses:

Nice logo @liptakpanna ! :)


[core-rest-pipeline] Challenge API alignment

Change "authenticate" for "authorize" in the challenge callbacks.
Do not pass challenge: string on authenticateRequestOnChallenge, pass the whole response through ChallengeCallbackOptions.'
Do not expose the default callbacks on the public API.

Address in late commits of #13888

@jeremymeng thank you!

Moving this feedback to the issue tracking the Continous Access Evaluation feature i.e. #13156


Enabling Local Process with Kubernetes VSCode extension breaks kubectl devicelogin authentication

Describe the bug
The extension changes the .kube/config auth-provider configuration when you launch VSCode with the extension enabled.  This causes a kubectl command from a terminal to require a devicelogin for every usage.  The extension appears to be removing "environment: AzurePublicCloud" from the yaml (users:name:auth-provider:config:environment value)
To Reproduce

Launch VSCode and enable LPK extension.
Close all VSCode instances.
Delete .kube folder from user profile so starting from a clean environment.
az aks get-credentials -g <cluster-resource-group> -n <cluster-name> to get new kube config.
Open User Profile .kube/config file in editor and note the "environment" variable exists.  Save this property for later.  Close editor.
Confirm repeated kubectl commands work with only the first requiring a device login.
Launch VScode.
Open .kube/config file in editor once again and note the "environment" variable no longer exists.
Repeated kubectl commands now require a device login on every attempt.
Close VSCode.
Open .kube/config file in editor again and paste the "environment" variable (from step 5) back into its previous place in the config.
Repeat step 6 to confirm working behaviour once again.

Expected behavior
The extension should not alter the .kube/config file
Environment Details
Client used (CLI/VS Code/Visual Studio):
VS Code: 1.47.3
LPK Extension: 0.1.120200803
Operating System:
Windows 10  V2004

Looks like the same issue as #361

Closing this issue as it now tracked here: https://github.com/microsoft/mindaro/issues/15
Thanks for reporting it!


Rename tenant to vm group.liping

This PR includes:

rename "tenant" to "vm-group" in AdminCLI command
rename "tenant" to "vm-group" in error message
rename "tenant" to "vm-group" in related document

Most function name and DB schema remain unchanged.
Currently,  "tenant" is still used in logging, I am not sure whether we should change it or not. Any comments?

Test:
Basic AdminCLI command to manage vm-group passed.
Make "test-esx" also passed.

@msterin @shaominchen Please review it.

Currently, "tenant" is still used in logging, I am not sure whether we should change it or not. Any comments?

I think yes.


lmdb WAL implementation

Just so you're aware of this repo https://github.com/kellabyte/rewind

Rewind is a command log library. Similar to a WAL (write-ahead-log).
Command logging provides durability of database operations. Command logging keeps a record of every transaction. If the server fails for any reason, the database can restore the last snapshot and "replay" the log entries to recover the database.

Not a feature request.

It is a naive PoC that works in an extremely limited number of cases, and fails it all other.
It cannot be used as a basis for full-fledged implementation, especially for ensuring data durability.


Overload TbdexHttpClient.getExchange to accept TypeId

Addresses #171 by allowing TbdexHttpClient.getExchange() to take either String or TypeId

cc: @angiejones


Systematically use pyplot in all example notebooks

For bqplot to be adopted by users, we should systematically use pyplot (and not the object model) in all our example notebooks. Using pyplot reduces the LOC to half compared to the object model.
I am constantly hearing complaints (both internally within Bloomberg and externally too) about the verbosity of the object model for plotting even simple charts. Even for complex plotting and integrating with other widgets pyplot works just fine. If not, it's very easy to enhance pyplot to take care of any missing features.

This has been fixed in #650.


PR: Fix bootstrap.py git subprocess call on Windows

Description of Changes

Missing Windows case to call git from subprocess from bootstrap.py
Issue(s) Resolved

Fixes #19865
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: dalthviz

@dalthviz @ccordoba12, will subprocess.run(["git", ...]) find git.cmd as well as git.exe on Windows?
I know that spyder.utils.programs.find_git has a lot of robust checks, but maybe we don't need to worry about that for bootstrap.py since this is primarily for developers who should have git installed properly on their system. So maybe "git" will work well enough for all platforms in this situation?

will subprocess.run(["git", ...]) find git.cmd as well as git.exe on Windows?

Good point. I think it should as long as shell=True on Windows.

git.exe was found for me with shell=False

Thanks for the feedback @mrclary ! Checking I was able to change it to just git and without shell=True. Should I change this to just remove the "/usr/bin/env" so this will end up being for all the platforms:
        result = subprocess.run(
            ["git", "merge-base", "--fork-point", "master"]
        )

+1 from me because it'd make the code simpler.

+1 from me too.
Just the caveats that I mentioned: there may be instances where git is not installed, in which case the subprocess will fail and not master will always be written to boot_branch.txt and spyder will always be installed. Since this is primarily for developers, I think this edge case will be very rare.


Add GitHub action for PDF generation

Background
We need specifications in PDF format to review them.
Task

Add a GitHub action to generate PDFs from AsciiDoc specifications.
This action should be configured for manual triggers on GitHub.
After the trigger, PDFs should be generated for all specifications managed in the aas-specs-antora repository.

In addition, please include documentation in the README.md file describing the steps to manually trigger this action and download the generated PDF documents.

Done in completion. I made it tie to the regular process, and pdf files are upload as well. So every 6 hours, pdf files are also generated and uploaded. You can track them in the following links. Updated the readme file with the necessary clarification. The theme is also applied.

Main Page

Part 1

Part 2

Part 3a

Part 5

Great, thank you! Is it possible to add a button for downloading PDF in ui? E.g. some download Button near "snapshot"?

There is a problem with the cover page, which is expected. We should look into not having the cover page as an image and having it be a proper real pdf cover page that is made of formatted text. Image cover pages create complications because they don't always have the same name accross diffferent files.

Can you please an issue for cover image in this repository and assign it to me. I will discuss the problem with idta

There is a problem with the cover page, which is expected. We should look into not having the cover page as an image and having it be a proper real pdf cover page that is made of formatted text. Image cover pages create complications because they don't always have the same name accross diffferent files.

I guess it is not a good idea to reference these links in Readme.md, as we will have to update it, if new docs appear

Great, thank you! Is it possible to add a button for downloading PDF in ui? E.g. some download Button near "snapshot"?

I have also thought of this. There does not seem to be direct way, but it is definetely possible. Worst case I can add the pdf links to toggle menu that is in the header in the UI. A more straightforward download button that is not hardcoded but is extensible might be possible in the UI too. I will look into that.

Can you please an issue for cover image in this repository and assign it to me. I will discuss the problem with idta

Sure thing.

I guess it is not a good idea to reference these links in Readme.md, as we will have to update it, if new docs appear

Yes it is a temporary solution. Linking anything that is generated content in the readme is not good, including the website sections themselves, as they are prone to change too. But as I said, this is just temporary for development purposes.


Add snow ip pool validation

Issue #, if available:
Part of #4715
Description of changes:
Add SnowIPPool validation in both CLI and webhook.
Testing (if applicable):
Unit tests
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherrypick release-0.14


Ability to reference between requests in oData ChangeSets

Is your feature request related to a problem? Please describe.
We need to cross-reference between requests within a changeset of a oData batch request. This is important in any scenario where we need to create an entity and then call an action on it within the same batch request to achieve an atomic operation.
Example: Posting Time Entries to SAP Business ByDesign. The process requires two steps - first create the time entry and then call the release action on the new entry.
Describe the solution you'd like
We need the ability to set and get the Content-ID header of the individual requests. An auto-generated Content-ID was recently introduced in https://github.com/SAP/cloud-sdk-js/issues/2255, but to my understanding there is no mechanism to retrieve it and reference it in subsequent requests.
Describe alternatives you've considered
We are currently processing the steps in separate requests. This has two drawbacks. Turnaround time is slower, which has notable impact on scenarios where a user is interactively processing the transaction in the external application. The other drawback is consistency - since we cannot make the operation atomic we get additional issues to handle in the external application (identify and recover from the inbetween state - time entry is posted but not released).
Impact / Priority

Affected development phase: Development
Impact: Impaired
Timeline: Go-Live in 3 months.
Additional context
For SAP Business ByDesign in particular, actions are in general not "bound", but follow a pattern of service/SomeAction?ObjectID='nnn' rather than service/SomeEntityCollection('nnn')/SomeAction. This might further complicate the realization of this scenario with ByD in particular (even with the Content-ID present we cannot do $thecontentid/SomeAction). Maybe @knutheusermann has some input on the ByD specific aspect?
The feature itself is generic to any oData v2 or v4 scenario however, not only the ByD sample scenario.

Hey @carlonnheim,
you could configure your request to use a custom header (.addCustomHeaders), where you set your own Content-ID. Would this work for you or do you need to access generated IDs instead?
On a different note, I fail to recognize how your comment about unbound actions relates to this issue. Do you need to send unbound actions with batch?
FYI: The SAP Cloud SDK currently only supports unbound actions and functions.

Hey Carl,
ok got it, thank you. Then my understanding is that these are actually 3 feature requests:

support references within batch requests
support actions/functions in batch requests
support bound actions/functions
(3a. support ByD specific bound actions format)

Do I get this right?
We will consider these requests, but I cannot give you any specific timeline. If you have any further input (e.g. ideas for an API, contributions) let me know.

Hi @marikaner,
Yes, that is perfectly right! Thanks!
//Carl

Hi @carlonnheim
as a first step, support for OData v4 Bound Functions and Actions is implemented in version 2.11.0 of the sdk.
I know this does not satisfy what you asked for yet, but maybe you'd like to see if this already helps you in any way or if you want to share feedback on how it works for you.
Best,
Florian

Hi @fwilhe, that sounds great, looking forward to try it out!
Thanks!
//Carl


Respect env certificate and user/pw

This adds support for loading the client certificate credential from a path given in the environment (AZURE_CLIENT_CERTIFICATE_PATH) as well as using the username/password given in the environment (AZURE_USERNAME / AZURE_PASSWORD).
Part of the implementation for https://github.com/Azure/azure-sdk-for-js/issues/5696.

Can we add a test case to cover the case of certificates in the environmentCredential.spec.ts file?

Can we add a test case to cover the case of certificates in the environmentCredential.spec.ts file?

Sure thing. Added.

The tests look good, thanks for adding those!

The only failing test is for the Windows+Node8 combo which got cancelled for crossing the one hour limit. All other test runs are green. Going ahead with the merge


Custom Telegram API gateway

For security restrictions at my organization , I can't use telegram public api url, so this change adds functionality to override default telegram api url at config page.

Code looks good so far, but my plugin already has the option to set a HTTP Proxy. Sooo... why not use that instead?
Using proxies is the standard and recommended way of dealing with "security restrictions" and traffic rerouting.
I want to keep the settings as simple as possible. This seems like an option that will not be used by many people and is already covered by the proxy option imho.

It's not a proxy - it's url to internal server that emulates public telegram api (it logs all messages due to security restrictions) and resend messages to public API

It's not a proxy - it's url to internal server that emulates public telegram api (it logs all messages due to security restrictions) and resend messages to public API

What you're describing is basically a proxy (plugin <=> your API (acting as a proxy to:) <=> telegram api). Proxies don't always just route traffic, they can have many uses, such as logging (what you're doing).
I think that you should also be able to solve this with the "http proxy" option by using a webserver as a forward proxy. In the webserver you can then either reroute the traffic to your api or log it directly.
Maybe this is harder to solve due to https being used, but should still be possible.


Provisioning power-shell script

Using chocolatey install:

ghc-8.6.5
git (and git-bash)
firefox
~openssh~

Perhaps amend the commit message and remove openssh?

@intricate I removed openssh.
bors r+


LandingPage: Error Modals appearing on homepage after game crash

After a game ended due to errors, I navigated back to the landing page URL from the same game window, and had this appear:

Pushed a rough workaround via 6f00938

fixed


Adds the "Instant Loading with Service Workers" video embed

R: @PaulKinlan @petele @gauntface
I don't know whether there's any editorial policy around video embeds on WF, but it seemed like the CDS 2015 video/deck would be a good resource under "Learn More" on the service worker libraries page.

Contentwise I support this!! Have you checked the rendering?

Could you switch to the ytvideo include for the video?


How do I run the Express sample app

I tried running node server.js, but that just said Web server listening on port 3000 and wouldn't reload.

Just trying to be helpful. I believe you are suppose to navigate to http://localhost:3000
I could be wrong.
In my fork, I added an API option of open:true, which then auto opens a browser as well as navigates the browser window to http://local host:3000 . See https://www.npmjs.com/package/ack-reload#arguments
I hope my comment it welcomed

I can access the webpage, but the reload part isn't working

Let my clarify what I want to know.
When I run the server, it runs at localhost:3000 and I can access it. However it doesn't 'Automatically refresh and reload your code in your browser when your code changes' (quoted from README). How do i get it to reload the page

I'll put in a pull request for open: true. That seem's very useful.

It's up to you to use some type of file watcher to restart the server, like supervisor, nodemon, etc.

@yamboy1 by the way reload already has a flag to auto open the browser -b

Could you give me an example.

Does that flag work with the sample app aswell

Example on what? And that flag will work whenever you use reload as a command line tool

Do i just run supervisor node server.js

I finally got it working by running supervisor -w public server.js and adding javascript var watch = require('watch') and watch.watchTree(path.join(__dirname, '/public'), function (f, curr, prev) {   // Fire server-side reload event   reloadServer.reload() }) (copied from readme) to my server.js.
You should probably add that into the sample app and explain how to run it in the readme file

You don't need this watch.watchTree(path.join(__dirname, '/public'), function (f, curr, prev) { // Fire server-side reload event reloadServer.reload() }) for the sample app. Just have supervisor restart the server and reload will reload the page for you. It is that simple.

Is this the right command: supervisor -w public server.js

If I comment out that watch code, it doesn't reload. Using that code is the only way to make it work

Using the reload package, as an API outside bin command line invocation, I felt was lacking in functionality like auto opening a browser and watching files. When I forked into ack-reload, I added "open", "watch", "html5Mode" and other arguments into the API. ack-reload

@yamboy1 is this issue still a problem?

No

Okay good, I opened #100 as it might be helpful to some


Auto App Index

This PR adds a function called autoAppIndex() which generates and inserts Firebase App Indexing tags between the  portion of the webpage calling it.
For example, let's say that we call autoAppIndex() with:
 branch.autoAppIndex({
          iosAppId:'123456789',
          iosURL:'example/home/cupertino/12345',
	  androidPackageName:'com.somecompany.app',
	  androidURL:'example/home/cupertino/12345'
});

then the following App Indexing tags will be inserted into the  section of the webpage:
<link rel="alternate" href="android-app://com.somecompany.app/example/home/cupertino/12345?link_click_id=a-eyJjaGFubmVsIjoiRmlyZWJhc2UtQXBwLUluZGV4aW5nIiwiJGNhbm9uaWNhbF91cmwiOiJmaWxlOi8vL1VzZXJzL3J1YmluL0Rlc2t0b3AvcmVwb3Mvd2ViLWJyYW5jaC1kZWVwLWxpbmtpbmcvZGlzdC8wMDQuaHRtbCJ9">
<link rel="alternate" href="ios-app://123456789/example/home/cupertino/12345?link_click_id=a-eyJjaGFubmVsIjoiRmlyZWJhc2UtQXBwLUluZGV4aW5nIiwiJGNhbm9uaWNhbF91cmwiOiJmaWxlOi8vL1VzZXJzL3J1YmluL0Rlc2t0b3AvcmVwb3Mvd2ViLWJyYW5jaC1kZWVwLWxpbmtpbmcvZGlzdC8wMDQuaHRtbCJ9">
@yntema @jsaleigh

Perhaps the /v1/open call can return this data, and we can autoinsert the tags based on that?

well, the iosAppId and androidPackageName parts. for iosURL and androidURL, we could try and detect those based on meta tags as well, and if present, auto-add those.
what's the value here of using the branch sdk vs just inserting those tags yourself?

Scope explosion!!
Tracking via the Branch analytics dash + no dev input

The number of failures in automated tests is pretty huge in this PR

@yntema - could you give this a last review so we can merge it in and plan for QA to test next week?

@yntema thank you for the code review. I've addressed your comments in this PR.

@rubinsingh the example.html page doesn't have autoAppIndex listed as valid methods/functions...please add.

👍


Remove cortex-m-udf as udf instruction is now part of cortex-m.

Using the crate with cortex-m caused linking error.


Consider adding Awards page or even frontpage module

Would list student and professor awards like best talks, best papers, fellowships, etc.

This seems to be increasingly common on lab websites.
Examples follow:
https://sites.google.com/a/umich.edu/sicislab/honors-and-awards

https://ubicomplab.cs.washington.edu/awards/


Support uploading files to server?

Expected Behavior
Request to upload images to server by websocket but I don't know how to do it. Can I use this framework for file uploads?
Your Environment

Version used:1.3.3
Operating System and version:Android

Hello @Likarl,
of course you can implement that yourself using Binary frames. These frames allow you to send a byte array/buffer to the other endpoint.
That is up to the application, we do not provide any special features for that!
In short, get a bytebuffer/array of your file, send it to the other endpoint and then write this bytebuffer/array in a specific file (Keep in mind NOT to trust the array a other endpoint will send!)
Best regards,
marci4

@Likarl, you wanna post your solution here or are you fin with closing this issue?
Best regards,
marci4


Add - role

WHEN I choose to add a role
THEN I am prompted to enter the name, salary, and department for the role and that role is added to the database


Column width (data-width) not working when table has scroll

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
Column width not working when table has scroll
Reduced test cases
https://live.bootstrap-table.com/code/Thang1PV/18242
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Microsoft Edge
What version of Bootstrap are you using?
v5

Hey @Thang1PV
You're using Bootstrap Table project and not the tables directly provided by Bootstrap if I understand the live example correctly. I let you report an issue in their repository: https://github.com/wenzhixin/bootstrap-table/issues/new/choose.
Closing this issue as it is not apparently related to this repo.


remove whitespace from logo

im removing the whitespace from the logo so it grows to the correct size in the registry

@lukehoban i dont have access to this repo so i used a fork; also seems like i cant add you as a reviewer so tagging you here instead.


update team page

update team page

Thanks @hannaparks for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

@hannaparks Who would be a good person to review this?

@hannaparks Who would be a good person to review this?

How about you @hanzei ?

Where does this data come from? Is it created automatically or manually?

@hanzei it's from the list you used to provide Lindy and me with but yes this part on updating the team page is very manual.  I add all the names in here per repo alphabetically.  I think @cpanato merges the MVP page, maybe he can do this one too?

@hannaparks please sign the CLA :)
I can review but actually anyone can do that as well

/check-cla

/update-branch

TY


Updt:GetGraphic Function.

Users now can define their custom front color and background color.

@quillblue I implemented your idea in this Commit https://github.com/codebude/QRCoder/commit/2fadc390b83c10f6653921d230d873405d5c5799 . It's a mixture of both ideas. So users can choose between no colors (then default b/w is used), colors with Color-class-type or colors in HTML hex formatted strings.


⚠ Secret Website 3 has degraded performance

In 48fba56, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2412 ms

Resolved: Secret Website 3 performance has improved in 6be0d33.


How works with .sass and .scss ?

Hi, i'm using .sass in my app
var app = new EmberApp(defaults, {
    sassOptions: {
      extension: 'sass'
    },

But, i'm too using a addon that use .scss. So when i run ember s i have this error.
Livereload server on http://localhost:49152
Serving on http://localhost:4200/
The Broccoli Plugin: [SassCompiler] failed with:
Error: File not found: /addon.sass
in any of the following include paths:
  /Users/flama/Projects/remoto-app/tmp/sass_compiler-input_base_path-U0F8TTG1.tmp/0
    at Object.findFileSync (/Users/flama/Projects/remoto-app/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/include-path-searcher/index.js:12:9)
    at SassCompiler.build (/Users/flama/Projects/remoto-app/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/index.js:63:31)
    at /Users/flama/Projects/remoto-app/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/broccoli-caching-writer/index.js:149:21
    at lib$rsvp$$internal$$tryCatch (/Users/flama/Projects/remoto-app/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/rsvp/dist/rsvp.js:1036:16)
    at lib$rsvp$$internal$$invokeCallback (/Users/flama/Projects/remoto-app/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/rsvp/dist/rsvp.js:1048:17)
    at lib$rsvp$$internal$$publish (/Users/flama/Projects/remoto-app/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/rsvp/dist/rsvp.js:1019:11)
    at lib$rsvp$asap$$flush (/Users/flama/Projects/remoto-app/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/rsvp/dist/rsvp.js:1198:9)
    at doNTCallback0 (node.js:407:9)
    at process._tickCallback (node.js:336:13)

@aexmachina you can help me?

The addon should be using its own ember-cli-sass. What is the addon? Are they using this method.

@villander I'm not sure but I think the prblem might be that you are using .sass but the addon uses .scss.
And as you don't have an addon.sass file the sasscompiler can not find it.
Have you tried to tell the SassOptions to use "scss" as extension? Or provided a addon.sass file?

Closing due to inactivity. Please feel free to reopen.

Still an issue with e.g. current version of ember-table which has an addon.scss file and when the project is configured for .sass extension it fails to build because it cannot find addon.sass.
@aexmachina as I cannot find anything about it: is this supposed to work (i.e. having the app configured to use .sass while using an addon that uses .scss files)? Or did you actually never verified this to work in this combination? I wonder if its due to a misconfiguration in ember-table my project or the ember-cli-sass addon oO.


[AdultSwim] Unable to find stream or clips

[x] I've verified and I assure that I'm running youtube-dl 2016.10.19

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

[AdultSwim] friday-october-14th-2016: Downloading webpage
ERROR: Unable to find stream or clips; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/youtube_dl/YoutubeDL.py", line 694, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/common.py", line 356, in extract
    return self._real_extract(url)
  File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/adultswim.py", line 172, in _real_extract
    raise ExtractorError('Unable to find stream or clips')
youtube_dl.utils.ExtractorError: Unable to find stream or clips; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

http://www.adultswim.com/videos/toonami/friday-october-14th-2016/

Thanks will be fixed in the next version.


When IMDSv1 fails, try IMDSv2.

What does this PR do?
When ec2_prefer_imdsv2 is true, the agent tries IMDSv2 and, failing that, tries IMDSv1.
This adds the corresponding fallback from v1 to v2 when ec2_prefer_imdsv2 is false.
Motivation
Find instance metadata one way or another.
Possible Drawbacks / Trade-offs

In cases where the Agent cannot reach any IMDS endpoint, this will increase the timeout before it gives up and falls back to the os hostname
In cases where the Agent is configured with ec2_prefer_imdsv2: false, with IMDSv2 disabled in the EC2 API, this will change the behavior from falling back to the os hostname to using the AWS instance ID.

Describe how to test/QA your changes
With v1 Disabled
Create a new EC2 instance with only IMDSv2 enabled (in the "advanced" section at the bottom of the launch wizard) and run an agent on the host (not in a container).

ec2_prefer_imdsv2: false - should get an aws hostname (i-xxx), should log "ec2_prefer_imdsv2 is set to false in the configuration but..."
ec2_prefer_imdsv2: true - should get an aws hostname (i-xxx), should not log "ec2_prefer_imdsv2 is set to true in the configuration but..."

With v1 Enabled, V2 not accessible
Create a new EC2 instance with both IMDSv1 and IMDSv2 enabled.  Set the hop limit to 1.  Run an agent in a docker container on the host, without the --net=host option to docker run.  In the container, verify that IMDSv2 isn't available in the container (docker exec -ti dd-agent bash) with curl -X PUT "http://<IP_ADDRESS>/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600", which should hang.

ec2_prefer_imdsv2: false - should get an aws hostname (i-xxx), should log "ec2_prefer_imdsv2 is set to false in the configuration but..."
ec2_prefer_imdsv2: true - should get an aws hostname (i-xxx), should not log "ec2_prefer_imdsv2 is set to true in the configuration but..."

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

This would introduce a timeout into agent startup for all non-EC2 hosts, which is an unacceptable cost.


Use expression property in triggers instead of: name, operator and value

Triggers may have only one condition right now. There is no way to set the multiple conditions by using "and" and "or" operands.
The old way is continue to work. You may use both: name, operator and value or expression.
Editor will convert name, operator and value into expression and save into json expression only, if you go to Triggers tab and confirm changes.

can you provide a usage example please? thanks

@akhoury Here is the example
Thank you,
Andrew

Oh i thought this is a trigger expression support, something like
    triggers: [
      {
        condition: "{life-event} == 'moving' || {life-event} == 'inst' || {life-event} == 'loss'",
        setToName: "part-a-active",
        setValue: "yes"
      }
    ],

It does:
    triggers: [
      {
        expression: "{life-event} == 'moving' or {life-event} == 'inst' or {life-event} == 'loss'",
        setToName: "part-a-active",
        setValue: "yes"
      }
    ]

Thank you,
Andrew


Default variant for enums generated by fragment (union / interface types)

I was wondering if this would be an appreciated feature.
I try to describe a real scenario in order to be clear 🤞 .
Given a query like this:
query {
    myBeautifulQuery {
        __typename
        ... on Foo {
            fooField
        }
        ... on Bar {
            barField
        }
    }
}

and a graphql schema like this:
union MyBeautifulQueryResponse =  Foo | Bar

The generated enum representing myBeautifulQuery Response looks like this:
#[serde(tag = "__typename")]
pub enum CanChangeSaveEffectiveDateSaveOnSaveActions {
    Foo(FooData),
    Bar(BarData),
}

If the enum covers completely the union variants everything is fine.
The problem arises if a variant is added to the union type declared in the schema and the types are not re-generated.
If a new variant is added, the enum is not correctly deserialized and a deserialization error occurs.
Speaking in terms of correctness, probably, the fact that an error occurs is fine.
Anyway sometimes a safer approach can be preferred.
Adding a default variant to the generated enum would avoid the deserialization error in case of new variants of MyBeautifulQueryResponse.
#[serde(tag = "__typename")]
pub enum CanChangeSaveEffectiveDateSaveOnSaveActions {
    Foo(FooData),
    Bar(BarData),
    #[serde(other)]
    SomethingElse
}

This ☝  would avoid the deserialization error making possible to handle the unknown variant as desired.
It would be nice to be able to trigger this safer version of the generated code.
If this seems a desirable feature I (or some colleagues of mine) could work on it

Yes I think it would be valuable. I don't know if you are using the latest released version or the main github branch, but there are substantial differences between the two. A new stable release will go out soon and I can't remember if it touched that part of the code, but I'd assume not. So yes, a PR would be welcome :)

There's the question of whether it should be configurable, and if yes what the default should be. I'm not sure.

Yes I think it would be valuable. I don't know if you are using the latest released version or the main github branch, but there are substantial differences between the two. A new stable release will go out soon and I can't remember if it touched that part of the code, but I'd assume not. So yes, a PR would be welcome :)

Yes I am aware of the differences 👍 .
Glad to hear about the new release!
So I guess we'll work on it in the next days.


Got error from request

Hello,
you should note python-dev and libssl-dev as requirement. I had some SSL issues which I got rid by installing both and going for

pip install 'requests[security]'

afterwards. This got me going.
However now I get the following response. Not sure where the request is failing.
#python fetcher.py
>
Got error from request, restarting...
>
Got error from request, restarting...
>
Got error from request, restarting...
>
Got error from request, restarting...
^CTraceback (most recent call last):
  File "fetcher.py", line 177, in <module>
    time.sleep(SLEEP_TIME)
KeyboardInterrupt

I would debug the HTTP requests but it is all TLS1.2 encrypted. Any idea how to proceed?

Double Check the content of your SECRETS.txt file

Yup, just fixed it by providing the proper cookies... it was an issue with SECRETS.txt and as also mentioned in

Im having the same problem. ClientID seems to change now and then. Userid is correct. Cookie is also provided as it should - no ' or " around the cookie data, which is copied directly via chrome dev tools (copy as curl (bash)). Any ideas?
What was the specific problem, TheBazZz?

Any solution to this?

Make sure you're copying the cookie using "Copy as cURL (bash)" rather than "Copy as cURL (cmd)"---the latter adds double quotes around certain characters, e.g. %, which you don't want.

Im afraid it does not solve the problem in my case. Perhaps a clear example of the txt file would provide help?

I am also having the same issue. uid is obvious. cl_id is changing by sessions but can be found.
What is exactly required from **cookie **value? The xs portion?

Copy everything from and including 'datr' up until the final quotation mark
(before '--compressed' or whatever).
On Fri, 26 Feb 2016, 20:37 garrymann<EMAIL_ADDRESS>wrote:

I am also having the same issue. uid is obvious. cl_id is changing by
sessions but can be found.
What is exactly required from *cookie *value? The xs portion?
—
Reply to this email directly or view it on GitHub
https://github.com/defaultnamehere/zzzzz/issues/22#issuecomment-189474648
.

I get :
Got error from request, restarting...

from fetcher.py too, is this tool still working?

@vicprox from what i understand, the API has changed, so some investigation and fixes are required for fetcher.py to work again. See #49 for more information.


Represent map in the yaml file

Please share how we can mention a map variable like tags in the xxx.yaml file.
I tried with the below but it failed with the error below
xxx.yaml
tags :
  Terraform   : "true"
  Project     : "ics-dlt"
  Environment : "common"

error

  on .terraform/modules/remote_state/dynamo.tf line 21, in resource "aws_dynamodb_table" "lock":
  21:   tags = var.tags
    |----------------
    | var.tags is "{\"Environment\":\"common\",\"Project\":\"ics-dlt\",\"Terraform\":\"true\"}"

Inappropriate value for attribute "tags": map of string required.

Please see https://github.com/gruntwork-io/terragrunt/issues/1007, https://github.com/gruntwork-io/terragrunt/issues/997, and https://github.com/gruntwork-io/terragrunt/issues/1002. You need to add the type information to the annotations variable in terraform, type = map(map(string)).

thanks @yorinasub17. that worked


[EAS local and builds] iOS - Attempted to initialize an object with an unknown UUID

Build/Submit details page URL
https://expo.dev/accounts/mob_dev/projects/usteda/builds/4801382a-9816-42f0-a9d1-108e8a0aa798
Summary
Run iOS production builds locally and in expo cloud.
And then run on my device.
This app cannot be installed because its integrity could not be verified.
Managed or bare?
Bare
Environment
npx expo-env-info
expo-env-info 1.2.0 environment info:
    System:
      OS: macOS 14.5
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 18.18.2 - ~/.nvm/versions/node/v18.18.2/bin/node
      Yarn: 1.22.19 - ~/.yarn/bin/yarn
      npm: 9.8.1 - ~/.nvm/versions/node/v18.18.2/bin/npm
      Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
    Managers:
      CocoaPods: 1.15.2 - /Users/mahirkadic/.rvm/gems/ruby-3.0.0/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 24.0, iOS 18.0, macOS 15.0, tvOS 18.0, visionOS 2.0, watchOS 11.0
      Android SDK:
        API Levels: 23, 28, 29, 30, 31, 32, 33, 34
        Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.0, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 32.1.0, 33.0.0, 33.0.1, 34.0.0
        System Images: android-28 | Google ARM64-V8a Play ARM 64 v8a, android-32 | Google APIs ARM 64 v8a, android-33 | Google Play ARM 64 v8a
    IDEs:
      Android Studio: 2022.3 AI-223.8836.35.2231.10811636
      Xcode: 16.0/16A242d - /usr/bin/xcodebuild
    npmPackages:
      expo: ~51.0.37 => 51.0.37
      expo-router: ~3.5.21 => 3.5.23
      metro: 0.80.8 => 0.80.8
      react: 18.2.0 => 18.2.0
      react-dom: 18.2.0 => 18.2.0
      react-native: 0.74.5 => 0.74.5
    npmGlobalPackages:
      eas-cli: 12.5.2
      expo-cli: 6.3.10
    Expo Workflow: bare

npx expo-doctor
✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for common project setup issues
✔ Check npm/ yarn versions
✔ Check for issues with metro config
✔ Check if the project meets version requirements for submission to app stores
✔ Check for app config fields that may not be synced in a non-CNG project
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check native tooling versions
✔ Check that packages match versions required by installed Expo SDK
✔ Check that native modules do not use incompatible support packages
✔ Check for legacy global CLI installed locally
✔ Check that native modules use compatible support package versions for installed Expo SDK

Didn't find any issues with the project!

Error output
So here is what happened, at some point I started getting these errors below
[INSTALL_PODS] [!] [Codegen] warn: using experimental new codegen integration
[INSTALL_PODS] [!] `<PBXResourcesBuildPhase UUID=`13B07F8E1A680F5B00A75B9A`>` attempted to initialize an object with an unknown UUID. `5EE992E55BDD4265AB5AE30F` for attribute: `files`. This can be the result of a merge and the unknown UUID is being discarded.
[INSTALL_PODS] [!] Can't merge pod_target_xcconfig for pod targets: ["expo-dev-menu", "Main", "ReactNativeCompatibles", "SafeAreaView", "Vendored"]. Singular build setting DEFINES_MODULE has different values.
[INSTALL_PODS] [!] Can't merge pod_target_xcconfig for pod targets: ["expo-dev-menu", "Main", "ReactNativeCompatibles", "SafeAreaView", "Vendored"]. Singular build setting DEFINES_MODULE has different values.
[INSTALL_PODS] [!] hermes-engine has added 1 script phase. Please inspect before executing a build. See `https://guides.cocoapods.org/syntax/podspec.html#script_phases` for more information.

EAS builds in cloud were working perfectly, but I still wanted to have ability to build locally.
Somewhere I read that to resolve this I would need to remove local certificates for that team and I did.
Then EAS cloud builds started giving me troubles, building successfully but when I install the app it says unable to install.
This app cannot be installed because its integrity could not be verified.
Then what I did is I removed every certificate from app store and every from expo.
And generated again with eas credentials
But still the same

App config
import { ExpoConfig, ConfigContext } from '@expo/config';
require('dotenv').config();

const IS_DEV = process.env.APP_VARIANT === 'development';
const IS_PREVIEW = process.env.APP_VARIANT === 'preview';

export default ({ config }: ConfigContext): ExpoConfig => ({
    ...config,
    name: IS_DEV ? 'Usteda (Dev)' : IS_PREVIEW ? 'Usteda (Preview)' : 'Usteda',
    slug: 'usteda',
    owner: 'mob_dev',
    scheme: 'usteda',
    version: '1.0.9',
    orientation: 'portrait',
    icon: `./src/assets/shopCart.png`,
    userInterfaceStyle: 'light',
    jsEngine: 'hermes',
    splash: {
        // image: `./src/assets/images/${
        //     IS_DEV ? 'splash_development' : IS_PREVIEW ? 'splash_development' : 'splash_preview'
        // }.png`,
        resizeMode: 'cover',
        backgroundColor: '#fff',
        // image: './src/assets/shopCart.png',
    },
    updates: {
        fallbackToCacheTimeout: 5000,
    },
    runtimeVersion: {
        policy: 'sdkVersion', // use this when you want to use Expo Go to run your app, e.g. Expo 49
        // policy: "appVersion", // use this when you want to publish an update to your EAS
    },
    assetBundlePatterns: ['**/*'],
    ios: {
        buildNumber: '10',
        googleServicesFile: IS_DEV
            ? './firebase/GoogleService-Info-development.plist'
            : './firebase/GoogleService-Info.plist',
        associatedDomains: ['applinks:com.usteda'],
        supportsTablet: true,
        bundleIdentifier: 'com.usteda' + (IS_DEV ? '.develop' : ''),
        infoPlist: {
            UIBackgroundModes: ['remote-notification'],
            CFBundleURLTypes: [
                {
                    CFBundleURLSchemes: ['usteda', 'com.usteda'],
                },
            ],
        },
        entitlements: {
            'aps-environment': 'production',
        },
        splash: {
            backgroundColor: '#fff',
            resizeMode: 'cover',
            // image: './src/assets/shopCart.png',
        },
    },
    android: {
        googleServicesFile: IS_DEV
            ? './firebase/google-services-development.json'
            : './firebase/google-services.json',
        package: 'com.usteda' + (IS_DEV ? '.develop' : IS_PREVIEW ? '.preview' : ''),
        versionCode: 21,
        // permissions: [
        //   "RECORD_AUDIO",
        //   "WRITE_EXTERNAL_STORAGE",
        //   "READ_EXTERNAL_STORAGE",
        // ],
        adaptiveIcon: {
            // foregroundImage: './assets/adaptive-icon.png',
            backgroundColor: '#ffffff',
        },
        intentFilters: [
            {
                action: 'VIEW',
                data: [
                    {
                        scheme: 'https',
                        host: 'expo.ba',
                        pathPrefix: '/',
                    },
                ],
                category: ['BROWSABLE', 'DEFAULT'],
            },
            {
                action: 'VIEW',
                data: [
                    {
                        scheme: 'https',
                        host: 'usteda.page.link',
                        pathPrefix: '/',
                    },
                ],
                category: ['BROWSABLE', 'DEFAULT'],
            },
        ],
    },
    web: {
        favicon: './assets/favicon.png',
    },
    extra: {
        eas: {
            projectId: '00000000-0000-0000-0000-000000000000',
        },
    },
    plugins: [
        '@config-plugins/react-native-blob-util',
        '@config-plugins/react-native-pdf',
        '@react-native-firebase/app',
        '@react-native-firebase/crashlytics',
        '@react-native-firebase/messaging',
        '@react-native-firebase/dynamic-links',
        [
            'expo-build-properties',
            {
                ios: {
                    useFrameworks: 'static',
                },
                android: {
                    usesCleartextTraffic: true,
                },
            },
        ],
        [
            'react-native-vision-camera',
            {
                cameraPermissionText:
                    '$(PRODUCT_NAME) je potreban pristup kameri da skenira barkodove i QR kodove.',
            },
        ],
        './plugins/disableForcedDarkModeAndroid.ts',
        './plugins/withBoringSSLFix.js',
        'expo-router',
        [
            '@react-native-firebase/app',
            {
                analytics_auto_collection_enabled: true,
            },
        ],
    ],
});

Reproducible demo or steps to reproduce from a blank project
Not sure how to do it on the blank project

Devices are in app store connect and in expo when using development build.
Not sure what does it use when building production.
Should the solution be to remove all devices, and re-add them again ?

What I would love to solve are local builds.
[INSTALL_PODS] [!] [Codegen] warn: using experimental new codegen integration
[INSTALL_PODS] [!] `<PBXResourcesBuildPhase UUID=`13B07F8E1A680F5B00A75B9A`>` attempted to initialize an object with an unknown UUID. `5EE992E55BDD4265AB5AE30F` for attribute: `files`. This can be the result of a merge and the unknown UUID is being discarded.
[INSTALL_PODS] [!] Can't merge pod_target_xcconfig for pod targets: ["expo-dev-menu", "Main", "ReactNativeCompatibles", "SafeAreaView", "Vendored"]. Singular build setting DEFINES_MODULE has different values.
[INSTALL_PODS] [!] Can't merge pod_target_xcconfig for pod targets: ["expo-dev-menu", "Main", "ReactNativeCompatibles", "SafeAreaView", "Vendored"]. Singular build setting DEFINES_MODULE has different values.
[INSTALL_PODS] [!] hermes-engine has added 1 script phase. Please inspect before executing a build. See `https://guides.cocoapods.org/syntax/podspec.html#script_phases` for more information.

Im getting this same issue for both local and regular builds. did you find a solution?

any luck on this ?

I was able to resolve this by running
pod repo update
in ths ios directory


Unable to load dynamic library

Error message: PHP Startup: Unable to load dynamic library 'php_sqlsrv_72_nts.so' (tried: /usr/lib/php/20170718/php_sqlsrv_72_nts.so (libodbc.so.2: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/php_sqlsrv_72_nts.so.so (/usr/lib/php/20170718/php_sqlsrv_72_nts.so.so: cannot open shared object file: No such file or directory))
+## PHP Driver version or file name
+
PHP 7.2.7-0ubuntu<IP_ADDRESS> (cli) (built: Jul  4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7-0ubuntu<IP_ADDRESS>, Copyright (c) 1999-2018, by Zend Technologies
+## SQL Server version

Just client based issue used the sharedobject from Ubuntu18-7.2.tar on the repo, tried to load php_sqlsrv_72_ts.so and php_sqlsrv_72_nts.so, both seem not to be loadable.
+## Client operating system
Ubuntu 18.04
+## PHP version
7.2
+## Microsoft ODBC Driver version
libodbc2.so
+## Table schema

+## Problem description

I try to load the mssql driver for a php application on a docker container.

root@a4ff3b5c264d:/var/www/html# ll /usr/lib/php/20170718/php_sqlsrv_72_nts.so
-rwxrwxrwx 1 root root 350208 Jul 31 22:27 /usr/lib/php/20170718/php_sqlsrv_72_nts.so*
I have given for the tests purpose full access rights and it cant find the driver for some reason.
+## Expected behavior and actual behavior

Expected: Should load the driver and work as expected. Actual: refuses to load the driver
+## Repro code or steps to reproduce
Run any application which requires a mssql connect.

The error message indicates that libodbc is missing. This library is provided by unixodbc. Have you installed unixodbc and the MS ODBC driver? Full instructions for installing them are provided here. Full instructions for installing the PHP drivers are provided here.

Thanks David-pugglielli i will give it a shot and write back here

@david-puglielli  thanks it worked. Is it possible to add the msodbc library plain? My docker image increased +300 mb after following the install guide for ubuntu 18.04?

@Alcatros You don't need all that :smile: See the copied parts from my docker file (note I used PHP 7.3, but also works for 7.1 and 7.2, this also removes the need for php-dev package):
FROM ubuntu:bionic
ENV ACCEPT_EULA=Y

RUN apt-get update; apt-get install -y unixodbc php7.3-odbc
RUN mkdir /tmp/sqlsrv
RUN wget https://packages.microsoft.com/ubuntu/18.10/prod/pool/main/m/msodbcsql17/msodbcsql17_<IP_ADDRESS>-1_amd64.deb -qO /tmp/sqlsrv/msodbcsql17.deb
RUN dpkg -i /tmp/sqlsrv/msodbcsql17.deb
RUN wget https://github.com/microsoft/msphpsql/releases/download/v5.6.1/Ubuntu18-7.3.tar -qO /tmp/sqlsrv/sqlsrv.tar
RUN tar -C /tmp/sqlsrv -xvf /tmp/sqlsrv/sqlsrv.tar --strip-components 1
RUN cp /tmp/sqlsrv/*sqlsrv_73_nts*.so `php -i | grep -e '^extension_dir' | sed -rn 's/.*=> (.*).*$/\1/p'`
RUN rm -rf /tmp/sqlsrv


Issue on page /tutorials/W3D3_OptimalControl/instructor/W3D3_Tutorial1.html

In Tutorial 1 on W3D3 (Optimal Control) there is an issue with the code for Interactive Demo 4.
It sets the params as params = [stay_prob, high_rew_p, low_rew_p, threshold] while the function "binaryHMM_belief" unpacks those params in different order: p_stay, low_rew_p, high_rew_p, threshold = self.params
The code should be as this: params = [stay_prob, low_rew_p, high_rew_p, threshold]

was this addressed?

was this addressed?

Doesn't look like it


cae config fix

修改CAE配置，保持与VIMER代码包一致

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.xudong07 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Sending whisper with ; character causes parsing crash.

Any whisper message containing ; anywhere in the message causes the whisper client to crash due to a parsing error.

Fixed with: 4da647629216c


Textures: Soulsand, bed (fixed), Cakes, brown mushrooms, Jukebox, saplings, rail lines.

Added:

Saplings
Jukebox
Brown Mushroom
Rail Line
New Breaking Animation

Fixed:

Bed
Stray Redstone Line

Looks good, thanks!