Update apache-kafka-mirroring.md

added bootstrap.servers in consumer.properties instead of zookeeper.connect
use BROKERHOSTS to produce and consume messages instead of ZKHOSTS

#label:"aq-pr-triaged"


File name over 40 character error.

Hello,
when I try upload a file with file name length over 40 chartacter shows that it's not allowed,
but Eclipse won't have this problem, so it's the limit from Netsuite or this plugin?
Any chance or clue that I can fix it?

Hey @lincecumHao ,
40 characters is "best practise" in NS. Eclipse might allow it, but then you might have issue with SDF, etc...
I would try to limit your file names to 40 chars.

Hi @Ruplahlava ,
Thanks for the quick reply, I'll limit my file names in the future 😝


As a Developer, I want to make an Integration test for pagination, to ensure that the program functions as intended.

Acceptance Criteria:

It is tested that a page contains no more than 32 Cheeps
It is tested that the page on "/" is on the same page as the "/?pageNumber=1"

Co-authored-by:
@AntonFriis
@JKramer91
@ClaraWJ
@lanaitu
@JohanSandager

Works on 4/6 computers and on production


Add version select

Overview
enable  URL version select
FIxes #200
Demo

@bettirosengugi I tried to fetch a query on v2.0 url but I got a 404 not sure we have support for v2.0 cc@cwahome

@bettirosengugi I tried to fetch a query on v2.0 url but I got a 404 not sure we have support for v2.0 cc@cwahome

It's because the versions available are v1.0 and beta...

@Kachulio1 , I am merging this in to fix/add-version-select instead of dev so as to build on the changes you made with some improvements. cc @bettirosengugi


COM-570: Add validation to remove tags p as children of composer components

Please delete checklist items and sections that are not relevant
Checklist

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Storybook or docs have been added / updated (for bug fixes / features)

What is the ticket / issue associated with this change? (Link to the ticket or issue)
https://impulsumvc.atlassian.net/browse/COM-570
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information:
Storybook Link (Link to a local storybook url to review new functionality)

After discussing with the team we have decided to remove the children modification code from the Text component and write the mdx/markdown following mdx-js


impl(bigtable): Table accepts Options

I cannot find the issue for adding client-level options for the Bigtable Data API... so I am going to say this is part of the work for #8860
I do not think it makes sense to add Options to the constructors that accept a DataClient, because no options will apply to the calls.
The constructor is lacking documentation. I will add it later.

This change is

I cannot find the issue for adding client-level options for the Bigtable Data API

Maybe #7688??

Maybe #7688??

D'oh. I didn't read past the title, and I assumed the scope was only call options. Not client options + call options. Thanks.


Updating unclear instructions with tmux

I had to google because I thought the Ctrl+B+D thing wasnt' working, so I propose this small update to make it more clear that you need to press Ctrl+B and then D and not all at the same time.

If you're doing this, please fix the typo of detach in the next line too ^.^

Thanks, In the future, PR into dev.


Passing parameters to a metamodel (while opening a model)

While discussing #239 I realized that we may need a way to pass parameters to a metamodel (while loading a model). Such parameters could influence scope providers (searchpath options or recursive globbing) or model checkers (object processors checking certain rules).
The parameter capabilities should be queryable via the meta-model ('which parameters exist?'). With such, an appropriate command-line interface and ide interface could be deduced.
We could also solve #239 with that. It allows to keep the metamodel stateless and to influence the meta-model behavior on a per-file basis.
What do you think?

So, adding optional set of kw parameters to model_from_file/str of the meta-model. I like the idea. It would make it a kinda symmetric to metamodel_from_file/str and could indeed make model loading more flexible.
Do we need capabilities querying on the meta-model? How the meta-model creator would define those and how we could utilize them in a generic way? What would be the use-case?

I'm not sure about possible concrete implementations.
But the use case is to provide

a CLI for the parameters: e.g. textx check --lang-arg1=value1 --root-path=$(pwd) myfile.lang (with the language parameters lang-arg1 and root-path)
a easy IDE integration (e.g. provide a dialog with the possible parameters)

Details to be discussed.
Querying could be a special function of the metamodel returning the description: The meta model designer will just set the description: e.g., metamodel.set_parameter_descrition("paramname", "meaning")
Everything should be light-weight.

All parameters are strings? This makes it easier for an IDE/CLI integration...
Parameters like search-paths or root-path/project-path could have a special meaning for the IDE (by convention).
If a parameter is not set, the metamodel can do whatever the language designer wants to do (e.g. use CWD).

Maybe @danixeee has some good ideas. Let's wait for his comments as well!

This sounds like a good solution to me and it should be easy to integrate with language server.
When document (model) is opened in a VS Code, textX-LS finds appropriate LanguageDesc based on language id or file extension and then instantiate metamodel with lang_desc.metamodel(), so it will be really straightforward to pass project_root or any additional arguments there.
In VS Code, all projects/models could be under the same workspace root, or under separated workspace folders and I could pass that path wherever we decide to.

@igordejanovic : what do you think about the querying capabilities?

This idea resonates better now but still trying to figure out how everything fits together.
So we have:

A language creator that defines parameters and their descriptions
A language user that creates model but the parameters are defined outside e.g. by someone who loads to model, a CLI or textX-LS.
Who is using parameter values? In the textX-LS problem #239 the parameter would be something used by the scoping/global repository code so something known to exists in advance, before the meta-model has been built.

What we are building here is a way to define a part of the language outside of the meta-model and textX grammar that would be populated outside of the model and with a life-time of a model loading.
The value I see here is to make parts of the language defined outside of the grammar parametric. For example, to have object processors (which are part of the language outside of the grammar) parameterized during model loading. So, the code that uses the value of the parameters should be implemented by the language creator (part of the language) and the parameter values are given by the user who is loading the model to alter some of the load-time language property. Do you agree?
Sounds good but I would suggest when implementing this approach to be sure that parameters always have a fallback values so that model can be loaded even if parameter value is not given.

I agree! The parameters can be compared to compiler flags of a C-compiler: the user who loads a model file can influence the model loading (for C: search path, warning level, defines).

Rough plan for a demo/proof of concept:

kwargs for model_from_xxx
define possible parameters in metamodel
store parameters in _tx_parameters of models

Open:

passing parameters to included models with differing metamodel
cli integration (click)

What do you think?
I could take some time next weekend/Friday to make a demo. @danixeee, if you prefer to do it, just tell me...

Sounds good but for #239 I don't think that should be solved by this language defined parameters as the code that would use params values is is not the part of the language (the code is in the scope providers), thus this parameter should not be left for definition to the language creator but should always be there. So, we should have a set of parameters that are built-in and whole values can be specified and used during model loading without the requirement to be defined in language meta-model. They would also have a fallback value, as the rest of the parameters, so everything will be fully backward compatible.

@goto40 @igordejanovic I have started some work related to this in https://github.com/textX/textX/pull/242. It is still in WIP, but please left comments, so I can now if I am going in the right direction.

@danixeee If we are going down the route suggested by @goto40, and that sounds like a good approach to me, I think that instead of introducing another param that we need to pass around it is better to solve that in  a uniform manner so that future addition of new params is easy.
Thus, we will have a **model_kwargs which will be passed around and the code would extract what is needed. Validation of model args could be performed by checking of build-in params and the params defined by the meta-model.
Once we have this new model_kwargs checked and passed around it will be much easier as addition of a new param would be just adding the description to either built-in params (if the param is used by the core) or to a meta-model (if it is used by the language definition, e.g. obj. processors...). The values of these params would be kept on a model.
This will remove the clutter of the additional params to the model loading calls, we can even move some of the existing params to the above frame.

Step 1: add model_kwargs to be stored in _tx_model_kwargs
Step 2: Adapt scope provider(s)
Step 3: discuss/implement parameter definition/checking

@igordejanovic @goto40 Thanks for the responses. I will left some comments in #243.

Closed via #243


use 400MHz for motor outs in vtol configs, fixes #3609

https://github.com/PX4/Firmware/issues/3609

400 MHz, woot!  You can set 1234 and 12345678.

oh ok, 12 for the caipi works as well. Updated Firefly6

Applied to master, thanks!

I see that this is closed issue and the RP is closed as well but I want to make a pointer here. In our config (delta - wing quad VTOL) we want to have a different settings for the motors, and the servos. All 5 motors need 400 hz as well as the digital servos we use. But for the servos we want to have a PWM_AUX_DISARMED set to 1500us because otherwise the elevons are not centered when disarmed. Added the connections to the gimbal and the cam trigger 50hz and some other equipment, it is hell to set it up with the correct settings for all the pwm outputs the main one's and the aux one's given the current convention and the current control groups.
Also we did not find info on the AUX control groups? Are they the same as for the main outputs or is it that the AUX output is just another separate single control group?
Just a pointer.

@tubeme have a look at my comment above where I list all the PWM infos, you'll see the AUX groups. For the rates you are limited to groups, but that should still work in your setup. If you need fine grained control over the min/max/disarmed values, use the pwm commands in a custom startup script or extras.txt where you can set each channel separately. Maybe also have a look at MAVLink gimbals.

I got that. Thanks.


Broken link to blog in the readme

The blog link is broken, there doesn't seem to be any blog on solo.io anymore.

The post link is also broken

thanks for the heads up @yurishkuro !


Seeing "No active lock, please report this as a bug."

Describe the bug
Sporadically, I'm getting this message "No active lock, please report this as a bug.", both locally and in production. Let me know what other information I can provide.

Which version do you use:

4.44.0

Which Lock Provider:

JdbcTemplate: JdbcTemplateLockProvider.Configuration.builder().withJdbcTemplate(JdbcTemplate(dataSource)).usingDbTime().build(),

ShedLock configuration:

lockAtMostFor: 5 min
lockAtLeastFor: 3 seconds

ShedLock logs:

Not much on that thread, but for this example I noted that the locked process took 10 seconds to complete:
2023-07-21 00:03:58.359  WARN 1 --- [   scheduling-9] n.j.s.core.DefaultLockingTaskExecutor    : No active lock, please >report this as a bug.

Hi, thanks. Can you please switch on the DEBUG logs and share them here?

