Carla Agents Autopilot

As I understand, there are two autopilots in CARLA for agents:

The first one is the one that follows the route planner splines and is used in the spawn_npc.py example. I am trying to understand how does it follow the splines so I can apply changes etc. and hence trying to locate its code but I can't really locate where that is...? Can someone please help with locating these files and where the AI is so I can modify it if I wish?

The second AI is the one that doesn't need the splines and is used in automatic_control.py example. This one is clearly still in the development phase since it doesn't do much when it is run. This one's AI code is located in carla/PythonAPI/carla/agents/navigation/basic_agent.py and I am not interested in this one.

Thanks

Hi @nsubiron @felipecode,
I have asked this question a couple of times on different previous issues but no one seems to have the answer for it. I am solely held back by the issue of not being able to locate the AI code used in spawn_npc.py. Can please someone from Carla's team help with this?
Thanks in advance

Hi @Abanoub-G,
The autopilot code is in WheeledVehicleAIController.cpp, the code related to the route planners in RoutePlanner.cpp.

Hi @nsubiron
Thanks a lot for your prompt reply. I have investigated the code very well now. I have noticed that the vehicle follows the route using the way points in the array TargetLocations. I am bit confused about how the waypoints from the routeplanners get stored in the TargetLocations. It would be really kind of you if you can pinpoint for me where this actually happens?  Hence I can replace it with what I am trying to do, explained further in the paragraph below.
I need to change this to replace it by a number of waypoints that i will supply from my python script. So that instead of the vehicles following the route planners they will follow the waypoint coordinates I will supply from my python script. If you already have a function like this that I am not aware of please do enlighten me.
Please do not hesitate to mention any other pieces of info that you think I should know about in order to achieve my goal.
Thanks a lot.

Hi @Abanoub-G,
The routes are assigned by the RoutePlanner, when a vehicle enters the trigger box of a RoutePlanner, ARoutePlanner::OnTriggerBeginOverlap is called, then a random route is chosen and assigned to the vehicle's AI controller. You could disable this functionality here and call AWheeledVehicleAIController::SetFixedRoute directly from your code.
To make sure your changes are compiled you can use make launch to launch the editor, this compiles any files that have changed.

Hi @nsubiron ,
Thanks a lot for pointing out the AWheeledVehicleAIController::SetFixedRoute . However, I can't figure out how to use it. There is two things from my understanding that I need to do in order to make the vehicle follow my route. Please do correct me if I am wrong:

Pass my list of waypoints from my python script to the C++ WheeledVehicleAIController.cpp script. I have no clue how to do that. Is there a dedicated function that you guys have for passing from python to C++?

Then use the SetFixedRoute function to assign these waypoints to the vehicle; but I am not sure also where to call this function in the   WheeledVehicleAIController.cpp script in order to assign this waypoints to the vehicle. For example should it be called in the AWheeledVehicleAIController::TickAutopilotController() ?

Thanks

Hi @Abanoub-G,
Calling a method from Python is quite involved as you need to make changes in the whole pipeline from Python to UE4. I would recommend taking a look at how "set_autopilot" method is implemented as is sort of similar.

You create a new RPC binding in CarlaServer, like set_actor_autopilot.
In the client side, you create a new method to calling this binding, Client::SetActorAutopilot.
Wrap it in the Simulator class, Simulator::SetVehicleAutopilot.
Create a method in the Vehicle class, Vehicle::SetAutopilot.
Finally, bind that method with Boost.Python, vehicle.set_autopilot.

You don't need to modify the controller, by setting a fixed route the autopilot will already follow those waypoints.

Hi @nsubiron
Thanks a lot for your reply. Will try to implement this and get back to you with any questions; but before I get indulged with this process I would like to double check on two points:

How would you use the AWheeledVehicleAIController::SetFixedRoute function normally to set a route? As in what were you proposing how I use it when you mentioned it to me?

Also, just to double check there isn't a way where you can tell a vehicle to go to a location from the python scripts that already exists. For example, you can't say GoToLocation(carla.location(x), carla.location(y), carla.location(z)) on the python script and the car will do it, yeah? Note: I don't mean navigate to this location I mean just go straight ahead to it.

Thanks

Just provide the waypoints you want to this function and the vehicle will follow them.
No, unfortunately there is no method in our API to tell a vehicle to go to a location.

@Abanoub-G Any update to your problem?  Hope you can share your experience about how to let the car follow predetermined route!  Thanks

Hi @Abanoub-G,
Calling a method from Python is quite involved as you need to make changes in the whole pipeline from Python to UE4. I would recommend taking a look at how "set_autopilot" method is implemented as is sort of similar.

You create a new RPC binding in CarlaServer, like set_actor_autopilot.
In the client side, you create a new method to calling this binding, Client::SetActorAutopilot.
Wrap it in the Simulator class, Simulator::SetVehicleAutopilot.
Create a method in the Vehicle class, Vehicle::SetAutopilot.
Finally, bind that method with Boost.Python, vehicle.set_autopilot.

You don't need to modify the controller, by setting a fixed route the autopilot will already follow those waypoints.

Hi @Abanoub-G,
Calling a method from Python is quite involved as you need to make changes in the whole pipeline from Python to UE4. I would recommend taking a look at how "set_autopilot" method is implemented as is sort of similar.

You create a new RPC binding in CarlaServer, like set_actor_autopilot.
In the client side, you create a new method to calling this binding, Client::SetActorAutopilot.
Wrap it in the Simulator class, Simulator::SetVehicleAutopilot.
Create a method in the Vehicle class, Vehicle::SetAutopilot.
Finally, bind that method with Boost.Python, vehicle.set_autopilot.

You don't need to modify the controller, by setting a fixed route the autopilot will already follow those waypoints.

thx @nsubiron, i tryed and succeeded in adding a new PythonAPI function as your suggested pipeline, with input parameter is a single float number. But how can i use a python list parameter sending to C++ Server side and translating to a std::vector?

I am looking for this functionality. @linxigjs @Abanoub-G any update? where you able to implement those functionalities?
@nsubiron Is this the only way to send/receive data (like waypoints) from python API to server? Coz, my need is like "I want to collect data (waypoints from the server with timestamp), so that I can calculate features like distance/orientation to next_waypoint, distance to lane center and other such feature" I know I can use get_waypoint() method and use basic_agent or roaming_agent -- on client-side, however, I want to utilize the Autopilot functionality (Server-side). Any suggestion/direction would be really helpful. Thanks in advance.

Please look at the file which actually should install the dist folder, Util\BuildTools\BuildPythonAPI.bat  in my case this like had bug : py -3 setup.py bdist_egg . . . remove -3 and run again.


Metadata for inputs

As an Ensemble app developer, I want to optionally be able to set type and description for a View or Widgets inputs so other users of my widgets/views know what to pass to it.
Widget:
  inputs:
    - id
    - age:
        required: false
        type: integer
        description: Users age
        default: 18
        testValue: 18

testValue is only passed when viewing the app in debug mode or studio's preview.

not that urgent, people can just document the types for now


Add docs for cuped attribution window

🚀 Deployed on https://65ba9133f8550f0f3eaaf2a6--cozy-fox-0defec.netlify.app


Update the MergeLink type so the Team Chain can be sent via Automerge

With this change an Automerge.FreezeObject<TeamSignatureChain>> can be given as the argument to a Team.merge().
This allows people to use Automerge to transfer chain updates between nodes without writing special logic to determine which links are new and having users create MergeLink nodes explicitly.
Also, the DeviceType and TeamSignatureChain types are not publicly exported but it might be useful to do so.
import 'localstorage-polyfill'
import Automerge from 'automerge'
import Auth from '@localfirst/auth'
import { assert, TeamSignatureChain } from './types'

// Automerge does not like undefined values so remove them
function removeUndefinedValues<T>(obj: any) {
  return JSON.parse(JSON.stringify(obj)) as T
}

const userConfig = {
  deviceName: 'Laptop',
  deviceType: 1, // DeviceType.laptop,
  seed: 'passw0rd'
}
const alice = Auth.createUser({...userConfig, userName: 'Alice'})
const bob   = Auth.createUser({...userConfig, userName: 'Bob'})

const aliceTeam = Auth.createTeam('dream', {user: alice})
let aliceDoc: Automerge.FreezeObject<TeamSignatureChain> = Automerge.from(removeUndefinedValues(aliceTeam.chain))

// This listener updates aliceDoc whenever the chain in aliceTeam updates
aliceTeam.addListener('updated', ({head:headId}) => {
  const event = aliceTeam.chain.links[headId]
  aliceDoc = Automerge.change(aliceDoc, (d) => {
    d.links[headId] = removeUndefinedValues(event)
    d.head = headId
  })
})

// Invite Bob and admit them into the team
const {invitationSeed} = aliceTeam.invite('Bob')
const proof = Auth.generateProof(invitationSeed, 'Bob')
aliceTeam.admit(proof)

// Send Bob the team membership history (Automerge Doc)
const bobTeam = new Auth.Team({
  source: aliceDoc,
  context: {user: bob}
})

// Alice sends their chain to Bob so he can initialize it
let bobDoc = aliceDoc
// This listener is the same as for aliceTeam+aliceDoc.
// It updates bobDoc whenever the chain in bobTeam updates
bobTeam.addListener('updated', ({head:headId}) => {
  const event = bobTeam.chain.links[headId]
  bobDoc = Automerge.change(bobDoc, (d) => {
    d.links[headId] = removeUndefinedValues(event)
    d.head = headId
  })
})

bobTeam.join(proof)

// Merge Bob's new keys into Alice's chain
// Confirm that merging Bob's chain into Alice's makes them the same
assert(bobDoc.head !== aliceDoc.head)
aliceTeam.merge(bobDoc)
assert(bobDoc.head === aliceDoc.head)

👍


Update "kubectl docker" command to include "--"

"--" is now required after "docker" and before extra args.

This change is

I've signed the CLA.


Q: XSD for archimate file format

Hi @Phillipus
Just a quick question. I’m thinking of manipulating Archi’s file format (.archimate) — not the open exchange format — via XSLT.
I wonder if there exists an XSD?
I’m concerned if there is some order specified on the XML elements (xs:sequence) or if the order is completely irrelevant.

Hi,
the attached XSD has been generated by the Eclipse EMF model generator. However, looking at it, it is not accurate as it declares some elements as attributes ("documentation" for example). It should, though, give an idea.
ArchimateXML.xsd.zip

I'll close this as it's not a bug or feature request. If you have any more questions related to this, the Archi forum is the best place for discussion.

@Phillipus Just a final note: Thanks for your help! In future I will use the Archi forum for questions. Fyi: I was able to re-sort the top-level folder structure and Archi read the modified file without any problems.


[red-knot] support builtins scope, via resolving to typeshed builtins.pyi

