PlutoDependencyExplorer not understanding importing local modules

Here's an MWE:
using PlutoDependencyExplorer
const PDE = PlutoDependencyExplorer;
struct SimpleCell <: PDE.AbstractCell
    code
end

julia> let notebook = SimpleCell.(["mod = expr", "using .mod"])
               empty_topology = PDE.NotebookTopology{SimpleCell}();
               topology = PDE.updated_topology(
                  empty_topology,
                  notebook, notebook;
                  get_code_str = c -> c.code,
                  get_code_expr = c -> Meta.parse(c.code))
               order = PDE.topological_order(topology);
               order.runnable
       end
SimpleCell[]

Ideally this should return
2-element Vector{SimpleCell}:
 SimpleCell("mod = expr")
 SimpleCell("using .mod")

This is manifesting in errors in Pluto when I try to import a locally defined module.

Thanks! Is this also an issue in Pluto?

julia> order.errable
Dict{SimpleCell, PlutoDependencyExplorer.ReactivityError} with 2 entries:
  SimpleCell("using .mod") => MultipleDefinitionsError(Set([:mod]))
  SimpleCell("mod = expr") => MultipleDefinitionsError(Set([:mod]))

I think that mod should be seen as a reference of import .mod, it's currently not detected:

(This is an issue with ExpressionExplorer)


Fixes coins

Fixes design guideline violations of coins:

There's a minor guideline issue with the flags of the number 1s.
Two obvious solutions would be to:

have the flag at an angle
shrink them to fit

I'm personally not really a fan of either solution, but prefer the 1st out of the two.
We might also let this one slide to keep the general aesthetic of the original. 🙃

I think I'm with you the first ones looks the best. I don't really mind if a micro bit will be in the "2px" spacing area, on 100% you won't see it.


Instructions for developers

Would be nice if there were some instructions on how to set up a development environment for this repo in conjunction with a VirtualEnv.

Will do!


[BUILD] Minimize the build of travis

Why are the changes needed?

the Travis ci is not very powerful, we low its workload to a test with default profiles and use it as a backup when GA is out of service sometimes.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

It seems that we can remove .travis.yml directly, all the jobs of travis have been replaced by github action.

It seems that we can remove .travis.yml directly, all the jobs of travis have been replaced by Github action.

We have experienced several Github action crashes so far. With one CI work can help us unblock PRs
We also detect some hidden bugs because Travis's slowness. LOL.

Anyway, we can make Travis faster via separating and parallelizing tests from module to module


maxsource, sourceentity collection support, different texture support

This PR accompanies appleseed PR #1621.
Code is not intended for merge, just review of crude concept. Right now only appleseed lightmaterial supported and following textures render properly: Checker, Dent, Gradient, Marble, Noise, Wood, Splat, Speckle, Smoke. Some texture only work if they are placed as sub-texture into working texture - Tile texture for example works if placed into Checker's color. Unfortunately color adjusting/mixing/masking textures don't work right now.
Screenshot:

This is seriously cool!


Change storage upload url to always be md5 hash page

The idea of the rawstore is that the user MUST upload to storage object store at path that is md5 of the file.
Note: this may not be true for all deployments of this bitstore e.g. if we used it for the package store it would be different.
We could leave it to the client to be well-behaved and have already created an upload path that includes the md5 (but that seems dubious).
However, for now making sure we return an upload url that is the md5 hash makes sense and we can refactor later if / when we have the need.

Perhaps we should have it as a configuration parameter - e.g. as an env var containing a format string, such as
/files/{md5}/{filename}

@akariv agreed. I think the spec is that an env var parameter:
PATH with

e.g.

/files/{md5}
/{md5}
/files/

PATH may contain any format string available for a file in authorize API including {path} which is full path string (relative path to file in package). If the format variable is not available throw an error reporting that.
{
  "metadata": {
        "owner": "<user-id-of-uploader>",
        "name": "<data-set-unique-id>"
    },
  "filedata": {
      "<relative-path-to-file-in-package-1>": {
          "length": 1234, // or size?
          "md5": "<md5-hash-of-the-data>",
          "type": "<content-type-of-the-data>",
          "name": "<file-name>"
      },
      "<relative-path-to-file-in-package-2>": {
          "length": 4321,
          "md5": "<md5-hash-of-the-data>",
          "type": "<content-type-of-the-data>",
          "name": "<file-name>"
      }
      ...
  }
}

@zelima can you look into this.

FXIED


Instruct npm that required version of node is >=8

more info. https://node.green/#ES2017-features-async-functions

Hey~! Sorry, but we have a sync version that allows 6.x intentionally.


Deprecation warnings are not show when compiler uses cached data.

Compiler warnings about deprecated methods (probably other warnings as well) aren't show if the compiler used the cache to compile your code.

Compile it second time, no warnings are seem.

Why it matters
If you are trying to remove the deprecation warnings from a shard, you need to remove the ~/.cache/crystal/ on each compilation to really know if your job is done.
Another bad side is that you can think you code was no warnings, when it has.

I find this a bit hard to believe because the semantic and codegen pass are never reused. The only thing that's reused is compiling bc to o.
However, macro run programs are cached, so only compiled once. Could it be that lsp uses macro run?

Could you also provide code to reproduce this?

Yes, it does, basically the deprecated JSON::Mapping.
I'm a bit busy today but I'll put here (in the next 24h) a small example to make everyone life easier.

You are right, I was not abler to reproduce the issue, If I compile a library with warnings using shards build it doesn't show the warnings (possible by shards using --exclude-warnings=lib), but using crystal build it always show. The issue (if any) is related to shards, not crystal.
My bad, closing the issue.

@hugopl to clarify shards does not change or set --exclude-warnings. The --exclude-warnings=lib is the default value in crystal itself.

Yeah, just noticed this... I think my confusion was because the compiler show warnings even on lib code if an error happen in some code using the lib code... anyway, next time I'll bring better/clean examples to not waste anybody time with wrong assumptions.


RangeError (index): Invalid value: Not in inclusive range 0..89040: 89041

I get a range error passing my CSV
colleges.csv

This is not a regular CSV converter. The CSV needs to be in an specific format defined in the README. (For example strings must be quoted)


Validations and models specs

In this pull request, I did the following:

[ ] Created a branch.
[ ] Added validations for User and Post models.
[ ] Added unit specs.
[ ] Check the linters.

The following image shows the results of the tests run.

Here I copy the new image from the output of test.html

Thanks @brainconnect93.


Run http2fuzz against this library

http://yahoo-security.tumblr.com/post/134549767190/attacking-http2-implementations

Unfortunately http2fuzz is no longer under development.


Turn on head blob seek for clients

This turns on "head blob seek" for clients downloading from the lbry network.
Since "head blob announce" is not enabled for reflector, or any other seeders, this should not affect clients since they can fallback to downloading by blobs.

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

          1 Message

:book:
See http://keepachangelog.com/en/0.3.0/ for details on good changelog guidelines

  Generated by :no_entry_sign: Danger


Fix fix wrong nullable signature of function corr

Proposed changes
Issue Number: close #xxx
before corr(nullable_x, nullable_y) will core dump. not fixed.
no need to patch in master because the refactor https://github.com/apache/doris/pull/37330 already changed the implementation context

run buildall


add "format sql" button to query page, uses sql-formatter

Cool project!
This fixes #136 using the suggested sql formatter library. I included the minified version in the bundle and added the relevant scripts to the codemirror includes instead of adding new files, though I could also add new files. I wanted to keep it all together, since the result of the format needs access to the editor in order to properly update the codemirror instance.

I'd prefer to have the JavaScript actually manipulate the DOM to add the button - something like this:
var button = document.createElement('button');
button.value = 'Format SQL';
button.addEventListener(
    'click', format, false
);
document.getElementById('run-sql').parentNode.appendChild(button);

I've implemented that approach in 86ac746. It does cause the button to pop in only after Codemirror is finished rendering which is a bit awkward.

Closing this because this feature was shipped in #592


fix commenting issues

Codecov Report

Merging #90 (9e3e334) into dev (8dabf65) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev      #90   +/-   ##
=======================================
  Coverage   62.45%   62.45%
=======================================
  Files          15       15
  Lines         919      919
=======================================
  Hits          574      574
  Misses        345      345

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 8dabf65...9e3e334. Read the comment docs.


Use Redux Toolkit

WMG's state management is now sufficiently complex that engineers can no longer track the data flow in their heads. I think it's time to introduce RTK!

@seve thought you'd be excited for this 😆!

Add why RKT now
Values
Efforts

@dsadgat just updated the description! Thank you!


Add MoonMail to showcase

Thanks!

@alexandresaiz Thanks! Looks really good! Nice work :)
Note: I remove some tags as they are reserved to all websites (the idea is too only keep commons tags).

@MoOx thanks!

Will be online on next release (website is updated on each release). Hopefully tonight :)

@MoOx did you have a chance to move this live?

Will cut a release in a moment ;)


Can't save snippet nor select a group

Unfortunately I can not save a snippet and the dropdown for selecting a group does not show any group.

This is a compatibility problem with the latest version of Firefox. I will correct soon.
Thanks for the report!

Ok, thank you.
Meanwhile I've found https://addons.mozilla.org/en-US/firefox/addon/fire-snippets/?src=search which seems to work as well.
And https://addons.mozilla.org/en-US/firefox/addon/dafizilla-viewsourcewith/?src=search which simply offers an opportunity to save and load snippets from harddrive within firebug.

Try this: https://github.com/sdavidg/firebugsnippets/releases/tag/0.5

This seems to work. Very good. Thank you.
Now I also see english text everywhere.

Fixed with v 0.5. Thank you.


Add IPv6 route management for Windows client

SoftEther Windows client has these route management functions for IPv4.

Add static routes to the server address and static DNS server (if any)
Remove default routes other than the VPN's (and add back later)
Fix routing issues if the default route is PPP

This PR uses the new API that supports IPv6. The new API is available since Vista.
As more and more VPN tunnels start to support IPv6, without this fix we must perform manual adjustment on the routing table, e.g. in order to prevent VPN connections get cut off due to new default route pushed from the tunnel.
After this fix, the option NoIPv6DefaultRouterInRAWhenIPv6 can be safely set to false for Windows clients.
See #1163

Changes proposed in this pull request:

Add IPv6 route management for Windows client
Remove obsolete Win32 calls
Fix IPv6 leak in dual-stack client if only IPv4 default route is added

Reviews are welcome.

I do not think we'll get many reviews.
should be ok to merge to master, thus more people will test :)

I've wanted this feature. Thanks you!

should be ok to merge to master, thus more people will test :)

Built Windows client binaries should be created to get more tests by many people.
I'm also the one who are not familiar with creating Windows binaries and cannot create Windows client binaies by my own.