Is it possible you have nested locks. That task-that-fails is calling other methods that in turn create a new lock. If that's the case, it explains the message. We have only one thread-local variable and as the thread is actually holding more locks, it behaves unexpectedly. Is it causing any issues or it's only about the WARN in the logs?

Thanks for looking into this, @lukas-krecan. We don't have any nested locks in that process. I can put a breakpoint on the log line, what information can I look at when it stops there?

Is it causing any issues or it's only about the WARN in the logs?
For I could identify, it's not causing any issue, it's just the WARN.

Are you sure that task-that-fails is not triggering the other tasks? In the logs you can see that it obtains the lock, then the other tasks run, and then the task-that-fails finishes, all in the same thread. Moreover, it's the only way I was able to explain the behavior. 🤷♂

In the code path of the task-that-fails we don't have any part where we obtain another lock. It's true that the logs show them in the same thread, so I'm not sure how is that happening. Maybe the thread pool is reusing the thread. I'm gonna discuss it with my team and see if we can figure it out.

One other thing, the logs that I provided are from my local dev application. As I mentioned I also saw it in our production logs, and in a couple of cases, I saw just right after the application started:
2023-07-24 11:29:58.364 INFO 1 --- [ main] io.company.Application : Starting Application using Java 17.0.7 on ...
....
2023-07-24 11:30:18.450 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2023-07-24 11:30:18.726 INFO 1 --- [ main] io.company.Application : Started Application in 21.957 seconds (JVM running for 25.041)
2023-07-24 12:05:08.186 WARN 1 --- [   scheduling-5] n.j.s.core.DefaultLockingTaskExecutor    : No active lock, please report this as a bug.

Shoul be fixed in 5.7.0


Fix GSM response parsing for BG96 AT+QCSQ command

Fix support for signal quality reporting when the modem is connected via GSM.
Description
Ignores LTE only signal quality values in the case the modem is connected via GSM
Test Steps
Issue an AT+QCSQ command against a BG96 modem connected via GSM
Checklist:

[] I have tested my changes. No regression in existing tests.
[ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Note that I'm running tests for my own project and it successfully was able to get an rssi measurement connected via GSM. In any case, feel free to commandeer the PR
Related Issue
Fixes #8
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This PR is covered by #12 and will be closed. Thank you for your contribution.


Add Kroki! support (2)

Foreword
This is the triumphant return of PR #241 that was :sob: prematurely and unfairly closed by @bot-anik.
Purpose
This PR adds support for Kroki! in the docusaurus markdown. Kroki provides very nice support for several different textual diagrams like plantUML, structurizr or BPMN. This capability is very useful for creating technical diagrams, particularly for editing the technical part of the website.
Examples

Resources

https://kroki.io/examples.html
https://github.com/nice-move/remark-kroki

Development dependencies added
remark-kroki

DescriptionRemark plugin for showing Kroki diagram
AuthorEric Chen
LicenseMIT


Rp2040

This PR enables the code ModbusServerRTU to run on a RP2040 using the arduino framework and the earlephilhower core.
I have only tested the RTU server part. The client RTU replicates the changes done in server and should work as is but it has not been tested.

Nice!
I have no RP2040 yet to test it, so it will have to wait for that.
I have a few objections, though:

the addition of __linux__ to the #ifdef checks in the async TCP code is not sensible in my opinion, as there will be no such support without completely rewriting the code.
your code formatting preferences are different to ours, so all the replaced braces are irritating at least. I would ask you to maintain our formatting habits instead.

Thanks for the quick reply.

On code formatting, I did change it so that the braces match your formatting habits. This is what commit [2824eff] intends to do. My current diff does not show a difference. Could you tell me in which file you see a difference ?
On __linux__ I've added all the platforms previously listed in the options.h file without checking if this would have worked on the platform. Happy to change it to defined(ESP32) || defined(ESP8266) if that that's the only platforms it works for.
On #if HAS_FREERTOS, on second thought I believe this should be changed to #if ESP8266 || ESP32 as the code in this function is specific to these platforms.

My bad, sorry! I had a look only at the first commit.
Regarding those RTOS task calls, that could be valid for the RP2040 as well - IIRC there are two cores, too? On the ESP32 running the worker task on a dedicated core helps to maintain the bus speed at higher baud rates, the ESP32 can go up to 5Mbaud with it. The RTU server or client do not run on the ESP8266 for exactly the reason of having only one core.

The RP2040 has two cores indeed, however the function used xTaskCreatePinnedToCore is proprietary to Expressif. According to this, the "proper" RTOS way to do it is to set affinity. To mimic xTaskCreatePinnedToCore functionality I had to split it into two calls.

We are getting there. 😀
To swap out the Espressif task calls you are using the ARDUINO_ARCH... define. I would think the HAS_FREERTOS2040 would be more consistent instead. At one spot of these there is a isolated #elsif - shouldn't that be an #else?
Finally the addition of __linux__ still is in the async TCP files...
I will order a RP2040 for me to test. I would like it better to have the TCP parts also working on that MCU. Did you try those as well? I suppose your definition in options.h is protecting you from all the HAS_FREERTOS encapsulated code.

Excellent! Thank you so much. I expect to get the RP2040 on Saturday, so I may approve the PR beginning of next week.


Your theme is listed in jekyll-themes.com

Your theme has been listed on https://jekyll-themes.com/.

Ok thanks.


remove equals method

the equals method is not needed, a strict comparison is sufficient here. The equals method confused only.
$a = Status::panding();

if ($a->equals(Status::completed())) {
  // ...
}

vs.
$a = Status::panding();

if ($a === Status::completed()) {
  // ...
}

I think we should let the equals method as it is. Just as a convience thing. In other languages where Enums exist they have also an equals method. Some people just like to use equals instead of == or in php case ===. I dont think that this makes any difference from a maintain perspective and from the user perspective. Maybe some changes in the docs are sufficient?
My last point would be that following code crashes:
$status= Status::pending();

if ($status->equals('pending')) {
  // do something
}

While this is not crashing:
$status= Status::pending();

if ($status === 'pending') {
  // do something
}

Maybe this should be part of the discussion. At the moment the second example is returning false but maybe it shouldnt?

I'm still not quite sure about this topic. I would for now remove it so the can encourage the user more to use === instead of the equals method since it simply doesn't exist and therefor this is the only solution besides implementing an own equals method.
So from this LGTM but maybe needs an rebase?


Remove vendored wrapt paths from pre-commit config

What does this pull request do?
Since wrapt is gone since we can remove it from exclusion paths in pre commit tools configuration.
Related issues
None

Good catch, thanks!

@elasticmachine, run elasticsearch-ci/docs


Crash with OC Conduits

Happened on a server while nobody was online, upon restarting the server the crash persisted. Had to rollback to an earlier backup. Seems to have happened randomly, there was no change in conduit or OC configuration so I'm guessing it's a chunk-related issue.
Bug with EnderIO or OC itself? The code in Ender IO or OC (especially OC as it's scala) doesn't make much sense to me.
[06:37:11] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking block entity
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:642) ~[MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) ~[lt.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) ~[MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:396) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
Caused by: java.lang.NullPointerException
at li.cil.oc.server.network.Node$class.connect(Node.scala:38) ~[Node$class.class:?]
at li.cil.oc.server.network.Network$ComponentBuilder$$anon$2.connect(Network.scala:595) ~[Network$ComponentBuilder$$anon$2.class:?]
at li.cil.oc.server.network.Network$$anonfun$add$5$$anonfun$apply$2.apply(Network.scala:269) ~[Network$$anonfun$add$5$$anonfun$apply$2.class:?]
at li.cil.oc.server.network.Network$$anonfun$add$5$$anonfun$apply$2.apply(Network.scala:269) ~[Network$$anonfun$add$5$$anonfun$apply$2.class:?]
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) ~[scala-library-2.11.1.jar:?]
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) ~[scala-library-2.11.1.jar:?]
at li.cil.oc.server.network.Network$$anonfun$add$5.apply(Network.scala:269) ~[Network$$anonfun$add$5.class:?]
at li.cil.oc.server.network.Network$$anonfun$add$5.apply(Network.scala:259) ~[Network$$anonfun$add$5.class:?]
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) ~[scala-library-2.11.1.jar:?]
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186) ~[scala-library-2.11.1.jar:?]
at li.cil.oc.server.network.Network.add(Network.scala:259) ~[Network.class:?]
at li.cil.oc.server.network.Network.connect(Network.scala:104) ~[Network.class:?]
at li.cil.oc.server.network.Network$Wrapper.connect(Network.scala:734) ~[Network$Wrapper.class:?]
at li.cil.oc.server.network.Node$class.connect(Node.scala:38) ~[Node$class.class:?]
at li.cil.oc.server.network.Network$NodeBuilder$$anon$4.connect(Network.scala:583) ~[Network$NodeBuilder$$anon$4.class:?]
at crazypants.enderio.conduit.oc.OCConduit.addMissingNodeConnections(OCConduit.java:386) ~[OCConduit.class:?]
at crazypants.enderio.conduit.oc.OCConduit.setNetwork(OCConduit.java:206) ~[OCConduit.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:48) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:54) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:54) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:54) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:54) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:54) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:54) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.setNetwork(AbstractConduitNetwork.java:54) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.AbstractConduitNetwork.init(AbstractConduitNetwork.java:36) ~[AbstractConduitNetwork.class:?]
at crazypants.enderio.conduit.ConduitUtil.ensureValidNetwork(ConduitUtil.java:57) ~[ConduitUtil.class:?]
at crazypants.enderio.conduit.AbstractConduit.updateNetwork(AbstractConduit.java:479) ~[AbstractConduit.class:?]
at crazypants.enderio.conduit.AbstractConduit.updateEntity(AbstractConduit.java:426) ~[AbstractConduit.class:?]
at crazypants.enderio.conduit.TileConduitBundle.doUpdate(TileConduitBundle.java:254) ~[TileConduitBundle.class:?]
at com.enderio.core.common.TileEntityEnder.func_145845_h(TileEntityEnder.java:45) ~[TileEntityEnder.class:?]
at net.minecraft.world.World.func_72939_s(World.java:1939) ~[ahb.class:?]
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:489) ~t.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:636) ~[MinecraftServer.class:?]
... 4 more

