Support for "delete" of targets missing in the source

as of 1.1 we only support "create-or-update" synchronization. Need to start supporting "delete" as well.

Have thought on this a bit. Probably we'll need several strategies for deletion:

Collect all business keys for created and updated entities; then, as the last phase of ETL task:
a) either delete all entities from target that have non-matching keys,
b) or mark them as inactive (via some column); this would also require marking all matching entities as active throughout the ETL process
In the latter case, some extra configuration will be needed: name of the column, type and values for active/inactive
As the first phase of ETL task, truncate target
Some "no-action/callback" strategy to let the user define more complex processing of deletions (e.g. when date-time intervals are used for marking entries as active - active_since etc.)

Questions:

Possible ways of enabling deletion? Via extractor configuration or ETL task builder parameters?
Callbacks on per-entity deletion (same as for create/update)? Not applicable for option 2.

After #26 was implemented and our pipeline was explicitly exposed in the code, it became much easier to design new pipelines. So some analysis:

Generally we can not reuse the extractor used by CreateOrUpdateTask for delete (and can't attach delete operation to CreateOrUpdateTask). Especially if the task uses SyncToken. As in this case we are not getting all sources and can not reliably decide whether a given record needs to be deleted.

DeleteTask will be a separate task and will use its own extractor (in simple cases like "SELECT * FROM my_table" it may reuse CreateOrUpdateTask extractor).

DeleteTask pipeline will somewhat the opposite to CreateOrUpdateTask:
BatchRunner.iterate_over_all_targets // allow target filtering?
for_each_segment
mapTargets
matchSource
deleteMissingTargets
commit


Error when navigating from a svelte page to an endpoint

Describe the bug
When on a .svelte route, if you have a link that points to a server endpoint (my use case: generating a .pdf), you see an error fom start.js on the svelte route before navigating away, and it breaks the back button. I can reproduce on a couple different machines, in dev, and in build/production.
Logs
Uncaught (in promise) TypeError: Cannot read property 'nodes' of undefined
    at Renderer.update (.svelte/dev/runtime/internal/start.js:497)
    at async Router._navigate (.svelte/dev/runtime/internal/start.js:248)

To Reproduce

start with fresh sveltekit install
create /src/routes/test:

export async function get() {
  return { body: {} }
};

modify the src/routes/index.svelte:

Visit /test to see the problem.

npm run dev - visit the homepage, open js console, click /test, notice debugger.

Repo: https://github.com/acoyfellow/sveltekit-bugrepo1
Example: https://ef1mp-3000.sse.codesandbox.io/

Expected behavior
I'd expect it to not throw an error, and not break "back" functionality
Stacktraces
 Uncaught (in promise) TypeError: Cannot read property 'nodes' of undefined
    at Renderer.update (.svelte/dev/runtime/internal/start.js:497)
    at async Router._navigate (.svelte/dev/runtime/internal/start.js:248)
update @ .svelte/dev/runtime/…ternal/start.js:497
async function (async)
_navigate @ .svelte/dev/runtime/…ternal/start.js:248
(anonymous) @ .svelte/dev/runtime/…ternal/start.js:141

Information about your SvelteKit Installation:

Diagnostics
System:
    OS: Linux 5.4 Ubuntu 20.04.1 LTS (Focal Fossa)
    CPU: (4) x64 Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz
    Memory: 2.98 GB / 7.78 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 14.16.0 - ~/.nvm/versions/node/v14.16.0/bin/node
    npm: 7.8.0 - ~/.nvm/versions/node/v14.16.0/bin/npm
  npmPackages:
    @sveltejs/kit: next => 1.0.0-next.71
    svelte: ^3.29.0 => 3.37.0
    vite: ^2.1.0 => 2.1.5

Tried in Chrome, Firefox, Safari - all show the bug.
adapter: @sveltejs/adapter-node

Severity
Minor. Add rel="external" to the link and it side-steps this problem
Additional context
@GrygrFlzr said he could not reproduce this, so i'm not 100% confident this isn't something else I'm doing wrong

Can't reproduce with the latest version. Closing.


Provide support for Jiff date/time types

Description
This is a proposal to add first-class support for the data types from Jiff. First-class support is necessary, and an external crate would be much more inconvenient to use, because of Rust's orphan rule as outlined in https://github.com/graphql-rust/juniper/issues/87#issuecomment-325918618.
This should cover the following date/time types:
Timestamps

Timestamp, serialized as RFC 3339 (ISO 8601) date/time with UTC time zone, GraphQL scalar DateTime, e.g. 2024-06-19T19:22:45Z
Zoned, serialized was RFC 3339 (ISO 8601) date/time with underlying time zone, GraphQL scalar DateTime, e.g. 2024-06-19T15:22:00-04:00[^1]

[^1]: Alternatively, this could include the time zone specifier and use RFC ~8536~ 9557 instead, i.e. 2024-07-04T08:39:00-04:00[America/New_York]. This would probably be harder to consume, though, because that format seems not as widely used. It is also not a valid input for GraphQL scalar DateTime.
Wall-clocked

Date, serialized as date, without time zone, GraphQL scalar LocalDate, e.g. 2024-06-19
Time, serialized as time, without time zone, GraphQL scalar LocalTime, e.g. 15:22:45
DateTime, serialized as date/time, without time zone, GraphQL scalar LocalDateTime, e.g. 2024-06-19T15:22:45

Durations

Span, serialized as ISO 8601 duration, GraphQL scalar Duration, e.g. P5dT8h1m

The resulting serialization would be identical to the one for the chrono and time crates, with the difference of using GraphQL scalar LocalDate instead of Date.[^2]
[^2]: LocalDate seems to be the more appropriate type. I am not sure why chrono and time integration chose to use Date instead.
I am aware that Jiff is a very new library but I think it has great potential in the ecosystem. Having dealt with date/time intricacies in several projects, I regard it as one of the top-contenders for following or eventually even superseding chrono/time.
I am willing to provide a PR if this proposal is accepted.

Jiff author here. Great to see this! Happy to answer questions. :-)
For Zoned, in order to deserialize into it, a time zone ID like [America/New_York] is required. This is from RFC 9557 (not RFC 8536) and extends RFC 3339. You are absolutely correct that it does not yet enjoy broad support. Temporal will support it (but that isn't in browsers yet) and java.time supports it. I'm not sure what else does, but hopefully more will support it soon.
With that said, if your datetimes do not have a time zone ID in them, and GraphQL cannot otherwise store them, then probably the right thing to do is to not offer Zoned support directly. Either that, or error if the Zoned contains a time zone with a non-None TimeZone::iana_name, since otherwise serializing and deserializing will be lossy.
The idea with a Zoned is that if you have a Zoned in hand, then you have an assertion about what the local time is in relationship to UTC.
Everything else looks correct to me, including the mapping from Jiff's civil date types to GraphQL's local data types. (With the caveat that I don't know too much about GraphQL. But the docs you linked all seem like they support the mapping you chose here.)

I think this should be fine. If GraphQL outright rejects datetimes with precision better than milliseconds, then I think you'll just need to strip anything less than milliseconds from the datetime (possibly via rounding). Otherwise, we can teach jiff::fmt::temporal::DateTimePrinter a new knob for controlling output precision.
Yeah that's a tough one, but I think that fits into my suggestion. That is, you return an error when trying to serialize a Zoned with an IANA time zone. But you specifically allow serializing a Zoned when its TimeZone::iana_name is none. This permits users to serialize a fixed offset Zoned. And if they have an IANA time zone name, they'll need to do an explicit conversion, e.g., zdt.with_time_zone(TimeZone::fixed(zdt.offset())). But the point is that it's explicit and they aren't subjecting themselves to a subtle footgun. And this is a very subtle footgun, because a fixed offset will "just work" in a lot of cases.

In my current draft, I am rounding manually. The need to handle errors is unfortunate, but since these can happen only for configuration errors (which we can rule out), there should be no problems at runtime.

Yeah that works. You could also drop the rounding if you're okay with truncation, which is what the %.3f will do.

Thus, I tend to agree with your initial assessment https://github.com/graphql-rust/juniper/issues/1270#issuecomment-2265865082 and would probably indeed not offer serialization for Zoned—which is unfortunate, but it still seems better than having to pick between two footguns 😐

Holding off on a Zoned impl is fine I think. But to push back a little, presuming serialization returns an error, it doesn't seem like it'd be a huge footgun since the caller will get an error if they try to do something wrong. Then they can fix it. It's at least better than the footgun of silently dropping information.

Gotya. Yeah I'm not especially familiar with GraphQL, but I think what you're saying there makes sense.
I think it would be good to leave out Zoned for now. Not necessarily because we ought to wait for better GraphQL support, but also just to see what practice demands. If the practical advantages of supporting Zoned end up being large enough to outweigh the footgun of dropping the time zone, then it might make sense to add it at that point.

@sgoll

Leave out Zoned serialization for now, only serialize Timestamp into GraphQL scalar DateTime. Then, when some new GraphQL scalar ZonedDateTime2 has been added, we serialize Zoned into it.

The fact, that https://graphql-scalars.dev/docs/scalars/ collection doesn't provide such a scalar is not a blocker as for me. We just can introduce the ZonedDateTime scalar by ourselves and don't bother, as we had done with the LocalDateTime scalar before it appeared there, and as we do with some scalars absent there even now (like BigDecimal).


Fixed #1585 - ForestDB + Encryption - SIGSEGV during database deletion

In case return value from getAllDocs() is null, it causes NPE.

This is minor PR. I will commit this by myself.


Response "200 Connection Established" should be valid as well!

Hello!
Thanks for this very simple and easy to use library!
However, I found a little issue: response status code can be different than 200 OK, for example I am getting HTTP/1.1 200 Connection Established with my proxy.
So I guess this line: https://github.com/filemail/ProxiedTcpClient/blob/master/ProxiedTcpClient/ProxiedTcpClient.cs#L62
should then look something like:
if (!response.Contains("200"))

Kind regards,
Matt.

I agree, the 200 Connection Established response should be accepted as well, see https://tools.ietf.org/html/draft-luotonen-web-proxy-tunneling-01#section-3.2:

If everything is in order, the proxy will make a  connection to the destination server, and, if successful, send a "200 Connection established" response to the client.

So, here is my PR: https://github.com/filemail/ProxiedTcpClient/pull/7


Look at tutorials

There should be a very usefull tutorial look at with two examples.

Object look at another object we can move anywhere, using the Z axis as rotation axis.
This is used in every game alsmot.

Same as above with speed interpolation, for example an object rotating slowly to face another object, using the shortest angle.

One object looking at another object on Z and X axis, this could be some mechanic object on floor rotating on two axes and able to lock and follow a moving object.

Sounds good. There is some relevant code at NavMesh.hx, will turn it into a very useful tutorial.:)

Good.

Will move this issue to the repository at https://github.com/armory3d/armory_tutorials.


Problems with hyphens

In Chrome (and derived browsers like Edge) the property all: unset kills the ability to hyphenate text.
Even after setting all hyphens related properties, you cannot get any hyphenation.
    hyphens: auto;
    hyphenate-character: '-';
    hyphenate-limit-chars: 10 4 4;

I was working happily with most parts of this reset, but now I have to adjust around this issue.

Can you confirm what version of the reset you are using?
Does this line, exactly match, specifically the html element?
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {

ah I see, you added html to the exlusion list.
i was using :where( :not( iframe, canvas, img, svg, video ):not( svg *, symbol * ) ) {

Sorry for the late answer. From what I see I can close this issue. If anything is still an issue please let me know.


Minor: Improve doc comments to datafusion-sql

Which issue does this PR close?
N/A
Rationale for this change
@devinjdangelo  noted that the distinction between the DataFusion SQL parser and sqlparser was somewhat unclear: https://github.com/apache/arrow-datafusion/pull/7291#discussion_r1296541827
What changes are included in this PR?
Update doc comments in the datafusion-sql module to try and make the rationale / distinction clearer
Are these changes tested?
N/A

Are there any user-facing changes?
Just documentation

Thanks everyone for the reviews!


Implements profiling support for IPUs

Description
This adds support for automatically logging various metrics of an IPU, such as temperature, clock speed and utilisation. This is implemented similarly to how TPU support is implemented, where it only runs if the necessary imports are available, in this case a package from our sdk, gcipuinfo. This is extracted into it's own class, IPUProfiler.
All stats that are returned by gcipuinfo are logged initially, but a lot are static so only a select few are logged on every invocation.
Testing
Some unit tests are added for IPUProfiler that mock the interface of the gcipuinfo package, as well as some unit tests for the SystemStats class to check that it interacts with the IPUProfiler class correctly. Note that no tests actually run anything on the IPU.
Checklist

Include reference to internal ticket "Fixes WB-NNNN" (and github issue "Fixes #NNNN" if applicable)

Thanks @cameron-martin this looks really awesome!  There's a mypy and black formatting error but they should be pretty straightforward to address.  I'll leave the final call to our sdk team but this looks really clean.  We'll also need to add some additional logic to our frontend to ensure these show up in the system metrics panels but it's a simple fix we can handle.

Out of curiosity, @cameron-martin: are there plans to open-source the gcipuinfo library?

Out of curiosity, @cameron-martin: are there plans to open-source the gcipuinfo library?

I'm not aware of any such plans. I'll let you know if this situation changes, however.


JB Content Review - Work in Progress

Intro Page
Feel there should be abit more business context on this page  or another business page within Overview section, explaining the business objectives/benefits that the capabilities are intended to deliver;  are there going to be Clinical Scenarios - to give example other business use cases, user stories as we've done with AM/Structured?
On graphic - as Send Doc is outlined different to Send Task/Update - some form of info about each capability, why the different outline etc, something about their 'evolution',
Is it worth explaining anything about rationale for Mssaging rather than FHIR API - aha - could link to the Communication paradigm section on Design principles page
Spelling - in 2. Who's looking- 'seeding' vs 'seeking'
First of Type Page
The Summary sentence leaves out the concept of the 'receiver' systems also being assured etc
Glossary
Some stuff - eg 'GP Connect 'Licence' - terminology may have been superseded
Menu Items
The top level 'group' menu items when  clicked on don't present either their own page or the first page in the group
General
Should the term 'practice' meaning GP Practice have a capital P? to more quickly convey that its a 'proper noun'
Design Principles Page
Re-usability section
The 'Send federated encounter summary' use case title quoted;  is this different or the same as 'Send federated consultation summary'?  if same, should only one term be used?- and on actual Use Case pages
Implement a Capability
When navigating the menu under this and 'Send a Doc' One ends up at the 'Introduction' menu item, but the Group menu option of 'Send a Doc'  is no longer presented
Message Payload Page
first para under the Payload diagram - if the word 'organisation' is plural, then the apostrophe should come after the 's' - ie organisations' records ......
In spec pages - use of 'MUST' vs 'SHALL' are these terms used intentionally for different reasons? - consistency across GPC as a whole?

Hi Jackie, the word 'practice' is not a 'proper noun' so the p should be lower case.

@jackiebarnes with regards to the Menu Items top level group; we don't do this throughout the spec.
Perhaps this can be parked for the spec overhaul?

Re: MUST and SHALL  - under RFC 2119, these terms are equivalent.

All comments addressed


feat: handle replacing closed notification

Hi again,
There is an issue when sending an id for a closed notification, instead of having an error notification Invalid notification to replace there is the following error:
E5108: Error executing lua ...ker/start/nvim-notify/lua/notify/service/buffer/init.lua:99: Invalid buffer id: 4
stack traceback:
        [C]: in function 'nvim_buf_set_option'
        ...ker/start/nvim-notify/lua/notify/service/buffer/init.lua:99: in function 'render'
        ...ack/packer/start/nvim-notify/lua/notify/service/init.lua:64: in function 'replace'
        ...m/site/pack/packer/start/nvim-notify/lua/notify/init.lua:131: in function 'notify'
        [string ":lua"]:1: in main chunk

And if we try again with the same ID:
E5108: Error executing lua ...m/site/pack/packer/start/nvim-notify/lua/notify/init.lua:132: attempt to index local 'notif_buf' (a nil value)
stack traceback:
        ...m/site/pack/packer/start/nvim-notify/lua/notify/init.lua:132: in function 'notify'
        [string ":lua"]:1: in main chunk

Instead of the original error message and those errors I propose to simply create a new notification if we can't do the replacement.
I think it will make the plugin more easy to use in a generic way.
Let's imagine we have a function that notifies about something, this function can be called multiple time. Potentially it can even be called before the previous notification was closed (for instance the user defined a long timeout or whatever).
The only way to deal with that is to:
local notification_id
function doSomething()
  notification_id = require('notify').notify('message to replace if possible', vim.log.level.INFO, {
    on_close = function()
      notification_id = nil
    end,
  })
end

Currently I play with the idea of leveraging freedesktop notification's specification to see if it's possible to reliably use vim.notify as a generic port without knowing which adapter is used.
In such a situation it's not possible to use the on_close trick.

The error should now be fixed as part of my previous changes.

Instead of the original error message and those errors I propose to simply create a new notification if we can't do the replacement.

The decision to not do that was purposeful. The reason I didn't want it to re-open a notification is that the use case for the replacements is a thread of related notifications. If a user dismisses the thread then they should not see any further messages within it.
For your situation instead you could handle the timing logic yourself and set timeout = false if you want to avoid using on_close

The error should now be fixed as part of my previous changes.

Great, thanks.

The decision to not do that was purposeful. The reason I didn't want it to re-open a notification is that the use case for the replacements is a thread of related notifications. If a user dismisses the thread then they should not see any further messages within it.

So it means that these threads were designed to be controlled by the user, setting timeout = false until the last message arrives, am I correct ?
I guess that as long as I can retrieve the current configuration to get the timeout I should be able to handle it on my side with a dedicated timer.

No the thread is controlled by whatever is sending the notification, I just mean if a user calls notify.dismiss which remove a message in the thread, it should not show any further messages.
The sender controls the timeout by providing it in the notify options, you don't need to know the current users config. You can see https://github.com/rcarriga/nvim-notify/wiki/Usage-Recipes#progress-updates as an example


File matchers should implicitly check File.shouldExist

This should either be a documented feature (you need to always check shouldExist before calling any other matcher file matcher) or should just be done implicitly for the user (my preferred approach). Because the matchers just defer to the Java File/Path checks, they have no null checking. This results in unexpected NPEs.
A shouldExist check, in my mind, is implied if you are using any of the other matchers. In my use case, this was resulting from a call like:
File("foo").resolve("bar") shouldContainFile "xy.z"

Where the subdirectory "bar" did not exist.
Additionally, I think the message of the shouldExist matcher could be improved to highlight the first intermediate path that does not exist. That probably belongs in another issue, though.

Without checking myself, are you saying that File("qeqweqweqweqwewqe").resolve("bar") throws an NPE ?

@sksamuel No, its thrown from the matcher. Resolve just returns a File, which may or may not actually exist.
The specific issue in the example above is that shouldContainFile eventually calls contents = File.list() which returns null when File is either not a directory or does not exist. The returned result then tries to call contents.size which causes the NPE.

Ah yes, .list() can return null.
Good call thanks. These matchers should definitely handle files that don't exist.
Your 2nd point is good too - the intermediate path, very useful. I'll cc in the matchers expert @Kerooker

Fixed in master for 4.0 release.


Remove deprecation warning about backend.auth.keys

Description

Fixed default configuration to remove deprecation warning about backend.auth.keys by replacing it with https://github.com/backstage/backstage/blob/master/beps/0007-auth-external-services/README.md#the-legacy-access-type
Which issue(s) does this PR fix or relate to
Fixes: https://issues.redhat.com/browse/RHIDP-2716
PR acceptance criteria

[ ] Tests
[ ] Documentation
[ ] If the bundle manifests have been updated, make sure to review the rhdh-operator.csv.yaml file accordingly

How to test changes / Special notes to the reviewer

/override "PR Publish"
/override "PR Validate"
Those jobs passed successfully, but for some reason, the status check was not reflected in the PR.

https://github.com/janus-idp/operator/actions/runs/9762779463
https://github.com/janus-idp/operator/actions/runs/9762779683


Frame: Refined corruption detection.

Found that previous code was incomplete and did not properly detect frame corruption during decoding
> i'm decoding video stream using ffmpeg, what i want to do is to check if
> the picture is broken when a frame is decoded by
> avcodec_decode_video2(). i call av_frame_get_decode_error_flags() on
> decoded frame to get the errflags, but it returned 0 all the time. am i
> calling the right function to get what i want? what's the right way to
> check integrity of a decoded picture?

You need to check

- return value of avcodec_decode_video2 (or avcodec_send_packet/receive_frame)
- if you have a frame, then check
      - frame->decode_error_flags (any nonzero value means error)
      - frame->flags & AV_FRAME_FLAG_CORRUPT (some codecs set this and not the decode_error_flags)

I am afraid not all codecs properly report all failed decodings, but
patches are welcome, if you find a decode error without signalling it in
at least one way of the above three...

int AVFrame::decode_error_flags reference

What a spectacularly tiny and well documented pull request. Thank you, kind internet citizen!
So you have a tiny sample handy that we can use for automated testing, or shall we make the (reasonable) assumption that FFmpeg will do that for us?

Truth be told i've never gotten corruption checks to yield anything.
I wanted to use it for checking for incomplete frame data but had to resort to a bigger back buffer in the end.
I exposed the frame corruption detection and so when I stumbled on the mailing-list response and found that my previous code was incomplete, I thought that I ought to clean up my mess.
Also, you just closed this without merging.

Good enough for me.
I cherry-picked the commit, and GitHub doesn't immediately understand that. It is over at baed360


need help

Hello all,
I currently use the kick start version. Lazy tells me the plugin is installed, however it doesn t seem to work. I have init.lua from dotfiles dir symlinked into the appropriate folder. All other plugins are working.
For instance when I try Precognition peek I get Not an editor command: Precognition peek
I've executed Lazy update, install and sync.
thanks in advance
this is my init.lua
return {
	"tris203/precognition.nvim",
	event = "VeryLazy",
	opts = {
		startVisible = true,
		showBlankVirtLine = true,
		highlightColor = { link = "Comment" },
		hints = {
			Caret = { text = "^", prio = 2 },
			Dollar = { text = "$", prio = 1 },
			MatchingPair = { text = "%", prio = 5 },
			Zero = { text = "0", prio = 1 },
			w = { text = "w", prio = 10 },
			b = { text = "b", prio = 9 },
			e = { text = "e", prio = 8 },
			W = { text = "W", prio = 7 },
			B = { text = "B", prio = 6 },
			E = { text = "E", prio = 5 },
		},
		gutterHints = {
			G = { text = "G", prio = 10 },
			gg = { text = "gg", prio = 9 },
			PrevParagraph = { text = "{", prio = 8 },
			NextParagraph = { text = "}", prio = 8 },
		},
	},
	"tpope/vim-fugitive",
	"pearofducks/ansible-vim",
	{
		"christoomey/vim-tmux-navigator",
		lazy = false,
		cmd = {
			"TmuxNavigateLeft",
			"TmuxNavigateDown",
			"TmuxNavigateUp",
			"TmuxNavigateRight",
			"TmuxNavigatePrevious",
		},
		keys = {
			{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
			{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
			{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
			{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
			{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
		},
	},
}

Awesome, solved the issue many thanks for the help.
Great job with the plugin. Looking forward to see more features!


AutoPkgr closes when setup JSSImporter

Everytime I click on verify to complete the JSS setup inside JSS Importer, it crashes the app.  If I purposefully type a wrong password, it doesn't crash.  Thoughts?

@brianwarf What do you mean by "JSS setup inside JSS Importer"? Do you mean this:
Everytime I click on verify to complete the JSSImporter setup inside AutoPkgr, it crashes the app
If so, please raise the issue at AutoPkgr's GitHub: https://github.com/lindegroup/autopkgr/issues
Note, though, that AutoPkgr is not in very active development right now. I would recommend that you use the JSSImporter installer and setup instructions provided here rather than use the button within AutoPkgr.

Please try the latest version of AutoPkgr, 1.5.1, which has support for the latest version of JSSImporter.


Disable trend patch use by default

Set trends to false in plugin.json file.

Resolved by fb30e70e2b857bc43bb599b3f23fbfd48bfaf975


Problem with Git

Hey guys,
I'm a beginner with Git and I red this tutorial : https://github.com/johhnry/algorithm-archive/blob/master/chapters/principles_of_code/version_control.md
I succeeded installing git and cloning the algorithm-archive repository localy.
But it seems really confusing to me, I have an error with the command :
git push remote master
fatal: remote does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I would like to submit algorithms in C / Python and Processing to help the community.
Thanks in advance
Joseph

 git remote set-url origin https://github.com/algorithm-archivists/algorithm-archive.git

You probably wanted to run git push origin master. "origin" is the name of a so-called remote.
If you want and that's your thing, you can join our Discord (linked in the README on the front page of this repo) and we can try to figure everything out there. That might be a bit easier than here.

Thanks for your answers @lulucca12 and @Butt4cak3

@lulucca12 I don't really understand your answer, cloud you provide more informations?
@Butt4cak3 Git language is very confuse and it's not very clear for me (more because I'm french). I don't know if I will use Discord... Anyway is there a simplier way to contribute ?

Thanks
Joseph

GitHub is definitely the best way to contribute, because wen can use it to review and include the code easily. If you can't use Git for whatever reason, you could probably send it @leios' way by other means like E-Mail or something similar.

Yeah, if you are having trouble with git, please ask our community for help (even on discord: https://discord.gg/2kWgSWB). I used to allow code submissions via e-mail, twitter, youtube comment... etc.; however, it is frankly not possible to review the code submitted in this way.
We understand that git is difficult for newbies and we are doing what we can to make it easier.

Hey @johhnry , were you able to figure out the git issues? If so, could you tell us what helped you understand it in the end? We are working on improving our How to Contribute chapter and such.

Hey @leios
Sorry for answering late and thanks for being reactive.
I think I'll try another time to understand Git in details (specially I'll try to watch tutorials in french).
I let you know if I am able or not to overcome Git issues.
Thanks

I just have a question :
If I want to contribute and write code in Processing language (which is a Java based language), in which format do I need to put it?
Is someone ever submitted a code in Processing, do I have to create a new folder in the code folder like "python", "c" or "julia" ?

Exactly. You would have to create a subdirectory in code/ called processing/ and put the source code there.

Thanks, that's so cool !
Another question : I need a push access right? How do I get that?

You don't need push access. You have to create a "fork" of the repository. A fork is a complete copy of the original. Since that copy is your own, you can work in it. Once you're done, you can create a pull request, which is basically like saying "Look at my fork. I did all this cool stuff. Do you want to add it to the original project?". We can then look at the changes you added to your version of the project and copy them over to ours.
There's a bit more to it, but this is basically how things work. You make your own version of the Algorithm Archive, add code to it and we then copy it over to the official one.
If you want to learn more about this, there are lots of online resources. In addition to that, I'm currently working on a video series about how to contribute to the Algorithm Archive. I'll try to get the first few videos out this weekend.
If you have any more questions, don't hesitate to ask.

Thanks for all your explanations, I'm currently seeing a tutorial on how to use Git.
I'll ask you if I have other questions.
Joseph

I forked the repository but I don't know what is the next step.
Do I need to do this?

When you fork the repo, you will have your own version of the algorithm archive on your profile. You can clone that and make changes. When you push those changes to your own repo, you can then submit a pull request with those changes.
I would suggest putting all your changes onto a local branch first (which can be created with git checkout -b BranchName) and adding a second remote with git remote add upstream git@github.com:algorithm-archivists/algorithm-archive.git. By doing this, you can easily pull the latest changes from the master branch of the Algorithm Archive (git pull upstream master) and push your changes to your own branch (git push origin BranchName). Before pushing your changes to your own branch, I would pull the changes from upstream to be sure you are up to date and that your changes work with the current version of the Algorithm Archive.
You can create multiple branches with multiple changes, if you like and checkout the code on each branch with git checkout BranchName.
I hope that was clear. Let me know if you have further questions!

Thanks it is quite clear for me :) .
I still don't understand what is a remote and this command :
git remote add upstream git@github.com:algorithm-archivists/algorithm-archive.git
And the command : git pull upstream master creates an error :
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

A remote is a remote location where the code is held. There are two of these locations, your local one (usually called origin) and the Algorithm Archivists (here called upstream).
I think this error is because git doesn't know who you are and cannot authenticate you. Usually, this authentication happens via ssh (which you can set up by following something like this: https://help.github.com/articles/connecting-to-github-with-ssh/); however, ssh is not necessary. It might be easier for you to just use the https link instead.
So you have 2 options:

Remove your current upstream remote and add the https link instead:

git remote rm upstream
git remote add https://github.com/algorithm-archivists/algorithm-archive.git

Get ssh working via the guide mentioned before

The only real downside to using the https link is that you need to enter your github username and password each time. It's not a big deal for this, but most people prefer ssh for different reasons


Support OWL-QN method (L-BFGS with L1-regularization)

Fix #243
This PR adds the L1-regularization option to LBFGS.
This option enables L1-regularization performed by the OWL-QN method.

Thanks a lot for this PR! I will try to review it during the weekend (but unfortunately I can't guarantee it).
At first sight I was wondering if it would be better to have a dedicated OWL-QN solver instead of adding it to the existing L-BFGS. This would lead to code duplication but it may also be easier to understand and to maintain in the long run (and maybe it would be also better in terms of performance). But I'm not sure yet about what's the best approach. I'd be interested in your opinion on this.

I also initially thought it would be better to define a separate structure.
However, on second thought, OWL-QN only adds a few processing to L-BFGS, and a separate structure would incur a high administrative cost since changes to L-BFGS would have to be reflected in OWL-QN every time.

However, on second thought, OWL-QN only adds a few processing to L-BFGS, and a separate structure would incur a high administrative cost since changes to L-BFGS would have to be reflected in OWL-QN every time.

Yes, after having a more detailed look at the code I tend to agree. The only downside is the increased number of math-related trait bounds which add an additional implementation burden on people using their own types. But I think this is acceptable for now. We can reconsider this if it starts to become a problem.

Thank you for your review. I fixed them.
Also, I fixed several bugs. The pseudo-gradient should also be used in line search, but the previous implementation used the normal gradient.
I added the L1-regularization version of Rosenbrock. Comparing the results with the following grid search results, I think the results are correct.
# Rosenbrock w/o regularization
best = (0.0, 0.0, float('inf'))
for x in np.arange(0, 2, 0.001):
    for y in np.arange(0, 2, 0.001):
        z = (1.0 - x)**2 + 100 * (y - x**2)**2
        if z < best[2]:
            best = (x, y, z)
print(best)
#=> (1.0, 1.0, 0.0)

# Rosenbrock w/ L1 regularization (coeff = 1.0)
best = (0.0, 0.0, float('inf'))
for x in np.arange(0, 2, 0.001):
    for y in np.arange(0, 2, 0.001):
        z = (1.0 - x)**2 + 100 * (y - x**2)**2 + np.abs(x) + np.abs(y)
        if z < best[2]:
            best = (x, y, z)
print(best)
#=> (0.249, 0.057, 0.8725020001)

TODO: Add the L1 term to the cost function of LineSearchProblem.

Thank you for your review. I updated the documentation.


Support power figures through the API

To empower third-party app building on top of FlexMeasures, we'll make it possible to load our figures through the FlexMeasures API.
This ticket is about the most important figure (power data). It establishes the new practice that the ui package also offers API endpoints, something which we will build out more powerful in the future (see below).
The new endpoint
Here is how the endpoint will look:
GET /charts/data/power
with a JSON body including details about which dataset to load:
{
    "resource": ....,
    "start_time": ...,
    "end_time": ....,
    "resolution": ...,
    "consumption_as_positive": true
}

The endpoint returns custom Javascript and HTML data (TODO: figure out how to send that safely through HTTP). Developers will then only need to include Bokeh CSS and JS in their HTML and the figure will show.
The new endpoint will use data.services.analytics.get_power_data and ui.views.analytics.make_power_figure.
It will be added to the API routes. I checked, and this is compatible with our plans to document all API endpoints with OpenAPI using the ApiSpec package (see #17).
Future work: more powerful chart API and more responsive figures
For the record, we have ongoing efforts for a more powerful charts API, like this:
GET /chart/<data_structure>/<chart_type>/<dataset_name>/<agg_demand_unit>
where developers can configure charts aspects of the charts. It will be based on Vega-Lite instead of Bokeh.
Data will then be loaded with a second endpoint, which allows for more interactive apps. See the charts-api branch.

closed by #39


[suggestion] login event type

For the CMS event listener feature, it would be great to have a "login" event providing information about the logged in user as a parameter.
Personally I'd use it to display some additional information for specific users, but I could also imagine registering additional pages/links for different users.

This is add (both login and logout events) for the next release (hopefully dropping tomorrow).


User can upload to any collection from choosers

I have an installation with two collections:

Root
My awesome collection

I have a user with Editor role. Editor role have "Add" and "Edit" permission for "My awesome collection" collection and don't have any permissions for "Root" collection.
The user can upload image / document to "Root" collection from chooser.

Fixed in #2517


Create Folder Containing Sample Code to Test Hardware

Currently, we are struggling to see whether issues arising are from hardware or software. For this reason, we will make a new folder which just has some sample scripts allowing hardware to be tested without the need of running our program. This will allow us to narrow down issues more quickly.

Resolved in Pull Request #55 . See Issue #54 .


Altcha in Outsystems

Hi,
I just implemented this component to use in Outsystems (low code platform).
https://www.outsystems.com/forge/component-overview/18521/altcha-o11

Awesome! Added to the integrations https://altcha.org/docs/integrations/. Also, just launched the new website.


work in progress: Mem cache and dependency res. improvements etc.

TODO(bep) improve commit message.
Hugo has always been a active user of in-memory caches, but before this commit we did nothing to control the memory usage.
One failing example would be loading lots of big JSON data files and unmarshal them via transform.Unmarshal.
This commit consolidates all these caches into one single LRU cache with an eviction strategy that also considers used vs. available memory.
Hugo will try to limit its memory usage to 1/4 or total system memory, but this can be controlled with the HUGO_MEMORYLIMIT environment variable (a float value representing Gigabytes).
A natural next step after this would be to use this cache for .Content.
Fixes #8307
Fixes #8498
Fixes #8927
Fixes #9192
Fixes #9189
Fixes #7425
Fixes #7437
Fixes #7436
Fixes #7882
Updates #7544
Fixes #9224
Fixes #9324

I'll reopen this a little later.


Update get(key) to return undefined when key is expired

The docs say that get returns undefined if the key is not found or expired. This update makes it return undefined when the key is expired and deleteOnExpire is false.  Alternately, the docs could be updated  to line up with the behavior of current behavior?

This was implemented in #136. Thank you for your input. The behavior is now correct: Return undefined when the key is expired


my simple json parser

https://github.com/pejman-hkh/json-parser

Well done.  Not an issue, closing.


Text inputs shouldn't scroll the page when home/end is pressed in them initially

Closes https://github.com/adobe/react-spectrum/issues/1463
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:
Go to new story path=/story/textfield--in-a-scrolling-container and place the cursor in the start/middle/end. Press Home/End key once and twice.
If cursor is already at the start, Home will cause container scroll.
If cursor is already at the end, End will cause container scroll.
If cursor is anywhere else, cursor will move to the start or end when home or end is pressed, respectively. After that, a second tap will cause the container scroll.

🧢 Your Project:

Hmm, not sure if we should be doing this on all textfields... it goes against default browser behavior for inputs. Should this be for combobox specifically?

@ktabors i see the same behavior in both https://jsfiddle.net/snowystinger/4cfehau3/9/
agreed, it would be different, but why would we do it to combobox if we don't do it to any others? If we're only doing it in combobox, i'd say let them all be the same
except, we do support onKeyDown in TextField and TextArea, but we don't in ComboBox, so anyone trying to do this would be unable to
I see it as we either need to enable onKeyDown in ComboBox and NumberField or we need to put this preventDefault logic in all of them

@snowystinger I think with my comment about TextArea I was trying to figure out how our component should behave and if it would your change would change hoe TextArea works.

Closing as there are no issues reported about this and it goes against native.
We could consider again for Grid edit mode or specifically for ComboBox


About - 任先森的博客 | BY Blog

https://renxiansen.com/about/
Every failure is leading towards success.

123


[WFLY-19781] Upgrade to SmallRye Reactive Messaging 4.25.0

https://issues.redhat.com/browse/WFLY-19781

@kabir This seems like a big change for the 34.Beta->34.Final period, particularly Smallrye Common. WDYT? 35?

@bstansberry feel free to wait. I just thought I’d open it while I remembered

@bstansberry I think this should wait until after we've created the XP 6 branch, so I've labelled it for 36


OneOps admin split

The result is  2 separate gems: the new "oneops-admin-adapter.gem" to load CMS (adapter) content (i.e. classes and relations metadata, pack and component and cloud templates) and the old "oneops-admin.gem" to use for inductors.   In the next state this "old" gem will be replaced by dedicated "oneops-admin-inductor.gem" (possibly with even further specification by cloud type - openstack, azure and etc.).
Also updated build procedure to package and distribute gem dependencies with the deployment artifact to  significantly reduce build and deployment time as well as removing reliance of external gem repos during deployment.


SVG Paths: Example using SVGs to generate path constraints

This was mentioned in the previous Path PR as a demo part-two, and uses the new mFractionHint value to demonstrate paths that cross or repeatedly loop over themselves.
I did have to fall back to sampling the path because the built-in SVG path-to-point using fractions getPointAtLength was taking 3ms per call.
There is a slight lag on startup due to still needing that function to pre-cache the points. To improve the loading speed I did lower rez sampling, which makes the path debugger not-as-smooth, although the physics itself looks fine.
Points (on the star) are horrible and my biggest suggestion is avoid sharp points or use a different approach for those or higher resampling. I think the getClosestPoint searches are seeing that mFraction away has points that are in the nearby sharp point, on either side of the acute angle.
As is, for rapid prototypes, the logic of just saving the point lists to a file is a passible solution.
In a higher performance scenarios, likely you'd want to just break the paths up into their piece-wise components and SVGs are pretty good at debugging splines, curves, and paths. I was tempted to do extract the piece-wise curves in the demo, but the SVG PathSegment List API never got put into browsers. There are 3rd party libraries that can break those down however.
The next step would be to just pass them into the ThreeJS or any other math library and calculate out the curves, ex https://threejs.org/docs/#api/en/extras/curves/CubicBezierCurve3 . This would allow for rapid sampling or even bypassing the pre-sampling and just on-the-fly calculate the points as needed by passing the mFraction to the curve equations. ex: ThreeJS Curves: getLength, getPoint, getPoints

Thanks, it is a mesmerizing demo!

The get-closest equation is horrible now that it has cached points instead of expensive svg point method. It probably wouldn't cost anything to just run the equation:
Searched -N+1 and to +N+1 index line segments. Run "distance to line" ThreeJS function - https://threejs.org/docs/index.html#api/en/math/Line3.closestPointToPoint
Calc the distance of the body2 point with the 'target', and find the closest target. The 'float' return value of the equation gives you the Lerp value on the segment to interpolate as your mFraction between segment index.

Not sure if it helps at all but Jolt also has a version of that function;
https://github.com/jrouwe/JoltPhysics/blob/398f571b1a7c30be330bc6c5ce2e3aaffdc93916/Jolt/Geometry/ClosestPoint.h#L130


Missing UTF-8 encoding for "no-escape" variables

Issue
I tried rendering a variable without escaping HTML but got an error due to missing UTF-8 encoding.
Example
Template: {{& content}}
Data: { "content": "My link with Ä german umlaut"}
Stack trace
Traceback (most recent call last):
  File "generate_site.py", line 35, in <module>
    partials_ext=PARTIALS_EXTENTION)
  File "/usr/local/lib/python2.7/site-packages/chevron/renderer.py", line 232, in render
    def_ldel=def_ldel, def_rdel=def_rdel)
  File "/usr/local/lib/python2.7/site-packages/chevron/renderer.py", line 206, in render
    output += str(_get_key(key, scopes))

UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 182: ordinal not in range(128)

Solution
Use UTF-8 encoding for no-escape rendering as well.
PR
See https://github.com/noahmorrison/chevron/pull/29
Also I recommend refactoring the rendering method such that the UTF-8 encoding is done by default. This will remove the duplicate code and prevent similar errors in the future.
Cheers,
Lukas

Before I close this, I just want to clarify your PR #29 fixes this issue completely?

If there is no other place in the code where you output a string without transforming it to unicode, this should be it. Works for me and the unit test.
Is there any chance that you can create a new release for the pypi package?

Pypi already includes a 0.12.0 release which includes your PR.


conflicting information

"For the Application Gateway v2 SKU, you can only choose Public frontend IP configuration. Private frontend IP configuration is currently not enabled for this v2 SKU"
the above quote seems misleading. I can create a private frontend IP on the v2 SKU ap gw.. so what could this mean?

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

ID: 1b1e0765-a7aa-6e76-3aca-751dc8a531dc
Version Independent ID: e95861b3-cfd3-2b75-95e8-1c0176ba79f2
Content: Quickstart - Direct web traffic with Azure Application Gateway - Azure portal
Content Source: articles/application-gateway/quick-create-portal.md
Service: application-gateway
GitHub Login: @vhorne
Microsoft Alias: victorh

@sysadmin-exe , Private IP only mode in Application Gateway V2 SKU is currently not supported. You can deploy Application Gateway V2 with both Private and Public IP address.
Let me know if you have any further questions.

then i think that statement needs to be changed to what you just shared. that is misleading to as it just almost misled someone and it was kind of difficult having to explain without reproducing in a lab. Thanks

PR: https://github.com/MicrosoftDocs/azure-docs-pr/pull/95638


feature request: option to set the joint angle / movement value

Hello,
I was wondering if it's possible to get an option on the command line or something that allows us the configure the joint angle.
Right now it's set to  +/-0.1.
When using a prismatic joint, I suspect this becomes +/-100mm of movement.
I'm working with a tiny arm, and each side of the gripper only moves 54mm.
Example joint :
<joint name="link8-link9" type="prismatic">
  <origin xyz="0.0313 -0.0325 0.0071" rpy="0 0 0"/>
  <parent link="link8"/>
  <child link="link9"/>
  <axis xyz="0.0 1.0 0.0"/>
  <limit upper="0.054" lower="0.0" effort="100" velocity="100"/>
</joint>

It would be nice to be able to use the tool to test small robots too.
Cheers
Kym

Do you have any idea to set the value?
How about (max - min) / N ?

Thanks for the reply,
Adding it to the CLI is fine, -j / --joint-angle 0.1 . I'm not sure how useful it would be to set the min/max independently, so one value is enough.
Cheers
Kym

Hi guys. Is this task still pending or can we close it because it was completed in https://github.com/openrr/urdf-viz/pull/200?

I think we can close this, but we need a release.

@taiki-e Can you release this? v0.42.0?

released v0.42.0


Example for FPDF_RenderPageBitmapWithMatrix method

Hi,
I’m currently working on rendering a PDF page into multiple smaller images to improve rendering performance, instead of rendering the entire page at once. I’ve tried using the FPDF_RenderPageBitmap method, but it doesn’t seem to have the functionality I need.
Could anyone provide an example of how to use the FPDF_RenderPageBitmapWithMatrix method? Alternatively, any guidance or resources on implementing this would be greatly appreciated.
Thank you!

Hi,
You can use the render method passing a lower scale value:

https://github.com/paulocoutinhox/pdfium-lib/blob/master/extras/wasm/template/index.html#L189
The current value is 3.0:
https://github.com/paulocoutinhox/pdfium-lib/blob/master/extras/wasm/template/index.html#L105

Hi @paulocoutinhox,
Thank you for your quick response. Reducing the scale helps, and I’m already using a low scale to render placeholders for PDF pages while, at the same time, rendering the PDF pages in high quality to improve the user experience during the wait.
However, when I look at the nutrient PDF viewer, I see that they split the page into many smaller images and continuously deliver them to the user, which I believe is a better approach. Do you have any ideas on how to split the page into many smaller images? It seems similar to the image cropping feature.
https://www.nutrient.io/demo/viewer

Hi @paulocoutinhox ,
I finally figured out how to do it, I'll closed this issue.

By the way, this is called https://en.wikipedia.org/wiki/Tiled_rendering


why my react file doesn't show react icon

Housekeeping

[X] I'm sure this issue is not a duplicate

Information:

Can I see the code I'm willing to help

The React icon is used for the javascriptreact language. The .js files use the javascript language. This is why you’re seeing the regular JavaScript icon, and not the React icon. This is also why syntax highlighting and other editor features don’t behave the way they should for you. It’s best to use the .jsx extension for JSX files.

The React icon is used for the javascriptreact language. The .js files use the javascript language. This is why you’re seeing the regular JavaScript icon, and not the React icon. This is also why syntax highlighting and other editor features don’t behave the way they should for you. It’s best to use the .jsx extension for JSX files.

i'm trying to use .jsx extension , but it's the same results.

Can I see the code I'm willing to help @Difkyear

that code it's just created automatically by using npx create-react-app,
so i don't think it's the code causing the problem

i'm solving this problem now, the reason cause react icon doesn't show up, it's because my vscode file association setting , i haven't associated .jsx extention to javascriptreact

i'm solving this problem now, the reason cause react icon doesn't show up, it's because my vscode file association setting , i haven't associated .jsx extention to javascriptreact


qgrid.show_grid display from within function

Environment

Operating System: CentOS
Python Version: 3.6.5
How did you install Qgrid: pip
Python packages: jupyter==1.0.0, ipython==7.7.0, notebook==6.0.0, qgrid==1.1.1, pandas==0.25.0, ipywidgets==7.5.1

Description of Issue
qgrid.show_grid in function, expect to show on function call but does not show.
Is this possible, is this a bug, or am I missing something?
Reproduction Steps
import qgrid
import pandas as pd

def f(df):
    qgrid_widget = qgrid.show_grid(df)
    qgrid_widget

f(df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD')))

Ok I figured it out:
import qgrid
import pandas as pd

def f(df):
    qgrid_widget = qgrid.show_grid(df)
    return qgrid_widget

f(df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD')))

or
import qgrid
import pandas as pd

def f(df):
    qgrid_widget = qgrid.show_grid(df)
    display(qgrid_widget)

f(df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD')))


WIP: Refactor SqlDecorator.py

Related: #279
As a part of our refactoring, we should create a class that only handles SQL execution that does not require any logic for a python decorator. This will make it easier to subclass SQL functions that are not decorators in the future.
Acceptance criteria:

[ ] All tests should pass and there should be no change in top level functionality
[ ] There should be a SQLExcecutor class that can execute SQL with schema handling but does not require a decorator
[ ] The SQLDecorator class should be able to use the SQLExecutor class to reduce code duplicaiton.

@utkarsharma2 can you please provide more description in the PR description?

Since https://github.com/astro-projects/astro/pull/317 is merged, there are some merge conflicts

closed in favor of https://github.com/astro-projects/astro/pull/353


How to add a keybinding to highlight the word under the cursor?

Is it possible to leverage this package to make a keybinding to highlight the word under the cursor? I used this a lot in vim.

cmd+d
or

(in vim)


Endless loop compiled with ret in the beginning

Originally posted by @ForNeVeR in https://github.com/ForNeVeR/Cesium/pull/617#discussion_r1740187552
https://github.com/ForNeVeR/Cesium/blob/f1b5204e9d1f0869ed8c4ee0caf3c3e41ad6a5a9/Cesium.CodeGen.Tests/CodeGenMethodTests.cs#L351-L352
Codegen for this method is quite suspicious:
System.Int32 <Module>::test()
  IL_0000: nop
  IL_0001: ret
  IL_0002: nop
  IL_0003: br IL_0000
  IL_0008: nop

ret seems to be the first executed instruction.
This shouldn't be so.

It's really indicator that we need dead code elimination.
System.Int32 <Module>::test()
  IL_0000: nop // Beginning of for

  IL_0001: ret // return

  IL_0002: nop // end of for
  IL_0003: br IL_0000 // jump to the beginning of for
  IL_0008: nop

I think this is not an issue perse. Just ugly codegen. I would like to continue move forward with transformation and produce proper basic blocks, that way we can perform reachability analysis.


Use single quotes and project_dir parameter

I just updated other places too. (fabbot fails no related)

Thank you @yceruto.


Get average of values in a field in realm react native

This is telling me 'Can't find variable: gpa' It is also saying unresolved variable Double. I want to fetch all the values submitted in a particular field and compute the average. The average is to be displayed in an alert box. The code is in a function named dbtotal below.
realm = new Realm({
    schema: [{name: 'CalcGP',
        properties:
            {
                student_id: {type: 'int',   default: 0},
                student_name: 'string',
                semester: 'int',
                gpa: 'double'
            }}]
});

}
add_Student=()=>{
realm.write(() => {

    let ID = realm.objects('CalcGP').length + 1;

    realm.create('CalcGP', {
        student_id: ID,
        student_name: this.state.Student_Name,
        semester: this.state.Semester,
        gpa : this.state.GPA,

    });

});
Alert.alert("Details Added Successfully.");

};
}
dbtotal() {
let cgpa: Double = realm.objects('CalcGP').avg(gpa) ;
Alert.alert(cgpa);

}

As mentioned in the issue template, we use this repo for bug reports and feature requests. For questions about how to use realm, we defer to StackOverflow, where we monitor the realm tag. Or you can ask in our Swift Forum or Obj-C Forum.
Thanks for your help!


Any idea how Shecan works on Xbox, while this repository does not?

Hello
I am using Shecan on my Xbox to connect to its services. Shecan works fine, while this repository does not.
I ran this code on a server and tried to see what domain Xbox tries to connect to. I got the list and added them, and I can sign in to my account after that. But still, Xbox services are not available.
My wild guess is that maybe Xbox tries to connect to ports other than 80/443, and this code does not handle them.
I may try to also implement a raw socket code, but in the mean time I wanted to inform you about this.
I also forked this repo to https://github.com/vfsoraki/byosh and made some changes. Biggest change is to move to docker-compose with two containers. More manageable, but that's more like my taste than anything else.
Also any idea on how we can also map other ports (tcp/udp both preferably)?

Hi,
Since I don't own an Xbox, I can't comment on why this is happening. If you can, please sniff the traffic on your router or by using burp or mitmproxy and attach a PCAP/log file so I can see what types of traffic we're supposed to pass through byosh.
for raw socket, there's always the possibility of breaking stuff since you'd be doing SSL termination which means any application with SSL pinning is not going to work properly.
docker-compose is always a better practice and I'm keen to explore it but at the same time I wanted to keep this to the minimal and with fewest dependencies if possible. As an alternative, I might try to bundle all of this into a go binary rather than a Container.
port change from 80/443 and 53 is not possible without changing client-side behavior, turning this into a Tunnel/VPN solution, which is not something I'd like to explore. There are many options available that can do that :)


[Regression - HOLD on #39078 [HOLD for payment 2024-04-03] HIGH: [Video] [$500] iOS Safari - Video file preview not displayed after selecting video from device gallery

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.43-0
Reproducible in staging?: y
Reproducible in production?: no
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: applause internal team
Slack conversation:
Action Performed:

Navigate to staging.new.expensify.com & log in
Go to 1:1 DM >> tap on + icon in composer field >> select Add atttachment option
Select video from photo library

Expected Result:
Video file preview should be displayed after selecting video from gallery
Actual Result:
Video file preview not displayed after selecting video from device gallery. Blank space is seen with only the video controls
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/43996225/ee708cee-fe54-4bb7-99f2-7223b7c94656

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01cbcb9b31f838ae06
Upwork Job ID:<PHONE_NUMBER>302009344
Last Price Increase: 2024-03-05

We think this bug might be related to #vip-vsb
cc @quinthar

Not a blocker as it is minor issue on iOS Safari.
The PR for video player was merged yesterday https://github.com/Expensify/App/pull/30829

Commented on main PR https://github.com/Expensify/App/pull/30829#issuecomment-1953763773

Thanks @MonilBhavsar! Reposting case it was missed on the PR: @akinwale @kosmydel @kowczarz, tagging you as this is related to the video player -- are any of you interested in picking this one up?

No response yet. Awaiting proposals

Posted to #VIP-VSB to confirm it fits under that VIP. That should help us to decide how to prioritize this one! https://expensify.slack.com/archives/C066HJM2CAZ/p1709007618487189

Awaiting proposals

Posted in SWM channel to see if we can get an expert contrib on this: https://expensify.slack.com/archives/C04878MDF34/p1709683398829389

Hi, I'm Michał from Software Mansion and expert agency, and I will investigate this issue

Thank you @Skalakid! Assigning this issue to you

Being worked on by @Skalakid.
Anything that we can help with?

Hey @Skalakid is there an ETA for when we can expect a PR?

Yes, PR will be ready by the end of this week

@stephanieelliott @MonilBhavsar I created a PR with the fix: https://github.com/Expensify/App/pull/38302

@Skalakid thank you! Can you please explain the cause
From the PR

This PR fixes video file previews that were not displayed after selecting video from device gallery, especially on iOS Safari. It was fixed by restricting browser to set video preview after 1 milisecond

Was it that safari couldn't load the video meta data immediately somehow and we have to add a delay?

@MonilBhavsar I think this is pretty common issue on iOS Safari. Video html tags have problem with generating video preview. Probably Safari takes the first frame of the video as a preview, but it is empty one since video not started. I found this solution on Apple developer forum.

Thanks!

And PR is merged

Can we close this?

Not yet! This PR is on staging -- once it hits prod and the 7 day regression period passes, it will be ready for payment and can be closed.
PR we're following is here: https://github.com/Expensify/App/pull/38302

Thanks @paultsimura! Putting this on another hold for https://github.com/Expensify/App/issues/39078 since it was opened during the regression period, we'll start the 7 day regression hold again once that PR is merged.
@Skalakid can you take a look at https://github.com/Expensify/App/issues/39078?

Hi @stephanieelliott @paultsimura, I will take a look right now 😄

@paultsimura I commented under the issue. I think it's a good proposal and we can proceed with that. I also suggested one enhancement

Still held on https://github.com/Expensify/App/issues/39078, discussion is going on there.

Still held on https://github.com/Expensify/App/issues/39078

Still held on https://github.com/Expensify/App/issues/39078

I see other issue is being fixed by another contributor. Can we consider this as a regression and issue payment?

Thanks @MonilBhavsar, I think that's a good plan -- let's treat this as a regression and pay this one out.
Summarizing payment on this issue:

Contributor: @Skalakid, no payment due (SWM)
Contributor+: @c3024 $250 ($500 * 50% regression penalty) via Upwork: offer extended, please accept:

Upwork job is here: https://www.upwork.com/jobs/~015b429315b92a65f2

@stephanieelliott  accepted, thanks.

Thanks @c3024, all paid!


the issue of the plugin folder name "CTFd-pwn-college-plugin" and "CTFd_plugin"

the plugin you provided is the folder named CTFd_plugin, but after setup I find some conflict with the folder name (I'm not sure if the error is about this). for example, I find some issues about jinja2.exceptions.TemplateNotFound: plugins/CTFd-pwn-college-plugin/assets/docker_challenge/create.html. the log mentions plugins/CTFd-pwn-college-plugin  . so is this the error due to different folder name?
also, I tried to link the folder with two names, but this will cause the error/conflict when db running

delete


fix an issue with focus jump on page load and on console output

change codemirror to not try and focus the editing area on page load
don't scroll the console area into view on output; adjust the scrolled portion of the view
focus the editing area when the user manually switches between tabs (dart/html/css)

#530

lgtm


[FLINK-13685][yarn] Validate YARN deployment against YARN scheduler maximum vcore size

What is the purpose of the change
Fail fast and give reasoning if Flink YARN deployment requests more cores (the number of task manager slots) than YARN resource manager allows.
Brief change log

Retrieve maximum-allocation-vcores values from yarn-site.xml.
Fail Flink job immediately if the number of taskmanager slots requires higher than YARN yarn.scheduler.maximum-allocation-vcores.

Verifying this change
This change added tests and can be verified manually as follows:

Find the value of yarn.scheduler.maximum-allocation-vcores in yarn-site.xml in the system. The default is 4 since YARN 2.6.2.
Run flink yarn deployment with more task manager slots than yarn.scheduler.maximum-allocation-vcores, eg: flink -m yarn-cluster -ys 8 examples/streaming/WordCount.jar, will eventually timeout.
With this change, any Flink job will validate against YARN configurations. If the number of task manager slots is requested more than yarn.scheduler.maximum-allocation-vcores allows, it fails immediately.
Tested with positive and negative testcases manually

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Hi @gyfora, please review or let me know who should I tag in this PR to review. Thank you!

Hi @rmetzger, thanks for adding label for my PR. Sorry I didn't add labels.  However, I believe this PR is component=Deployment/YARN. Please correct me if I misunderstand the process. Thanks.

Hi @rmetzger my apology. I made a typo error in jira number. I just corrected it and updated my PR.

Hi @TisonKun Please feel free to review this PR.

We should also add a test to validate the new behaviour.

Hi @josh0yeh,
Is there any updates on this issue? Are you still working or willing to work on this issue?
I'm asking because I think this is a valuable issue that would be good to resolve. So if you have any trouble finding time for this in a short time, maybe we can have someone else to work on this.
What do you think?

Hi Xintong,
Thanks for the reminder. I got a little busy last week and will finish working on this issue this week.
Thank you for your valuable feedback earlier!
Josh

On Sep 24, 2019, at 7:03 AM, Xintong Song<EMAIL_ADDRESS>wrote:
Hi @josh0yeh,
Is there any updates on this issue? Are you still working or willing to work on this issue?
I'm asking because I think this is a valuable issue that would be good to resolve. So if you have any trouble finding time for this in a short time, maybe we can have someone else to work on this.
What do you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for pushing an update for the PR. It seems that something has gone wrong preparing the branch, as the amount of changes seems quite high :)
Can you look into this?

Closed as stale.


fix data attribute error on collection

Codecov Report
Patch and project coverage have no change.

Comparison is base (079c994) 100.00% compared to head (442ee66) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main        #8   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           12        12
=========================================
  Hits            12        12

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fix BadWindow X11 errors when a window is closed while processing struts

A window can be closed on the server side while processing results from _NET_CLIENT_LIST, which causes BadWindow fatal errors by default in XGetWindowProperty.
The only way to safely catch this case is to set an error handler to ignore BadWindow errors while these commands are processed.
Fixes #54554

Thanks!


Review logic for and add checks for various metrics

Currently, the METRIC_CONFIG in MetricConfig.ts is a bit ad-hoc: we have some metrics which require a populationComparisonMetric, there is the concept of a knownBreakdownComparisonMetric, etc. We should review the logic to make sure it is robust and generalizes as we want. One concrete example is that we should likely require a populationComparisonMetric for the count and pct_share metrics.

Where "reporting population" metrics are just using copied ACS data, let's remove those metric IDs and switch the MetricConfig to just using ACS population directly


Sql lab not loading on fresh db init

After fresh installation, chose not to load examples and added my own charts and a dashboard to test. Works fine till here. Then click on SQL Editor from under SQL Lab, the page does not load with no api calls as in the screenshot. I only see an error in console ( attached screenshot).
Screenshots

Environment
(please complete the following information): dev

browser type and version: Chrome Version 94.0.4606.61 (Official Build) (x86_64)
superset version: GIT sha 87baac7650bdb6a8f8f82cf4992567a2c5c73cba Superset 0.0.0dev
python version: 3.7.5
node.js version: 14.18.0

This is fixed now in the latest master.


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2909

Questions ?
Please refer to the Backport tool documentation


net: increased support for iface agnosticism

This is a draft/hypothetical/possibly-review-only PR related to Changes to network stack to facilitate iface-agnostic application code
Edit:
The PR is now a full implementation
Signed-off-by: Georges Oates_Larsen<EMAIL_ADDRESS>

Not yet finished or ready for review

I am taking this PR out of draft; It should still remain DNM, and I still need to write documentation and some additional automated tests, but at this point the core code is ready for review.

Keeping DNM for now as more tests/docs are pending, but the core functionality is ready for more reviews.

I've pushed an unfinished (and currently failing) tests commit for the sake of giving more context sooner to reviewers

Just to clarify, to me it looks like the connection manager changes here concentrate to one use case, bringing all the network interface up/down/connect etc. IMHO this is a bit limiting and not the first use case that I would have thought.
I think we need to think more about the use case and then try to introduce the functionality to implement that.
It might be that this is already discussed in the issue but there was just too much text there so TL;DR (sorry ;)
So I am trying here to list some of the use cases I would see we need (some of these might have already be implemented):

Application wants to have a network connection (anything goes)
Application wants to connect to a certain type network (interface does not matter, only type)
Application wants to connect to certain types of network in certain order
Application wants to have all network types connected (could be done by just foreaching the other API functions)
Application wants to disconnect an established connection
Application wants to disconnect all the network connections
Application wants to disconnect certain network type connection

I do not see a need for the application to know nor care for up/down stuff when thinking from connection manager point of view. I mean it should be enough for the application to just want to establish a connection or disconnect one.
If application wants to have network interfaces up or down, then it can just use lower net_if API for that.
WDYT?
@tbursztyka I know we have discussed these connection management things in the past, just wondering did I miss something above.

You're right, conn_mgr does focus on a pretty specific use-case, which is essentially:

Tracking whether or not we have connectivity at all
Controlling whether or not we have connectivity at all

Anything more precise than this starts becoming very application and iface-specific. I don't think there is even a reliable way to detect network type within Zephyr -- Wi-Fi ifaces may be offloaded, or may be based on the Ethernet L2, or possibly even both, for instance
Therefore, the conclusion that I have been forced to come to is that anything more specific than broad-spectrum control really has to be accomplished by using the single-iface net_if_connect and net_if_disconnect calls, rather than conn_mgr_all_if_connect and conn_mgr_all_if_disconnect calls.
This doesn't mean conn_mgr_all_if_connect and conn_mgr_all_if_disconnect are completely useless, though. Applications that will only ever be built for a single connectivity type at a time, for instance, are what I imagine will primarily use them.
I don't think adding filtered variants of conn_mgr functions that somehow target specific iface types is a bad idea, though! But I think it might be better left for a future PR, especially since right now, filtering by iface type really isn't feasible (so far as I am aware). (Maybe we need to introduce some special iface tags that iface declarations can use to mark what type they are? Maybe even bit flags?)
I am also really hesitant to implement anything like iface prioritization lists, since situations where iface prioritization / connection ordering is desired are likely to be extremely idiosyncratic. I'm not convinced that a satisfying unified implementation exists for that use case. But if it does, that's another feature I'd say is better left to a future PR
Right now, the main point is to add parity to the existing conn_mgr functionality (currently, conn_mgr can detect general iface state, and we are adding the ability to, very loosely, control general iface state)

I don't think there is even a reliable way to detect network type within Zephyr -- Wi-Fi ifaces may be offloaded, or may be based on the Ethernet L2, or possibly even both, for instance

Hmm, I would say we have a very reliable way to say what "type" i.e., what L2 is being used by a network interface is.
So it might be that we are talking about different things here.

I'm not sure the L2 would be a very useful filter, since the majority of our ifaces either use the Ethernet L2, or are offloaded (and, until this PR, don't have an L2, and after this PR wind up using the offloaded iface L2)

This seems like the wrong approach. It's mixing up concepts that should not be part of l2/iface.
iface/l2 and connectivity... no. an interface can be up and running, on an l2 level it can be associated... connected: never. That's an IP layer concept.

I wonder if it's just ambiguity about the naming? Putting conn_mgr aside, what we propose in https://github.com/zephyrproject-rtos/zephyr/pull/53118/commits/2335e6ba42762183023a1c1146336e75d4470eaf is a set of generic routines for interfaces to connect/associate with the network, before even IP gets involved. For example, Thread inteface needs to join Thread network  before it can be considered operational, Wi-Fi interface needs to connect to an AP. The conclusion we had internally, and which was discussed during the networking forum, was that this kind of association with the network could be considered as an L2 concept.

And this PR is messing up things. (not to mention that it is bloating things up as well).

Can you elaborate on what's actually getting bloated? The L2 connectivity API is not affecting network interface API in anyway, it can only be impelmented/used by intefaces that really need it. So in case such functionality is not need by a particular interface, there's no overhead at all, no single field was added to the struct net_if and related.

You do not connect/disconnect an interface through the l2 layer, and thus all these structures are miss-placed.

I think I need to understand first, why exactly do you mean by connecting an interface. Our definition/understanding was as explained above, joining/associating with the network.

It seems to me you are trying to add features that would solve things up for what you are trying to do with conn_mgr. That's a wrong approach.

Actually, conn_mgr is just an addition here. The core issue we try to address, which has become more appratent when we started writing networking applicaitons that should semleassly work with various networking technologies (Wi-Fi/LTE/Thread), is dealing with low-level network management. So that instead of dealing with this at the application level each time, speicific interface types could provide routines to deal with L2 connectivity, exposed under a generic API.

This seems like the wrong approach. It's mixing up concepts that should not be part of l2/iface.
iface/l2 and connectivity... no. an interface can be up and running, on an l2 level it can be associated... connected: never. That's an IP layer concept.

I wonder if it's just ambiguity about the naming? Putting conn_mgr aside, what we propose in 2335e6b is a set of generic routines for interfaces to connect/associate with the network, before even IP gets involved. For example, Thread inteface needs to join Thread network before it can be considered operational, Wi-Fi interface needs to connect to an AP. The conclusion we had internally, and which was discussed during the networking forum, was that this kind of association with the network could be considered as an L2 concept.

And this PR is messing up things. (not to mention that it is bloating things up as well).

Can you elaborate on what's actually getting bloated? The L2 connectivity API is not affecting network interface API in anyway, it can only be impelmented/used by intefaces that really need it. So in case such functionality is not need by a particular interface, there's no overhead at all, no single field was added to the struct net_if and related.

You do not connect/disconnect an interface through the l2 layer, and thus all these structures are miss-placed.

I think I need to understand first, why exactly do you mean by connecting an interface. Our definition/understanding was as explained above, joining/associating with the network.

It seems to me you are trying to add features that would solve things up for what you are trying to do with conn_mgr. That's a wrong approach.

Actually, conn_mgr is just an addition here. The core issue we try to address, which has become more appratent when we started writing networking applicaitons that should semleassly work with various networking technologies (Wi-Fi/LTE/Thread), is dealing with low-level network management. So that instead of dealing with this at the application level each time, speicific interface types could provide routines to deal with L2 connectivity, exposed under a generic API.

sorry, wrong manipulation

I wonder if it's just ambiguity about the naming? Putting conn_mgr aside, what we propose in 2335e6b is a set of generic routines for interfaces to connect/associate with the network, before even IP gets involved. For example, Thread inteface needs to join Thread network before it can be considered operational, Wi-Fi interface needs to connect to an AP. The conclusion we had internally, and which was discussed during the networking forum, was that this kind of association with the network could be considered as an L2 concept.

Thread joins, WiFi associates, ethernet does nothing, bluetooth does its own thing...
Knowing that each tech might also require a set of specific parameters. Not to mention storage for some interface types (temporary credentials, etc...), which is all but generic.
To me you are trying to generalize concepts that cannot really be.
And so far, the current stack already provide the means for doing all of this, per-interface type basis. Which all the stack need to provide.
And naming is extremely important, it brings semantics with it. If you put "connect" in l2 layer, so what is connect in ip layer then? It's messing up things. So then you get a connected iface, but it's not because it does not have any IP yet ? etc...

And this PR is messing up things. (not to mention that it is bloating things up as well).

Can you elaborate on what's actually getting bloated? The L2 connectivity API is not affecting network interface API in anyway, it can only be impelmented/used by intefaces that really need it. So in case such functionality is not need by a particular interface, there's no overhead at all, no single field was added to the struct net_if and related.

It's adding up things in the net stack where it should no belong to.
All of this should be application layer.

You do not connect/disconnect an interface through the l2 layer, and thus all these structures are miss-placed.

I think I need to understand first, why exactly do you mean by connecting an interface.

The PR is adding an L2 level API about connecting/disconnecting. See struct net_l2_conn_api.
The whole idea of "l2 connectivity" is wrong by naming already.

It seems to me you are trying to add features that would solve things up for what you are trying to do with conn_mgr. That's a wrong approach.

Actually, conn_mgr is just an addition here. The core issue we try to address, which has become more appratent when we started writing networking applicaitons that should semleassly work with various networking technologies (Wi-Fi/LTE/Thread), is dealing with low-level network management.  So that instead of dealing with this at the application level each time, speicific interface types could provide routines to deal with L2 connectivity, exposed under a generic API.

A "generic" API that will require, for each interface type, specific parameters. It's not so generic anymore: application will anyway need to know the interface type and behave accordingly.
And in the end, who will really need to use such API? applications? no. Only one will take advantage of such API: the connection manager. Thus the conclusion: if the only user is application X, then do not make it as a public API, put it in x.
If you want an easier way to manage connectivity then it's in conn_mgr, you'll definitely benefit from having a primary generic interface that specific iface type can inherit and improve. See what NetworkManager or ConnMan are doing, it's really NIH.
But so far, you do not need this logic/design in the core stack.
Last but not least - though I really dislike using such authority argument - @jukkar and I have years of experience in connectivity management, and so far the various OSes, the various connection management services etc... always end up split like this for a reason: there is the logic that a network stack needs to handle and there is another one for the connection management service, and so far there has never been any point in pushing back to the stack some logic that is only meant to be used by the connection management service.
That does not prevent anybody to try doing things differently, but it has to come with really good use-cases/reasons.

Thread joins, WiFi associates, ethernet does nothing, bluetooth does its own thing...
And naming is extremely important, it brings semantics with it. If you put "connect" in l2 layer, so what is connect in ip layer then? It's messing up things. So then you get a connected iface, but it's not because it does not have any IP yet ? etc...

Actually, I think you're right. How about "attach/detach" instead, as a generalization of "associate/join"? This avoids the problem of a double-meaning for "connect".

And in the end, who will really need to use such API? applications? no.

One use case we anticipate would be an application seeking to use only one network type, determined at build time, but buildable for any network type without changes to its network management logic.

See what NetworkManager or ConnMan are doing, it's really NIH.

Can you point out the major difference you see between this PR and NetworkManager? The way I see it:

NetworkManager defines a generic implementable interface for controlling attach/detach on network devices, as does this PR
NetworkManager defines a generic implementable interface for configuring the settings used during attach/detach on network devices, as does this PR
NetworkManager offers logic to maintain a connection on all available network devices, as does this PR

The only major difference, AFAICT, is that NetworkManager does this at the application level using pluggable DBus implementations, whereas we integrate at the net_if level.
We chose to implement at the net_if level, because attachment is necessary for an iface to become oper-up, and we felt it made sense to integrate a generic means of accessing this step at that level.

To me you are trying to generalize concepts that cannot really be. And so far, the current stack already provide the means for doing all of this, per-interface type basis. Which all the stack need to provide.

Doesn't NetworkManager prove that the concepts we are trying to generalize have already been generalized by others successfully?

Thus the conclusion: if the only user is application X, then do not make it as a public API, put it in x.

If the above does not convince you, then I suppose we could remove the modifications to net_if and make them live under conn_mgr.
The downside of this is that we would lose the ability to use the generic attach/detach calls without also including conn_mgr, which is something we specifically tried to avoid (see the use-case above).
Would you find this compromise (along with the rename to "attach/detach") satisfactory @tbursztyka ?

Last but not least - though I really dislike using such authority argument - @jukkar and I have years of experience in connectivity management, and so far the various OSes, the various connection management services etc... always end up split like this for a reason: there is the logic that a network stack needs to handle and there is another one for the connection management service, and so far there has never been any point in pushing back to the stack some logic that is only meant to be used by the connection management service. That does not prevent anybody to try doing things differently, but it has to come with really good use-cases/reasons.

@tbursztyka We appreciate the vast experience you, @jukkar, and other members of the community have. This is why we have reached out with an RFC in Nov last year. The topic was also presented and then subsequently mentioned on 2 networking forums.
Would you be able to present, within a reasonable time, a more detailed design proposal - similar to what we have presented in the RFC? This would help us better understand how you imagine the solution and how decide for the next steps.


FLINK-10918 fix for checkpoint dir creation error on window.

FLINK-10918 [flink-state-backaends] fix for checkpoint dir creation error on window. 1 of the 4 failing test on windows are now passing

Why are builds failing while the change is not at all related?


[Question] Can you hide/supress link warnings by mkdocs for non-existing files?

My docs have pages that cannot be translated for various reasons, so the translations obviously don't have the files present.
This however causes MkDocs to report links in other files pointing to these ones. I talk about this warning in particular:
WARNING -  Doc file 'de-CH/legal/index.md' contains a relative link 'bot.md', but the target 'de-CH/legal/bot.md' is not found among documentation files.

Is there a way in the plugin to have these links be ignored? The plugin is configured to build the default lang file as a replacement, so the file itself would exist, but this check seems to happen before the build?

Actually, it seems that this also causes an issue with linking, because the link [bot](bot.md) leads to a 404 page on the built docs, because MkDocs isn't parsing the link into the actual page.
Like, I have the following file structure:
docs/
├── de-CH/
│   └── legal/
│       └── index.md
└── en/
    └── legal/
        ├── bot.md
        └── index.md

With index.md having a link to bot.md in both folders.
For the default language (English) does this work fine, but for de-CH does it give a 404 because it doesn't have a bot.md file present and MkDocs treats it as a broken link, not parsing it...
Can this be fixed?

Weird, I have a lot of untranslated pages and don't have this error.
But from your docs tree example I see you're using the folder structure instead of suffix like I do.
Perhaps the bug is somewhere there in the folder structure logic. I will try to reproduce it based on the example.

The actual docs source can be found here: https://github.com/purrbot-site/Docs

I did some debugging and it turned out there are actually two bugs in the folder file lookup:
Here is a console output of some print statements:
looked up target -> de-CH/credits/index.md
variant=credits/index.md file=None
variant=en/de-CH/credits/index.md file=None
variant=de-CH/credits/index.md file=File(src_uri='de-CH/credits/index.md', dest_uri='de-CH/credits/index.html', name='index', url='de-CH/credits/')
---
looked up target -> de-CH/legal/bot.md
variant=legal/bot.md file=None
variant=en/de-CH/legal/bot.md file=None
variant=de-CH/legal/bot.md file=None
WARNING -  Doc file 'de-CH/legal/index.md' contains a relative link 'bot.md', but the target 'de-CH/legal/bot.md' is not found among documentation
           files.
---
looked up target -> de-CH/legal/api.md
variant=legal/api.md file=None
variant=en/de-CH/legal/api.md file=None
variant=de-CH/legal/api.md file=None
WARNING -  Doc file 'de-CH/legal/index.md' contains a relative link 'api.md', but the target 'de-CH/legal/api.md' is not found among documentation
           files.

Taking the issue from the OP, the de-CH/legal/bot.md file lookup searches for en/de-CH/legal/api.md instead of en/legal/api.md and therefore it can't find such file.
As for the second bug, it's in the lookup order of the variants. For example if we'd fix the first issue, for de-CH/credits/index.md it would lookup en/credits/index.md before finding de-CH/credits/index.md.

Not sure if this is the right logic you have there...
I have en set as default, so the effective path for the link should be equivalent to leagl/bot.md as an example.

Maybe I missed something when testing, as I was mostly focused on fixing the broken path and warning.
Then found the wrong order of alternative path lookup.
You can clone the branch from the PR and make a more thorough review to make sure nothing else was broken in the process.

Maybe I missed something when testing, as I was mostly focused on fixing the broken path and warning. Then found the wrong order of alternative path lookup.
You can clone the branch from the PR and make a more thorough review to make sure nothing else was broken in the process.

Yeah. I'll try to install it with pip and see if there's anything... Will report it in the PR in such a case.


Improve error reporting when the IPT does not have write permission to the data directory.

Many of the support requests to the helpdesk are straightforward permission errors -- Linux or Windows systems where basic filesystem permissions or more advanced security roles (SELinux etc) prevent the IPT from writing to the configured data directory.
Test this on Windows and Linux, and improve the error messages.
Remember some edge cases, e.g. Linux will remount a disk read-only if it has detected a failing drive; the IPT user may exceed a disk quota.

Hi,
When the access rights are not correct on the ipt/resources folder:
At IPT startup, we have the following message in debug.log:
INFO  02-Nov-2020 10:26:16 [org.gbif.ipt.service.manage.impl.ResourceManagerImpl] - Data directory does not hold a resources directory: /tmp/ipt
In the UI, the list of resources is empty.
When we create a resource, we get the following error in the UI:

In the debug.log, we have:
ERROR 02-Nov-2020 10:14:46 [org.gbif.ipt.service.manage.impl.ResourceManagerImpl] - java.io.IOException: Unable to create directory /tmp/ipt/resources/c02
ERROR 02-Nov-2020 10:14:46 [org.gbif.ipt.service.manage.impl.ResourceManagerImpl] - Error creating resource
org.gbif.ipt.service.InvalidConfigException: Can't write mapping configuration
	at org.gbif.ipt.service.manage.impl.ResourceManagerImpl.save(ResourceManagerImpl.java:2118) ~[classes/:?]
	at org.gbif.ipt.service.manage.impl.ResourceManagerImpl.create(ResourceManagerImpl.java:477) [classes/:?]
	at org.gbif.ipt.action.manage.CreateResourceAction.save(CreateResourceAction.java:91) [classes/:?]
	at org.gbif.ipt.action.POSTAction.execute(POSTAction.java:39) [classes/:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_265]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_265]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_265]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_265]

What are the planned improvements for this ticket?

displaying a warning message at the top of the IPT landing page?

improving the error message when creating a resource? to give the reason why the resource creation failed

improving the log message in debug.log? (ERROR instead of INFO at startup, ...)

Implemented here: https://github.com/gbif/ipt/pull/1536

Thanks @sylmorin-gbif . PR merged, I close this


[#134] Initial codecov configuration

Fix for #134

Codecov Report

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

@@            Coverage Diff            @@
##             master     #135   +/-   ##
=========================================
  Coverage          ?   39.52%
  Complexity        ?      153
=========================================
  Files             ?      173
  Lines             ?     1346
  Branches          ?       38
=========================================
  Hits              ?      532
  Misses            ?      808
  Partials          ?        6

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 58499ae...e645140. Read the comment docs.

@rultor merge

@rultor merge

@skapral OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@skapral Done! FYI, the full log is here (took me 3min)


Bneukom/ue51 update

LGTM, quickly tested example scene. Did not go through the updated projects yet


Updates to notification rule

Notification rule will have to require a checkID, status rules array will be changed to a single status rule

AFAIK, we do not want to have a checkID as part of a notification rule.


date format fix + light theme hovering fixes and minor cosmetics

This is how i see openledger under ubuntu, at windows is all ok.

Also related to this comment: https://github.com/cryptonomex/graphene-ui/issues/755#issuecomment-191719161
Something like this should work fine:
if (date[0] > 31){               time = date[2] + "/" + date[1] + " " + time.replace(hour, hourString);             } else {               time = date[0] + "/" + date[1] + " " + time.replace(hour, hourString);             }


chore: change a file

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

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

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
10679

Relevant Lines:
111643

💛  - Coveralls


How to integrate Azure sentinel with Servicenow for incident creation

How can we automate incident creation in service now if there are any new alerts triggered in Azure sentinel

Hi @ushahn
@Yaniv-Shasha  created a playbook https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks/Open-SNOW-Ticket that opens a SNOW ticket.  you just need to set the analytic rule to trigger this playbook.