@metalefty , you can download artifacts from Azure Pipeline: https://dev.azure.com/SoftEther-VPN/SoftEther VPN/_build/results?buildId=632&view=logs&jobId=b9e62f99-1a98-5ed7-01d2-f4794231ed79
(see "2 artifacts" link)

I see, thanks!

PR artifacts can't be normally uninstalled.

Does anyone know why the client manager does not automatically refresh after connect or disconnect?

I recall using installer from artifacts. I was able to uninstall.
but we should recheck if there are bugs

From nightly builds, you can uninstall. But not from PR.

Interesting

It seems the only thing different between nightly builds and PR builds is BUILD_NUMBER.

I'm working on an MSI installer anyway (#195).

Does anyone know why the client manager does not automatically refresh after connect or disconnect?

In #1295 I added CmRefresh() calls because I mistakenly thought the issue was only with NIC-related operations (e.g. driver installation).
It looks like, instead, something is broken.

Build number set to 0 will cause failure in loading setuplog.dat.
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/192083e7c46ccf8155238eecccd222cad6c94d38/src/Cedar/SW.c#L4006-L4011

Let's remove that code.

Rebased onto master

Let's merge and see.
Fix #1163

Merge and see if there are comments


node: the gnaving uncertainty of Babbage

Problem
We configure the 1.35.0-rc1 (actually latest master) node to start in the Alonzo era, but how do we know if it started in Alonzo?
The run in question is 2022-05-23-<IP_ADDRESS>.0-rc1.8206.k51-5ep-360kTx-4000kU-1000kD-64kbs.
The node config file has these relevant bits:
  "TestAllegraHardForkAtEpoch": 0,
  "TestAlonzoHardForkAtEpoch": 0,
  "TestEnableDevelopmentHardForkEras": true,
  "TestEnableDevelopmentNetworkProtocols": true,
  "TestMaryHardForkAtEpoch": 0,
  "TestShelleyHardForkAtEpoch": 0,