This looks like the conduit is trying to connect two nodes, where at least the first one is not currently in a network.
The quick-fix for this would be to add a Network.joinNewNetwork(node(color)) before the line this errors on (always safe because it's a no-op if the node's already in a network).
I'm not fully aware of the internal workings of the conduit (IIRC there's one node per "bundle" per circuit network?), so there may be a hidden error/wrong assumption elsewhere leading to this even being possible that should be fixed instead.

There are 16 nodes per conduit-network, one per color. A conduit-network consists of all conduits that are connected to each other. The conduit-network initializes them in its constructor with joinNewNetwork(), so unless a node quits being in one for some reason, "our" nodes are always in an oc-network.
However, shouldn't it NPE in at li.cil.oc.server.network.Network.connect(Network.scala:104) ~[Network.class:?] if our node had no network?
@cosmicdan Did you make a copy of the crashing version of the work? It may be worth it to make a debug version of Ender IO to let it crash with lots of debug output. That's always better than wildly guessing what may have gone wrong.

Yeah, see edit. It's something in the network merging code of OC that triggers when there's duplicate addresses. Which shouldn't really be possible in the first place (except when copying items with a stored address e.g.), so that part of the network logic is... rarely executed, so it's quite likely a dormant bug in OC.

Duplicate addresses? That sounds like something that must happen when loading chunks with Minecraft ;). May be triggered by EIO rebuilding its network and having its single node connected to many different blocks.

Yes I have kept the crashing world, would be happy to test with a debug build.
Duplicate addresses? Hmm. I wonder if this is related, then. Sometimes I need to move a particular OC component and the addresses for other components on the same network randomly change. Random as in, in my example, half of my pebble bed reactor cores will have their addresses changed, the other half will be the same, after removing and replacing an OC conduit that is connected elsewhere.
Sorry for going off topic, but I'm wondering if that could be an issue with OC conduits or just OC itself? OC seems a bit hit and miss with other areas E.g. using multiple screens, one will randomly stop working, but I digress.
On 6 Jan 2016, Henry Loenwind<EMAIL_ADDRESS>wrote:

Duplicate addresses? That sounds like something that must happen when
loading chunks with Minecraft ;). May be triggered by EIO rebuilding
its network and having its single node connected to many different
blocks.

Reply to this email directly or view it on GitHub:
https://github.com/SleepyTrousers/EnderIO/issues/3109#issuecomment-168994564

--
Sent with K-@ Mail - the evolution of emailing.

@fnuecke any news on this?

Sorry for the delay, didn't have a lot of free time the last days; I'm hoping to find the cause and fix it this weekend.

@fnuecke Checking in?

Hey, terribly sorry for the delay. I did look into this some more, but found no obvious reason why this might happen, yet :/ I did find one bug in the merge logic for duplicate addresses, though I'm not convinced it's related. Cleaned it up some and did some testing and it doesn't seem to break anything else, so if someone who can reproduce this could test the latest OC dev build for me to see if it is, I'd appreciate that (available on my Jenkins, build 866 or newer). Note that this is OC 1.6, which is still WIP, so please make a backup first, if you give it a shot. Thanks.
Again, very sorry for the delay.

Allright, I finally was able to come up with a test case where I could reproduce the error (well, an NPE at that location at least), and fixed it now. I'm 99.351% sure this fixes this issue. Sorry it took so long, but between lack of time and this being a bit of a tricky bug (that I was never able to reproduce with EIO, just finally today with a unit test after coming up with the specific scenario that could lead to the error) I just wasn't able to fix it much sooner.
For those interested, the problem was with nodes being removed during a remapping operation (when merging networks containing different nodes with the same address, one of them has to change its address). This can happen if an Environment removes a node in its onDisconnect which is the case for some 'driver filesystems' in OC, for example.
That still leaves the oddity that multiple nodes even have the same address; they're generated UUIDs after all... most likely case is multiple nodes being loaded from the same NBT tag. But in the case of the conduits it doesn't really matter, since their nodes are never addressed by anything, and now it shouldn't crash anymore either, so whatever :P
The fix is in the latest OC devbuild.

Sorry to bother @fnuecke - just wondering if this fix made it into the <IP_ADDRESS>-rc.1 release? Or do we have to use the dev builds still?
Regardless, thanks so much for sorting this out!

Yep, the fix is in the RC!


Change links to absolute URLs

The links in event description are relative links to wikipedia articles. Make them absolute so that they are usable outside wikipedia

done


[Feature request] Mdx

Hi,
Thanks for releasing such an useful tool!
I'm writing with a question/feature request - do you plan on supporting MDX syntax with this library? Asking, because in internal flow of my company MDX have worked much better than js stories (it's much easier to use markdown for documentation purposes by non-dev people). So, this feature would be desirable and really a big step for us.
Also, we would be eager to help somehow with implementation of this feature, but first we need to now if you see it as a something feasible.
Cheers 👋

Hey @FRSgit thanks for opening this issue! Indeed MDX would be interesting to support, however I'm not so sure how to do that. Thoughts @elevatebart ?
Are you aware that you can mix CSF and MDX? That way you could still use this lib, giving time for MDX support to be added in this library.

@yannbf Thanks for the quick response - I haven't knew about the mixing possibilities. Definitely will look into that!


add legend to observations map page

User story
As a user, I would to be provided with a legend of the meaning of the station colours so that I can better analyze the state of my observing network/data outages and take corrective action(s).
Acceptance criteria

[ ] map page for observations shows a legend of station colours/symbols and their meanings

Definition of done

[ ] unit/functional tests added/updated
[ ] documentation updated
[ ] live demonstration provided

Added to wis2box-ui


chore(release): v1.4.1 🎉

:robot: I have created a release beep boop
1.4.1 (2024-07-21)
Bug Fixes

duration: handle zero unit durations correctly (49805d4)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ehmpathy/uni-time/releases/tag/v1.4.1 :sunflower:


Support from_dlpack from numpy.NDArray

Description
In dlpack.pyx, there is a TODO comment about support from_dlpack from numpy.NDArray.
Now, this PR about DLPack support is merged.
Is there any plan to solve this TODO?
In my environment, the following modifications work correctly.
diff --git a/cupy/_core/dlpack.pyx b/cupy/_core/dlpack.pyx
index 5860b4e1a..24d6125b0 100644
--- a/cupy/_core/dlpack.pyx
+++ b/cupy/_core/dlpack.pyx
@@ -391,7 +391,9 @@ cpdef from_dlpack(array):
     elif dev_type == <int>kDLCPU:
         # TODO(kmaehashi): Call `np.from_dlpack` when DLPack support is in:
         # https://github.com/numpy/numpy/pull/19083
-        raise ValueError('CPU arrays cannot be imported to CuPy.')
+        #raise ValueError('CPU arrays cannot be imported to CuPy.')
+        import numpy as np
+        return cupy.asarray(np.from_dlpack(array))
     else:
         # TODO(leofang): support kDLCUDAPinned etc
         dltensor = None

Additional Information
No response

Thanks for raising this discussion! I'm the one who added that TODO comment, but now I'm wondering how we should handle cupy.from_dlpack(cpu_tensor). Possible ideas are (1) return numpy.ndarray, (2) return cupy.ndarray as you suggested, or (3) raise ValueError. Returning cupy.ndarray makes sense at some level, but that means the copy of the input tensor is created, which is in general unexpected behavior in terms of the DLPack's design. At this point, my opinion is to raise ValueError as it is now and suggest users to use cupy.array(np.from_dlpack(cpu_tensor)).

@kmaehashi
Thanks for your comment. It's so helpful to me. Because I'm not familiar with DLPack's design.
I understand your opinion, and I'm going to use the snippets you suggested.


all votes failing after first was sent but not displayed

first vote was executed:
https://testnet.leapdao.org/explorer/tx/0x19336bcd933292aa8e5d7f778fa55cd284cf8d782e8b79ccaa7c741cd18aaffc
but never displayed.
now i see loading bar forever, no error 🤷♂

to abstract to reproduce


Direction of b in the sketch

We just had some great confusion party and smoking heads while trying to parametrize a Doosan robot due to the arrow in that graphics for b pointing in the wrong direction (?)
Here is an example back side view of a Stäubli TX2 90L robot:

The parameters for the Stäubli that work perfectly fine and are consistent in the self-tests are
opw_kinematics_geometric_parameters:
    a1:  0.05
    a2:  0.0
    b:   0.050
    c1:  0.478
    c2:  0.500
    c3:  0.550
    c4:  0.100
opw_kinematics_joint_offsets: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
opw_kinematics_joint_sign_corrections: [1, 1, 1, 1, 1, 1]