Requires integrating typeshed into the module resolver.

This is done.


Improve projectFile pattern

{
namespaceName: string,
projectName: string,
branchName: string
}

Released on 5.0.1 version


Incorrect register name for CRC "POLY"

Hi,
In the reference manual (RM_AT32F421_EN_V2.03.pdf), the POLY register is incorrectly named IDT. I confirmed that the library code seems correct. The header text for 10.3.5 is a copy of 10.3.4.
10.3.4 Initialization register (CRC_IDT)
Bit Register Reset value Type Description
Bit 31: 0 IDT 0xFFFF FFFF rw
Initialization data register
When CRC reset is triggered by the RST bit in the
CRC_CTRL register, the value in the initialization register
is written into the CRC_DT register as an initial value.
10.3.5 Initialization register (CRC_IDT)
Bit Register Reset value Type Description
Bit 31: 0 POLY 0x04C1 1DB7 rw
Polynomial coefficient
The generated polynomial is a divisor in CRC calculation.
Using CRC32 mode, this polynomial coefficient is
0x4C11DB7. Users can also set the polynomial coefficient
according to their needs.

Thanks for your reply, we will fixed the issue at next version of the reference manul.


@ShreyaPrasad1209 It looks like you're assigned to a few other issues. I'm going to leave this one unassigned for now to let everyone have an opportunity to pick up a bite sized issue 💛

@ShreyaPrasad1209 It looks like you're assigned to a few other issues. I'm going to leave this one unassigned for now to let everyone have an opportunity to pick up a bite sized issue 💛
Originally posted by @janiceilene in https://github.com/github/docs/issues/4851#issuecomment-840169939

@emilyistoofunky please close this issue as this has been opened by some spam account!

On Mon, May 17, 2021, 8:12 PM Janice @.***> wrote:

Closed #6484 https://github.com/github/docs/issues/6484.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/github/docs/issues/6484#event-4757965899, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASWTVPHHQICLIOMOV6JJPHDTOHLLTANCNFSM447U4TQA
.


Beginning of course notes for OCaml class

00-outline.md contains a rough outline of the course
01-intro.md contains the intro section in its entirety
02-basics.md contains the basics section in its entirety
This is what we think the ordering of sections by importance / time it takes to
teach (excluding intro):

Combinators
ADTs
Functions
Recursion
Basics
Async
Modules
Mutation
Parametric Polymorphism

Co-authored-by: Nathan Holland<EMAIL_ADDRESS>

Closing as we're going with the latest proposal

@bkase but this is still being used for the classes??


Added api for record set count and displayed in portal

Fixes #1244.
Changes in this pull request:

Added api for record set count and displayed in portal

Steps:
Login to the vinyldns
zones > manage records

Looks good, but I'm wondering if we should also include documentation for the new api as part of this PR so we don't forget about it

Can we add a separate PR for Docs since we can have only api and portal changes here. I will open a PR and add it in comments.

Looks good, but I'm wondering if we should also include documentation for the new api as part of this PR so we don't forget about it
Logged Issue
https://github.com/vinyldns/vinyldns/issues/1309


[feature] Load Custom Markdown Page/Note when starting brain

Similar to Homepage plugin obsidian://show-plugin?id=homepage

I can add a setting for a default home thought, I can even make it the daily note or a specified file.
Note that already today, if you set up bookmarks in obsidian, then if you click the empty search box in the top right, the list of bookmarks will be shown.


Ill-formed equality for std::optional<hana::tuple>

hana/detail/operators/comparable.hpp contains this:
        template <typename X, typename Y, typename = typename std::enable_if<
            detail::comparable_operators<typename hana::tag_of<X>::type>::value ||
            detail::comparable_operators<typename hana::tag_of<Y>::type>::value
        >::type>
        constexpr auto operator==(X&& x, Y&& y)
        { return hana::equal(static_cast<X&&>(x), static_cast<Y&&>(y)); }

The problem is that hana::tag_of is idempotent, and so operator==(hana::tuple<int>(0), hana::tuple_tag{}) remains a viable overload -- the SFINAE constraint happily considers hana::tuple_tag to be a sequence of some sort -- but then blows up inside hana::equal().  Within hana::equal(), the expression hana::length(hana::tuple_tag{}) appears, and is ill-formed.
This will all happen any time you do x == y, where x and y are each a hana::tuple in a std::optional.  Minimal repro:
#include <boost/hana.hpp>
#include <optional>
#include <cassert>

int main() {
    std::optional<boost::hana::tuple<int>> attr;
    auto const copy = attr;
    assert(attr == copy);  // <-- Kablooey!
}

Best of luck.  This is real thorny.  I was able to fix it locally, but my fix broke all kinds of stuff not in the immediate path of my changes -- so, no real fix at all.

Your example compiles fine with -stdlib=libc++. I think the explosion happens with comparing T and optional<T> which the libstdc++ version must be using internally.
#include <boost/hana.hpp>
#include <optional>
#include <cassert>