..and does not have TestBabbageHardForkAtEpoch set at all.
The node startup log contains this line in stdout:
May 23 12:34:15 node-1 cardano-node-start[662128]: Node configuration: NodeConfiguration {ncSocketConfig = SocketConfig {ncNodeIPv4Addr = Last {getLast = Nothing}, ncNodeIPv6Addr = Last {getLast = Nothing}, ncNodePortNumber = Last {getLast = Just 0}, ncSocketPath = Last {getLast = Nothing}}, ncConfigFile = "/nix/store/b8r8qskmy12qspfl2yp5dlpk3p387vay-config-1-0.json", ncTopologyFile = "/nix/store/sb8gn8wb4s8m7a4pmkb6hvlr4fhy5vn2-topology.yaml", ncDatabaseFile = "/var/lib/cardano-node/db-bench-dense-k51-5ep-360kTx-4000kU-1000kD-64kbs", ncProtocolFiles = ProtocolFilepaths {byronCertFile = Just "/var/lib/keys/cardano-node-delegation-cert", byronKeyFile = Just "/var/lib/keys/cardano-node-signing", shelleyKESFile = Just "/var/lib/keys/cardano-node-kes-signing", shelleyVRFFile = Just "/var/lib/keys/cardano-node-vrf-signing", shelleyCertFile = Just "/var/lib/keys/cardano-node-operational-cert", shelleyBulkCredsFile = Nothing}, ncValidateDB = False, ncShutdownConfig = ShutdownConfig {scIPC = Nothing, scOnSlotSynced = Just NoMaxSlotNo}, ncProtocolConfig = NodeProtocolConfigurationCardano (NodeByronProtocolConfiguration {npcByronGenesisFile = "/nix/store/yc2h8f7g5v8hgxdsgfq9wp125n1yg0bi-genesis.json", npcByronGenesisFileHash = Just "2620eb630e88d7af320081aab4ea0e73f00e4d0bbc3fa15c0478176511bc20d1", npcByronReqNetworkMagic = RequiresMagic, npcByronPbftSignatureThresh = Nothing, npcByronApplicationName = ApplicationName {unApplicationName = "cardano-sl"}, npcByronApplicationVersion = 0, npcByronSupportedProtocolVersionMajor = 3, npcByronSupportedProtocolVersionMinor = 0, npcByronSupportedProtocolVersionAlt = 0}) (NodeShelleyProtocolConfiguration {npcShelleyGenesisFile = "/nix/store/nv241pydfgzsln0igdibrq0y0j0vqqcb-genesis.json", npcShelleyGenesisFileHash = Just "6e943598cd17f89f03836177472e2886e381fe5dede77d9946117197f0d7cf3f"}) (NodeAlonzoProtocolConfiguration {npcAlonzoGenesisFile = "/nix/store/1jcfb7vpk81srdxqv8yhzkarnz3znkgh-alonzo-genesis.json", npcAlonzoGenesisFileHash = Nothing}) (NodeHardForkProtocolConfiguration {npcTestEnableDevelopmentHardForkEras = True, npcTestShelleyHardForkAtEpoch = Just (EpochNo 0), npcTestShelleyHardForkAtVersion = Nothing, npcTestAllegraHardForkAtEpoch = Just (EpochNo 0), npcTestAllegraHardForkAtVersion = Nothing, npcTestMaryHardForkAtEpoch = Just (EpochNo 0), npcTestMaryHardForkAtVersion = Nothing, npcTestAlonzoHardForkAtEpoch = Just (EpochNo 0), npcTestAlonzoHardForkAtVersion = Nothing, npcTestBabbageHardForkAtEpoch = Nothing, npcTestBabbageHardForkAtVersion = Nothing}), ncDiffusionMode = InitiatorAndResponderDiffusionMode, ncSnapshotInterval = DefaultSnapshotInterval, ncTestEnableDevelopmentNetworkProtocols = True, ncMaxConcurrencyBulkSync = Nothing, ncMaxConcurrencyDeadline = Just 4, ncLoggingSwitch = True, ncLogMetrics = True, ncTraceConfig = TracingOnLegacy (TraceSelection {traceVerbosity = NormalVerbosity, traceAcceptPolicy = OnOff {isOn = True}, traceBlockFetchClient = OnOff {isOn = True}, traceBlockFetchDecisions = OnOff {isOn = False}, traceBlockFetchProtocol = OnOff {isOn = False}, traceBlockFetchProtocolSerialised = OnOff {isOn = False}, traceBlockFetchServer = OnOff {isOn = True}, traceBlockchainTime = OnOff {isOn = False}, traceChainDB = OnOff {isOn = True}, traceChainSyncBlockServer = OnOff {isOn = False}, traceChainSyncClient = OnOff {isOn = True}, traceChainSyncHeaderServer = OnOff {isOn = True}, traceChainSyncProtocol = OnOff {isOn = False}, traceConnectionManager = OnOff {isOn = True}, traceConnectionManagerCounters = OnOff {isOn = True}, traceConnectionManagerTransitions = OnOff {isOn = False}, traceDebugPeerSelectionInitiatorTracer = OnOff {isOn = False}, traceDebugPeerSelectionInitiatorResponderTracer = OnOff {isOn = False}, traceDiffusionInitialization = OnOff {isOn = True}, traceDnsResolver = OnOff {isOn = False}, traceDnsSubscription = OnOff {isOn = True}, traceErrorPolicy = OnOff {isOn = True}, traceForge = OnOff {isOn = True}, traceForgeStateInfo = OnOff {isOn = True}, traceHandshake = OnOff {isOn = False}, traceInboundGovernor = OnOff {isOn = True}, traceInboundGovernorCounters = OnOff {isOn = True}, traceInboundGovernorTransitions = OnOff {isOn = True}, traceIpSubscription = OnOff {isOn = True}, traceKeepAliveClient = OnOff {isOn = False}, traceLedgerPeers = OnOff {isOn = True}, traceLocalChainSyncProtocol = OnOff {isOn = False}, traceLocalConnectionManager = OnOff {isOn = False}, traceLocalErrorPolicy = OnOff {isOn = True}, traceLocalHandshake = OnOff {isOn = False}, traceLocalInboundGovernor = OnOff {isOn = False}, traceLocalMux = OnOff {isOn = False}, traceLocalRootPeers = OnOff {isOn = True}, traceLocalServer = OnOff {isOn = False}, traceLocalStateQueryProtocol = OnOff {isOn = False}, traceLocalTxMonitorProtocol = OnOff {isOn = False}, traceLocalTxSubmissionProtocol = OnOff {isOn = False}, traceLocalTxSubmissionServer = OnOff {isOn = False}, traceMempool = OnOff {isOn = True}, traceMux = OnOff {isOn = False}, tracePeerSelection = OnOff {isOn = True}, tracePeerSelectionCounters = OnOff {isOn = True}, tracePeerSelectionActions = OnOff {isOn = True}, tracePublicRootPeers = OnOff {isOn = True}, traceServer = OnOff {isOn = True}, traceTxInbound = OnOff {isOn = True}, traceTxOutbound = OnOff {isOn = False}, traceTxSubmissionProtocol = OnOff {isOn = False}, traceTxSubmission2Protocol = OnOff {isOn = False}}), ncMaybeMempoolCapacityOverride = Nothing, ncProtocolIdleTimeout = 5s, ncTimeWaitTimeout = 60s, ncAcceptedConnectionsLimit = AcceptedConnectionsLimit {acceptedConnectionsHardLimit = 512, acceptedConnectionsSoftLimit = 384, acceptedConnectionsDelay = 5s}, ncTargetNumberOfRootPeers = 100, ncTargetNumberOfKnownPeers = 100, ncTargetNumberOfEstablishedPeers = 50, ncTargetNumberOfActivePeers = 20, ncEnableP2P = DisabledP2PMode}
The node log has the following entries:
May 23 12:34:34 node-1 cardano-node-start[662128]: {"app":[],"at":"2022-05-23T12:34:33.99Z","data":{"epochLength":"8000","era":"Shelley","kind":"BasicInfoShelleyBased","slotLength":"1s","slot
sPerKESPeriod":"129600","systemStartTime":"2022-05-23 12:23:03 UTC"},"env":"1.33.0:82067","host":"node-1","loc":null,"msg":"","ns":["cardano.node.startup"],"pid":"662128","sev":"Info","thread
":"5"}
May 23 12:34:34 node-1 cardano-node-start[662128]: {"app":[],"at":"2022-05-23T12:34:33.99Z","data":{"epochLength":"8000","era":"Allegra","kind":"BasicInfoShelleyBased","slotLength":"1s","slot
sPerKESPeriod":"129600","systemStartTime":"2022-05-23 12:23:03 UTC"},"env":"1.33.0:82067","host":"node-1","loc":null,"msg":"","ns":["cardano.node.startup"],"pid":"662128","sev":"Info","thread
":"5"}
May 23 12:34:34 node-1 cardano-node-start[662128]: {"app":[],"at":"2022-05-23T12:34:33.99Z","data":{"epochLength":"8000","era":"Mary","kind":"BasicInfoShelleyBased","slotLength":"1s","slotsPe
rKESPeriod":"129600","systemStartTime":"2022-05-23 12:23:03 UTC"},"env":"1.33.0:82067","host":"node-1","loc":null,"msg":"","ns":["cardano.node.startup"],"pid":"662128","sev":"Info","thread":"
5"}
May 23 12:34:34 node-1 cardano-node-start[662128]: {"app":[],"at":"2022-05-23T12:34:33.99Z","data":{"epochLength":"8000","era":"Alonzo","kind":"BasicInfoShelleyBased","slotLength":"1s","slots
PerKESPeriod":"129600","systemStartTime":"2022-05-23 12:23:03 UTC"},"env":"1.33.0:82067","host":"node-1","loc":null,"msg":"","ns":["cardano.node.startup"],"pid":"662128","sev":"Info","thread"
:"5"}
May 23 12:34:34 node-1 cardano-node-start[662128]: {"app":[],"at":"2022-05-23T12:34:33.99Z","data":{"epochLength":"8000","era":"Babbage","kind":"BasicInfoShelleyBased","slotLength":"1s","slot
sPerKESPeriod":"129600","systemStartTime":"2022-05-23 12:23:03 UTC"},"env":"1.33.0:82067","host":"node-1","loc":null,"msg":"","ns":["cardano.node.startup"],"pid":"662128","sev":"Info","thread
":"5"}

..but also:
{"app":[],"at":"2022-05-23T12:35:26.13Z","data":{"kind":"LogMessage","message":"TraceLabelCreds \"Cardano\" (CurrentEraForgeStateUpdated S (S (S (S (Z (WrapForgeStateInfo {unwrapForgeStateInfo = KESInfo {kesStartPeriod = KESPeriod 0, kesEndPeriod = KESPeriod 60, kesEvolution = 0}}))))))"},"env":"1.33.0:82067","host":"node-1","loc":null,"msg":"","ns":["cardano.node.Forge"],"pid":"662128","sev":"Debug","thread":"111"}

..where S (S (S (S Z ...))) supposedly means:
Byron + 1 + 1 + 1 + 1 = Shelley + 1 + 1 + 1 = Allegra + 1 + 1 = Mary + 1 = Alonzo
?
Is that right?

On Slack, Jared suggested using the NTC queries for this. You (understandbly) replied that that's heavierweight than you're hoping for. Unfortunately, I don't think we've anticipated the need for a lighterweight answer to your question.

Skipping initial eras has never been a primary feature, just a "power user" thing eg for testnets etc.
We took the queries for granted for as the expects way to answer this kind of question.

We configure the [...snip...] node to start in the Alonzo era, but how do we know if it started in Alonzo?

I think you're concerned about what era the chain started in, since you're concerned about scenarios involving skipping initial eras. You asked about what era the node started in, but (I'm guessing) specifically when the nodes are started for the first time. IE what era the chain started in.
And that should be equal to the era of the pInfoInitLedger that is ultimately passed by exe:cardano-node code to the Consensus layer -- ie the era of the genesis ledger state.
https://github.com/input-output-hk/ouroboros-network/blob/d2ce868248f5b6a4279fe369adb4d428a16c0351/ouroboros-consensus/src/Ouroboros/Consensus/Node/ProtocolInfo.hs#L38-L42
data ProtocolInfo m b = ProtocolInfo {
        pInfoConfig       :: TopLevelConfig b
      , pInfoInitLedger   :: ExtLedgerState b -- ^ At genesis
      , pInfoBlockForging :: m [BlockForging m b]
      }

So I think we should interpret this issue as a feature request do make the era of pInfoInitLedger more obvious in the logs. I have hope that can be done in cardano-node without any upstream changes necessary in ouroboros-consensus, but I'm not certain. Maybe Consensus could help determine which HFC functions are already available for use in implementing that.
Would it be acceptable for the node to print that explicitly in a log message, instead of you trying to find it in a Tracer event emitted from the Consensus layer?

Also, do we need a separate Issue to add a TestBabbageHardForkAtEpoch field to the node's config file? I also think that'd be a cardano-node only change, with nothing new needed upstream.

To answer your direct question -- as opposed to suggesting a PR to make the log messages easier to interpret directly -- I think that your interpretation of the CurrentEraForgeStateUpdated message is correct. The forge thread calls checkShouldForge every slot (including the first slot during which the node is initialized, ie hopefully slot 0), and that function calls updateForgeState which emits a tracer event summarizing the update, which for the Hard Fork Combinator will involve CurrentEraForgeStateUpdated (if it has forging credentials for the node's current ledger tip's era).
So if you're seeing that event "immediately" in the logs of a node that is starting from with no pre-existing chain, then I think that does imply the chain's genesis ledger state is in the era identified by the Church numeral. HTH.

Thank you @nfrisby!


Some vulnerabilities require your attention to resolve

Description
Node Fetch did not honor the size option after following a redirect, which means that when a content size was over the limit, a FetchError would never get thrown and the process would end without failure.
For most people, this fix will have a little or no impact. However, if you are relying on node-fetch to gate files above a size, the impact could be significant, for example: If you don't double-check the size of the data after fetch() has completed, your JS thread could get tied up doing work on a large file (DoS) and/or cost you money in computing.
Remediation
Upgrade to version 2.6.1 or 3.0.0-beta.9
Resources
https://github.com/node-fetch/node-fetch/security/advisories/GHSA-w7rc-rwvf-8q5r
all details under :https://www.npmjs.com/advisories/1556
React Native version:
react-native: 0.63.4 => 0.63.4
Steps To Reproduce
run npm command
Expected Results
shouldn't see any severity vulnerabilities which is related to react-native or @react-native-community/cli
Screenshot:

Hi @ghadeeraqraa1992 please follow the issue template. Thanks!

Hi @ghadeeraqraa1992 please follow the issue template. Thanks!
done

Has this been bumped in 0.64? I was looking at my 0.64 app and the lockfile was on 2.6.1.


Interaction between Lazy and tagged types

There is an interaction between Lazy and tagged types with respect to the automatic derivation of typeclasses; to reproduce it this is a simple example:
sealed trait Readable[T]

object Readable {
  implicit def taggedReadable[A, T, M[_, _]](
    implicit
    r: Lazy[Readable[A]],
    ev: @@[A, T] =:= M[A, T]
  ): Readable[M[A, T]] = ???

  implicit val stringReadable: Readable[String] = ???

  implicit val hnilReadable: Readable[shapeless.HNil] = ???

  implicit def hconsReadable[H, T <: HList](
    implicit
    rh: Lazy[Readable[H]],
    rt: Readable[T]
  ): Readable[H :: T] = ???

  implicit def genericReadable[T, TGen <: HList](
    implicit
    gen: shapeless.Generic.Aux[T, TGen],
    genR: Readable[TGen]
  ): Readable[T] = ???
}

type CustomerTag = W.`'Customer`.T
type CustomerId = String @@ CustomerTag

case class Customer(id: CustomerId, name: String)

implicitly[Readable[CustomerId]]
implicitly[Readable[Customer]]

sealed trait BookTag
type BookId = String @@ BookTag

case class Book(id: BookId, title: String)

implicitly[Readable[BookId]]
implicitly[Readable[Book]]

In this case the derivation fails for both Customer and Book. Interestingly enough removing the Lazy in hconsReadable it compiles; in this case I could just remove it but when the derivation is used in third party libraries that won't compile without Lazy this could be a problem.

The problem appears to be that the tags prevent the Lazy[Readable[H]] being resolved in hconsReadable.

I was playing with this trying to understand what is the issue and I managed to reduce the example to something smaller. I also noticed a pattern depending how you define the implicit Readable for a tagged value. I wrote both methods in this example, commented:
import shapeless._, tag._

object Main {
  sealed trait Readable[A]

  sealed trait IdTag
  type Id = String @@ IdTag

  // Method 1
  //implicit def taggedStringReadable[T]: Readable[String @@ T] = new Readable[String @@ T] { }

  // Method 2
  //implicit def taggedStringReadable[T, M[_, _]](
  //  implicit ev: @@[String, T] =:= M[String, T]): Readable[M[String, T]] = new Readable[M[String, T]] { }

  implicitly[Readable[Id]]         // always compiles
  implicitly[Strict[Readable[Id]]] // doesn't compile with 2
  implicitly[Lazy[Readable[Id]]]   // doesn't compile with 2
}

Method 1 works with Strict/Lazy and without them. Method 2 doesn't work with Strict/Lazy but works without them. The only difference seems to be that 2 needs an implicit parameter. Can that be the problem?
Anyway, I thought this could be useful to debug the problem. I will keep playing with this in the next days. @milessabin if you have an idea in which direction I should go, let me know.

My bet is on calls to dealias in LazyMacros:
def foo[M[_, _], A, B](mab: M[A, B]) = mab
  def bar(book: Book) = {
    foo(book.id: BookId) // ok
    foo(book.id: String @@ BookTag) // ok
    foo(book.id: String with Tagged[BookTag])
    // [error]  found   : String with shapeless.tag.Tagged[LazyTagged.BookTag]
    // [error]  required: scala.collection.IndexedSeqOptimized[A,B]
    // [error]     foo(book.id: String with Tagged[BookTag])
  }


Discovery component failing

Home Assistant release (hass --version):
0.43.0.dev0
Python release (python3 --version):
Python 3.4.2
Component/platform:
Discovery
Description of problem:
Discovery not working, seemingly at all. No devices are discovered, such as AppleTV and Sonos components.
Expected:
Devices should automatically be discovered and appear in HomeAssistant.
Problem-relevant configuration.yaml entries and steps to reproduce:

Enable the discovery component
Start HA

Traceback (if applicable):
17-04-18 21:42:52 WARNING (Thread-7) [homeassistant.components.updater] Running on 'dev', only analytics will be submitted
17-04-18 21:43:20 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.4/asyncio/tasks.py", line 233, in _step
    result = coro.throw(exc)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/discovery.py", line 113, in scan_devices
    None, _discover, netdisco)
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/discovery.py", line 138, in _discover
    for service in netdisco.get_info(disc):
  File "/home/homeassistant/.homeassistant/deps/netdisco/discovery.py", line 104, in get_info
    return self.discoverables[dis].get_info()
  File "/home/homeassistant/.homeassistant/deps/netdisco/discoverables/__init__.py", line 22, in get_info
    return [self.info_from_entry(entry) for entry in self.get_entries()]
  File "/home/homeassistant/.homeassistant/deps/netdisco/discoverables/__init__.py", line 22, in <listcomp>
    return [self.info_from_entry(entry) for entry in self.get_entries()]
  File "/home/homeassistant/.homeassistant/deps/netdisco/discoverables/apple_tv.py", line 16, in info_from_entry
    info[ATTR_NAME] = info[ATTR_PROPERTIES]['name'].replace('\xa0', ' ')
KeyError: 'name'

Additional info:

The upgrade to net disco 1.0.0rc3 did not resolve this issue. Same traceback is still applicable!?

Clear the deps folder inside your Home Assistant config and start again. Normally between version upgrades we clean the folder but don't when running dev mode.


Deserializing seqs with elements in arbitrary order

I am writing a deserializer for a format, and in this format, you can have structs inside structs, and these are always sequences/allow multiple copies. A problem I have run into is when the order these inner structs show up in isn't contiguous/sorted. So when I have
outer "Outer" {
    inner1 "First" {
    }
    inner1 "Second" {
    }
    inner2 "Third" {
    }
    inner2 "Fourth" {
    }
}

I do fine, because my seq deserializer just keeps going until inner1 changes to something else (or I encounter '}'), and then calls it a day. But if the file instead looks like this:
outer "Outer" {
    inner1 "First" {
    }
    inner2 "Third" {
    }
    inner1 "Second" {
    }
    inner2 "Fourth" {
    }
}

I'm in trouble, because the second time I come across inner1 and try to deserialize it again, serde tells me

duplicate field inner1

Is there some way for me to tell serde to combine the sequences instead of considering them duplicates? Because I parse as I go, I can't know that another value from a previous sequence will come up until I'm already at the point where I'm deserializing the "same seq" twice.

The nearest example I know to look at would be the TOML deserializer which I believe supports this.
use serde::Deserialize;

#[derive(Deserialize, Debug)]
struct Data {
    outer: Outer,
}

#[derive(Deserialize, Debug)]
struct Outer {
    inner1: Inner,
    inner2: Inner,
}

#[derive(Deserialize, Debug)]
struct Inner {
    a: Entry,
    b: Entry,
}

#[derive(Deserialize, Debug)]
struct Entry {
    name: String,
}

fn main() {
    let t = r#"
        [outer.inner1.a]
        name = "First"

        [outer.inner2.a]
        name = "Third"

        [outer.inner1.b]
        name = "Second"

        [outer.inner2.b]
        name = "Fourth"
    "#;

    println!("{:#?}", toml::from_str::<Data>(t).unwrap());
}

Data {
    outer: Outer {
        inner1: Inner {
            a: Entry {
                name: "First",
            },
            b: Entry {
                name: "Second",
            },
        },
        inner2: Inner {
            a: Entry {
                name: "Third",
            },
            b: Entry {
                name: "Fourth",
            },
        },
    },
}


⚠ PrivateHD has degraded performance

In b17a529, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2286 ms

Resolved: PrivateHD performance has improved in 436b72b.


Infinite hang when running Trainer.test after Trainer.fit with DDP

🐛 Bug
If I run Trainer.test after running Trainer.fit with distributed_backend='ddp' then the system hangs.
To Reproduce
Steps to reproduce the behavior:
Run the following script
# main.py
import os
from argparse import ArgumentParser
from pl_examples.models.lightning_template import LightningTemplateModel
from pytorch_lightning import Trainer, seed_everything

seed_everything(234)

def main(args):
    model = LightningTemplateModel(**vars(args))
    trainer = Trainer.from_argparse_args(args)
    trainer.fit(model)     # if this is commented out then test will complete, otherwise it hangs
    trainer.test(model)

def run_cli():
    root_dir = os.path.dirname(os.path.realpath(__file__))
    parent_parser = ArgumentParser(add_help=False)
    parser = LightningTemplateModel.add_model_specific_args(parent_parser, root_dir)
    parser = Trainer.add_argparse_args(parser)
    parser.set_defaults(gpus=2)
    args = parser.parse_args()

    main(args)

if __name__ == '__main__':
    run_cli()

with command line arguments (assuming >= 2 GPUs)
python main.py --gpus 2 --hidden_dim 500 --max_epochs 1 --distributed_backend ddp

Running this script causes the program to hang during test phase.
Expected behavior
I would expect Trainer.test to complete rather than hanging.
Environment
Output of collect_env_details.py:
* CUDA:
        - GPU:
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
        - available:         True
        - version:           10.2
* Packages:
        - numpy:             1.19.1
        - pyTorch_debug:     False
        - pyTorch_version:   1.6.0
        - pytorch-lightning: 0.9.1rc3
        - tqdm:              4.49.0
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                - ELF
        - processor:         x86_64
        - python:            3.7.5
        - version:           #51~18.04.1-Ubuntu SMP Sat Sep 5 14:35:50 UTC 2020

PyTorch Version: 1.6.0
OS: Ubuntu 20.04
How you installed PyTorch: pip
Build command you used (if compiling from source):
Python version: 3.7.5
CUDA/cuDNN version: 7.6.5
GPU models and configuration: GeForce RTX 2080 Ti (x2)

List of all installed packages (output of pip freeze):
absl-py==0.10.0
cachetools==4.1.1
certifi==2020.6.20
chardet==3.0.4
decorator==4.4.2
fsspec==0.8.2
future==0.18.2
google-auth==1.21.2
google-auth-oauthlib==0.4.1
grpcio==1.32.0
idna==2.10
importlib-metadata==1.7.0
Markdown==3.2.2
networkx==2.5
numpy==1.19.1
oauthlib==3.1.0
packaging==20.4
Pillow==7.2.0
pkg-resources==0.0.0
protobuf==3.13.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pyparsing==2.4.7
pytorch-lightning==0.9.1rc3
PyYAML==5.3.1
requests==2.24.0
requests-oauthlib==1.3.0
rsa==4.6
six==1.15.0
tensorboard==2.2.0
tensorboard-plugin-wit==1.7.0
torch==1.6.0
torchvision==0.7.0
tqdm==4.49.0
urllib3==1.25.10
Werkzeug==1.0.1
zipp==3.1.0

Additional context
If I comment out trainer.fit then everything works as expected.
I was able to pause the execution during hang while running in PyCharm. The following are the stack frames for the main thread, which is the only thread I could get to pause.
select, selectors.py:418
wait, connection.py:920
_poll, connection.py:414
poll, connection.py:257
get, queues.py:104
_worker_loop, worker.py:167
run, process.py:99
_bootstrap, process.py:297
_launch, popen_fork.py:74
__init__, popen_fork.py:20
_Popen, context.py:277
_Popen, context.py:223
start, process.py:112
__init__, dataloader.py:737
__iter__, dataloader.py:291
run_evaluation, trainer.py:437
run_test, trainer.py:489
train_or_test, base_backend.py:34
ddp_train, ddp_backend.py:243
train, ddp_backend.py:138
fit, trainer.py:324
wrapped_fn, states.py:48
__test_given_model, trainer.py:627
test, trainer.py:564
wrapped_fn, states.py:48
main, main.py:13
run_cli, main.py:24
<module>, main.py:28

Hi, in this ddp mode you can call trainer.fit / test only once.
https://pytorch-lightning.readthedocs.io/en/latest/multi_gpu.html#distributed-data-parallel

There are cases in which it is not possible to use DDP. Examples are:

Jupyter Notebook, Google COLAB, Kaggle, etc.
You have a nested script without a root package
Your script needs to invoke .fit or .test multiple times

you need to switch to ddp_spawn or launch your .test in a separate script.

Interesting. I read this but to me it seemed to indicate you could call both fit and test as long as neither were called multiple times. Perhaps the documentation could be updated to make this more clear.

yeah granted, this may be a bit ambiguous.

Hi
I encountered that DDP couldn't work for me when running my python script as a module (python -m).
Does it match the second limitation case? ("You have a nested script without a root package").
I couldn't really understand this one, and I am not sure why DDP cannot work with modules.
When I am running the same script not as module, everything works fine.
I tested it also on a really simple MNIST example.

@AvivWn Because when you run the ddp script, it will call itself under the hood again n-1 times where n is the number of gpus you selected. So, example, if we did this:
python train.py --gpus 4 --something-else --distributed_backend=ddp
this process will launch on gpu 0 and then call
python train.py --gpus "1,"  --something-else --distributed_backend=ddp
python train.py --gpus "2,"  --something-else --distributed_backend=ddp
python train.py --gpus "3,"  --something-else --distributed_backend=ddp

(simplified example)
so if we wanted to support the module way of launching the script, we would have to strip -m ... from the command and append it to the subprocess calls.

Sure
And is it impossible to programmatically add the "-m" only if it specified? It should be just a single if, right?
It is frustrating to know that a module cannot be run as DDP, after I have already built a full working module project.
Transforming it into a script won't be easy...

No, I would not assume it is impossible. If the -m option can be stripped from arglist, it should not be too difficult.
Very sorry that it causes trouble for you but it looks like they just didn't think about this use case when the ddp backend was added.
Let's open a feature request for this.


Improve rust--format-fix-rustfmt-buffer

I noticed that two loops can be merged into one. Also save-match-data will make this function not clobber global match data (not that anyone was suffering from that but nonetheless).
Upd: also noticed that *rustfmt* name can be configured but in error messages it'll stay the same. Fixed that too.

LGTM


Fix for forbidden error for mariadb service account

Error:
"HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"forbidden: User "system:serviceaccount:ucp:airship-ucp-mariadb-mariadb" cannot get path "/version/"","reason":"Forbidden","details":{},"code":403} "

I don't see a problem with that, but if you want to ensure compatibility with previous naming you should duplicate the ServiceAccount definition, and point to the code where this has changed upstream. So that we can track WHEN to remove the previous naming convention.

No backward compatibility concern here as its still in dev phase and new convention is going to be followed


Update to README.MD regarding Dockerfile

Added how to pass command line arguments in the Dockerfile

Thanks, I'm sure a lot of people will appreciate this!


.BOT file not deployed by default

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Version
BotBuilder
c#
v4.0.7 (the GA version released September 2018).
Describe the bug
The .BOT file included in the Azure Bot Service template is not deployed when the project is published to Azure because the .BOT file has the Copy to Output Directory file property set to Do not copy.
To Reproduce
Steps to reproduce the behavior:

Create a new Azure Bot service choosing the V4 C# EchoBot template
Download the code
Make a change to the .BOT file either directly or via the MSBOT CLI tool (adding a description is fine)
Publish the bot project (Visual Studio Publish, GitHub integration etc …. any normal publishing technique)
Note that the published version of the project does not have the updated .BOT file. This can be verified by exploring the Azure App Service > Files in Visual Studio Cloud Explorer

Expected behavior
.BOT is published with the rest of the bot project by default
Screenshots
Not applicable
Additional context
Fix is to set the Copy to Output Directory .BOT file property to say Copy Always in Visual Studio and publish to Azure using normal techniques. Update .BOT file will now be published to the Azure Bot Service.
[bug]

Team is aware of this bug and fix is in the works.

Fix will go out with next Azure portal release.

@sgellock and @cleemullins  - this should also be fixed across all samples. Can we have SW do a sweep of all samples?

I have confirmed this has been fixed.  Thanks for reporting the issue.


mdbook-katex: 0.5.1 -> 0.5.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/lzanini/mdbook-katex/releases.
meta.description for mdbook-katex is: A preprocessor for mdbook, rendering LaTeX equations to HTML at build time.
meta.homepage for mdbook-katex is: https://github.com/lzanini/mdbook-katex
Updates performed

Rust version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.5.2 with grep in /nix/store/l29lm3cz9acym1yy83xkzv66v4v79gpr-mdbook-katex-0.5.2
found 0.5.2 in filename of file in /nix/store/l29lm3cz9acym1yy83xkzv66v4v79gpr-mdbook-katex-0.5.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
mdbook-katex

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/l29lm3cz9acym1yy83xkzv66v4v79gpr-mdbook-katex-0.5.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mdbook-katex https://github.com/r-ryantm/nixpkgs/archive/fce953dc7bff715b15efb8b2bb1a3df7e4dec6ca.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/l29lm3cz9acym1yy83xkzv66v4v79gpr-mdbook-katex-0.5.2
ls -la /nix/store/l29lm3cz9acym1yy83xkzv66v4v79gpr-mdbook-katex-0.5.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

mdbook-katex

Maintainer pings
cc @lovesegfault for testing.

0.5.3 is out.

Oh wait 0.5.3 is a hot fix.


Signing server Choose Policy screen:UI issue

Max allowed amount and Max no-check amount is showing 0,0,000 amount in some devices.
Tedted on android device one plus 9R

Resolved,

Verified this issue on keeper dev app v 1.1.7(263)


BFF transforms models on export

Import Mesh into BFF
Calculate UVs
Export Mesh

Expected: exported mesh and imported mesh align perfectly, exported mesh has only texture coordinates added
Actual: exported mesh has changed in scale and position (seems to be normalized?)

MeshLab view of the object; circled in red: BFF output mesh
texturedMesh_20k_ml.zip

Hi @soraryu, you should uncheck the "Export Normalized UVs" checkbox.

That option is unchecked; same behaviour unfortunately, the mesh is transformed.
(also, note that it's not the UVs that are transformed, the actual mesh is (the name of that checkbox might be misleading as well)).

Ah yes, this is a bug and it'll be fixed in the next version. Thanks for posting this issue.


update rehype-pretty-code to v0.5.1, shiki to v0.11.1

fixes https://github.com/shuding/nextra/issues/934

Is there a performance regression in these two libraries? We are getting this error from the deployment...

Your deployment's build step did not complete within the maximum of 45 minutes

Is there a performance regression in these two libraries? We are getting this error from the deployment...

Your deployment's build step did not complete within the maximum of 45 minutes

@shuding there are some memory leaks issues in newly version of rehype code, I already reported it, will convert this PR as a draft until they fix it

@shuding it's ready to merge but shell code blocks looks differently
now

before

I think that's fine as we use bash


Old School Essentials support

Couple of lines to handle the ose data template.

Thanks! I fixed a small tabs vs spaces indentation issue, but looks good. Merging! :)


Flannel integration broken with kube-dns / coreDNS in crashloop in Cilium {master, 1.7, 1.8}

General Information

1.7, 1.8 and master
K8s
Tested on GKE

It works on 1.6.x.
How to reproduce the issue

Deploy Flannel using https://docs.cilium.io/en/latest/gettingstarted/flannel-integration/
Deploy Cilium and configure Flannel according to guide
Ensure that all pods are managed by Cilium first (if on GKE)
Notice how kube-dns enters crashloop because it's unable to reach apiserver:

❯ kubectl -n kube-system logs kube-dns-5c446b66bd-sbpxl -c kubedns
...
I0930 20:41:00.894677       1 dns.go:220] Waiting for [endpoints services] to be initialized from apiserver...
I0930 20:41:01.394637       1 dns.go:220] Waiting for [endpoints services] to be initialized from apiserver...
I0930 20:41:01.894651       1 dns.go:220] Waiting for [endpoints services] to be initialized from apiserver...
F0930 20:41:02.394651       1 dns.go:210] Timeout waiting for initialization

Flannel has been removed in v1.10, and is no longer supported in older versions as well


Incrypt just one markdow file with password on ENV

Hello! I'm new to this lib and i have this config on my files
plugins:
- search: {}
- encryptcontent:
password_inventory:
secret:
user1: !ENV TESTE
Suposse that my user1 ENV TESTE password is test
How can i encrypt the file?

password: TESTE
I test with this metatag but dont work

Hi,
the minimal mkdocs.yml is as follows:
site_name: test

plugins:
  - search: {}
  - encryptcontent:
      password_inventory:
        secret:
          user1: !ENV TESTE

and you start your file_to_be_encrypted with the meta tag level: secret to refer to the level in the inventory, not password: (otherwise you'll set the password to "TESTE").
Before building or serving, you need to set the env variable to the password, otherwise the build will fail with "Empty password found for level 'secret' and user 'user1'!"

Make sense! Can we make doc more clear including this second part of instruction? If you don't mind I can do it

Yes, maybe we need to make more clear what exactly a meta tag is and where to put it in a markdown file.
Feel free to clone and edit the usage documentation page: https://github.com/unverbuggt/mkdocs-encryptcontent-plugin/blob/version3/documentation/docs/usage.md and open a PR.
But let's keep this issue open until the documenation is extended.

https://www.mkdocs.org/user-guide/writing-your-docs/#meta-data
It seems like a good practice to use yaml style to make it more distinct where the head is and where the markdown starts. But t.b.h. I've never tested the style introduced with ---.


Added a solver based on exact tree width solver

Added as solver named ExactTreewidth, which is based on the exact tree width solve provided in TreeWidthSolve.jl.

Added a function tree_reformulate, which can remove a tensor from a given binary contraction order without changing the space complexity of the contraction.
Thus, when searching contraction orders of tensor networks with open edges using graph based methods (balanced min cut or tree width), one can add a tensor connecting with all open edges to get a graph with no open edges. Then by remove this manually added tensor, one can get a contraction order of the original tn.
Here is an example:
julia> using OMEinsumContractionOrders, OMEinsum, KaHyPar

julia> using OMEinsumContractionOrders: optimize_kahypar

# given a contraction with open edges
julia> ein_open = OMEinsum.rawcode(ein"ijl, jkm, ik -> lm")
ijl, jkm, ik -> lm

# add a dummy tensor manually
julia> ein_closed = OMEinsum.rawcode(ein"ijl, jkm, ik, lm ->")
ijl, jkm, ik, lm ->

# optimize
julia> opt_ein_closed = optimize_kahypar(ein_closed, uniformsize(ein_closed, 2); max_group_size=10, sc_target=10)
lm, lm ->
├─ jlk, jkm -> lm
│  ├─ ijl, ik -> jlk
│  │  ├─ ijl
│  │  └─ ik
│  └─ jkm
└─ lm

# remove the dummy tensor manually
julia> opt_ein_open = OMEinsumContractionOrders.tree_reformulate(opt_ein_closed, 4)
jlk, jkm -> lm
├─ ijl, ik -> jlk
│  ├─ ijl
│  └─ ik
└─ jkm

# the process above has been implemented in optimize_kahypar, one can directly optimize a contraction with open edges
julia> opt_ein_open_direct = optimize_kahypar(ein_open, uniformsize(ein_closed, 2); max_group_size=10, sc_target=10)
jlk, jkm -> lm
├─ ijl, ik -> jlk
│  ├─ ijl
│  └─ ik
└─ jkm

What about using another name, like pivot_tree?

name of the function has been changed as pivot_tree

Ready for review?

Sure! The new package TreeWidthSolver.jl has been registered and the PR is ready for review.

Good job!

Thanks a lot! It is much better now.


Build ref

do we not support hotfixes and if not, can we?
it's messing with my sexy new command 😅

I'm not sure I follow. If you are referring to 4494351 not being in the build file it is because no one has added it.

oh, i did not see hotfixes on /builds so figured hotfixes were not a part of the setup

We do have hotfixes, they're the ones not marked as rtm or SP or CU
Il ven 5 lug 2019, 12:59 Chrissy LeMaire<EMAIL_ADDRESS>ha
scritto:

oh, i did not see hotfixes on /builds so figured hotfixes were not a part
of the setup
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/issues/5864?email_source=notifications&email_token=AAA52BZTQ35RB7VJ5BZUFTDP54SPXA5CNFSM4H6KDRHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZJHTFA#issuecomment-508721556,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA52B3KAEIJLUJXWSNHYLDP54SPXANCNFSM4H6KDRHA
.

ah kk ty!


Hi ,i want to write  alert confirm model message of delete in console through selenium.can u please help me

Hi there!
Thanks for submitting an issue to Protractor.
To help us help you better, please do the following before submitting an issue:

Review the questions section of CONTRIBUTING.md.
Make sure you are not asking a usage or debugging question. If you are, use StackOverflow, Google Group discussion list, or Gitter to get help.
Provide a minimally reduced test case. This makes it much more likely that your bug will be fixed. Protractor has a test Angular application available at http://www.protractortest.org/testapp which you can use for the reproducible test case.
Fill in the information that corresponds to your type of issue below.
Delete this intro and any unrelated text :smile: (if you do not we'll assume you haven't read these instructions and automatically close the issue.)

Bug report

Node Version: ``
Protractor Version: ``
Angular Version: ``
Browser(s): ``
Operating System and Version ``
Your protractor configuration file
A relevant example test
Output from running the test
Steps to reproduce the bug
The URL you are running your tests against (if relevant)

Feature Request

Reasons for adopting new feature
Is this a breaking change? (How will this affect existing functionality)

Hi there,
Please follow the Issue Template when opening new issues. Otherwise it's unclear what the issue is and how we can actually help.
I'm going to close this issue, please re-open a new one following the issue template linked above. Thanks! 😄

how to raise issue.can u please send the steps.
On Tue, Feb 28, 2017 at 4:50 AM, Nick Tomlin<EMAIL_ADDRESS>wrote:

Closed #4122 https://github.com/angular/protractor/issues/4122.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular/protractor/issues/4122#event-979271051, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AY263Spfd0xjycjSnEX8n6_FVsjvijKzks5rg1pCgaJpZM4MNPa9
.

@vistaar the steps are in the issue template (which is the body of the issue that you posted).
From your issue title, it sounds like your question may actually be a better fit for StackOverflow. Please ask usage and debugging questions there.
Thanks 😄 !


How to manage update policies

Can't I manage these group policies made by your script? Can't find any info anywhere about this problem.
I want to install feature update kb5041587 and I get this message:

I just removed his "Update" code section....  I just set the Group Policy Editor update related settings myself, since I like them different than he has set in this script.
To remove his changes, look in his script I think the Reg Entries, and then fix them in the Registry.
If I recall correctly, you can't change the Group Editor Policy settings if a setting has been changed in the Registry.  I think I encountered that, but I forget unsure.

To fix this issue, you can now also download and run the UWScript.ps1 file and select the default Windows Update settings.


Run Bandit during CI

This will enable us to catch vulnerabilities in the edge application.

Codecov Report

Merging #52 into master will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff           @@
##           master     #52   +/-   ##
======================================
  Coverage    71.3%   71.3%
======================================
  Files          19      19
  Lines        1223    1223
======================================
  Hits          872     872
  Misses        351     351

Impacted Files
Coverage Δ

opwen_email_client/util/management.py
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add documentation to admin.py

Current coverage is 100% (diff: 100%)

Merging #363 into 1.0.0 will not change coverage

@@           1.0.0   #363   diff @@
===================================
  Files         23     23
  Lines       1536   1536
  Methods        0      0
  Messages       0      0
  Branches     183    183
===================================
  Hits        1536   1536
  Misses         0      0
  Partials       0      0

Powered by Codecov. Last update 3bdd354...adcb64e


Clean up the recipes.

Right now the cookbook is a bit of a mess, but that's to be expected as we get started.
This is just to note that one day we will need to clean this up. We should come up with rules to decide whether or not something is a good recipe. Should there be duplicate recipes? What's the requirement for a recipe to be acceptable?
Just some thoughtz

Agreed, I like the idea of "This is one way to solve the problem but not the only way" solutions. In that aspect I think it's okay to have 1 or 2 solutions but 1 will probably always be more flexible/reusable than the latter eliminating competing solutions.


Lifecycle management with blob index tag filters - .NET sample is missing

Currently, it's just a link to the nuget package rather than a code snippet.

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

ID: 212e4923-c8a9-b800-880a-84d3dc450438
Version Independent ID: 42c37760-0599-6843-34fa-86eda2cab55e
Content: Utilize Blob Index to manage and find data on Azure Blob storage
Content Source: articles/storage/blobs/storage-blob-index-how-to.md
Service: storage
Sub-service: common
GitHub Login: @mhopkins-msft
Microsoft Alias: mhopkins

@SeanFeldman Thanks for bringing this to our notice. We are looking into the issue and will update as appropriate.

@SeanFeldman Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Hi @SeanFeldman,
I see the link that you're talking about. It says that it is a link to the library, not a sample. Perhaps this article would be more helpful to you. It contains examples of the JSON code you need to use to set up lifecycle rules.
Manage the Azure Blob storage lifecycle
Thanks,
~ Mark
#please-close

Hi @mhopkins-msft,
The Portal tab shows how to combine blob index with lifecycle management policy. The .NET tab says "For .NET, install the Microsoft Azure Management Storage Library version 16.0.0 or higher to take advantage of the Blob Index match filter within a lifecycle management rule.". That leads to an assumption you can set up a lifecycle management policy/rule to leverage blob index via .NET SDK. And if that's the case, shouldn't the tab contain a code sample? At least that's how I saw it and the reason raised the issue.


createClient doesn't fully initialize in local testing

Bug report

[ x] I confirm this is a bug with Supabase, not with my own application.
[ x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
When running supabase locally with docker containers, the client seems to not fully initialize, leading to "hanging" of the application where no calls to supabase.auth supabase.from('users').select('count').limit(1); return at all.
I initialize the client like this:
import { createClient, SupabaseClient } from '@supabase/supabase-js'
import config from './config'

// Create a single supabase client for interacting with your database
const supabase: SupabaseClient = createClient(config.supabase.url, config.supabase.apiKey);

export default supabase;

then use it in other components, for example, like this:
function Landing() {
   useEffect(() => {
      try {

            const { data, error } = await supabase
                .from('users')
                .select('*')
                .eq('id', supabaseUser.id)
                .single();
          console.log('back from supabase call'); // THIS NEVER GETS HIT
            if (error) throw error;

            const extendedUser: ExtendedUser = {
                ...supabaseUser,
                ...data,
            };
}, []);

  return (
    <div>
      Landing page
    </div>
  )
}

However, calls to supabase.auth.onAuthStateChange... DOES work. For example, I have this in one of my components:
const { data: { subscription } } = auth.onAuthStateChange(async (event, session) => {
      console.log('event:', event); // THIS DOES GET HIT
...
});

As a workaround, I put this line immediately after I create the supabase client:
import { createClient, SupabaseClient } from '@supabase/supabase-js'
import config from './config'

// Create a single supabase client for interacting with your database
const supabase: SupabaseClient = createClient(config.supabase.url, config.supabase.apiKey);
await supabase.from('users').select('count').limit(1);
export default supabase;

Then, all of the calls seems to work UNTIL the web page goes stale.
Has anyone seen this before? It seems to be something with the client lazy initialization?
It does not look like it is happening in my production environment, only running with the docker containers locally
To Reproduce
take minimal supabase project, docker containers and set up auth and query the db
Expected behavior
Should not need to make initial supabase db call for calls to work.
System information

OS: macOS
Browser any
Version of supabase-js: 2.45.0
Version of Node.js: 21.2.0

Ah I figured out the issue, and I'm leaving this here for any other supabase noobs.
After reading further into Listen for auth events you cannot use await nore call other supabase functions within auth.onAuthStateChange.
This is exactly what I was doing as I wanted to fetch some additional user data from the users table when auth state changes.
I am using their workaround? by putting the calls to other supabase functions in a setTimeout like this:
setTimeout(async () => {
        setIsLoading(true);
        try {
          if (session?.user) {
            await fetchUserData(session.user);
            if (window.location.pathname === '/login') {
              navigate('/');
            }
          } else {
            setUser(null);
            if (!['/login', '/subscribe'].includes(window.location.pathname)) {
              navigate('/login');
            }
          }
        } catch (error) {
          console.error('Error in auth state change:', error);
        } finally {
          setIsLoading(false);
        }
      }, 0)


Add SecurityPriceInfo

Permits the price of a security to be interpreted using tick size, tick value and contract size.

That's everything


Support for different years

Is there a way to allow different years in the license header? E.g. in a project that is developed over multiple years and some file are not touched, the year could be different to new files.

I support you need something like ${git.fileAddedYear} to be inserted in the template?

This can be related to https://github.com/korandoru/hawkeye/issues/114. I can try to build it when git present.
We depend on git because the file created year is inaccurate from the FS's stats that would be the physical created date (i.e., when you clone the repo and get the file).


start "all" doesn't work when there is more than just the core to start

Starting All starts core, active and passive collectors. Command doesn't start visualization properly.


Define properties order in Schema objects

At the moment, field defined in schema objects are rendered in the following order

If there is no composition used then properties are rendered in the same order as defined in the object
If the composition is used then first properties from a "parent" object are rendered and then properties from of the "child" object are rendered.

Example
Here is a small example
openapi: 3.0.1
info:
  title: Swagger Petstore
  version: 1.0.0
paths:
  /cars:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Car'
        required: true
      responses:
        405:
          description: Invalid input
          content: {}
  /planes:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Plane'
        required: true
      responses:
        405:
          description: Invalid input
          content: {}
components:
  schemas:
    Vehicle:
      type: object
      properties:
        id:
          type: string
        manufacturer:
          type: string
    Car:
      allOf:
        - $ref: "#/components/schemas/Vehicle"
      required:
      - id
      - make
      type: object
      properties:
        make:
          type: string
        num_of_wheels:
          type: integer
          format: int64
    Plane:
      required:
      - id
      - manufacturer
      type: object
      properties:
        altitude:
          type: integer
      allOf:
        - $ref: "#/components/schemas/Vehicle"

As you can see both Car and Plane are extended from Vehicle object. Let's have a look how it is rendered:

Properties of the Vehicle are rendered first. Then the properties of Plane and Car are rendered accordingly.
Change order
If to change the order of fields in the Car object, .e.g swap make with num_of_wheels like this
    Car:
      allOf:
        - $ref: "#/components/schemas/Vehicle"
      required:
      - id
      - make
      type: object
      properties:
        num_of_wheels:
          type: integer
          format: int64
        make:
          type: string

then the order of rendered fields will change accordingly, but still the properties of the Vehicle will be rendered first.

In some cases this complicates schema readability when the object has dozens of properties. For example, to increase the readability it would be better to list first requires or most important properties and then optional or less important properties.
Suggestion
I would like to ask you what do you think about adding an additional optional property to the Schema object where API designers could define the order of appearance for properties.
Below you can find the example how it may look like in the schema:
    Car:
      allOf:
        - $ref: "#/components/schemas/Vehicle"
      required:
      - id
      - make
      type: object
      order:
       - id
       - make
       - num_of_wheels
       - manufacturer
      properties:
        num_of_wheels:
          type: integer
          format: int64
        make:
          type: string

Here, the order field defines the order in which object properties must be rendered.

Initially this looked like a tooling issue, but your final example leads me to think this is an issue for JSON Schema, or more precisely, for a new JSON Schema UI vocabulary. Within OAS itself we won't be extending JSON Schema, but we might be involved in developing JSON Schema vocabularies. As such, the best place to start the discussion might be the JSON Schema slack.

Closing due to inactivity - but please feel free to reopen the issue if necessary.


Make tuple treated the same as list and set

Summary
Treats tuple the same as list and set in the flatten conversion. Also adds in two tests to prevent regression.
Bug Fixes/New Features

Adds tuple to the structures flatten can support

How to Verify
Added two tests to verify:

A tuple with 1 or more values is expanded to its enumerated form: test_tuple
An empty tuple is left as an empty tuple and not expanded further test_empty_tuple

Side Effects
None
Resolves
None
Tests
All tests pass along with the two added tests: test_tuple and test_empty_tuple
Code Reviewer(s)
@amirziai

Hello @Outfenneced! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file flatten_json.py:

Line 71:80: E501 line too long (97 > 79 characters)

In the file test_flatten.py:

Line 114:1: W293 blank line contains whitespace


Cannot download ROUGE package

Is there another way to download the ROUGE package? The ISI website isn't responding.

I find another usable version here:
https://github.com/summanlp/evaluation/tree/master/ROUGE-RELEASE-1.5.5
The link in the readme file has also been updated.

Thanks! Closing


Not able to delete Amplify App

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
No response
Region
us-west-1
Amplify Hosting feature
Access control, Backend builds, Manual deploys
Describe the bug
Can not delete the app. No backend or frontend attached. Created with CLI but do not have project locally anymore. App is just hanging in AWS/Console creating problems for attaching domain to new app.
Can you please help delete the old app that's just hanging. Not able to use CLI for it anymore.
Expected behavior
deleted
Reproduction steps
select app in Amplify console. try to delete
Build Settings
n/a

Additional information
n.a

Hi @yogesh432kumar please run this AWS CLI command to delete the application:
aws amplify delete-backend-environment --app-id <value> --environment-name <value>.
This will delete all backend resources. You can then remove the hosting environment from the console.


lifecycle_query_installed&lifecycle_get_installed_package

lifecycle_query_installed will get all chaincode information installed in peer. lifecycle_get_installed_package will get all chaincode files installed in peer, it's input is packid_id.

resolved


Support autocompletion for subscription operations

I may prove again to be stupid: does the typesafe client support subscriptions?

It does. The plugin will simply need to wrap the operation's return type into a Multi when the operation is a subscription (the schema contains the raw type without any wrapper).
See for example this api https://github.com/smallrye/smallrye-graphql/blob/b7a8fd232b7ee6f0da7e3720f776b6d12ca488a3/server/integration-tests/src/test/java/io/smallrye/graphql/tests/client/typesafe/subscription/SubscriptionApi.java#L20
against this client https://github.com/smallrye/smallrye-graphql/blob/b7a8fd232b7ee6f0da7e3720f776b6d12ca488a3/server/integration-tests/src/test/java/io/smallrye/graphql/tests/client/typesafe/subscription/SubscriptionClientApi.java#L13

Cool! Would that also work with java.concurrent classes?

I think the server side supports that too, but client probably not, for now, I think client only works with Multi.

But if we allow other reactive wrappers in the future, it might be a good idea to allow either configuring this in the plugin (choose which wrapper the user prefers), or offer autocomplete options for all of them at the same time.
This gave me the idea that we might also offer applying a Uni wrapper to return types from queries and mutations. It's optional and if you do it, it will still work the same way, except the client will use a reactive type.

Adding every query in every variant would explode the number of completion options... I think we'd rather add a config panel to select the "style" of return values you prefer.


🐛 Bug Report: Backend dev server forces develpoment mode leading to "System limit for number of file watchers reached" error

📜 Description
Follow-up to the message in discussion.
We start the backend in CI from source code to run integration tests. We recently started encountering flaky CI because of  System limit for number of file watchers reached caused by watchpack used by Webpack to watch files.
It stems from assuming that the Webpack dev server will only be used in development mode. It's hardcoded here without a way to override the value.
👍 Expected behavior
It would be helpful to be able to disable watchers in CI.
👎 Actual Behavior with Screenshots
It's difficult to show with a screenshot - it happens in CI.
👟 Reproduction steps
Run CI=true NODE_ENV=production yarn start-backstage and it'll still watch the file system.
📃 Provide the context for the Bug.
I'm still determining the best way to fix this because there is already a decent amount of confusion here. We have NODE_ENV, which can be development or production, but starting the backend with integration tests can happen in CI or locally in development.
As a temporary solution, I will patch @backstage/cli package to isDev: !env.process.CI but I know if this is the right solution for the core. Thoughts?
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

We could probably add a --no-watch to get around the watch limit issue, since that might happen during development too. I'm hesitant to add any more support for running backend start in production though, it's not what it's designed or intended for, especially the old Webpack version. I'd recommend e2e testing towards a proper backend build, either a Docker image directly or setup equivalent to what the Dockerfile does with the dist/bundle.tar.gz from the backend.

We are running to the exact same issue in our CI.  Having an option to disable the watch would be very useful.

Just FYI, we moved away from running dev server in CI. We use the built artifacts instead.

Just FYI, we moved away from running dev server in CI. We use the built artifacts instead.

@taras Do you mean running by docker? Is there a way to run the built artifacts other than docker image?


Fork Intentions

So I've developed code against PDFSharp for a few years and ultimately what it does, it does well. I don't mean to sound ungrateful, but seems like empira is in maintenance mode.
I've wanted to make fixes to this code base but with the number of outstanding pull requests, I'm not confident they will ever accept them. I'm curious if you've ever thought about just making this a REAL fork, one we can clean up and fix... and be better stewards of the code (actually accept pull requests and progress the library forward)

The initial reason for this fork was to have a .NET Standard 2.0 library available, mainly for just reading PDFs.
That said, I'm all up for further developing this as an actual fork (or would it then be more than just a fork?). I'd also love to bring in more people to review & merge PRs, so it wouldn't just be up to me.
Just for reference, I've been developing/using this hand in hand with another library called PDFReader, which I'm primarily using with Xamarin.
Additionally, I've been working on a fork of EpubReader, to eventually bring all of these together in a single, cross-platform (and OSS) document reader/handler library. The resulting library is still in private development, but the plan is to release it to the public once it's more functional/mature.
Sorry for the wall of text, just figured I'd go all out on why this fork exists etc. :)

No, this answers my question. I've attempted to contribute code back to empira, and had very little luck doing so. At the end of the day, I'd be lying if I said I wasn't completely frustrated with the lack of open source options for .net core world.
Ultimately I think there's a lot of room for improvement in empira codebase as its a legacy and lots of old code in there, but I think it does what it does well, and do think its a good basis... I just can't afford continue to wait months/years to get the next beta, when it still doesn't fix a lot of outstanding stuff
I'm more than happy to contribute... I was inclined to port / pull request migradoc in for feature parity in the other versions, but ultimately I think that stuff should be refactored into something a bit more consumable

Here's what I've been working on: https://github.com/tudorserbanconnatix/MigraDoc It's a very basic change to MigraDoc that involved retargeting all projects to .NET Standard and referencing this fork of PDFSharp instead of the original, plus a couple of fixes.

@ronnyek Any further reason to keep this issue open?

nope... I had effectively used my own fork after your suggestion it remained separate. I've considered building a completely new framework for basically generating "templates" to make it significantly easier to design docs, and begin to support a designer of sorts... we've still got places we'd like to have equivalent of reports ideally based on templates.
Back to topic though, by all means this is not necessary to stay open


Adviser targeted content variant [NP-1456]

New badge styles
Extracts out shared badge/label styles into a cads-badge mini-component. Went with badge instead of label to avoid confusion with form labels.
We can then reuse this for callouts and adviser targeted content. Has the bonus of simplifying the callout styles.
Callout variants
Whilst refactoring the callouts styles I updated the modifiers to use consistent BEM conventions: e.g. cads-callout--adviser.
Adviser targeted content
New adviser specific variant of targeted content. Needed a bit of trial an error to make sure that the badge didn't break heading / button semantics, and that it continued to work with reference buttons so there's a little refactoring going on to help keep the implementation simple.
Example showing embedded table:

Screenshot showing this running in public-website whilst logged in:

If the general approach looks good then I'm happy to pull out the callout / badge refactoring into a separate PR.


feat: add support for cloning GitLab repositories

Closes #301.
Description
This PR adds support for cloning GitLab repositories in Macaron. Specifically, GitLab repositories can now be cloned as either main targets or dependencies in a macaron analyze run.
This feature comes with the following additions/changes:
.ini configuration

The old [git] section in the .ini configuration will now be replaced by the new [git_service.*]  sections.
Each [git_service] section corresponds to a different git service with a domain key. This domain is used to determine if a Git service hosts a repo given the repo's Git URL.
If the domain key is not found in any [git_service.*]  section, the command macaron analyze  will error right away before any analysis is done.
Users can configure 2 different GitLab services in the [git_service.gitlab.*]  sections: a public one and a private one. The domain of the public GitLab service is gitlab.com by default.

Access Token Environment Variables
An access token for the public GitLab service is not required when it is enabled. However, an access token for the private GitLab service is always required when it is enabled.
We accept two environment variables storing the access tokens that correspond to the two GitLab services:

MCN_PUBLIC_GITLAB_TOKEN  for the public GitLab service.
MCN_PRIVATE_GITLAB_TOKEN  for the private GitLab service.

The MCN_PRIVATE_GITLAB_TOKEN environment variable must be set when the [git_service.gitlab.private] section is enabled in the .ini config. If this is not the case, the command macaron analyze  will error right away before any analysis is done.

@nathanwn I know you have opened a ticket for integration tests. But please add at least one test for a public GitLab repository in this PR.

@nathanwn I know you have opened a ticket for integration tests. But please add at least one test for a public GitLab repository in this PR.

Integration test added in dbb274898e6ccde6f58df66b815b4552c31dc51f.


how to set the focus to the end of text using insertText to achieve text scrolling, when the text goes beyond the border of the text field

We can make the text box to smooth scroll by setting the selection alone at the end of the added text separately apart from the insertText for this case.


Message dropped

Currently, it is found that multiple processes send a large number of messages to the same processing process, and the number of messages received by the processing process is discarded. Please kindly ask whether there is a problem with the capacity of mailbox, or we can learn RabbitMQ gen_server2 to handle it!

Could you please try to increase the size of process mailbox via ProcessOptions?

At present, I also take the pooling approach, but it is unavoidable that the single point process is high and causes problems. When Erlang Mailbox is full, it will crash and feed back to the application layer. However, Ergo silently drops messages, which will cause abnormal problems in the application layer and lead to the wrong understanding of erGO's instability

When Erlang Mailbox is full, it will crash and feed back to the application layer.

It doesn't work this way in Erlang. Process's mailbox in Erlang has no limit, so it is just getting significantly slower until the moment when erlang will be killed by OOM.

Ergo silently drops messages

Ergo prints the Warning message on stdout. Yes, it is not the best solution, but it doesn't drop silently. I was thinking about something like a "system bus" for the global/critical events but still haven't decided to add this feature.
The nature of async messaging doesn't provide any guarantee of delivery. Obviously, If you want to get a guarantee, it is better to use the sync Call method (which is based on async messaging under the hood). It means, it doesn't matter whether you using Erlang or Ergo - none of them let you know about the issue of mailbox overflowing.
As I mentioned, if the erlang process can't manage the incoming messages in time, the mailbox is getting grow. In time it's getting growing much faster because of the nature erlang process - message handling it's getting significantly slower by the rising mailbox size.
Having said, for the pool of workers I use this approach

source of messages (Server1.. ServerN) --- Call(...) ---> Dispatcher
handle call Dispatcher.HandleCall(process, from, message)
// send to the worker as an async message
process.Cast(ServerWN, {from,message})
return gen.ServerIgnore // its like noreply in Erlang
handle cast ServerWN.HandleCast(process, message)
{replyto, msg} = message // not literally this way but to understand the meaning.
process.SendReply(replyto, "ok")

see comment here https://github.com/ergo-services/ergo/blob/master/gen/server.go#L164


[tmf] add AnycastLocator module

This commit adds a new class AnycastLocatr which can be used to
locate the closest destination of an anycast IPv6 address (i.e., find
the destination's mesh local EID and RLOC16). The closest destination
is determined based on the the current routing table and path costs
within the Thread mesh.
The implementation uses a CoAP confirmable post request to a newly
added URI path ("a/yl"). The destination IPv6 address of such as
request message is set to the anycast address to be located. The
receiver of the request message sends a CoAP response which includes
the "Mesh Local EID"  and "Thread RLOC16" TLVs.
This commit also adds support this new feature in CLI (adding a new
locate <anycastaddr> command).

Code size when feature is enabled:
  libopenthread-ftd.a_1.2      -524da6d  249001  24    47032  296057
                               +ba595b6  249520  24    47056  296600
                               +/-       +519    0     +24    +543
  libopenthread-mtd.a_1.2      -524da6d  173280  24    28608  201912
                               +ba595b6  173827  24    28632  202483
                               +/-       +547    0     +24    +571

  ot-cli-ftd_1.2               -524da6d  451836  784   65076  517696
                               +ba595b6  452476  784   65100  518360
                               +/-       +640    0     +24    +664
  ot-cli-mtd_1.2               -524da6d  362020  784   46644  409448
                               +ba595b6  362716  784   46668  410168
                               +/-       +696    0     +24    +720
  ot-ncp-ftd_1.2               -524da6d  439296  784   67916  507996
                               +ba595b6  439480  784   67940  508204
                               +/-       +184    0     +24    +208
  ot-ncp-mtd_1.2               -524da6d  352232  784   49492  402508
                               +ba595b6  352432  784   49516  402732
                               +/-       +200    0     +24    +224

Curious what's the use case of this feature?
Is the COAP uri a/yl going to be added to Thread Specification?

Curious what's the use case of this feature?

The main/first use-case for this is to be able to determine the SRP/DNS server's address (when using the anycast address model). Some related ideas were discussed in Thread TC meetings (in members meeting last week). This PR is prototype of a Thread based solution for this (using simple TMF/CoAP request/response exchange). Another idea discussed is using DNS query for a specific registered name for this purpose. The Thread based solution seems to be preferred due to it being simpler and quicker (to implement and add to spec) and also more generic (i.e, can be use for any anycast address).

Is the COAP uri a/yl going to be added to Thread Specification?

Yes. I expect so.

Curious what's the use case of this feature?

When using DNS Push, it is desirable to use a stable IPv6 address (rather than anycast).

Curious what's the use case of this feature?

If/when using DNS Push, it is desirable to use a stable IPv6 address (rather than anycast).

Code size when feature is enabled:
  libopenthread-ftd.a_1.2      -524da6d  249001  24    47032  296057
                               +ba595b6  249520  24    47056  296600
                               +/-       +519    0     +24    +543
  libopenthread-mtd.a_1.2      -524da6d  173280  24    28608  201912
                               +ba595b6  173827  24    28632  202483
                               +/-       +547    0     +24    +571

  ot-cli-ftd_1.2               -524da6d  451836  784   65076  517696
                               +ba595b6  452476  784   65100  518360
                               +/-       +640    0     +24    +664
  ot-cli-mtd_1.2               -524da6d  362020  784   46644  409448
                               +ba595b6  362716  784   46668  410168
                               +/-       +696    0     +24    +720
  ot-ncp-ftd_1.2               -524da6d  439296  784   67916  507996
                               +ba595b6  439480  784   67940  508204
                               +/-       +184    0     +24    +208
  ot-ncp-mtd_1.2               -524da6d  352232  784   49492  402508
                               +ba595b6  352432  784   49516  402732
                               +/-       +200    0     +24    +224

Add this feature to size-report?

Add this feature to size-report?

I thought of this, but I felt it may be better to add to code-size report only when we also add code that uses it (e.g. when adding DNS push support).

Add this feature to size-report?

I thought of this, but I felt it may be better to add to code-size report only when we also add code that uses it (e.g. when adding DNS push support).

SGTM

Looks great overall. Can we add a CI test?

In the latest push, added test_anycast_locator.py to cover the behavior of AnycastLocator, locating leader ALOC and also service ALOC (when there is a signle node adding the service and when there are two nodes adding the same service and verifying that the closest destination is indeed located).

Rebased on main and fixed the conflicts.

Rebased on main (so to use AsCoreType() in the newly added API functions).


Update Settings “general”

Automatically generated by Netlify CMS

👷 Deploy Preview for basedeconhecimento-bigshop processing.

Name
Link

🔨 Latest commit
8893bdbf2377537161871bbd6c99f5c9d5a3fad4

🔍 Latest deploy log
https://app.netlify.com/sites/basedeconhecimento-bigshop/deploys/636000406db5c7000984f04e


[DAPHNE-#437] Deployment documentation (containerized packaging, virtualized installation, managed deployment, and distributed execution)

This PR adds documentation on how to deploy DAPHNE, mainly two .md files, one in deploy/and one in doc/ directory.
This PR is created to address the documentation of deployment documentation for:

containerized packaging,
virtualized installation,
managed deployment, and
distributed execution.

The #335 already added the set of scripts and experimental data files regarding:

deployment of the ˙daphne˙ executable,
packaging/virtualization of the installation, and
collection and analysis of experimental data obtained through running this deployment.
The support in #335 builds, packages, and deploys the code. It also includes a demo.
The #335 included the comment: "Some more usage code for the deploy-distributed-on-slurm.sh script needs to be added.", hence this Issue #437 now resolves this.

The added functionality from #335 now receives documentation in order to be merged in the main branch at GitHub. A new branch #437 was created to address this issue, in order to accomplish the above mentioned documentation .md files.
The files changed:

deploy/README.md - a short README file to explain directory structure and point to more documentation in doc/Deploy.md.
doc/Deploy.md - a new, more detailed documentation file (tutorial-mode explanation for a user).
doc/GettingStarted.md - refers the reader to above documentations.

The doc/Deploy.md explains the excerpts of descriptions of functionalities of deployment with SLURM (deploy-distributed-on-slurm.sh):

compilation of the Singularity image,
compilation of the daphne main and worker codes within the Singularity image
packaging compiled daphne codes
packaging compiled daphne codes with user payload as a payload package
uploading the payload package to an HPC platform
obtaining the list of PEERS from SLURM
executing daphne main and worker binaries on SLURM PEERS
collection of logs from daphne execution
cleanup of workers and payload deployment

Specific description of functionality differences with deploy-distributed-on-slurm.sh compared to basic deployDistributed.sh are also documented.
Additionally, from comment to pull request #431, this issue #437 also address these points 1-4 from #431:

The document explains how to set up the distributed workers, but it should also briefly comment on what to do afterwards. For instance, the distributed workers can be reused for multiple invocations of daphne. Furthermore, how can the workers be shut down?
It would be great to mention explicitly that running on the distributed runtime does not require any changes to the DaphneDSL code, but just to the deployment environment, since daphne figures out automatically what to run in a distributed fashion (that might not be self-evident to users).
It would be great to use an existing DaphneDSL example script (feel free to create a new one in scripts/examples). Can be very simple.
It would be great if there was a README.md in deploy/. This directory is referenced, but when the users navigate there, it is not really clear where to start in that directory. This could be explained in such a readme.

Thanks @aleszamuda for the documentation, and thanks @aristotelis96 for the feedback. Looks very good to me. I've just applied some minor polishing.

Thanks for the merge @pdamme. Also thanks for the sync of links.


Fix gradient clipping

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[X] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[X] Did you write any new necessary tests?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

What does this PR do?
This PR fixes broken gradient clipping.
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Yep :-)

Thanks for a quick merge!


Create sign language metadata request issue for the backend team

As a digital analyst I want to understand how much video content provided with sign language is consumed so that I can report and discuss to/with our stakeholders.
Hints
See related JIRA issue.
Acceptance criteria

The need has been clarified with the backend team and a dedicated issue has been created in their backlog if needed.

Tasks

[x] Join the Play SRG developer meeting to discuss the need.
[x] Create an issue if needed.

The ADI team was asked to open the issue for the backend team directly.


Suffix const for selector methods and parameters

It is recommended to use const qualifier for parameters if they're used in read-only manner. ConfFile instance is used as read-only, hence made it as const wherever applicable.
This commit constfiy selector ethods in classes CameraServer, ConfFile and MavlinkServer. Clang formatter was run on this commit.

@lbegani, as discussed I tried to squash all the commits into a single commit (per feature so to speak), and in the end I had run Clang format as it is part of the source code. I had off-line discussion with @SaliniVenate as well on this.
But, after running clang-format on src folder of the repo, it resulted into many changes (~15+ files other than my changes). So, I wanted to know is it the right way OR Did I miss getting information ?

@lbegani, I've squashed my commits into a single commit and tested basic camera control using QGroundControl. You may review now.
Thanks.

Thanks @lbegani .


Change Apply / Cancel to Okay / Cancel

We're making KBM a modal dialogue, and for remappings to work they'll have to cancel the window. Thus, Apply isn't the correct wording anymore

Is saving per change an option and with that removing the OK/Cancel buttons?
If not, can we put them at the bottom (making OK AccentColorStyle?) and set a maxwidth/maxheight on the window?

I think making OK AccentColorStyle regardless is a good add to this issue @traies
@niels9001 can you expand on saving per change. just having a Save button? Similar to old PT settings?
Also we can set a max width / max height but it might be cumbersome for users who want to full screen to avoid scrolling to view all the mappings.

I think making OK AccentColorStyle regardless is a good add to this issue @traies
@niels9001 can you expand on saving per change. just having a Save button? Similar to old PT settings?
Also we can set a max width / max height but it might be cumbersome for users who want to full screen to avoid scrolling to view all the mappings.

Actually.. no save button at all. What ever change you make is instantly saved?
True on the max height - max width maybe? Might look less jarring and dialog like. 3 keys per column is the max, right?

I think we definitely can't do saving per change (like in SettingsV2) for build, since that would need alot of logic changes for which we dont have enough time. It could be a v1 thing though.
I was considering a default size and then allowing users to resize if they'd like. Is there a reason for the max width constraint? In my current PR im constraining the grid column sizes for "Original" and "New" shortcut columns, but we are adding in the -> symbol in between as a column. I was thinking of not constraining the size of the -> and Delete columns so that it can scale to resize as well

Saving: yeah, that's understandable due to the time restrictions. Ideally we would aim for that, since it's pretty common nowadays that UIs have an 'auto save' feature.
Resizing: if we want this thing to be a 'dialog'-like window, I'd restrict atleast its width (since dialogs can't be resized :)). In our case I think having the ability to resize the height makes sense, since it can show you more content.
Basically our list of shortcuts is a data-grid structure. If you resize a datagrid (e.g. Excel) the spacing will not increase between the columns, this helps with the understanding that the row contents belong to each other, reducing cognitive load to see if e.g. the delete button on row 2 belongs to that specific row (banding helps obviously).


Add borsh macros that change enum discriminant de- and serialization behavior #148

I closed previous PR because it has too much commits and I had problem with rebasing master

this is a formal proof that behavior of 0.10.3 is identical to this pr - https://github.com/iho/borsh-test.
It's not fully automated, requires edits to switch from one version of borsh to another and test against the same snapshots.


introducing 'tsrc manifest' command

use: tsrc manifest --branch <new_branch> to setup new branch for Manifest.
tsrc sync is required after that.
use without --branch option to see extended information

@dmerejkowsky can you please check: python black reports issue with 'tsr/cli/manifest.py', while I have tested it with: "black, 24.2.1.dev1+gd1d4fc5 (compiled: no)" and there is no issue, no reformat needed