as I also committed here ( https://github.com/ros-industrial/staubli_experimental/blob/kinetic-devel/staubli_tx2_90_support/config/opw_parameters_tx2_90l.yaml )
Comparing it with the sketch, b should be negative however.
@axelschroth

Is the sign correct if you were using the y0 at the bottom as the positive direction?

yes, then it would be correct but the sketch would look strange

Actually I find it quite strange already, maybe it should be replaced by two more realistic ones (one with b, Stäubli and Doosan, one without b for brands like ABB, Fanuc, Kuka, ...)


is it possible to add an animation of a smooth change in the position of the candle?

is it possible to add an animation of a smooth change in the position of the candle for function candleSeries.update ?

Could you please provide more details of what you would like to see? What exactly do you mean by "change in the position of the candle"?
Are you talking out the scrolling of the time scale to bring the new candle into view? or would you like the candle itself to be animated in some way?

https://user-images.githubusercontent.com/105483216/219876412-bee9a3ed-771d-42a5-be91-61e76bb04f80.mov
Please watch the video I have attached. It shows that when the data on the chart is updated, the candles move very sharply. Can this be done more smoothly, add a smooth effect?

Could you please provide more details of what you would like to see? What exactly do you mean by "change in the position of the candle"?
Are you talking out the scrolling of the time scale to bring the new candle into view? or would you like the candle itself to be animated in some way?

There isn't a built-in way to smooth the price movements, and I doubt it will be added to the library because generally you want the data to updated as fast as possible.
You could add these animations yourself by repeatedly calling the update method with smaller changes than the actual change.
For example if you has this as your current bar: open: 10, high: 12, low: 9, close: 10
and the next update is open: 10, high: 12, low: 9, close: 11 (close changing from 10 to 11).
and you would like to animate the movement over ten frames then you could do ten smaller updates once per frame:
update 1: open: 10, high: 12, low: 9, close: 10.1
update 2: open: 10, high: 12, low: 9, close: 10.2
...
update 9: open: 10, high: 12, low: 9, close: 10.9
update 10: open: 10, high: 12, low: 9, close: 11
The candle will then appear to "animate" the change.
You would generally call update() and then using requestAnimationFrame() to schedule the next update() and so on...

Please watch the video I have attached. It shows that when the data on the chart is updated, the candles move very sharply. Can this be done more smoothly, add a smooth effect?

Could you please provide more details of what you would like to see? What exactly do you mean by "change in the position of the candle"?
Are you talking out the scrolling of the time scale to bring the new candle into view? or would you like the candle itself to be animated in some way?

imagine how this animation would look during times of high volatility.
if animation transition is around 50ms and there are huge price swings within that time period, animation frame would take longer to finish before accepting new data to start a new animation frame. i've been experiementing with animation in my fork and i think there is a huge subjective component. e.g. if it looks good to the user.
your thoughts?

I don't think that animation of candlestick prices will be added to the library because displaying the most up to date price data as possible is more important in our opinion.
As you mentioned, it would be difficult to correctly do animations if you are unsure when the next update will arrive. The animation needs a duration, so you need to guess ahead of time how long it will be until the next update arrives so you can set how long the animation should be.
Adding this type of animation (and handling all the edge cases of when the price changes again during an animation) could be handled externally to the library by using the .update() method on the series to provide the latest prices. As I discussed in my previous comment.
If a feature can be achieved already using our API when we would be far less likely to add it to the library since one of the core goals of the library is to be small in bundle size.


Missing ufuncs

CuPy's ufuncs are roughly the same as of Numpy 1.9. The following have been added to Numpy in the meanwhile:

1.10: 'abs', 'cbrt', 'bitwise_not' (alias abs = absolute exists)
1.11: none
1.12: 'float_power'
1.13: 'divmod', 'heaviside', 'positive'

Furthermore, the following are missing as well:

'conjugate', 'fabs', 'spacing'

It seems as if conjugate just requires an alias, and that divmod is just not exported.
Furthermore, positive, float_power and fabs just differ in the types from existing ufuncs.

Let me close this as the missing features are now comprehensively listed in the docs: https://docs.cupy.dev/en/stable/reference/comparison.html
I confirmed some of the ufuncs listed are still not implemented.
We always welcome pull-requests for missing ones!


Add a few missing SkipVM sections

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-mc-k8s-tests_istio
a62d76ac0e1962495960a2fe3945ce51c0e7f822
link
/test integ-telemetry-mc-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-mc-k8s-tests_istio
a62d76ac0e1962495960a2fe3945ce51c0e7f822
link
/test integ-telemetry-mc-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

/retest


onPrint event should be fired for iframes too

Is it possible the "onPrint" to be activated on whatever ".print()" method from JS, and not only on "window.print()"? In case it's needed to print an iframe (example: "iframe_variabile.contentWindow.print()"), the event is not triggered. Thank you.

Unfortunately it is not possible. You need to consider that the onPrint event is implemented using JavaScript because there is no official API about it, and, on Android, is not possible to inject JavaScript code that is available for all iframes like on iOS.
However, you can print the current page using the printCurrentPage method, so you can implement your own logic.


Rename JSON classes to match style guide

JSON classes should use JSON as a prefix and not Json per the style guidelines.

Stable and maybe Changelog Tool would need to be updated to match this breaking change.

In light of recent discussions about reforming the JSON API, we may want to consider making this change along with those other breaking changes, instead of doing two breaking changes in two different releases.
The new set of breaking changes would be introduced via the RFC process.
Just something to consider. If you still want to merge it as is, that's okay.

I'd rather not merge until we resolve the do we keep this JSON api issue.


Getting sending data to Algolia to work

[x] Sending recipe data to Algolia

Deadline:
Mon, 3/30

using gatsby build


Update examples

https://github.com/AcalaNetwork/truffle-tutorials/pull/28
https://github.com/AcalaNetwork/hardhat-tutorials/pull/54
https://github.com/AcalaNetwork/waffle-tutorials/pull/13
https://github.com/AcalaNetwork/hardhat-tutorials/pull/58
https://github.com/AcalaNetwork/truffle-tutorials/pull/33
TODO:

[x] evm-accounts
[x] homa
[x] honzon
[x] incentives

@ThunderDeliverer I noticed advanced escrow had some weird failure in CI, despite the fact that running it alone locally can pass. Could it be some flaky expectation that only works in some certain circumstances?
For example the latest CI run in this branch https://github.com/AcalaNetwork/bodhi.js/runs/7262955497?check_suite_focus=true
hardhat-tutorials-test_1                 |   4 failing
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |   1) AdvancedEscrow contract
hardhat-tutorials-test_1                 |        Operation
hardhat-tutorials-test_1                 |          should set the values of current escrow when initiating the escrow:
hardhat-tutorials-test_1                 |      AssertionError: Expected "214" to be equal 215
hardhat-tutorials-test_1                 |       at Context.<anonymous> (test/AdvancedEscrow.js:112:34)
hardhat-tutorials-test_1                 |       at runMicrotasks (<anonymous>)
hardhat-tutorials-test_1                 |       at processTicksAndRejections (node:internal/process/task_queues:96:5)
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |   2) AdvancedEscrow contract
hardhat-tutorials-test_1                 |        Operation
hardhat-tutorials-test_1                 |          should revert when initiating a new escrow when there is a preexiting active escrow:
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |       AssertionError: Expected transaction to be reverted
hardhat-tutorials-test_1                 |       + expected - actual
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |       -Transaction NOT reverted.
hardhat-tutorials-test_1                 |       +Transaction reverted.
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |   3) AdvancedEscrow contract
hardhat-tutorials-test_1                 |        Operation
hardhat-tutorials-test_1                 |          should update the egress token:
hardhat-tutorials-test_1                 |      AssertionError: Expected "255" to be equal 256
hardhat-tutorials-test_1                 |       at Context.<anonymous> (test/AdvancedEscrow.js:171:34)
hardhat-tutorials-test_1                 |       at runMicrotasks (<anonymous>)
hardhat-tutorials-test_1                 |       at processTicksAndRejections (node:internal/process/task_queues:96:5)
hardhat-tutorials-test_1                 |
hardhat-tutorials-test_1                 |   4) AdvancedEscrow contract
hardhat-tutorials-test_1                 |        Operation
hardhat-tutorials-test_1                 |          should revert when trying to complete an escrow when not being the initiator:
hardhat-tutorials-test_1                 |      AssertionError: Expected transaction to be reverted with Escrow: caller is not initiator or this contract, but other exception was thrown: ProviderError: Error: -32603: VM Exception while processing transaction: execution revert Escrow: escrow already completed: 0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020457363726f773a20657363726f7720616c726561647920636f6d706c65746564

@shunjizhan https://github.com/AcalaNetwork/hardhat-tutorials/pull/58/commits/e2477c6143cc8fbc3ee5f9159874bf0438443c1c fixes the issue by moving the loop util from test to utils directory

let's merge hardhat/truffle tutorials first, and update reference to their master before merging


Releasing 2.0

Changing Javascript to Typescript (because there is an transpilation step)
Supporting Unix and MacOS
Better README

Todo:

Add more examples

If you saw any bugs or want to give feedback, please comment below

Everything alright, so I'll merge the PR


Clearing screen doesn't clear

The clear_screen function dones't work, will be fixed soon [within 24h]

Fixed :D ty Stackoverflow


feat(agents): Add OllamaToolsAgent with tool calling capabilities

OllamaToolsAgent with Tool Calling Capabilities
This PR introduces the OllamaToolsAgent, enabling tool-enhanced conversations with Ollama models. This feature allows for more dynamic and capable interactions, similar to the functionality available in OpenAI's GPT models with function calling.
Key Changes

Implemented OllamaToolsAgent class for managing tool-enhanced conversations.
Created comprehensive tests for OllamaToolsAgent functionality.
Updated ChatOllamaTools to handle and process tool responses properly.
Modified mappers to support tool messages in the conversation flow.

New Files

packages/langchain_ollama/lib/src/agents/agents.dart
packages/langchain_ollama/lib/src/agents/tools.dart
packages/langchain_ollama/test/agents/tools_test.dart

Modified Files

Updated packages/langchain_ollama/lib/langchain_ollama.dart to export new agent functionality.
Enhanced packages/langchain_ollama/lib/src/chat_models/chat_ollama_tools/chat_ollama_tools.dart for tool support.
Adjusted mappers and types in the chat_ollama_tools directory to accommodate tool interactions.

Testing
New tests have been added in packages/langchain_ollama/test/agents/tools_test.dart to ensure the correct functioning of the OllamaToolsAgent. These tests cover various scenarios including basic tool usage, memory handling, and LCEL (LangChain Expression Language) compatibility.
Documentation
Documentation for using the OllamaToolsAgent has been added to the relevant files. Additional examples and user guide updates may be needed to showcase this new functionality fully.
Next Steps

Consider multi-tool testing.
Gather feedback from users to identify any potential improvements or edge cases.

@Ganeshsivakumar is probably best to review.

That's awesome, thanks for your work @Heinrich-vanNieuwenhuizen! I'll review it tomorrow.
We were waiting to release ChatOllamaTools because Ollama is going to add tools support in the next release (hopefully in a few days). So we'll add tool support directly to ChatOllama, but it will be pretty straightforward to migrate.

@Heinrich-vanNieuwenhuizen @Ganeshsivakumar There we go:

feat: Add tool calling support in ChatOllama #505

@Heinrich-vanNieuwenhuizen I was thinking that I'd better to have a generic agent for any ChatModel that supports tool calling (as the interface is common for all of them anyway), something like ToolsAgent. Do you want to give it a try?
@Ganeshsivakumar I'll remove the ChatOllamaTools code in another PR 🥲

@davidmigloz , sure I'll give it a go.