int main() {
    boost::hana::tuple<int> x{};
    std::optional<boost::hana::tuple<int>> attr;
    assert(attr == x);  // <-- Kablooey!

https://godbolt.org/z/95fP4b
<source>:8:17: note: in instantiation of function template specialization 'boost::hana::detail::operators::operator==<std::__1::optional<boost::hana::tuple<int> > &, boost::hana::tuple<int> &, void>' requested here

    assert(attr == x);  // <-- Kablooey!

boost::hana::detail::operators::operator==<std::__1::optional<boost::hana::tuple<int> > &, boost::hana::tuple<int> &, void> is being called right off the bat.
Perhaps that operator should fail if the underlying hana::equal call should fail.
I suggested a similar solution to the same issue with Struct equality in https://github.com/boostorg/hana/issues/460

Right!  Should have mentioned that this was with GCC/libstdc++.  I agree with the approach for the fix, but was unable to figure out how to do so -- there's a lot of code around there that is highly interdependent.

Yeah, the tag_of thing really is the issue.
How about this? https://github.com/boostorg/hana/pull/472
I made those operators not consider types that are the same as their tag type since that is never the case in the Boost.Hana types that use them. (I also fixed the Struct thing too)

Yes!  That fixed about a million errors I had in some crazy, autogenerated test cases.  I peed a little from all the excitement.  Thanks, Jason.

Fixed by 4f5157bc425eac8e115d597142932fef2e535282, thanks Jason.


Update dependencies

oh right, this is necessary to make CI pass the nightly-clippy job for other PRs, because we're using a new nightly with a recently-removed feature.


Node: update transactions binary args returns

Updates transaction tests to run with decoder string or bytes.
Testing was responsible for finding: https://github.com/valkey-io/valkey-glide/issues/2325

Relevant?


Transaction History

Describe the solution you'd like
Total kwh used by tag_id for the last week/month/year
This may already be possible but I'm not sure how.

@lbbrhzn @grantkeymer suggest the tag_id gets added to the extra attributes of the session energy metric. Then it could be extracted in a value template or similar to produce custom sensors/aggregators by users. Thoughts?

I saw this request and my immediate thought was that this kind of function is really up to users to implement for themselves.  The question then becomes where to store the tag_id so it can be associated with the energy supplied to a user in possession of that tag?
Your idea of storing the tag_id as an extra_attr of the session energy metric therefore makes a lot of sense.  However, users would need to ensure they retrieved the tag_id at the close of a charging session, otherwise it would be overwritten when a new session started.

With a combination of a sensor template https://www.home-assistant.io/integrations/template/ and meter https://www.home-assistant.io/integrations/utility_meter/ users should be able to create a "tag_id" specific sensor and aggregate on whatever frequency they choose.

@warksit see #419, once you've got it setup please document the approach for the wiki.

@warsit, did you get it working?

I use the built-in energy dashboard of HA to track long-term ststistics and it works quite well.
Habe built a template sensor on top of energy_active_import_register to avoid smaller or zero values (as I had issues with the values when a new charging session started).
you could also enhance this pattern and create separate sensors per tag_id I guess…


(PDB-2398) Add to the jar and test delete_reports.sql

Still needs docs

CLA signed by all contributors.

Hi hi. I hope you're all doing well.
I seem to be listed in a codeowners file or something so I'm getting notifications now to my personal email. Since I was laid off last Friday, it would really help me if I could be removed from the lists. Thanks!

Hi hi. I hope you're all doing well.
I seem to be listed in a codeowners file or something so I'm getting notifications now to my personal email. Since I was laid off last Friday, it would really help me if I could be removed from the lists. Thanks!

Hey, I'm really sorry to hear that :(
I'll update the codeowners file now. I hope you're well.


ntia-checker fails for files under fileName must not be an absolute path

ntia-checker fails for files under fileName must not be an absolute path
Failure message is
file name must not be an absolute path starting with "/", but is: /etc/alternatives/README
Nta-checker version is - 0.5.0

Thanks, @m-dhana, for the bug report!
Would you mind providing the SBOM you used? Or a stylized version of that SBOM? That would help in debugging this issue.

@jspeed-meyers - Unfortunately, I cannot give the SBOM. All, I say is the error message is getting displayed when the sbom files has this info
"files": [   {    "fileName": "/a/b/c/d",    "SPDXID": "SPDXRef-File-xyz",    "checksums": [     {      "algorithm": "SHA1",      "checksumValue": "0000000000000000000000000000000000000000"     }    ],    "licenseConcluded": "NOASSERTION",    "copyrightText": "",    "comment": "layerID: sha256:123"   },

@m-dhana, understood. We'll do our best to debug :)

@m-dhana:
I did a little digging and this is what I provisionally found.
First, I changed line 194 in SPDXRdfExample-v2.3.spdx.rdf.xml in tests/data/no_elements_missing to:
<spdx:fileName>/etc/alternatives/README</spdx:fileName>

and when I ran the tool on it, I got the type of error you documented:
The provided document is not valid according to the SPDX specification. The following errors were found:

file name must not be an absolute path starting with "/", but is: /etc/alternatives/README

I then dug into the SPDX specification and found section 3.4 on "Package File Name," which says:

3.4.2        Intent: Here, the actual file name of the compressed file containing the package may be a significant technical element that needs to be included with each package identification information. If a grouping, like a set of files in a subdirectory, is being treated as a package,  the subdirectory name may be appropriate to provide. Subdirectory name is preceeded with a “./”,

So I think the "bug" is not a bug from the perspective of the SPDX specification and the python-tools implementation. (python-tools is the awesome SPDX python library underlying `ntia-conformance-checker.) In other words, I think that if you add . "./" at the beginning of the files, then you will not receive an error. When I change the file name to  ./etc/alternatives/README, I no longer get an error.
Does this make sense? Thoughts? If it's helpful, I can @ the relevant maintainers from spdx-tools. Thank you, again, for the bug report~

@jspeed-meyers - Thank you for researching.
Yes, as per this article https://spdx.dev/spdx-specification-21-web-version/#h.37m2jsg the file name should start with "./".
I will make the changes needed.
Closing this ticket.


How to train this model?

I couldn't find training script. Would anybody share a copy? Thanks.

https://github.com/ganeshsamarth/fire-detection-durham


Misspelling/Typo

Line 5
    print("saved into databse")
should be
`    print("Saved into database.")

Make sure you refrence the line you are talking about!  like this:
https://github.com/Make-School-Courses/SPD-2.31-Testing-and-Architecture/blob/d6e46a6784b6ffe25cbcf9e349801d4c720ba1de/lab/refactoring/split_temp_variable2.py#L1-L5
Thank you for mentioning it


Check for error in the call to bindUnmountContainerRootfs

Not all calls of bindUnmountContainerRootfs check for error. The function itself needs to check the error while performing syscall.Unmount.

This issue was moved to kata-containers/runtime#164


react@16 did away with PropTypes; require prop-types instead

react@16 (a peerDependency) did away with the PropTypes export in favor of the prop-types module.
This updates all of the remaining references to ReactPropTypes (and yes, targets the 0.45-stable branch; I'll submit a PR that targets master as well).

Let's wait for #14641 to land first, then we can cherry-pick the commit from master.

FWIW, this commit includes other fixes that got taken care of somewhere on the way to the current master, so cherry picking won't hit all of the spots.

What's the status on this? Currently React Native 0.45.1 breaks with React 16.0.0 a 12 because of the prop types.

@mojodna which commits need to be cherry picked? If I can get a list of those commits already on master, that we can cherry pick onto 0.45 and thus cut a 0.45.2 release, I can get that moving.

We won't be doing this via PR, so let's move the discussion to the following issue: #14712


fix config json schema validation

only uses config_schema.json validation for config.json files in the .continue folder
adds separate check/plugin for continue_rc_schema.json json schema validation in intellij
and copying of continue_rc_schema.json to intellij resources
Working in VsCode
NOT WORKING IN INTELLIJ - NEED TO FIGURE OUT WHY NOT GETTING SUGGESTIONS IN INTELLIJ

seems like suggestions in intellij will show, you just have to manually enable the json suggestions in the setttings

@RomneyDa merge on your own once file is renamed


set-CSExternalAccessPolicy - effect on Teams users

https://support.microsoft.com/en-us/topic/keeping-students-safe-while-using-teams-for-distance-learning-f00fa399-0473-4d31-ab72-644c137e11c8#:~:text=To maintain student safety%2C you,to keep the environment safe.
as per the page above the section - How to prevent external access (federation) of students the csexternalaccesspolicy with the parameter of EnableFederationAccess set to false can prevent federation to Teams users.
The current page relating to Set-CSExternalAccessPolicy makes no mention of the settings impacts on Teams.

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

ID: 77fe1d21-20a0-9b8e-f08c-caf788005f9b
Version Independent ID: 486050c0-de7f-31d4-f09e-78324336eb26
Content: Set-CsExternalAccessPolicy (SkypeForBusiness)
Content Source: skype/skype-ps/skype/Set-CsExternalAccessPolicy.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

Thanks for reporting @thewrabbit


How to represent ISO date-time format?

How does one represent the combined ISO DateTime+TZ format in goaccess?
The format is like:  %Y-%m-%dT%H:%M:%S+TZ
Notes:

There is a literal 'T' between the Day and Hour fields, to indicate the beginning of the time fields
There is a literal '+' between the Second and Timezone fields
Timezone is represented with 4-digit number: UTC is 0000

Apache's custom log directive equivalent for this is {%Y-%m-%dT%H:%M:%S%z}t
awstats equivalent is:
%time5    - Date and time with format iso: yyyy-mm-ddThh:mm:ss, with optional timezone specification (ignored)
I have been looking through your custom log doc but cannot see how to represent the literal characters and the timezone.
Thanks in advance ..

Timezone is currently not being used, so you can simply use:
log-format %dT%t+%^ %h... rest of log-format...
time-format %T
date-format %Y-%m-%d

Million thanks for the super fast response .. I even learnt something new about how goaccess expects the log format to be specified from your examples above.
I will give this a go asap  ..
best regards

One more question, please ..
How to represent traffic load-balanced  across a clustered website .. ?
eg:
#server1
%dT%t+%^ <cluster-fqdn> <server1-ip> %h

#server2
%dT%t+%^ <cluster-fqdn> <server2-ip> %h

You will need to fetch those logs from each server, e.g., sshfs, rsyslog (centralized logging server), etc. And then parse them locally with goaccess.
BTW, if you need help with the log/date/time format, feel free to post a few lines from your access log and I can take a quick look.

@allinurl, thanks again for the quick response ..
The point of my question was to seek suggestion on log format (not on how to assemble/collate the log files from the respective cluster servers).
More specifically, how do I represent cluster-server hostname/ip-address?  I presume that '%v' will match the cluster-fqdn  ..
As an example, in apache2 custom log format, this could be represented as %A (or %A:%p) .. awstats offers %cluster ..

@laymonk If I understand your question, %h and %v is probably what you need to use. As I said, feel free to post a few sample lines from your access log and I can take a quick look at the  log/date/time format.

Closing this. Feel free to reopen it if needed.


Update() a many to many connection using wrong input type causing Unknown arg error

model User {
  id String @id
  shops Shop[]
}

model Shop {
  id String @id
  users User[]
}

await context.prisma.user.update({
  where: {
    id,
  },
  data: {
    shops: {
      connect: {
        id: shopId,
      },
    },
  },
});

Getting Unknown arg shops in data.shops for type UserUncheckedUpdateManyInput

Related issue: https://github.com/prisma/prisma/issues/5852
For some reason, the update method that's being called has generated input and return types for an updateMany which is causing the errors.

Yes, this would make sense, is there somewhere I can look in the generated client to confirm this theory for us?

Typically, when you hit the COMMAND key on macOS (or I alternatively I believe the CTRL key on Windows) and then click on the method, it should jump to its definition in Prisma Client's generated index.d.ts file where you can inspect all the generated types.
Which editor are you using?

This is assuming I am using VSCode I am guess.
Im currently use vim. I can take a look at the index.d.ts, what definition would I be looking for, the name of this model is Funnel for instance.

I am using a User model and this is what the definitions of update and updateMany look like respectively:
update<T extends UserUpdateArgs>(
  args: SelectSubset<T, UserUpdateArgs>
): CheckSelect<T, Prisma__UserClient<User>, Prisma__UserClient<UserGetPayload<T>>>

updateMany<T extends UserUpdateManyArgs>(
  args: SelectSubset<T, UserUpdateManyArgs>
): PrismaPromise<BatchPayload>

For context, this is the DEBUG output from this query:
express:router dispatching OPTIONS / +5s
  express:router query  : / +1ms
  express:router expressInit  : / +0ms
  express:router router  : / +0ms
  express:router dispatching OPTIONS / +0ms
  express:router <anonymous>  : / +0ms
  express:router corsMiddleware  : / +1ms
  express:router dispatching POST / +3ms
  express:router query  : / +0ms
  express:router expressInit  : / +0ms
  express:router router  : / +0ms
  express:router dispatching POST / +0ms
  express:router <anonymous>  : / +0ms
  express:router corsMiddleware  : / +1ms
  express:router jsonParser  : / +0ms
  body-parser:json content-type "application/json" +0ms
  body-parser:json content-encoding "identity" +1ms
  body-parser:json read body +0ms
  body-parser:json parse body +7ms
  body-parser:json parse json +0ms
  express:router <anonymous>  : / +0ms
  express:router <anonymous>  : / +0ms
  prisma:client Prisma Client call: +6s
  prisma:client prisma.user.findUnique({
  prisma:client   where: {
  prisma:client     id: 'asdflhasdfjkhasdlfkjhasdf'
  prisma:client   },
  prisma:client   include: {
  prisma:client     shops: {
  prisma:client       include: {
  prisma:client         shop: true
  prisma:client       }
  prisma:client     }
  prisma:client   }
  prisma:client }) +1ms
  prisma:client Generated request: +0ms
  prisma:client query {
  prisma:client   findUniqueUser(where: {
  prisma:client     id: "asdflhasdfjkhasdlfkjhasdf"
  prisma:client   }) {
  prisma:client     id
  prisma:client     email
  prisma:client     phone
  prisma:client     firstName
  prisma:client     lastName
  prisma:client     password
  prisma:client     resetToken
  prisma:client     status
  prisma:client     createdAt
  prisma:client     updatedAt
  prisma:client     shops {
  prisma:client       id
  prisma:client       shopId
  prisma:client       userId
  prisma:client       shopInviteId
  prisma:client       role
  prisma:client       status
  prisma:client       createdAt
  prisma:client       shop {
  prisma:client         id
  prisma:client         contactEmail
  prisma:client         supportEmail
  prisma:client         title
  prisma:client         url
  prisma:client         timezone
  prisma:client         currency
  prisma:client         logo
  prisma:client         plan
  prisma:client         status
  prisma:client         orderNumberPrefix
  prisma:client         orderNumberSuffix
  prisma:client         betterPaymentsMerchantId
  prisma:client         betterPaymentsUserId
  prisma:client         betterPaymentsApiKey
  prisma:client         betterPaymentsUnderwritingStatus
  prisma:client         betterPaymentsAccountStatus
  prisma:client         createdAt
  prisma:client         updatedAt
  prisma:client       }
  prisma:client     }
  prisma:client   }
  prisma:client }
  prisma:client  +0ms
  prisma:engine {
  prisma:engine   cwd: '/Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/prisma'
  prisma:engine } +5s
  prisma:engine Search for Query Engine in /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/.prisma/client +1ms
  plusX Execution permissions of /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/.prisma/client/query-engine-darwin are fine +5s
  prisma:engine { flags: [ '--enable-raw-queries', '--port', '51278' ] } +0ms
  prisma:engine stdout Starting a postgresql pool with 17 connections. +34ms
prisma:info  Starting a postgresql pool with 17 connections.
  prisma:engine stdout Fetched a connection from the pool +56ms
prisma:info  Fetched a connection from the pool
  prisma:engine stdout Started http server on http://<IP_ADDRESS>:51278 +1ms
prisma:info  Started http server on http://<IP_ADDRESS>:51278
  prisma:engine Search for Query Engine in /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/.prisma/client +3ms
  plusX Execution permissions of /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/.prisma/client/query-engine-darwin are fine +94ms
  prisma:engine stdout Fetched a connection from the pool +6ms
prisma:info  Fetched a connection from the pool
  prisma:engine Client Version: 2.17.0 +5ms
  prisma:engine Engine Version: query-engine 3c463ebd78b1d21d8fdacdd27899e280cf686223 +0ms
  prisma:engine Active provider: postgresql +0ms
  prisma:engine stdout Unknown error +8ms
prisma:query SELECT "public"."User"."id", "public"."User"."email", "public"."User"."phone", "public"."User"."firstName", "public"."User"."lastName", "public"."User"."password", "public"."User"."resetToken", "public"."User"."status", "public"."User"."createdAt", "public"."User"."updatedAt" FROM "public"."User" WHERE "public"."User"."id" = $1 LIMIT $2 OFFSET $3
  prisma:engine stdout Unknown error +7ms
prisma:query SELECT "public"."UsersOnShops"."id", "public"."UsersOnShops"."shopId", "public"."UsersOnShops"."userId", "public"."UsersOnShops"."shopInviteId", "public"."UsersOnShops"."role", "public"."UsersOnShops"."status", "public"."UsersOnShops"."createdAt" FROM "public"."UsersOnShops" WHERE "public"."UsersOnShops"."userId" IN ($1) OFFSET $2
  prisma:engine stdout Unknown error +15ms
prisma:query SELECT "public"."Shop"."id", "public"."Shop"."contactEmail", "public"."Shop"."supportEmail", "public"."Shop"."title", "public"."Shop"."url", "public"."Shop"."timezone", "public"."Shop"."currency", "public"."Shop"."logo", "public"."Shop"."plan", "public"."Shop"."status", "public"."Shop"."orderNumberPrefix", "public"."Shop"."orderNumberSuffix", "public"."Shop"."betterPaymentsMerchantId", "public"."Shop"."betterPaymentsUserId", "public"."Shop"."betterPaymentsApiKey", "public"."Shop"."betterPaymentsUnderwritingStatus", "public"."Shop"."betterPaymentsAccountStatus", "public"."Shop"."createdAt", "public"."Shop"."updatedAt" FROM "public"."Shop" WHERE "public"."Shop"."id" IN ($1,$2) OFFSET $3
PrismaClientValidationError: Unknown arg `digitalWallets` in data.digitalWallets for type FunnelUncheckedUpdateManyInput.
    at Document.validate (/Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:76461:19)
    at NewPrismaClient._executeRequest (/Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:78299:17)
    at NewPrismaClient._requestWithMiddlewares (/Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:78250:19)
    at /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:78243:53
    at /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/dist/utils/prisma.js:44:16
    at NewPrismaClient._requestWithMiddlewares (/Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:78243:16)
    at /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:78243:53
    at /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/dist/utils/prisma.js:27:16
    at NewPrismaClient._requestWithMiddlewares (/Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:78243:16)
    at /Users/danwetherald/Developer/BetterCart/refactor/bettercart/monster-bash/node_modules/@prisma/client/runtime/index.js:78243:53

We have confirmed this only happens when running within a graphql resolver where prisma is accessed via context.
We have also confirmed this still happens if prisma is manually imported into the resolver rather than using context.prisma with the same issue.
We ahve also confirmed this does work just fine with a node script that runs the exact same code with the same imported prisma module tried in the last test.

Hey @dan003400
Can you please share a minimal reproduction for this in a github repository?
I wasn't able to reproduce with my attempt.

@pantharshit00 - This seems to only happen when run within a graphql resolver - VERY strange, also, this only happens for this one specific model in this case. I have other resolvers that can perform a single update() just fine.

I would share more of a code example in a repo, but I actually have a number of other resolvers that are identical that work just fine, its only treating update() as updateMany() for this one model.
Anything else I can share that would help?

Just stumbled upon the issue!

This is why we were only seeing the issue in this one model and not the others.
We added the suggest middleware for soft deleting records here:
https://www.prisma.io/docs/concepts/components/prisma-client/middleware/soft-delete-middleware#option-2-use-middleware-to-determine-the-behavior-of-readupdate-queries-for-deleted-records

Seems like this has been resolved then 🎉


KHP-BROCADE-FC-PORT MIB files

Hi everyone
I have installed the plugin KHP-BROCADE-FC-PORT to monitor the CRC values. But I get a error:
snmp_parse_oid(): cannot parse OID "SW-MIB::swFCPortIndex".

So I guess I need the actual MIB files. But I can't find a place where I could download them and even Broadcom itself could not help.
How can I get it to work?
Thanks.

Hi Alephtaph, did you ever get this to work? I also am attempting to use this template and am stuck on this same issue.


Removing rake task for multiple titles and redis file to work

Migration for multiple titles was already run.
Migration from GenericFiles to GenericWork has lareday been run.

Coverage remained the same at 57.87% when pulling 448cd1a8518944319aefc92e543f2185a19047b8 on i#1443.2 into d2dc3b58b672cf6f8f9588851cdb3a10737ccc62 on develop.


Make AddAuthorization() idempotent

Found this issue which looking into making AddMvc() idempotent. You'll end
up with multiple pass-through handlers registered if two components call
AddAuthorization(). This is very possible to happen if used two frameworks
in the same app.

Hi @rynowak, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

/cc @HaoK

Ah yes, good catch thanks! :shipit:

@rynowak is this merged? Or waiting for anything?

Looks like not merged, I'll take care of it.

831785fe9fc4e3fd00889ce59b38c68a6c021a9a


Create view to show all radar graph data in one page

This would be the consolidated view of multiple graphs (where one can compare the multiple team's scores)

This is done (the colours and formatting need a bit of work, but that is a different issue)


output [object Object] in _variable.less and _variable.scss

I got css，less and scss files after I didi npm run transform-tokens, It was nice!
But output [object Object] in _variable.less and _variable.scss

Hey, which format are you using? Is it the "original (deprecated)" one? What is your setup the transformation? Are you using the default setup from https://github.com/lukasoppermann/design-token-transformer/blob/main/package.json ?

I followed the steps here lukasoppermann/design-tokens#transforming-tokens-using-amazon-style-dictionary. Is it possible that it is caused by Style Dictionary?

@lukasoppermann  I think I have figured out the problem.
https://github.com/lukasoppermann/design-token-transformer/blob/main/tokens/design-tokens-example.json was exported with "standard" format.


Fix broken link in README.md

flowtype link is broken. I fixed it

Pull Request Test Coverage Report for Build 10

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 7:
0.0%

Covered Lines:
38

Relevant Lines:
38

💛  - Coveralls


[Question/feature Request] Lerna support

Hi,
This is a very useful project. Is it possible to run madge at the root of a mono repository using lerna to get the circular dependencies? It would read the lerna.json file to find each package and read their dependencies.
Regards

It would be awesome

This seems a bit out of scope of madge. For what I see we can write a bash command for this. But this is doable despite of the decreasing popularity of learna.

@PabloLION Correct me if I'm wrong but it seems like it's not needed. If the feature request is to detect cyclical package dependencies within a lerna monorepo (and to fail in that case), then lerna already has this feature with its rejectCycles option.

Agreed. So we can close this issue?


Redirect To App Hosted url While accepting or decline the billing charges.

Hey Everyone, I have Developed a shopify app and i have used this Laravel Shopify Plugin.I have submitted My App for shopify store and that app is working good but only one problem that i'm facing for a long time that whenever i'm decline or accepting the billing charge on my app it will redirect to my hosting url and then again redirect to shopify app. I have tried everything in Traits/BillingControllerTrait.php  in vendor folder but it is redirecting to my hosting URL and then again back to shopify Dashboard that should not do any app. Any app should not redirect to any other URL after coming to Shopify Dashboard.So Can anyone tell me what can be solution for that it will be great.
My App URL: https://athulnair.in/simpleInvoice/public/login
Thank You.

Hmm, is the app url in your shopify app setup correct? Mine looks like this https://i.imgur.com/MQ5WMAu.png

Yes @tobiasdalhof app url setup is correct even installation process is also going well you can install the app and check set up is correct.

I dont understand the issue here?
You see the billing screen. [Host: Shopify]
Accepting or decling has a callback URL. [Host: Shopify]
Shopify sends the results to that billing callback URL (full redirect) where the logic is handled [Host: App]
Once completed, billing callback redirects to the home route for the app [Host: App]
If you're taking about the "flash" you see of your entire dashboard without the Shopify wrapping, this is normal. This is due to Shopify loading the page, then seeing its ESDK, then re-running it inside an iframe.

Yeah  as you said
If you're taking about the "flash" you see of your entire dashboard without the Shopify wrapping, this is normal. This is due to Shopify loading the page, then seeing its ESDK, then re-running it inside an iframe.
when i have submitted my app so shopify gave me the list of error in which only this error is giving me problem. error is  There should be no redirects while installing an app let alone any non-secure
sites. Please have this fixed.
so whenever i am accepting or decline the billing charge it is going to my [Host App] for logic handled. Is there anyway that i can execute my logic with any redirect to [HOST App].

I think something else is going on here, why did they mention non-secure? Is the app entirely on HTTPS?
Theres no way to not do a redirect. Shopify forwards the response (redirect) to the package, the package processes this, then redirects to the homepage.
Installation is the same game... you do a full page redirect to the permissions URL to Shopify. If they accept the app, Shopify redirects you to the callback URL on the package.
Everythings always a redirect...

This Non-secure issue i have solved but they are also saying that you should not redirect on any other link after installation process start.

I have been approved many times with the “redirect”. They must be talking
about something else, because all apps does this. Even their own Polaris
React components does this. Are you redirecting off of your apps URL at any
point? Are you sure you have integration enabled?
Cory C. Fail
Software Engineer
coryfail.com /<PHONE_NUMBER>

I think you'll need to contact them and ask them to explain this because
that sounds absurd.
On Wed., Oct. 31, 2018, 16:07 Dhruv Bhavsar<EMAIL_ADDRESS>wrote:

This Non-secure issue i have solved but they are also saying that you
should not redirect on any other link after installation process start.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ohmybrew/laravel-shopify/issues/134#issuecomment-434795261,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACTuOsuhB1Etvdi9cZXdyNr2owhz6ie7ks5uqe3zgaJpZM4YBxRl
.

okay thank you very much i should resubmit app and i'll ask them again.
Thank you very much.

I'll close for now, but if they respond with something tangible that seems like a bug in the package, please re-open. But as it stands, redirects are core to how Shopify functions for passing information from app to Shopify and Shopify to app during install and billing.


bug: Cortex API needs to support v1 path

Goal

Some API endpoints do not have v1 (e.g. /models)
Needs to have v1, otherwise we're going to get a lot of bug requests

I think this PR from @vansangpfiev is handled it already https://github.com/janhq/cortex.cpp/pull/1443
However, I will recheck the swagger.

@sangjanai transferring this to you, as a subtask of #1456. Feel free to close if completed

Marking as complete, thanks @sangjanai


feat: Add var service_tags

Description

Add the variable service_tags in the service module to configure individually when using the module directly
Motivation and Context

When using the service module directly, there is no option to set a specific tag for the service

Breaking Changes

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

  # module.ecs_service.aws_ecs_service.this[0] will be created
  + resource "aws_ecs_service" "this" {
      + cluster                            = (known after apply)
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 66
      + desired_count                      = 1
      + enable_ecs_managed_tags            = true
      + enable_execute_command             = true
      + force_new_deployment               = true
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "ex-fargate"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags                               = {
          + "Example"    = "ex-fargate"
          + "Name"       = "ex-fargate"
          + "Repository" = "https://github.com/terraform-aws-modules/terraform-aws-ecs"
          + "ServiceTag" = "Tag on service level"
        }
      + tags_all                           = {
          + "Example"    = "ex-fargate"
          + "Name"       = "ex-fargate"
          + "Repository" = "https://github.com/terraform-aws-modules/terraform-aws-ecs"
          + "ServiceTag" = "Tag on service level"
        }
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "ecsdemo-frontend"
          + container_port   = 3000
          + target_group_arn = (known after apply)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = (known after apply)
          + subnets          = (known after apply)
        }

      + service_connect_configuration {
          + enabled   = true
          + namespace = (known after apply)

          + service {
              + discovery_name = "ecsdemo-frontend"
              + port_name      = "ecsdemo-frontend"

              + client_alias {
                  + dns_name = "ecsdemo-frontend"
                  + port     = 3000
                }
            }
        }

      + timeouts {}
    }

[x] I have executed pre-commit run -a on my pull request

git commit -m "add var service_tags"
Terraform fmt............................................................Passed
Terraform wrapper with for_each in module................................Passed
Terraform validate.......................................................Passed
Terraform docs...........................................................Passed
Terraform validate with tflint...........................................Passed
check for merge conflicts................................................Passed
fix end of files.........................................................Passed
[feat/service_tags da688aa] add var service_tags
 4 files changed, 9 insertions(+), 1 deletion(-)

This PR is included in version 5.8.0 :tada:


GitHub Url Docs

EDIT: I can't read -- at first I thought the GitHub url was hard-coded, but I see now it's configurable.
Could the url parameter be added to the examples in the docs?  I'm using this with GitHub Enterprise.

You were absolutely right. I've made the changes.
Thanks!

I should probably rewrite the readme at some point, add a table for each configuration option, etc.
I'll think about it.


Block.canHarvest is being used incrorrectly

Here canHarvest is being called with an Item class and not the expected item id. Is this a bug or is it intentional?

Just now I realized that this pull request is fixing this exact issue.


It is recommended to add the showCursor attribute in the QuillEditor. basic() function.

It is recommended to add the showCursor attribute in the QuillEditor. basic() function. It is not possible to have only the readOnly attribute without the showCursor attribute.

Hi, thank you for the report, we had to close this issue since there are no interactions with it, please let me know if it should be reopened. feel free to ask us any other questions on GitHub


Error on view initialization:

Hi,
thanks for this component, it looks awesome and very promising.
Unfortunately, i run in an issue when using hidenav with super-tabs.
It was working in the beginning, then suddenly it stopped after building for android.
I was trying it using ionic serve, so maybe stopping and restarting it triggered this error. I don't know what could possibly break it.
Anyway, right now it appears as if hidenav is initialized before super-tabs is, resulting in this error:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'tabChange' of undefined
TypeError: Cannot read property 'tabChange' of undefined
    at HidenavShTabscontentDirective.ngAfterViewInit (ionic4-hidenav.js:1455)
    at callProviderLifecycles (core.js:28206)
    at callElementProvidersLifecycles (core.js:28171)
    at callLifecycleHooksChildrenFirst (core.js:28153)
    at checkAndUpdateView (core.js:38386)
    at callViewAction (core.js:38742)
    at execComponentViewsAction (core.js:38670)
    at checkAndUpdateView (core.js:38383)
    at callWithDebugContext (core.js:39716)
    at Object.debugCheckAndUpdateView [as checkAndUpdateView] (core.js:39299)
    at resolvePromise (zone-evergreen.js:797)
    at resolvePromise (zone-evergreen.js:754)
    at zone-evergreen.js:858
    at ZoneDelegate.invokeTask (zone-evergreen.js:391)
    at Object.onInvokeTask (core.js:34182)
    at ZoneDelegate.invokeTask (zone-evergreen.js:390)
    at Zone.runTask (zone-evergreen.js:168)
    at drainMicroTaskQueue (zone-evergreen.js:559)
    at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:469)
    at invokeTask (zone-evergreen.js:1603)

This is the piece of code from hidenav throwing this error (ionic4-hidenav.js:1455):
class HidenavShTabscontentDirective {
    /**
     * @param {?} el
     * @param {?} contentElem
     * @param {?} globals
     */
    constructor(el, contentElem, globals) {
        this.el = el;
        this.contentElem = contentElem;
        this.globals = globals;
    }
    /**
     * @return {?}
     */
    ngAfterViewInit() {
        this.name = this.globals.requestName();
        this.contentElem.nativeElement.setAttribute('hidenav-sh-tabscontent', this.name);
        $('hidenav-stretchheader', $(this.contentElem.nativeElement).parents().get().find((/**
         * @param {?} itm
         * @return {?}
         */
        itm => $(itm).find('[hidenav-stretchheader]').length))).attr('hidenav-sh-header', this.name);
        if (this.name) {
            if (typeof this.globals.data[this.name] == 'undefined' || this.globals.data[this.name] == null)
                this.globals.data[this.name] = [];
            this.globals.data[this.name].tabscontent = this.el;
            this.globals.data[this.name].tabscontentElem = this.contentElem;
            this.globals.data[this.name].supertabs = this.supertabs;
            this.globals.initiate(this.name);
            this.supertabs.tabChange.subscribe((/** <==========THIS LINE
             * @param {?} e
             * @return {?}
             */
            e => {
                /** @type {?} */
                let i = e.detail.index;
                /** @type {?} */
                let tabs = this.contentElem.nativeElement.querySelectorAll('super-tab');
                /** @type {?} */
                let results = [];
                for (let tab of tabs) {
                    /** @type {?} */
                    let cont = tab.querySelector('ion-content');
                    if (cont.attributes['hidenav-sh-content'])
                        results.push(cont.attributes['hidenav-sh-content'].nodeValue);
                    else
                        results.push(null);
                }
                if (results[i] != null) {
                    this.globals.resetContent(results[i]);
                }
            }));
        }
    }
    /**
     * @return {?}
     */
    ngOnDestroy() {
        delete this.globals.data[this.name].tabscontent;
    }
}

Debugging in chrome, this.supertabs is actually undefined.
The following is my component's HTML:
<hidenav-stretchheader header-height="90" init-expanded="true" no-border="true">
    <app-custom-header-component></app-custom-header-component>
</hidenav-stretchheader>

<ion-content hidenav-sh-tabscontent>
    <super-tabs [config]="SUPER_TABS_CONFIG">
        <super-tabs-toolbar [showIndicator]="false" slot="top" [scrollable]="true" [scrollablePadding]="false">
            <super-tab-button name="one">ONE</super-tab-button>
            <super-tab-button name="two">TWO</super-tab-button>

            <super-tab-button *ngIf="condition == 'U'" name="three">THREE</super-tab-button>
            <super-tab-button *ngIf="condition == 'U'" name="four">FOUR</super-tab-button>

            <super-tab-button *ngIf="condition == 'V'" name="five">FIVE</super-tab-button>
        </super-tabs-toolbar>
        <super-tabs-container>
            <super-tab>
                <ion-content hidenav-sh-content hidenav-tabspage>
                    <app-custom-component></app-custom-component>
                </ion-content>
            </super-tab>
            <super-tab>
                <ion-content hidenav-sh-content hidenav-tabspage>
                    <app-custom-component></app-custom-component>
                </ion-content>
            </super-tab>

            <super-tab *ngIf="condition == 'U'">
                <ion-content hidenav-sh-content hidenav-tabspage>
                    <app-custom-component></app-custom-component>
                </ion-content>
            </super-tab>
            <super-tab *ngIf="condition == 'U'">
                <ion-content hidenav-sh-content hidenav-tabspage>
                    <app-custom-component></app-custom-component>
                </ion-content>
            </super-tab>

            <super-tab *ngIf="condition == 'V'">
                <ion-content hidenav-sh-content hidenav-tabspage>
                    <app-custom-component></app-custom-component>
                </ion-content>
            </super-tab>

        </super-tabs-container>
    </super-tabs>
</ion-content>

And this is the super-tabs configuration:
private SUPER_TABS_CONFIG = {
    dragThreshold: 100,
    allowElementScroll: true,
    maxDragAngle: 40,
    sideMenuThreshold: 50,
    transitionDuration: 300,
    shortSwipeDuration: 300,
    debug: true,
    avoidElements: true,
    sideMenu: 'left'
  };

I installed super-tabs as a separate package, and I'm noticing that i see two super-tabs in my npm list :
+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS><---this one under hidenav
| | +--<EMAIL_ADDRESS>| | `--<EMAIL_ADDRESS>deduped
| +--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>deduped
...
+--<EMAIL_ADDRESS><---this one as a "standalone" package
| +--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>deduped

I even tried using version 6.1.2, but the error persists.
Any suggestion? Am i missing something here?

Hi, the plug-in hasn't been maintained lately and i need to re-adjust the
packages. will let you know when i do
On Sun, Jan 5, 2020, 4:56 PM rastafan<EMAIL_ADDRESS>wrote:

Hi,
thanks for this component, it looks awesome and very promising.
Unfortunately, i run in an issue when using hidenav with super-tabs.
It was working in the beginning, then suddenly it stopped after building
for android.
I was trying it using ionic serve, so maybe stopping and restarting it
triggered this error. I don't know what could possibly break it.
Anyway, right now it appears as if hidenav is initialized before
super-tabs is, resulting in this error:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'tabChange' of undefined
TypeError: Cannot read property 'tabChange' of undefined
at HidenavShTabscontentDirective.ngAfterViewInit (ionic4-hidenav.js:1455)
at callProviderLifecycles (core.js:28206)
at callElementProvidersLifecycles (core.js:28171)
at callLifecycleHooksChildrenFirst (core.js:28153)
at checkAndUpdateView (core.js:38386)
at callViewAction (core.js:38742)
at execComponentViewsAction (core.js:38670)
at checkAndUpdateView (core.js:38383)
at callWithDebugContext (core.js:39716)
at Object.debugCheckAndUpdateView [as checkAndUpdateView] (core.js:39299)
at resolvePromise (zone-evergreen.js:797)
at resolvePromise (zone-evergreen.js:754)
at zone-evergreen.js:858
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:34182)
at ZoneDelegate.invokeTask (zone-evergreen.js:390)
at Zone.runTask (zone-evergreen.js:168)
at drainMicroTaskQueue (zone-evergreen.js:559)
at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:469)
at invokeTask (zone-evergreen.js:1603)
This is the piece of code from hidenav throwing this error
(ionic4-hidenav.js:1455):
class HidenavShTabscontentDirective {
/**
* @param {?} el
* @param {?} contentElem
* @param {?} globals
/
constructor(el, contentElem, globals) {
this.el = el;
this.contentElem = contentElem;
this.globals = globals;
}
/*
* @return {?}
/
ngAfterViewInit() {
this.name = this.globals.requestName();
this.contentElem.nativeElement.setAttribute('hidenav-sh-tabscontent', this.name);
$('hidenav-stretchheader', $(this.contentElem.nativeElement).parents().get().find((/*
* @param {?} itm
* @return {?}
/
itm => $(itm).find('[hidenav-stretchheader]').length))).attr('hidenav-sh-header', this.name);
if (this.name) {
if (typeof this.globals.data[this.name] == 'undefined' || this.globals.data[this.name] == null)
this.globals.data[this.name] = [];
this.globals.data[this.name].tabscontent = this.el;
this.globals.data[this.name].tabscontentElem = this.contentElem;
this.globals.data[this.name].supertabs = this.supertabs;
this.globals.initiate(this.name);
this.supertabs.tabChange.subscribe((/* <==========THIS LINE
* @param {?} e
* @return {?}
/
e => {
/* @type {?} /
let i = e.detail.index;
/* @type {?} /
let tabs = this.contentElem.nativeElement.querySelectorAll('super-tab');
/* @type {?} /
let results = [];
for (let tab of tabs) {
/* @type {?} /
let cont = tab.querySelector('ion-content');
if (cont.attributes['hidenav-sh-content'])
results.push(cont.attributes['hidenav-sh-content'].nodeValue);
else
results.push(null);
}
if (results[i] != null) {
this.globals.resetContent(results[i]);
}
}));
}
}
/*
* @return {?}
*/
ngOnDestroy() {
delete this.globals.data[this.name].tabscontent;
}
}
Debugging in chrome, this.supertabs is actually undefined.
The following is my component's HTML:

ONE
TWO
        <super-tab-button *ngIf="condition == 'U'" name="three">THREE</super-tab-button>
        <super-tab-button *ngIf="condition == 'U'" name="four">FOUR</super-tab-button>

        <super-tab-button *ngIf="condition == 'V'" name="five">FIVE</super-tab-button>
    </super-tabs-toolbar>
    <super-tabs-container>
        <super-tab>
            <ion-content hidenav-sh-content hidenav-tabspage>
                <app-custom-component></app-custom-component>
            </ion-content>
        </super-tab>
        <super-tab>
            <ion-content hidenav-sh-content hidenav-tabspage>
                <app-custom-component></app-custom-component>
            </ion-content>
        </super-tab>

        <super-tab *ngIf="condition == 'U'">
            <ion-content hidenav-sh-content hidenav-tabspage>
                <app-custom-component></app-custom-component>
            </ion-content>
        </super-tab>
        <super-tab *ngIf="condition == 'U'">
            <ion-content hidenav-sh-content hidenav-tabspage>
                <app-custom-component></app-custom-component>
            </ion-content>
        </super-tab>

        <super-tab *ngIf="condition == 'V'">
            <ion-content hidenav-sh-content hidenav-tabspage>
                <app-custom-component></app-custom-component>
            </ion-content>
        </super-tab>

    </super-tabs-container>
</super-tabs>

And this is the super-tabs configuration:
private SUPER_TABS_CONFIG = {
dragThreshold: 100,
allowElementScroll: true,
maxDragAngle: 40,
sideMenuThreshold: 50,
transitionDuration: 300,
shortSwipeDuration: 300,
debug: true,
avoidElements: true,
sideMenu: 'left'
};
I installed super-tabs as a separate package, and I'm noticing that i see
two super-tabs in my npm list :
+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS><---this one under hidenav
| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>deduped | +--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>deduped
...
+--<EMAIL_ADDRESS><---this one as a "standalone" package
| +--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>deduped
I even tried using version 6.1.2, but the error persists.
Any suggestion? Am i missing something here?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/heidji/ionic4-hidenav/issues/4?email_source=notifications&email_token=AFUGDBCLGY7ZLKGPAH3LPWTQ4JQQXA5CNFSM4KC5SB62YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IEDLABQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFUGDBEW4NTWOM7OP7745EDQ4JQQXANCNFSM4KC5SB6Q
.

I'll be waiting then, thank you very much for your prompt response and effort.

Just a heads-up:
it seems to work quite fine with the version included in the node module of this project.
Before i was importing super-tabs like this:
import { SuperTabsModule } from '@ionic-super-tabs/angular';
and it was not working (as shown in the original post).
Then I tried importing super-tabs like this:
import { SuperTabsModule } from 'ionic4-hidenav/node_modules/@ionic-super-tabs/angular';
and it seems to work.
Hope this helps in updating to the latest version.

It is because you're using the outdated version from my project I assume. I will try to update it

It seems that the package works out of the box with the new versions of SuperTabs. Just remove that part in tsconfig.json:
{
//...
"include": [
    "src",
<EMAIL_ADDRESS>  ]
  //...
}

Hi,
thanks for your work here.
I'm sorry to bother you again, but i did update ionic4-hidenav to version 0.1.4, then proceeded to remove the tsconfig.json part, and now my project cant seem to find the module.
What i mean is, if i import hidenav into the Shared module as explained in the README (import { HidenavModule } from 'ionic4-hidenav';), ionic's build command (and Visual Studio Code) are complaining about the module not being found.
ERROR in src/app/shared/shared.module.ts:11:31 - error TS2307: Cannot find module 'ionic4-hidenav'.

11 import { HidenavModule } from 'ionic4-hidenav';
                                 ~~~~~~~~~~~~~~~~

[ERROR] An error occurred while running subprocess ng.

        ng.cmd run app:build exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.

i then tried importing as import { HidenavModule } from 'ionic4-hidenav/src/public_api'; but i got more errors, like the following:
ERROR in node_modules/ionic4-hidenav/src/lib/hidenav-sh-tabscontent.directive.ts:13:6 - error TS2554: Expected 2 arguments, but got 1.

13     @ContentChild(forwardRef(() => SuperTabs)) supertabs: SuperTabs;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

which i believe is bound to me using ionic 4 - angular 8:
Ionic:

   Ionic CLI                     : 5.4.11 (C:\Users\[user]\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.11.8
   @angular-devkit/build-angular : 0.801.3
   @angular-devkit/schematics    : 8.1.3
   @angular/cli                  : 8.1.3
   @ionic/angular-toolkit        : 2.1.1

Then i changed all the points where this error came up (not too many), adding , {static: true} as the second parameter, and the last error i got on build is this:
ERROR in ./node_modules/ionic4-hidenav/src/public_api.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: C:\PATH\TO\PROJECT\node_modules\ionic4-hidenav\src\public_api.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
The missing file seems to be part of a third party library. TS files in published libraries are often a sign of a
badly packaged library. Please open an issue in the library repository to alert its author and ask them to package the library using the Angular Package Format (https://goo.gl/jB3GVv).
    at AngularCompilerPlugin.getCompiledFile (C:\PATH\TO\PROJECT\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:869:23)
    at plugin.done.then (C:\PATH\TO\PROJECT\node_modules\@ngtools\webpack\src\loader.js:41:31)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Do you happen to know what am i doing wrong?
On a side note, i saw that in the example project (https://github.com/heidji/ionic4-hidenav-example) hidenav was imported directly from the app directory. Is that the right place? Or should we keep importing from node_modules?
Thanks again for your hard work.

@heidji bump with tag just to be sure, i do not know if comment's notifications are sent when the issue is closed.

normally the plugin should work out of the box, but yes, if it helps, just use the project like in the example repository. sorry for the confusion, i will check what's wrong with the published version when i have some free time again

Thanks again for your prompt response.
I tried using the plugin as it's used in the example and it now seems to be working fine (i just had to npm install jquery and npm install @ionic-super-tabs/angular).
I guess i'll be good like this for now, i'll keep in touch to let you know if something goes wrong.
Thanks again.

I made a big oopsie while publishing v 0.1.4, please install v 0.1.5


Add listenAddress option to the services than bind to an IP

This adds the option to use a custom bind address to Alertmanager, Prometheus and Thanos.
The current listenLocal behavior was kept and can be used together with this new options. It is completely backward compatible.
For Alertmanager cluster, it is now possible to use listenLocal and ListenAddress as well.

Can you elaborate on the use case(s) for this and why the current behavior is not sufficient?


Android Dev issues

Hello,
Has this been tested against Android studio and has anyone successfuly integrated this client into an Android native app ?
Thanks

Hello,
I have got it to compile with an android app but i'm not getting the packets to send. Here is the code so far.
@Override
protected void onCreate(Bundle savedInstanceState) {
    new Connection().execute();

}

private class Connection extends AsyncTask <Void, Void, Void>{

    @Override
    protected Void doInBackground(Void... arg0) {
        connect();
        return null;
    }

}

private void connect() {
    final NonBlockingStatsDClient statsd = new NonBlockingStatsDClient("test.test", "<IP_ADDRESS>", 8125);
    try{

        statsd.incrementCounter("bar");
        statsd.recordGaugeValue("baz", 100);
        statsd.recordExecutionTime("bag", 25);
        statsd.recordSetEvent("qux", "one");
        statsd.incrementCounter("bar");

    }catch(Exception e){
        e.printStackTrace();
    }

}

Is there anything i'm doing wrong ? If i use a packet sender app i can see the packets reaching my statsd server but with the above code, i get no errors and the packets don't show up on my server.

This library has not been tested on android, so I do not know if it will work.  You might try passing an error handler to the statsd client that logs any errors:
StatsDClientErrorHandler handler = new StatsDClientErrorHandler() {
    @Override public void handle(Exception ex) {
        android.util.Log.e(ex.getMessage());
    }
}
NonBlockingStatsDClient statsd = new NonBlockingStatsDClient("test.test", "<IP_ADDRESS>", 8125, handler);

Thanks for getting back to me, i will try again this evening and post the results back here.

How did you get on with your testing?


Get run_id correctly

Hopefully fixes #1. I checked https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows for the correct usage.
Currently testing in my (private) repo.

That's correct indeed.
Thank you.


Update scalafmt-core to 3.3.1

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:n:2

Codecov Report

Merging #1046 (43a8acf) into develop (2954248) will decrease coverage by 0.08%.
The diff coverage is 25.00%.

@@             Coverage Diff             @@
##           develop    #1046      +/-   ##
===========================================
- Coverage    89.61%   89.53%   -0.09%
===========================================
  Files          124      124
  Lines         9912     9912
  Branches       509      509
===========================================
- Hits          8883     8875       -8
- Misses        1029     1037       +8

Impacted Files
Coverage Δ

.../main/scala/com/twitter/algebird/DecayingCMS.scala
84.23% <0.00%> (ø)

...scala/com/twitter/algebird/InvariantAlgebras.scala
57.14% <0.00%> (ø)

...scala/com/twitter/algebird/generic/Instances.scala
75.86% <0.00%> (ø)

.../com/twitter/algebird/util/PromiseLinkMonoid.scala
77.77% <ø> (ø)

...main/scala/com/twitter/algebird/MomentsGroup.scala
79.04% <100.00%> (ø)

.../main/scala/com/twitter/algebird/Successible.scala
83.33% <0.00%> (-8.34%)
:arrow_down:

.../main/scala/com/twitter/algebird/BloomFilter.scala
93.36% <0.00%> (-1.33%)
:arrow_down:

...src/main/scala/com/twitter/algebird/Interval.scala
76.52% <0.00%> (-0.87%)
:arrow_down:

...a/com/twitter/algebird/immutable/BloomFilter.scala
95.08% <0.00%> (-0.82%)
:arrow_down:

.../scala/com/twitter/algebird/immutable/BitSet.scala
96.35% <0.00%> (-0.43%)
:arrow_down:

... and 1 more

Continue to review full report at Codecov.

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


TypeScript Extension Multiroot Support

Feature
Ensure that the TS extension works properly for multiroot workspaces
Items

[x] #30262 - Version selector
[x] #30415 - TS build task support
[ ] https://github.com/Microsoft/TypeScript/issues/16961 - Different inferred project per folder

Moving out to august as we are waiting on Microsoft/TypeScript#16961


Support object as SelectedItem on MaterialPicker

We are excited to announce that we are working on a new generation of controls based on Material Design V3.
This ticket has been included/fixed in the upcoming version of this NuGet package, which will include both current and new generations of controls.


Bumping network verivier version to v1.0.1

Bump network verifier version to v1.0.1

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 37.82%. Comparing base (d708d37) to head (c370fff).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #308   +/-   ##
=======================================
  Coverage   37.82%   37.82%
=======================================
  Files          22       22
  Lines        1668     1668
=======================================
  Hits          631      631
  Misses        997      997
  Partials       40       40

We can close this as obsolete, as a newer version of verifier was released today
/close


Why are get and set operators disallowed?

Intellij IDEA says: Unsupported [suspend operator "get"]
Is there a specific reason for this or is it just not implemented yet?
One use case would be a suspending map like:
interface AsyncMap<K, V> {
    operator suspend fun get(key: K): V
    operator suspend fun set(key: K, value: V): Unit
}

So I just ran into this while I was creating a little facade for our persistence system, and I actually think that the null semantics of a map make it not just antithetical to my use case, but antithetical to kotlin in general.
Thus I settled for
interface AsyncStore<K, V> {
  suspend fun getValue(key: K): V //in keeping with the "getValue" extension on Map, which is non-nullable
  suspend fun getOrNull(key: K): V //matches operator fun Map.get(), but requires explicit acceptance of null in keeping with most `orNull` kotlin conventions.

  suspend fun setValue(key: K): V //this still hurts though, the map[k] = v syntax is nice.
}


[Common] Tab navigation should be consistent within the modals

Describe the issue:
There should be a consistency when a page is navigated via tab. It should be "left to right" and "top to bottom". In some pages, this is not properly followed.

Add User - the tab gets lost after Username
Create Groups > Role Assignment page

How to reproduce:

Navigate to the above mentioned pages
Try to enter details by navigating through tabs
Verify the tab navigation

Expected behavior:
There should be a consistency when a page is navigated via tab. It should be "left to right" and "top to bottom".
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


IDE Feature Suggestion: goto anything for member signature

I'd like to leverage the "goto anything" from Visual Studio to allow to search for member signature:
example of signatures:

_ -> System.Type matches anything which is a function (whatever arity) and returns a System.Type
'a [] ->'a -> bool  matches things like Array.contains (it doesn't care of the order of arguments)
string seq -> string matches things like String.concat

Equivalent systems:

https://www.haskell.org/hoogle/
http://fsdn.azurewebsites.net/

We would need to discuss the conventions for the signature patterns, but this tool would be super helpful trying to figure out what to use from large code base (like the compiler).

The first thing we'd need is a decision on the prefix character.  We could try to extend t to recognize when you're tying a type signature rather than a type name, or come up with another prefix character.
Part of the issue is that Go to All is fundamentally based on names, so introducing this is a whole new mode of use.  I think it's a fantastic idea, but we'd also have to make sure whatever we do isn't pushing us into our own little universe.  I'm not privy to the details of how to add a new prefix character, but if so, we may need to make that a feature request for the team which owns Go to All.

go to anything uses parser trees. this feature requires typed ast, which I don't think possible for performance reasons.

@vasily-kirichenko / @cartermp actually thinking it doesn't have to fit in goto anything if that's a constraint, it could be a specific search tool similar to find all references.

test


Use ceil implication for sets

Needs https://github.com/kframework/kore/issues/1573
See #1578 for details

Fixed by #1574


Resources are missing from repo

Hey bud, I've been tinkering with your weed script and was so blown away at how well engineered it was I was looking through your repos to see what else I could learn from.
I saw this repo and was going to try it out (I've never seen it before but reminds me of some fish table games I've seen IRL) but realized the fishing code isn't actually in the repo but the documentation has been updated a few times with more instructions. Figured it was an oversight?

Regardless, looking forward to trying it out!
And out of curiosity.. are you a computer science or mathematics major? I'm a systems engineer and the weed code is more advanced than production corporate code I've seen some 40 year veterans spit out.

qb-fishy is intentionally not released. The code exists, and runs well, but has not been published. This is not an oversight.
I'd like to hope most veterans can implement a quadtree, but a lot of corpo programmers get stuck doing the same thing for 40 years. They get absurdly good at it, and even if it's not as "sexy" as optimizing an octree, it's still very useful to society. ;-)
No, I did not major in maff.

qb-fishy is intentionally not released. The code exists, and runs well, but has not been published. This is not an oversight.
I'd like to hope most veterans can implement a quadtree, but a lot of corpo programmers get stuck doing the same thing for 40 years. They get absurdly good at it, and even if it's not as "sexy" as optimizing an octree, it's still very useful to society. ;-)
No, I did not major in maff.

Regardless, it's some fun code to read. Thanks for clarifying. Do you have any plans to release it at some point?

No, not at this time.


Updating the community page

Discussion: https://forum.grin.mw/t/updating-the-grin-mw-page/10463
Changes in this PR:

remove the keybase widget
remove bi-weekly meetings section
make forum as visible as possible
link to grincc hub page

Looks good to me.


Error: Replacing 'langchain' with 'langchain_experimental'

I have updated all the new dependencies today and I started receiving below error:

Attached file is the full log.
Error Log.txt

You must still have old langchain.  Probably best to start with fresh env as the gradio4 changes were extensive in terms of packages.

You are right, I found the code somehow not updated.
It worked after the update.
Thank you very much!


Support for many-to-many associations

Is your feature request related to a problem? Please describe.
I am currently unable to create an association using a $links segment for a many-to-many association, using the API Proxy and API Product resources of SAP API Management. It requires a POST to the $batch endpoint of the service (there are some examples in the Batch Requests section of the API Proxy resource on API Business Hub).
Describe the solution you'd like
I would like to be able to build the correct URL using asChildOf, as it allows me to address the specific record and not the entire entity (e.g. /APIProducts('Federated_API') vs. /APIProducts). However, asChildOf requires me to pass the navigation field (e.g. apiProxiesApi.schema.API_PRODUCTS), which does not include the required $links segment.
Ideally, SAP Cloud SDK would identify this is a many-to-many association from the model metadata and automatically build the URL:

However, it would also be acceptable to pass this leading segment as an additional property to the asChildOf method as a workaround.
Describe alternatives you've considered
I have tried many combinations of asChildOf, appendPath, Deep Create, etc. without any luck. My only other recourse is to use an external library but I would lose the benefits of destination support and the conciseness of the fluent API.
Impact / Priority

Affected development phase: Release
Impact: Blocked
Timeline: Release scheduled for Q4 2022
Additional context
This is part of a code sample showing customers how to federate API documentation between different gateways (both SAP and Non-SAP) for a unified API catalog. It reacts to an inbound event, fetches the Open API spec programmatically from another provider, and creates a Remote API in SAP API Management.
Here is a complete sample payload for the batch call:
--batch_b2fe-fc86-d733
Content-Type: multipart/mixed; boundary=changeset_dbf2-c5bb-a344

--changeset_dbf2-c5bb-a344
Content-Type: application/http
Content-Transfer-Encoding: binary

PUT APIProducts(name='SimplifiedS4HANAProducts') HTTP/1.1
x-csrf-token: d776c7a92458b493-_X7FJI30ncQz7nl3UV0xvW856cU
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/json
Content-Length: 249

{"name":"SimplifiedS4HANAProducts","title":"Simplified S/4HANA Product API","scope":"","description":"

","version":"1","status_code":"PUBLISHED","isRestricted":false,"isPublished":true,"quotaCount":-99,"quotaInterval":-99,"quotaTimeUnit":null}
--changeset_dbf2-c5bb-a344
Content-Type: application/http
Content-Transfer-Encoding: binary

POST APIProducts(name='SimplifiedS4HANAProducts')/$links/apiProxies HTTP/1.1
x-csrf-token: d776c7a92458b493-_X7FJI30ncQz7nl3UV0xvW856cU
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/json
Content-Length: 32

{"uri":"APIProxies('Ping_CPI')"}
--changeset_dbf2-c5bb-a344
Content-Type: application/http
Content-Transfer-Encoding: binary

POST APIProxies(name='Ping_CPI')/$links/apiProducts HTTP/1.1
x-csrf-token: d776c7a92458b493-_X7FJI30ncQz7nl3UV0xvW856cU
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/json
Content-Length: 49

{"uri":"APIProducts('SimplifiedS4HANAProducts')"}
--changeset_dbf2-c5bb-a344--

--batch_b2fe-fc86-d733--

Hey @jmsrpp, in fact, we currently do not support this. We will try to come up with a solution, but I cannot promise that we will implement and release this future in Q4 2022. We will also discuss workarounds and will come back to you as soon as possible.

Hey @marikaner - Thanks a lot for responding to me. I understand and appreciate you discussing within the team. Feel free to reach me directly if you need any additional clarification or examples.

Dear @jmsrpp ,
Thank you very much for raising up in our OS repo.
I created a PR for adding more tests here for using appendPath:

with create requests
with batch requests

These tests are good examples for your use case.
It would be great if you can try and share your feedback.

Timeline: Release scheduled for Q4 2022

Regarding your time line, to be very honest, we are working on the next major version update.
I guess it's not realistic to completely support this feature with our typed client, before your deadline.
We are working on aligning an ADR, though, so the future plan will be clarified.
Let me know, if you have any questions.

Hi @jjtang1985 ,
Thanks for your efforts and for the sample. As mentioned to @marikaner, I understand the timeline constraints but wanted to be transparent about our previous plans. I reviewed the changes and have 2 questions:

How can I address creation of the link as a child entity, as follows? In this case I need to append the parent entity, which I was currently using asChildOf to generate. This prohibits me from appending /$links and /apiProducts as I need to specify the relationship field (e.g. apiProxiesApi.schema.API_PRODUCTS)
APIProxies(name='Ping_CPI')/$links/apiProducts
What is .stringProperty method of the entity builder? I could not find it in the documentation.

Hi @jjtang1985 @marikaner - Thanks for the follow up on this issue. I was able to get it working as it seems appendPath can be used to append anything and not just paths. I eliminated asChildOf and added something like:
.appendPath((name='Federated_API'), '/$links', '/apiProxies');
or
.appendPath((name='${proxyName}'), '/$links', '/apiProducts');
to the requestBuilder() calls for each entity. I also had to add 'as any' to the create() and changeset() calls to prevent compilation errors. Even though it is less than ideal, I can utilize this as a workaround in Q4 while you finalize an ADR and plan for type-safe support in the future.

Hi @jmsrpp ,
Awesome.
I'm happy to see it's working with the workaround.
Thanks for sharing your examples.
To answer your question:

What is .stringProperty method of the entity builder? I could not find it in the documentation.

The stringProperty is just a normal property of our test entity like any known properties of ApiProxies defined in the specification file in your case.
I'll leave this ticket open and update later.

Hi @jmsrpp,

I can utilize this as a workaround in Q4 while you finalize an ADR and plan for type-safe support in the future.

We had an internal alignment regarding this.
The "productive" would be using an "untyped"/"generic" OData client, which will hopefully be started early next year.
As a generic OData client, it should be used for "advanced" use cases that are not supported by the "typed" client.
A quick overview about the generic OData client would be the "Java SDK" documentation.
@marikaner , let's prioritise the generic client.

Unfortunately, we will not work on this topic due to other priorities.


Update README.md

This PR focuses on improving the legibility of the README, alongside minor typo and grammar fixes.
Notes:

I assumed that Woori refers to a Korean word. If I'm wrong, please let me know.
I didn't yet go over the several SELECT request descriptions but probably will later on.

I didn't yet go over the several SELECT request descriptions but probably will later on.
It is just one ### Select, I should have done the examples with ####. Will fix this soon, thanks.

Also, thanks on the congrats and the reviews.

I removed the hangul and added some other minor stuff

Fixed the 'sll' typo


$env:ChocolateyInstall is empty during package install

There is an unexpected behaviour that's getting the $env:ChocolateyInstall as null value.

PR raised: #129

@cribeiro84 Is this an issue for Chocolatey that should be raised? I would have though $env:ChocolateyInstall not being populated is a bug?
Does it happen when you install Chocolatey outside of cChoco or only when cChoco installs Chocolatey?

@pauby this issue happens during the Get-ChocoInstalledPackage call. When it tries to get the cache location, for some reaosn, the $env:ChocolateyInstall is null/empty but if I open a new PowerShell window and try to get the $env:ChocolateyInstall outside of the cChoco context, it works.

@cribeiro84 Thanks for confirming that. I think we need to look at what is causing the issue (sounds like scope) rather than working around it.
Can you give me steps you go through so I can replicate it?

I'm really sorry for the delay in replying back to you @pauby. What I did was just to install the cChoco module on my server and I ran the PowerShell as Administrator directly on the server. My DSC script I added the following block:
foreach ($chocoPackage in $node.ChocoPackages) {         cChocoPackageInstaller $("ChocoPackage$chocoPackage")         {                 Ensure = 'Present'                 Name = $chocoPackage         } }

Using your code I cannot reproduce this error. I do get a different error but if use:
        cChocoInstaller InstallChoco
        {
		InstallDir = "$env:ALLUSERSPROFILE\Chocolatey"
        }

	foreach ($chocoPackage in $node.ChocoPackages) {
		cChocoPackageInstaller $("ChocoPackage$chocoPackage") {
			Ensure = 'Present'
			Name = $chocoPackage
			DependsOn = '[cChocoInstaller]installChoco'
		}
    	}

It works. The part added is the DependsOn = '[cChocoInstaller]installChoco' to each package declaration and the:
        cChocoInstaller InstallChoco
        {
		InstallDir = "$env:ALLUSERSPROFILE\Chocolatey"
        }

Sorry for the delay. I was not able to reproduce the issue anymore, closing this issue.


DBZ-5119 Move Heartbeat creation to ConnectorConfig & descendants

https://issues.redhat.com/browse/DBZ-5119
@jpechane I reused the same issue number as the prior PR's work since we haven't released this yet.  If you'd rather this be a new Jira issue entirely I can certainly add a new follow-up and adjust this PR accordingly.

So there is clearly some stability issues with this change, I'm looking into it.


Demeter chains manager returns an invalid object

I follow Mocking Demeter Chains And Fluent Interfaces.
The following test gives this error: Return value of Mockery_2_MyApp_Model_Entity_PaymentTransaction::getOfferPayment() must be an instance of MyApp\Model\Entity\OfferPayment, instance of Mockery_3__demeter_getOfferPayment returned
    public function testProcessPayment()
    {
        $offerPayment =  m::mock('MyApp\Model\Entity\OfferPayment');

        $paymentTransaction = m::mock('MyApp\Model\Entity\PaymentTransaction');
        $paymentTransaction->shouldReceive('getOfferPayment->getOffer')->andReturn($offerPayment);

        $transactionManager = new TransactionManager();
        $transactionManager->processPayment($paymentTransaction);

         $this->assertInstanceOf('Offer', $paymentTransaction->getOfferPayment()->getOffer());
    }

Related class:
class TransactionManager
{
    public function processPayment(PaymentTransaction $paymentTransaction) {
        $itemGroupEntity = $paymentTransaction->getOfferPayment()->getOffer();
    }
}

What is wrong?

@Kwadz can you provide the implementation of getOfferPayment and getOffer methods? Thanks!

Sure, they're simple getters of ORM entities.
class PaymentTransaction extends AbstractTransaction
{

}

/**
 * @ORM\Entity
 * @ORM\Table(name="transaction")
 * @ORM\HasLifecycleCallbacks
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="type", type="string", columnDefinition="ENUM('PAYMENT', 'REFUND')")
 * @ORM\DiscriminatorMap({
 *       "PAYMENT"     = "PaymentTransaction",
 *       "REFUND"      = "RefundTransaction",
 * })
 */
abstract class AbstractTransaction
{
    /**
     * @ORM\OneToOne(targetEntity="OfferPayment", mappedBy="transaction")
     */
    private $offerPayment;

    /**
     * @return mixed
     */
    public function getOfferPayment() : OfferPayment
    {
        return $this->offerPayment;
    }
}

/**
 * @ORM\Entity
 */
class OfferPayment
{
    /**
     * @ORM\OneToOne(targetEntity="\Genius\Model\Entity\Offer")
     * @ORM\JoinColumn(name="offer_id", referencedColumnName="id")
     */
    protected $offer;

    /**
     * Get offer
     *
     * @return Offer
     */
    public function getOffer()
    {
        return $this->offer;
    }
}

You made me on the right way, I tested without the strict type   : OfferPayment at the end of getOfferPayment() and the error disappeared. It seems strict types are not supported.

@Kwadz I said almost definitely not. I haven't seen any PRs come in to attempt to do something like that and I hadn't given it any thought either, I don't really use the demeter chain feature.

Is there a chance this could be implemented?

@Danonk do you also have a test case that can reproduce this?

I have two general ideas for this, I'll see in the following days what works.


Kiwix.KiwixJS.Electron version 1.7.2-E

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

@ItzLevvie Thanks for noticing the inconsistency with 1.7.2_E vs 1.7.2-E. Darn. So I think possibly I need to close and re-do this PR because it will end up in the wrong directory? 1.7.2_E is in the manifest path on winget...  I guess this is why validation has just failed.


Change name of Working Groups to Rings

Category is called Working Groups https://ethereum-magicians.org/c/working-groups -- we should change the name to Rings.
Also, the "about this category" could use editing and point to the wiki and such https://ethereum-magicians.org/t/about-the-working-groups-category/305

Action required from user with forum user with sufficient privileges

I actually was thinking of not doing this, as it sacrifices clarity for consistency. Having Working Groups there helps communicate to new people what a Ring is, without making it harder for those already participating in Magicians to find their Rings.
Example:  "Rings: Data Ring" seems a lot more mysterious than "Working Groups: Data RIng".

I file issues to indicate that work needs to be done or a decision needs to be made. If it’s not assigned to anyone, no work gets done.

LOL, "I actually was thinking of not doing this"... I should have been more clear! I don't think that we should do this.

Nope, just leave it open. That was my point. We don’t have consensus.
I wasn’t necessarily filing this on my own behalf. I don’t remember the context.


ecliptik.com (update)

Domain name: https://www.ecliptik.com
Link to GTMetrix results: https://gtmetrix.com/reports/www.ecliptik.com/83P6RcY7/
Uncompressed page size: 22.4 KB

(replaced Google Analytics with Goat Counter and removed jquery)
Please fill in the following template too. It will speed up getting your site added. The example below uses example.com as the domain and an uncompressed page size of 81.4 KB.
Note: Please fill in the uncompressed size on line 1 (--data-size) AND line 2

  22.4 KB
  ecliptik.com

Great work. Welcome to the Green Team! :-)

Great work. Welcome to the Green Team! :-)


Drag and drop image

When do drag and drop image from my pc, my image not insert good, I mean structure html is not same like i add when press button insert image.
If press insert image the structure is

When drag and drop the structure is
Who can prevent drag and drop or make it do same action like add image to add default structure ?

Which browser are you using?
I don't think this plugin handle drag'n'drop image. I guess that your browser handle it on its own and create a  node when you insert the image. I also guess that the src of this image isn't a file path but a data:image.
Also, this feature is enabled by default in Medium-Editor (see the doc).
Maybe we can plan to handle drag'n'drop using the way we can upload an image.
@orthes thoughts? :)

I use Google Chrome  39.0.2171.95 and OS ubuntu 12 ...  thank you!