@davidmigloz , Do you want me to put this in the langchain package?
The I'm almost done just have some difficulty where
ChatModelOptions expects
  /// A list of tools the model may call.
  final List<ToolSpec>? tools;

and BaseActionAgent
    /// The tools this agent can use.
  final List<Tool> tools;

Any tips how to convert ToolSpec to Tool?

Hey @Heinrich-vanNieuwenhuizen,

I'm almost done
Great to hear that!

Do you want me to put this in the langchain package?

Yes, let's put it there.

Any tips how to convert ToolSpec to Tool?

I guess you need to the opposite conversion, don't you?
You provide a list of Tool to the agent, and then the agent binds those tools to the chat model.
And as you say ChatModelOptions expects ToolSpec, as the model only needs to know the specification of the tool. But every Tool is a ToolSpec, so you should be able to pass the list of Tool directly.
(The difference between ToolSpec and Tool, is that ToolSpec contains only the specification of the tool (name, description and schema), whereas Tool also implement the logic of the tool)
If you push your changes, I can take a look.

Thanks for the progress @Heinrich-vanNieuwenhuizen !

I solved the toolSpec issue, but I'm having one last problem with testing ToolsAgent with messages memory at packages/langchain/test/agents/tools_test.dart:112. I would really appreciate some pointers.
I'll review it this weekend when I find some time and let you know 🙂

no worries, I solved the issue. I wasn't passing the getInputFromJson.

Ah, perfect!

I'm currently working on adding another hacky feature. When I use llama3-groq-tool-use, everything works fine with no issues. However, when I add the option format: OllamaResponseFormat.json or llama3.1, I receive the tool's call as a string instead of decoded JSON.

When using tools, you don't need to specify OllamaResponseFormat.json. Are you using the latest version of llama3.1? The very first version didn't have the template updated for tool calling. Run an ollama pull llama3.1 again just in case.
For complex tools, having a populated history with some few-shot examples can increase the performance of these small models (more info).

no worries, I solved the issue. I wasn't passing the getInputFromJson.

Ah, perfect!

I'm currently working on adding another hacky feature. When I use llama3-groq-tool-use, everything works fine with no issues. However, when I add the option format: OllamaResponseFormat.json or llama3.1, I receive the tool's call as a string instead of decoded JSON.

When using tools, you don't need to specify OllamaResponseFormat.json. Are you using the latest version of llama3.1? The very first version didn't have the template updated for tool calling. Run an ollama pull llama3.1 again just in case.
For complex tools, having a populated history with some few-shot examples can increase the performance of these small models (more info).

Hi @davidmigloz , yes I did pull the latest llama3.1 its returning tool_calls as an unescaped string. Hopefully, I'll get to it this weekend see if I cant work around it and the do a pull request.

We can close this PR in favour of https://github.com/davidmigloz/langchain_dart/pull/530


Add GoogleBot UAs

use case:
https://productforums.google.com/forum/#!category-topic/webmasters/mobile/xeViVssd5dQ
https://www.google.com/webmasters/tools/mobile-friendly/ uses those UAs and some UA sniffs treat the bots differently.
Need both Googlebot and Googlebot Mobile UAs.

As I understand, webmasters should not serve different page to the bot. Someone in the thread linked to Cloaking: https://support.google.com/webmasters/answer/66355. If we provide Googlebot UA, it could encourage webmasters to violate the guidelines.

This could go both ways, encourage evil by cloaking or encourage good by making sure you site isn't cloaking.
I think it would be beneficial to include these since we could encourage the use of making sure you are serving the same stuff to Googlebot that you do normal users. This way people can test without needing the knowledge to manually edit (and not mess up) the UA string. Just Ctrl+Shift+I, press DM button, select one of the bot entries and refresh. Sounds very reasonable to me.
People that are going to cloak, don't need our help to spoof Googlebot to test with.

Just found that Google even provides the exact UA strings used to crawl different things. I think this could actually be a very beneficial section to add so people can properly test to make sure they are compliant.

Issue moved to https://code.google.com/p/chromium/issues/detail?id=459604 for now.


Issue with calling completeMigration on team after completeMigration for all channels.

Steps to reproduce
Create team in migration mode
Create channel in migration mode
Import messages
Get all channels in the team
Loop over channels and call completeMigration on each
Call completeMigration on team
Expected behavior
API should return 204 as mentioned in docs
Actual behavior
API returns 400 "All channels must be finalized before team."
Error details
'{"error":{"code":"BadRequest","message":"All channels must be finalized before team.","innerError":{"date":"2024-12-25T02:07:03","request-id":"d3ee15ac-1981-4372-8115-3211726a8dfa","client-request-id":"d3ee15ac-1981-4372-8115-3211726a8dfa"}}}'

If I try to add another channel
{'error': {'code': 'BadRequest',
  'message': 'Migration channels can only be created in a team under migration.',
  'innerError': {'date': '2024-12-25T02:12:34',
   'request-id': 'f7bbef76-1437-42c8-b3fb-c34199b0cebd',
   'client-request-id': 'f7bbef76-1437-42c8-b3fb-c34199b0cebd'}}}

@virajkanwade, thanks for raising your issue. According to documentation, Completing the migration of the channel General before completing the migration of other channels leads to a situation in which the team is marked as migrated, prohibiting you from creating further channels to be migrated. So, please ensure you follow that.
Also, before the team completes, all channels must be completed out of migration mode. (Including general channel)

@Prasad-MSFT I guess do did not read my note.
Get all channels in the team
Loop over channels and call completeMigration on each

I have already marked all channels migrated. I have even confirmed this by rerunning the script which raised "already migrated" error for all channels.
My aim here is to mark the team migrated. I don't want to create a new channel. It was just a test.

Hi @virajkanwade, we tried to repro your issue, however it worked fine at our end. We were able to complete migration for all channels followed by team. The only error we encountered during team migration is where we missed to complete migration for general channel before team migration.

On completing that we were able to complete team migration successfully.

https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/import-messages/import-external-messages-to-teams#step-2-create-a-channel

Hi @Prasad-MSFT
Can calling completeMigration on General before other channels lead to this deadlock situation?

@virajkanwade, that might be the reason because, according to official document "Completing the migration of the channel General before completing the migration of other channels leads to a situation in which the team is marked as migrated, prohibiting you from creating further channels to be migrated."


Runtime's argument parsing incorrectly expects the first argument to be the subset

https://github.com/dotnet/runtime/blob/a6f8607d65dc162264e0bde9d514f1508ae2bd8d/eng/build.ps1#L15
Any parameter that the build script doesn't know about is treated as a subset which is wrong, i.e. with -bl or -restore. Only text should be valid. See the build.sh counterpart: https://github.com/dotnet/runtime/blob/a6f8607d65dc162264e0bde9d514f1508ae2bd8d/eng/build.sh#L173
T-Shirt Size: Small

The Windows PoC worked around this:

Now that we upstream the changes, we need to find an actual fix.


refactor: support Obsidian 1.0

I tried to refactor the plugin and it supports Obsidian 1.0

```wavedrom
{ signal : [
  { name: "clk",  wave: "p......" },
  { name: "bus",  wave: "x.34.5x",   data: "head body tail" },
  { name: "wire", wave: "0.1..0." },
]}
```

However, I've not find out the how to get the current color theme of Obsidian, and it only supports default skin. So there is still room for improvement for this plugin.

Thank you for the contribution!


Bug: senseless call to empty parent::initialize() false positive

/**
 * @mixin A
 * This phpdoc tells static analyzers that methods and properties from class A are available here
 * (including someMethod)
 */
trait SomeTrait
{
    public function traitMethod($arg): void
    {
        //if you remove mixin phpdoc from this trait and remove `use SomeTrait;` from class C
        //phpstorm and static analyzers would complain about call to undefined method `someMethod`
        $this->someMethod($arg);
    }
}

class A
{
    public function initialize(array $config): void
    {
    }

    public function someMethod($arg): void
    {
        //implementation is not important in this example
    }
}

class B extends A
{
    #[\Override] public function initialize(array $config): void
    {
        //some logic but without parent call
        $this->someMethod(1);
        $this->someMethod(2);
        $this->someMethod(3);
    }
}

class C extends B
{
    use SomeTrait;
    public function initialize(array $config): void
    {
        parent::initialize($config);//🔨 PHP Hammer: senseless call to empty parent::initialize().
        //some extra logic
        $this->someMethod(4);
        $this->someMethod(5);
        $this->someMethod(6);
    }
}

As you can see parent call in class C from C::initialize to B::initialize is not senseless
Parent call in class from B::initialize to A::initialize would be senseless because A::initialize has empty body but that's not a case here

@asgraf I am not receiving this warning with your code.

This is probably related with https://github.com/hammer-tools/php-hammer/issues/50#issuecomment-1801528645
Because in this case @mixin A could be replaced by  @method void someMethod($args) for same effect

I could reproduce @mixin A case at 0.29.1, but second case is not reproducible anymore.

Yes second case was fixed in #50

My point was that you probably can reuse logic from #50
@mixin SomeClassOrInterface bassicaly bassicaly is same as creating @method for every method and and @property for every property in SomeClassOrInterface

In a way, something in this direction has been done. The JetBrains SDK is a bit confusing, and I had to hardcode to fix the issue, which applies to both the previous case and this current one.


[Feature]: virtual module support

What problem does this feature solve?
Definition
Virtual Module: module not exists on real filesystem
Background
Virtual module is widely used in bundler ecosystem( vite、webpack), and different bundlers take different approaches,
webpack uses https://www.npmjs.com/package/webpack-virtual-modules?activeTab=readme to support virtual module and vite use https://vitejs.dev/guide/api-plugin.html#virtual-modules-convention to support virtual module
Currently rspack implement a naive implementation of webpack-virtual-modules(https://github.com/rspack-contrib/rspack-plugins/tree/main/packages/plugin-virtual-module) which has some limitation.
Since Rspack already supports unplugin so it can actually support both implementation, but too many flexibilities may but ecosystem in chaos(just like vite's virtual module path can be virtual:my-module and \0xxx which makes it harder to unify plugin usage).
resolve hook vs input_filesystem
webpack use patched input_filesystem to implement virtual modules which limits virtual module path to be real path url(which may be not bad), so the internal resolver can handle it correctly, vite & rollup use resolve and load and virtual-module-convention to handle virtual path(which is more flexible).
It seems webpack-virtual-modules using patched input_filesystem strategy is not a strong limitation in real world usage and is much simpler and performance friendly.
There're 3 ways Rspack can implement virtual module like webpack did

Implement builtin rust version of virtualModulePlugin: performance friendly
Compatible with webpack-virtual-modules, which needs Rspack implement input_filesystem options, which may cause performance regression since every fs call needs trigger napi communication
Maintain the status quo

It seems the second way is more flexible and ecosystem friendly, we may need to investigate the performance regression, if the regression is acceptable we can be compatible with webpack-virtual-modules, then do we still need implement a virtualModulePlugin for better out of box experience.
What does the proposed API of configuration look like?
if we choose implement rust version of this plugin then same as https://www.npmjs.com/package/webpack-virtual-modules

This probably can split into two layer: memory input filesystem and virtual modules plugin, memory input filesystem for more general use cases and virtual modules plugin is just a wrapper plugin based on memory input filesystem

This probably can split into two layer: memory input filesystem and virtual modules plugin, memory input filesystem for more general use cases and virtual modules plugin is just a wrapper plugin based on memory input filesystem
yeah, that's the plan, but when you say "memory input filesystem" you mean

passing memory input filesystem from js side to rust side and every read will need call js read call
passing memory input(like object) to rust side and every read will only need rust read call

Definitely the second one, but we need to consider to make a better API for user. A MemoryFileSystemRspackPlugin or an enum/options of compiler.inputFileSystem that passes to rust

Definitely the second one, but we need to consider to make a better API for user. A MemoryFileSystemRspackPlugin or an enum/options of compiler.inputFileSystem that passes to rust

yes, I will make a RFC about InputFilesystem and VirtualModule support

bump

这个 feature 还有在进行吗， hardfist 兄

这个 feature 还有在进行吗， hardfist 兄

no, maybe we will use  inputFs to implement when we solve the performance problem


Address rubyzip CVE-2019-16892

There's a security issue in rubyzip ~> 1.0, which is mitigated in rubyzip >= 2.0.0. See https://github.com/rubyzip/rubyzip/pull/403 for full details. webdrivers has a runtime dependency on rubyzip ~> 1.0.
I'm not sure if webdrivers' usage of rubyzip is vulnerable but locking to rubyzip ~> 1.0 is problematic for us as 1.x is insecure by default.
It looks like the only other breaking change in rubyzip 2.0.0 is dropping support for EOL ruby versions so hopefully bumping the dep to rubyzip ~> 2.0 is pretty painless.
Alternatively, webdrivers could opt-in to the new checks available in rubyzip >= 1.3.0 as outlined in https://github.com/rubyzip/rubyzip/pull/403.
:heart:

Sorry, I didn't see https://github.com/titusfortner/webdrivers/pull/153 before opening this issue.
Will leave this open for now until that merges in case anyone else goes to open an issue to track this.

@nfm I have released v4.1.3 with the fix for this.


Training procedure

Hi,
Thanks for the nice work !
I would like to reproduce the training of the model. Could you please share the config you use for the training of the first 20K iterations without the semantic heads of the model ?
Does CH_FPN_x.pth file correspond to the weights before or after those 20K iterations ?
Thanks in advance
Gabriel

Thanks for your attention,
During training, only one config file is required, and the approach of not training semantic heads for the first 20k iterations is implemented directly in the code.
The file CH_FPN_x.pth contains the weights needed for training initialization, and it is normal for there to be partial mismatches when training begins.

Ok, I see, thanks !
Where is it implemented in the code ?

In byte_rcnn.py, line 144 and line 167. If your code version does not use iteration >= 20000, simply adjust it accordingly.

Ok, I see. Thanks for taking the time to answer


S2U-5 T&Qs: fixes for dynamic rubrics

Let's give the community some time to review this, will me merged on Friday 15:00pm.
@stetsche Would you mind making a review? Thanks!


Theos problem

I get these errors when trying to install to Theos:
make[3]: *** [/Users/mitchelhussack/KarenPrefs/.theos/obj/armv7/libkarenprefs.dylib] Error 1
make[2]: *** [/Users/mitchelhussack/KarenPrefs/.theos/obj/armv7/libkarenprefs.dylib] Error 2
make[1]: *** [internal-library-all_] Error 2
make: *** [libkarenprefs.all.library.variables] Error 2
Any reason why this may be happening?

I'd need more information in order to tell what exactly is happening there.
As a general troubleshooting step, make sure you have the latest Theos installed. Run make update-theos to be sure.

Closed due to inactivity — feel free to reopen if still needed.


Framework tests fail only on M1 machines

For context: https://github.com/flutter/flutter/issues/108399#issuecomment-1247882439
We can reproduce various golden file test failures when running tests on the framework, only on M1 machines.
Execute the flutter test command on the master branch (without any modifications) on an M1 machine.
These test failures aren't produced on Intel-based mac machines.
Steps to reproduce

git clone https://github.com/flutter/flutter.git on an Apple Silicon (M1) machine.
Execute flutter test under flutter/packages/flutter.

Results
This is confirmed on three different M1 machines, locally, as well as in a CI/CD (Codemagic).
Local Failed tests (M1 machines)
flutter_test_results_taha.log
From @bleroux
flutter_test_results_bruno.log
CI/CD Failed tests (Codemagic M1 machine)
flutter_test_results_cm_m1.log
Passed tests (Intel-based mac machine)
From @huycozy
flutter_test_results_huy_intel.log
CI/CD passed tests (Codemagic Intel-based mac machine)
flutter_test_results_cm_intel.log
(These test failures are especially affecting us when testing Flutter issue fixes)
cc: @Piinks

Should we also add the label "arch: m1"?

Should we also add the label "arch: m1"?

There is a platform-host-arm label. It's applied along with platform-mac for M1 issues. eg. https://github.com/flutter/flutter/issues/88012

Triage Report
I can reproduce this on the latest master
Reproducible on

Master (3.4.0-19.0.pre.307)

Info

Logs
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following assertion was thrown while running async test code:
Golden "material.flutter_logo.png": Pixel test failed, 0.00% diff detected.
Failure feedback can be found at
/Users/nabeelparkar/fvm/versions/master/bin/cache/pkg/skia_goldens/packages/flutter/test/material/failures

When the exception was thrown, this was the stack:
#0      FlutterLocalFileComparator.compare (package:flutter_goldens/flutter_goldens.dart:543:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)

The exception was caught asynchronously.
════════════════════════════════════════════════════════════════════════════════════════════════════

Flutter Doctor
flutter doctor -v (Master)
[✓] Flutter (Channel master, 3.4.0-19.0.pre.307, on macOS 12.5.1 21G83 darwin-arm64, locale en-US)
    • Flutter version 3.4.0-19.0.pre.307 on channel master at /Users/nabeelparkar/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c36f1f9842 (12 minutes ago), 2022-09-16 13:25:46 -0400
    • Engine revision 93da478476
    • Dart version 2.19.0 (build 2.19.0-205.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A309
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 69.0.4
    • Dart plugin version 221.5921.27

[✓] VS Code (version 1.69.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.44.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.5.1 21G83 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

For reference, a comment pointing out what it would take to fix this issue : https://github.com/flutter/flutter/issues/108399#issuecomment-1248378651

Not framework but it seems related - I just tried updating an app from 3.3.10 to 3.7.0-1.3.pre and suddenly we started seeing golden diffs between Mac Intel and M1.
The changes are around TextOverflow.fade, SVgs & images in general and BackdropFilter/ImageFilter.
Since this has been working so far on M1 CI and now starts failing,  is this going to be expected with the coming Flutter release due to some rendering changes or something on the M1 platform?

Possibly related:
Blur effects on the M2 look really weird, not just in Flutter but also on the system UI. It's as if the GPU handles them completely different...

I have no differences between M1 and M2.

Hey! Any ideas how to solve this problem? This affects golden tests written via https://pub.dev/packages/golden_toolkit on CI machines due to different stacks (intel based or arm based chips). Also, the goldens for dialogs produces more diff I guess due to blurring of the background of the dialogs.
It worked well before upgrading to Flutter 3.7.

cc: @goderbauer
Can you please take a look into the cause of this issue?

This: https://github.com/eBay/flutter_glove_box/issues/160#issuecomment-1295031993 doesn't look like the long-term solution to a problem. For example, our team uses different mac machines, and when we generate snapshots they are different for m1/2 and Intel chips. It's impossible for now to use tests even with the workaround described above because it looks like it works only for comparison (flutter test) and not for a generation (flutter test --update-goldens), so after each feature, we have a lot of newly regenerated snapshots

@kuhnroyal were you able to fix golden differences between intel and m1?

@kuhnroyal were you able to fix golden differences between intel and m1?

No, I just bought M2s for the team.

We're running into this with our upgrade to Flutter 3.7.10 - Looks like the Azure pipelines are using x86 Mac/Flutter which is causing our generated goldens to fail as they're made on Apple Silicon 🤒

We're running into this with our upgrade to Flutter 3.7.10 - Looks like the Azure pipelines are using x86 Mac/Flutter which is causing our generated goldens to fail as they're made on Apple Silicon 🤒

Same here :|
Did you resolve this by any workaround maybe?
Is there any hope this will be actually addressed in the framework?

@b055man

Same here :| Did you resolve this by any workaround maybe?

https://rows.com/blog/post/writing-a-localfilecomparator-with-threshold-for-flutter-golden-tests
Followed this blog post that walks through implementing a file comparator that can take threshold argument for ignoring these edge-cases. We found 0.1% was a good value for ignoring small aliasing/rendering quirks without catching real errors.

https://rows.com/blog/post/writing-a-localfilecomparator-with-threshold-for-flutter-golden-tests
Followed this blog post that walks through implementing a file comparator that can take threshold argument for ignoring these edge-cases. We found 0.1% was a good value for ignoring small aliasing/rendering quirks without catching real errors.

Ah, we're using a permissive comparator already, with some fractional % difference tollerance.
 :) We can't put the bar that low ;)

@Mher-Karapetyan-EPAM Thanks for this solution; works like a charm! We were already thinking about a Rosetta hack, but downloading the complete x86 SDK didn't really sink in yet.
To make it somewhat more bearable, I wrote a update-flutters.sh to keep this sdk in sync
#!/bin/sh

source ./flutter-version

echo "Flutter version: $FLUTTER_VERSION"

FILE=./.x86/flutter-version
if test -f "$FILE"; then
    source ./.x86/flutter-version
    if [ $FLUTTER_VERSION == $INSTALLED_FLUTTER_VERSION ]
    then
        echo "Flutter version $FLUTTER_VERSION already installed"
        exit 0
    fi
fi

mkdir .x86
rm -rf .x86
mkdir .x86
fvm use $FLUTTER_VERSION
echo "export INSTALLED_FLUTTER_VERSION=\"$FLUTTER_VERSION\"" > .x86/flutter-version

if [[ $(uname -m) == 'arm64' ]]; then
    echo "Installing Flutter version $FLUTTER_VERSION for arm64 for this Silicon Mac"

    curl -o .x86/flutter_sdk_x86.zip https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_$FLUTTER_VERSION-stable.zip
    unzip .x86/flutter_sdk_x86.zip -d ".x86/flutter_sdk_x86"
    rm -f .x86/flutter_sdk_x86.zip
    exit 0
fi

echo "Mocking manual X86_64 Flutter version $FLUTTER_VERSION for arm64 for this Intel Mac"

mkdir -p .x86/flutter_sdk_x86/flutter/bin

echo '''#!/bin/sh

fvm flutter $1''' > .x86/flutter_sdk_x86/flutter/bin/flutter
chmod 755 .x86/flutter_sdk_x86/flutter/bin/flutter

I keep my flutter version in a separate flutter-version file, and am able to run tests everywhere using x86/flutter_sdk_x86/flutter/bin/flutter test --update-goldens. Adding a nice step to a makefile would make it even simpler.
The nice thing about this script is that it only downloads the x86 sdk on Silicon machines, while creating a FVM shim for intel macs.

Another solution would be to use Codemagic for running the tests because Codemagic offers M1 machines (500 minutes free). Therefore, your dev team would use arm64 and you CI/CD would use arm64.
Here is the codemaigc.yaml you need:
workflows:
  test:
    name: test
    max_build_duration: 15
    environment:
      flutter: stable
    when:
      # To save Codemagic usage we only run the tests for non draft PRs
      condition: not event.pull_request.draft
      changeset:
        excludes:
          - "*.md"
    triggering:
      events:
        - pull_request
      cancel_previous_builds: true
    scripts:
      - name: Run Tests
        script: |
          flutter test

          # Upload results of failed golden tests if test command failed.
          if [ $? -ne 0 ]; then
            # Finds all "failures" folders and copies them to the export
            # directory. Therefore, we are able to view the results of the
            # failed golden tests.
            #
            # The command will use the exit code 0 (success) even when there are
            # no failures folders.
            find * -path '**/failures' -execdir bash -c "cp -r failures $FCI_EXPORT_DIR" \;

            # Because we caught the exit code of the test command, we need to
            # set manually again.
            exit 1
          fi

we just migrated to 3.7 and see the same problem. it seems to be 1 pixel in the input decoration: fcfcfd instead of fafbfc
apple.silicon.golden.test.diff.mov
is this bug still present in 3.10?

yeah, it's still reproducible in 3.10


how to monitor ehcache 3.3.1

hi dear guys,
My current project uses ehcache to store a large number of key-values and I want to monitor ehcache's memory(off-heap) usage and how should I do it

Please ask such question on the mailing list.
There are currently no official API for statistics. However, you can get a lot of them by doing something like:
StatisticsService service = new DefaultStatisticsService();
CacheManagerBuilder<PersistentCacheManager> clusteredCacheManagerBuilder =
            newCacheManagerBuilder()
                    .using(statisticsService)


[Feature] Add verbiage to explain business review process

Prerequisites

[x] Content from Business around this process

User Story
As a business owner
I want to know what the process is to get my business added to the site
So I can anticipate how long to wait before I see it on the site
Acceptance Criteria

[ ] When submitting a business there should be a link to an informational page that describes the RBB Business submission process.
[ ] New page for business submission process created.

Is your feature request related to a problem? Please describe.
Businesses are somewhat left in the dark currently about what the review process is like, and how long it may take to see their business on the site.
Describe the solution you'd like
At a low level I think we just need to add wording above business submit forms that explains this process. The content that should exist on this page is as follows:

Rebuilding Black Business
Business Vetting Process
You’re thinking of submitting a Black-Owned Business for inclusion into our database.  Terrific news, we are always looking out for more businesses to join us.  Here is what our process is:
You can submit a business for inclusion into our database, clicking the Register a Business button to display the registration form.
There are several fields that we need you to fill out. It is essential that you fill out as many fields as possible; doing so will allow us to approve your submission fastest.
Once we receive your application, someone from the Business Team will review your form and double-check the information you have provided.  This can include visiting your website, calling the phone number you have provided, and conducting internet searches. Once your information has been verified, they will then approve your business for inclusion into the database.
If we are unable to successfully verify your business, we will send you an email message asking for additional information.
We here at Rebuild Black Business operate on a trust and honor system. This means that our directory is for Black-owned Businesses only. If you submit a business for inclusion into our directory, we will take you at your word that your submission is for a Black-Owned Business. This will stand true unless we receive any information to the contrary.
For online businesses only, we understand that you operate a company that may not be bound to a physical location, and you can service customers around the world.  However, we do ask you for the Zip Code of the area that you operate out of.  Many visitors would like to support not only Black-Owned businesses, but if it is locally based to their location that adds an additional level of satisfaction for them. As such, we request that you include your Zip Code.
If you have questions, please email us at<EMAIL_ADDRESS>

HI @magnificode so you basically want two pages, one displaying the business vetting process and another with a form to fill in the details?


Bonfires code editor should auto-save a user's work

It would be great if the code editor for the Bonfires auto-saved a user's work. This would prevent losing code if you accidentally close your tab, or your browser crashes. It would also make it easy to go back and review what code you used, after having completed a bonfire.

Looks like I was right there with you! I just added the feature and hopefully it passes.

@nickbarry this works now!

Cool!


Feature Request: subcommand for adding file to path

It would  be nice to have a subcommand to download a file, add executable permissions, and add it to $PATH
usage I am thinking of:
zcomet bin <location of script> <name of binary>

zcomet bin https://raw.githubusercontent.com/dylanaraps/neofetch/master/neofetch neofetch
zcomet bin http://ix.io/client ix

would be happy to submit a pr for this.
If you feel that this is not within the scope of what zcomet is trying to achieve feel free to close this issue

A feature like that makes sense. It would also be easy to implement. The one thing I don't want to do, though, is to make design choices that I'll regret later, so if I add a bin subcommand, or something like it, I want to make sure that I'm really happy with it and that it will be easy to extend in the future without altering the fundamental simplicity of zcomet's syntax.
Can you be patient while I spend a couple of weeks experimenting with possibilities? I may ask you to test the new feature with me.
And thanks so much for the suggestion.
By the way, the examples you gave are really good ones. Could you continue to think of other examples? I'm particularly looking for difficult cases so that I can figure out how to handle them as smoothly as possible.

I already have the code to handle "snippets," and that pretty much covers what you propose - I just need to place the target scripts in the PATH, probably in ~/.zcomet/polaris/bin -- and make sure they're executable. But even more common will be the use case where someone wants to add a subdirectory of a Git repository to PATH. That already occurs automatically when a bin/ subdirectory exists. What I need to do is to come up with the perfect set of subcommands to handle all of this stuff. That's what I'll be debating with myself.


New CICA-TARIFF environments

Environment details
We have created the Dev CICA-TARIFF environments, this is to also create TST, Pre-prod and prod
Application Name
CICA-TARIFF
Description of application
Description of application
Tarriff has a database and weblogic app servers - see attached architecture diagram

GitHub team slug
cica-mp-tariff
GitHub code owner team slug
cica-mp-tariff
GitHub actions reviewer team slug
cica-mp-tariff
Environments

[ ] Development
[X] test
[X] Preproduction
[X] Production

Environment access level Development
No response
Environment access level Test
developer
Environment access level Preproduction
developer
Environment access level Production
developer
application
CICA-TARIFF
business-unit
CICA
infrastructure-support
<EMAIL_ADDRESS>owner
<EMAIL_ADDRESS>Subnet sets

[X] General
[ ] Isolated

How do users connect to the application
Over the public internet
Additional features
Please check any additional features required

[ ] Additional VPC Endpoints
[ ] Extended DNS Zones
[ ] Other - please specify

Other information
No response
Definition of Done
Definition of Done

[x] account created
[ ] team reivew
[ ] customer informed

PR https://github.com/ministryofjustice/modernisation-platform/pull/7567 created for the new account creation.

There was an issue with this but @dms1981  re-ran and it cleared the issue.
Latest (for the networking) PR is https://github.com/ministryofjustice/modernisation-platform/pull/7572

Issue on the the neworking side which may be related to a code change made in another PR.
@dms1981 is going to look at this with/for me to see if we can get the networks created. Currently there are no VPCs or subnets in place. There should be 1 and 9 of these.

David added the RAM shares and I have asked team to review the changes.

Reviewed, the VPC and subnets are shared, IAM developer role is created. It looks healthy.


Add Bazel example workflow

Adds an example workflow in examples/ci/ of a ci pipeline for bazel projects #863

thanks!


organizationalUnit attribute is no longer listed and should not be used

Under the section Rules for Devices it states:
"The organizationalUnit attribute is no longer listed and should not be used. This string is set by Intune in specific cases but is not recognized by Azure AD, so no devices are added to groups based on this attribute."
However, this is not true. The organizationalUnit attribute is listed. Please see the attached image for evidence.

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

ID: 5f7a4070-1be8-5f1f-0092-68fb6b9e2305
Version Independent ID: cd34312f-b507-affe-555e-1e0c63e7d494
Content: Rules for dynamically populated groups membership - Azure AD
Content Source: articles/active-directory/enterprise-users/groups-dynamic-membership.md
Service: active-directory
Sub-service: enterprise-users
GitHub Login: @curtand
Microsoft Alias: curtand

@jrussellaz Thank you for your feedback. We will investigate and update the thread further.

We have engaged the content team for reviewing this thread and updating as necessary .

#reassign:@barclayn

@jrussellaz thank you for the feedback. I have created a work item so that we can track the work internally. #please-close


Implement RFC-7 JavaScript module loader

This is an implementation of https://github.com/silverstripe/silverstripe-framework/issues/4606
Changes:

Updated JavaScript folder structure
Adds ES6 support via Babel
Transforms existing JavaScript to UMD modules
Adds module bundling via Browserify
lib.js and leftandmain.js are bundled using browserify
JavaScript minifying of bundles handed by gulp
Throw an exception when Requirements are not found
Updated source files to work in 'strict' mode

Updated JavaScript folder structure
Source files are now located at admin/javascript/src and javascript/src. These are transformed (see below) and output to the admin/javascript/dist and javascript/dist directories respectively. Both src directories have been added to .gitattributes with export-ignore.
Build tooling
There are three npm scripts available, each invokes a Gulp task.
thirdparty
$ npm run thirdparty
This was previously called build and has been renamed so we can use the build name for something else (see below). Thirdparty functions exactly the same as previously, it copies libraries from node_modules to thirdparty.
sanity
$ npm run sanity
This is unchanged.
build
$ npm run build
The build task is responsible for two things, generating UMD modules, and generating bundles. The build task automatically watches source files and regenerates dist files as needed. You also get a handy system notification if you break the build.
When developing locally you can include the development flag $ npm run build --development which will include source maps for easy debugging.
Generating UMD modules
All JavaScript source files are transformed from ES6 to ES5 by Babel and output to the dist directory as UMD modules.
Generating bundles
The leftandmain.js and lib.js combined files are no longer managed by the Requirements class. They are now managed by Browserify. Bundles are minified as part of build process.
Throw an exception when Requirements are not found
Because the folder structure has changed, and because it's probably a good idea in general, an exception is thrown when a Requirement is missing. I found a few existing bugs when I added this, files that had been removed but the Requirement was still there, and typos in path names.
Updated source files to work in strict mode
Browserify and Babel add 'use strict' to output files. This caused a few issues due to things like using undeclared variables. I fixed these as needed.

Related CMS change https://github.com/silverstripe/silverstripe-cms/pull/1367

I'm not sure if renaming admin/javascript/lib.js to admin/javascript/src/custom.js improves readability. "custom.js" is a bit generic you must admit? Why not something like "ss-url-lib.js" or something?

Also, please ensure you upgrade any upgrading notes in the changelog. For instance, if users are relying on fixed locations for certain files, then they might need to update their Requirements calls.

Thanks @tractorcow I'll make those changes.

@tractorcow I've made those changes :smile:

Rebase please. :) I've merged up from 3 branch.

Fixed the bugs!

@dhensby I've reviewed this and want to merge it, but now that I've touched it I can't merge it as well. Want to do the honours?

NEEDS A REBASE!

Sheesh, again!

Ok, rebased. :D

We should apply the same principles (gulp build tooling, browserify, ES6 import statements) in the CMS module as well, otherwise it's a bit inconsistent
The *.js files are removed and re-added rather than using git mv - which means all their history will be lost. Not great given the relative complexity of these files. It also masks the actual changes in the files. It's going to be a pain in the ass, but I think important to get fixed.
Should exclude minified files from diff by default (http://blog.andrewray.me/dealing-with-compiled-files-in-git/)
The 4.0.0 changelog didn't emphasise enough that in a normal project, nothing has to change - people will get freaked if they now require NPM and Browserify for their stuff (which they don't). I've amended the changelog accordingly.

Great to see that the overall JS on-the-wire size (after gzip) went down from 1.2MB to 1.1MB just by using a better compression mechanism.

We should apply the same principles (gulp build tooling, browserify, ES6 import statements) in the CMS module as well, otherwise it's a bit inconsistent

Agreed: @flashbackzoo can you make this change please? I don't think it's a blocker to this PR though, but it will depend on this getting merged first.

The *.js files are removed and re-added rather than using git mv - which means all their history will be lost. Not great given the relative complexity of these files. It also masks the actual changes in the files. It's going to be a pain in the ass, but I think important to get fixed.

http://stackoverflow.com/questions/1094269/whats-the-purpose-of-git-mv
It won't make a difference; if git doesn't detect the move now, it won't then.

Should exclude minified files from diff by default (http://blog.andrewray.me/dealing-with-compiled-files-in-git/)

I'll do this. :)

The 4.0.0 changelog didn't emphasise enough that in a normal project, nothing has to change - people will get freaked if they now require NPM and Browserify for their stuff (which they don't). I've amended the changelog accordingly.

I'll also make this update.

We should apply the same principles (gulp build tooling, browserify, ES6 import statements) in the CMS module as well, otherwise it's a bit inconsistent

Yeah good idea, I can make that change. I'm on holiday through until February 1st, so won't be able to do it until then.


Out of Memory when running CameraXTfLite for 25 minutes

I'm tring to write an App similar to the TfLite example but am running into out of memory problems. I see the same or similar problems with the TfLite sample:
After ~ 25 minutes I get the following creash on my Moto G5 (Another One plus device appears unaffected but maybe this has more memory?)
I've tried profiling but this shows nothing odd to me

I/zygote: Background concurrent copying GC freed 23227(790KB) AllocSpace objects, 4(2MB) LOS objects, 50% free, 3MB/7MB, paused 188us total 119.649ms
D/CameraActivity: FPS: 0.92
D/CameraActivity: FPS: 0.88
W/Adreno-GSL: <sharedmem_gpuobj_alloc:2339>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
E/Adreno-GSL: <gsl_memory_alloc_pure:2209>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
W/Adreno-GSL: <sharedmem_gpuobj_alloc:2339>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
E/Adreno-GSL: <gsl_memory_alloc_pure:2209>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
W/Adreno-GSL: <sharedmem_gpuobj_alloc:2339>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
E/Adreno-GSL: <gsl_memory_alloc_pure:2209>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
W/Adreno-GSL: <sharedmem_gpuobj_alloc:2339>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
E/Adreno-GSL: <gsl_memory_alloc_pure:2209>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
W/Adreno-GSL: <sharedmem_gpuobj_alloc:2339>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
E/Adreno-GSL: <gsl_memory_alloc_pure:2209>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
E/OpenGLRenderer: GL error:  Out of memory!
A/OpenGLRenderer: glTexImage2D error! GL_OUT_OF_MEMORY (0x505)
A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 13394 (RenderThread), pid 13179 (.camerax.tflite)
I/zygote: Background concurrent copying GC freed 31173(1010KB) AllocSpace objects, 6(4MB) LOS objects, 49% free, 4MB/9MB, paused 2.447ms total 100.477ms
Disconnected from the target VM, address: 'localhost:61371', transport: 'socket'

WIth my App it fails in a similar manner after 20 minutes or so e.g:
D/CameraDetector$getAnalyzer: FPS: 0.80
I/CameraDetector$getAnalyzer: Debug native heap = 49, free = 19, used = 29 MB
I/CameraDetector$getAnalyzer: MemInfo heap = 1867, free = 631, used = 1235 MB
I/zygote: Background concurrent copying GC freed 27121(977KB) AllocSpace objects, 6(4MB) LOS objects, 49% free, 7MB/14MB, paused 167us total 320.182ms
I/zygote: Background concurrent copying GC freed 38487(1236KB) AllocSpace objects, 12(8MB) LOS objects, 49% free, 6MB/12MB, paused 680us total 352.515ms
D/CameraDetector$getAnalyzer: FPS: 0.90
I/CameraDetector$getAnalyzer: Debug native heap = 49, free = 19, used = 30 MB
I/CameraDetector$getAnalyzer: MemInfo heap = 1867, free = 642, used = 1224 MB
W/libc: pthread_create failed: couldn't allocate 1036288-bytes mapped space: Out of memory
E/libc++abi: terminating with uncaught exception of type std::__1::system_error: thread constructor failed: Try again
A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 6922 (pool-2-thread-1), pid 26789 (.android.camcam)
I/zygote: Background concurrent copying GC freed 39837(1268KB) AllocSpace objects, 8(5MB) LOS objects, 49% free, 5MB/11MB, paused 367us total 212.356ms
Disconnected from the target VM, address: 'localhost:59287', transport: 'socket'

The memory heap debug reports suggest that there is plenty of memory available. Maybe it becomes too fragmented?
Any ideas suggestions?

I've isolated the problem to tfLite so asking the question there: https://github.com/tensorflow/tflite-support/issues/269
Happy if you close this issue as not camerax related.

I've isolated the problem to tfLite so asking the question there: https://github.com/tensorflow/tflite-support/issues/269
Happy if you close this issue as not camerax related.


Linux app not working. Again

@Dylan-86, thanks for your activity on Bastyon 👍 We really appreciate your support. Our team will look into this soon. Don't hesitate to send more details if there are any.
Duplicate of https://github.com/pocketnetteam/pocketnet.gui/issues/425

As I know, it is fixed now. Closing this at this moment


Verify __resolveReference is cached

I did some quick check and it seems __resolvereference from federation is not cached. We should cache that.

related https://github.com/mercurius-js/cache/issues/71


Remove /scratch/$USER from Files dropdown

Looks like /scratch is the same as /data/scratch, so just remove it to reduce some confusion.

@flakrat should we favor /scratch or /data/scratch?  I think /scratch is the new mount point so that's technically more accurate.
Maybe we should just label these spaces $HOME, $USER, and $SCRATCH or /home /user /scratch.  (could even providing symlinks  to help with /user).  This is a way of educating users around concepts of functionality and provides future proofing against changes in our environment.  That is we could put real storage mounts anywhere.  Could also introduce stuff like /archive (aka rstore commodity disks)  (and more conceptually  /object and /box  etc)

@jprorama @flakrat : Any resolution on this? I like the idea of $HOME, $USER, $SCRATCH

@jprorama @flakrat Just looking back over this and figure we should close this MR and open a new one to remove /data/user/scratch/user from dropdown instead of /scratch/user. Yes?