Reset timer in Turbo extension when turbo button is pressed

This is for avoiding ignoring beginning of input if the input began during bTurboFlicker==true.
In order to avoid the ignoring, this change make bTurboFlicker=false and reset timer for inverting bTurboBlicker in case no turbo button was pressed at last sampling and some of turbo button is pressed at the time.

Hi @sirrow ,
What is the use case for this change?

This is useful for many game player who want to get prompt input when pushing turbo enabled button.
Generally this is useful for SHMUP games. In current implementation input for turbo button delays if bTurboFlicker==true.
My exact case is.. I'm player of Mr.Driller, an action puzzle game. In this game, input delay of turbo button can be cause of time consuming or gameover.

Closed and merged again with PR#549! Thanks @sirrow


[webview_flutter] 'Auto media playback' test flaked on Android

java.lang.Exception: ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞═══════════════════════
The following StateError was thrown during a platform message
callback:
Bad state: Future already completed
When the exception was thrown, this was the stack:
#1 main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///tmp/cirrus-ci-build/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart:488:34)
#2 JavascriptChannelRegistry.onJavascriptChannelMessage (package:webview_flutter_platform_interface/src/platform_interface/javascript_channel_registry.dart:28:40)
#3 WebViewAndroidJavaScriptChannel.postMessage (package:webview_flutter_android/webview_android_widget.dart:373:31)
#4 JavaScriptChannelFlutterApiImpl.postMessage (package:webview_flutter_android/src/android_webview_api_impls.dart:471:15)
#5 JavaScriptChannelFlutterApi.setup.<anonymous closure> (package:webview_flutter_android/src/android_webview.pigeon.dart:1156:15)
#6 JavaScriptChannelFlutterApi.setup.<anonymous closure> (package:webview_flutter_android/src/android_webview.pigeon.dart:1146:35)
#7 BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:73:49)
#8 BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:72:47)
#9 _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:379:35)
#10 _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:376:46)
#11 _invoke2.<anonymous closure> (dart:ui/hooks.dart:205:15)
#15 _invoke2 (dart:ui/hooks.dart:204:10)
#16 _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
#17 _Channel.push (dart:ui/channel_buffers.dart:132:31)
#18 ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
#19 PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:544:22)
#20 _dispatchPlatformMessage (dart:ui/hooks.dart:92:31)
(elided 4 frames from dart:async)
═════════════════════════════════════════════════════════════════
at dev.flutter.plugins.integration_test.FlutterTestRunner.run(FlutterTestRunner.java:81)

I just hit what looks like the same exception flake in Video plays inline when allowsInlineMediaPlayback is true


Implement SetAsFun

Closes #1226. This PR implements translation for the operator SetAsFun as a more efficient and more readable replacement for TLC's :> and @@. See the integration test for the examples. This operator surfaced a bug in DomainRule, which was never triggered before. It's also fixed here.

[x] Tests added for any new code
[x] Ran make fmt-fix (or had formatting run automatically on all files edited)
[ ] ~Documentation added for any new functionality~
[x] Entry added to UNRELEASED.md for any new functionality

Codecov Report

Merging #1319 (f295e3f) into unstable (55fed20) will increase coverage by 0.10%.
The diff coverage is 94.82%.

@@             Coverage Diff              @@
##           unstable    #1319      +/-   ##
============================================
+ Coverage     74.80%   74.91%   +0.10%
============================================
  Files           333      334       +1
  Lines         10786    10837      +51
  Branches        548      533      -15
============================================
+ Hits           8069     8118      +49
- Misses         2717     2719       +2

Impacted Files
Coverage Δ

...yte/apalache/tla/bmcmt/SymbStateRewriterImpl.scala
92.50% <ø> (ø)

...orsyte/apalache/tla/bmcmt/rules/SetAsFunRule.scala
90.62% <90.62%> (ø)

.../forsyte/apalache/tla/bmcmt/rules/DomainRule.scala
93.87% <100.00%> (+1.19%)
:arrow_up:

.../at/forsyte/apalache/tla/imp/StandardLibrary.scala
100.00% <100.00%> (ø)

...forsyte/apalache/tla/typecheck/etc/ToEtcExpr.scala
93.93% <100.00%> (+0.06%)
:arrow_up:

...in/scala/at/forsyte/apalache/tla/lir/Builder.scala
99.06% <100.00%> (+<0.01%)
:arrow_up:

...t/forsyte/apalache/tla/lir/oper/ApalacheOper.scala
70.90% <100.00%> (+1.67%)
:arrow_up:

...ir/transformations/standard/KeraLanguagePred.scala
94.31% <100.00%> (+0.06%)
:arrow_up:

...he/io/annotations/parser/CommentPreprocessor.scala
93.97% <0.00%> (+1.20%)
:arrow_up:

Continue to review full report at Codecov.

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


Counted leader elements in marc when encoding to marc

@maipet hinted that encode-marc21 or encode-marcxml cannot create the leader correctly since the elements are not counted.
Could you elaborate the problem

Is this related to #454?

I am not sure. We are transforming the OERSI JSON Data to Marc, but @maipet told me about invalid results created by the transformation due to the missing leader elements that state e.g. the length of a record.
But @maipet could clarify.

you can set the leader field, but leader "Character Positions 00-04 - Record length" &  "Pos. 12-16 - Base address of data" should actually be generated automatically? It was discussed with @dr0i  that we should first check whether the marc records from OERSI are 'valid' even without the correct information in the leader (the positions are currently filled with zeros).

While inspecting some workaround for #454, I saw that the marc21-encoder seems to have a mechanism for that:
https://metafacture.org/playground/?flux="https%3A//d-nb.info/1106253078/about/marcxml"
|+open-http(accept%3D"application/xml")
|+decode-xml
|+handle-marcxml
|+fix(transformationFile)
|+encode-marc21
|+decode-marc21(emitLeaderAsWhole%3D"true")
|+encode-yaml
|+print
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
move_field("@leader"%2C"leader")
Someone more advanced should have a look to confirm. Probably we could reuse the parts of the encode-marc21 for encode-marcxml

The construction of the leader (counting bytes including indicators etc magic) is done through invoking Marc21Decoder.java (which calls the Record.java . I think I can reuse that code for encode-marc21 - although it's ugly from a performance point of view (the whole record has to be made into tpye Record at the end of the parsing of a record).
This will be done in my PR treating https://github.com/metafacture/metafacture-core/issues/454.

Code can be reused for encode-marc21

@dr0i:  Isn't encode-marc21 already doing this? See: https://github.com/metafacture/metafacture-core/issues/524#issuecomment-2056344931

Functional review @TobiasNx and @maipet .
Deployed to test-Plaground metafacture-framework feature-454-allowMarc21EncoderToGetLeaderAsOneString-SNAPSHOT.
Note that the generated leader is 02934naa a2200649uc 4500 while the original input was
<leader>00000naa a2200000uc 4500</leader>. So the leader seems to be correct (record size and also other parts,  while the type etc. is preserved...)

Added my review here: https://github.com/metafacture/metafacture-core/pull/526#issuecomment-2068705357
On scenario is still not working otherwise for me this seems to work. But @maipet has more knowledge about the leader.

It seems that this is not solved for encode-marcxml: https://test.metafacture.org/playground/?flux=inputFile
|+open-file
|+as-records
|+decode-json
|+fix(transformationFile)
|+encode-marcxml
|+print
%3B&transformation=%23+-----LEADER+-----

set_field("leaderPos0004"%2C+"00000")+%23+TODO+record+length
set_field("leaderPos1216"%2C+"00000")+%23+TODO+Base+address+of+data+-+Length+of+Leader+and+Directory+

set_field("leader"%2C"")
if+exists("isPartof[]")
++set_field("leaderPos07"%2C+"a")+%23+Monografischer+unselbstständiger+Teil
elsif+any_match("learningResourceType[].prefLabel.de"%2C"Webseite")
++set_field("leaderPos07"%2C+"i")+%23+integrierende++Ressource
else
++set_field("leaderPos07"%2C+"m")
end

if+any_match("learningResourceType[].prefLabel.de"%2C"Video")
++set_field("leaderPos06"%2C+"g")+%23+Projiziertes+Medium
elsif+any_match("learningResourceType[].prefLabel.de"%2C"Audio")
++set_field("leaderPos06"%2C+"i")+%23+Nicht-musikalische+Tonaufnahme
else
++set_field("leaderPos06"%2C+"a")+%23+text+
end

paste("leader"%2C+"leaderPos0004"%2C+"~c"%2C+"leaderPos06"%2C+"leaderPos07"%2C+"~+a22"%2C+"leaderPos1216"%2C+"~+++4500"%2C+"join_char"%3A+"")

%23+-----+001+-----+

copy_field("_id"%2C"001")
prepend("001"%2C"OERSIMARC")

%23+-----+005+-----+

%23set_field("005"%2C"")
%23+add_field("@createTime"%2C"%24[createEndTime]")
if+all_match("@createTime"%2C"0")
++add_field("005"%2C"00000000000000.0")
else
++timestamp("005"%2C+format%3A+"yyyyMMddHHmmss.S"%2C+timezone%3A+"CET")+%23+TODO+how+to+get+only+1st+decimal+/++millisecond%3F+
end
replace_all("005"%2C+"^([^\.%5D%2B\.\d%29\d\d%24%22%2C+%22%241%22%29%0A%0A%0A%23+-----+007+-----%0Aset_array%28%22007%22%2C%22cr%22%29%0Aif+exists%28%22hasPart%5B%5D%22%29+%23+hasPart+-%3E+medienkombination%0A++add_field%28%22007.%24append%22%2C%22ou%22%29%0Aend%0A%0A%23+-----+%28first+languageCode%29+008+/+264%24c-----%0A%23+%23+-----+inLanguage+%26+dateCreated/datePublished++-----%0A%23+%23+may+be+advisable+to+create+the+field+008+more+dynamical+%28first+6+pos.+current+date+yymmdd%29%0A%23+%0A%23+copy_field%28%22inLanguage%5B%5D.1%22%2C%22%24firstLang%22%29%0A%23+lookup%28%22%24firstLang%22%2C%22languageCodes%22%29%0A%23+%0A%23+set_array%28%22264+0%22%29%0A%23+set_array%28%22264+1%22%29%0A%23+set_field%28%22008%22%2C%22%22%29%0A%23+if+any_match%28%22datePublished%7CdateCreated%22%2C%22%5E.%2A%24%22%29%0A%23+++if+exists%28%22datePublished%22%29%0A%23+++++copy_field%28%22datePublished%22%2C+%22%24date%22%29%0A%23+++++replace_all%28%22%24date%22%2C+%22%5E%28\d%7B4%7D%29%28-.%2B%29%24%22%2C%22%241%22%29%0A%23+++++copy_field%28%22%24date%22%2C%22264+1.%24append.c%22%29%0A%23+++++copy_field%28%22publisher%5B%5D.name%22%2C%22264+1.%24last.b%22%29%0A%23+++else%0A%23+++++copy_field%28%22dateCreated%22%2C+%22%24date%22%29%0A%23+++++replace_all%28%22%24date%22%2C+%22%5E%28\d%7B4%7D%29%28-.%2B%29%24%22%2C%22%241%22%29%0A%23+++++copy_field%28%22%24date%22%2C%22264+0.%24append.c%22%29%0A%23+++++copy_field%28%22publisher%5B%5D.name%22%2C%22264+1.%24append.b%22%29%0A%23+++end%0A%23+++paste%28%22008%22%2C+%22~240228t%22%2C%22%24date%22%2C%22~%7C%7C%7C%7Cxx%23%7C%7C%7C%7C%7Co%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%22%2C%22%24firstLang%22%2C+%22~%7C%7C%22%2C+%22join_char%22%3A+%22%22%29%0A%23+else%0A%23+++paste%28%22008%22%2C+%22~240228t%7C%7C%7C%7C%7C%7C%7C%7Cxx%23%7C%7C%7C%7C%7Co%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%22%2C%22%24firstLang%22%2C+%22~%7C%7C%22%2C+%22join_char%22%3A+%22%22%29%0A%23+end%0A%23+%0A%23+%23+-----+040+-----%0A%23+%23+-----+@language+%28@context%29+%0A%23+%0A%23+do+list%28path%3A%22@context%5B%5D%22%2C%22var%22%3A%22%24i%22%29%0A%23+++unless+is_string%28%22%24i%22%29%0A%23+++++copy_field%28%22%24i.@language%22%2C+%22lang_temp%22%29%0A%23+++++%0A%23+++end%0A%23+end%0A%23+lookup%28%22lang_temp%22%2C+%22languageCodes%22%29%0A%23+copy_field%28%22lang_temp%22%2C+%22040++.b%22%29%0A%23+%0A%23+%0A%23+%23+-----+100+/+700+-----%0A%23+%23+-----+creator+-----%0A%23+%0Aif+all_match%28%22creator%5B%5D.1.type%22%2C%22Person%22%29%0A++copy_field%28%22creator%5B%5D.1.name%22%2C%221001+.a%22%29%0A++remove_field%28%22creator%5B%5D.1.name%22%29%0Aend%0Aset_array%28%227001+%22%29%0Ado+list%28path%3A%22creator%5B%5D%22%2C+%22var%22%3A%22%24i%22%29%0A++if+all_match%28%22%24i.type%22%2C%22Person%22%29%0A++++copy_field%28%22%24i.name%22%2C%227001+.%24append.a%22%29%0A++end%0Aend%0A%0Aif+all_match%28%22creator%5B%5D.1.type%22%2C%22Organization%22%29%0A++copy_field%28%22creator%5B%5D.1.name%22%2C%221101+.a%22%29%0A++remove_field%28%22creator%5B%5D.1.name%22%29%0Aend%0Aset_array%28%227101+%22%29%0Ado+list%28path%3A%22creator%5B%5D%22%2C+%22var%22%3A%22%24i%22%29%0A++if+all_match%28%22%24i.type%22%2C%22Organization%22%29%0A++++copy_field%28%22%24i.name%22%2C%227101+.%24append.a%22%29%0A++end%0Aend%0A%0A%0A%23+-----+245+-----%0A%23+-----+name+-----%0A%0Aif+any_match%28%22creator%5B%5D.%2A.type%22%2C%22Person%7COrganization%22%29%0A++copy_field%28%22name%22%2C+%2224510.a%22%29%0Aelse%0A++copy_field%28%22name%22%2C+%2224500.a%22%29%0Aend%0A%0A%0A%23+----+300+----%0Aset_field%28%22300++.a%22%2C+%221+Online-Ressource%22%29%0A%0A%0A%23+-----+306+-----%0A%23+-----+duration+-----%0Acopy_field%28%22duration%22%2C+%22%24duration%22%29%0Areplace_all%28%22%24duration%22%2C%22%5EPT%28\d%7B2%7D%29H%28\d%7B2%7D%29M%28\d%7B2%7D%29S%24%22%2C+%22%241%242%243%22%29%0Acopy_field%28%22%24duration%22%2C+%22306++.a%22%29%0A%0A%0A%23-----506+-----%0A%23+-----conditionsOfAccess%0Acopy_field%28%22conditionsOfAccess.prefLabel.de%22%2C%22506++.a%22%29%0A%0A%0A%23+-----+520+-----%0A%23+-----+description+-----%0Acopy_field%28%22description%22%2C%225202+.a%22%29%0A%0A%0A%23+-----+521+-----%0A%23+-----+audience+-----%0A%0Aset_array%28%22521++%22%29%0Ado+list%28path%3A%22audience%5B%5D%22%2C%22var%22%3A%22%24audience%22%29%0A++copy_field%28%22%24audience.prefLabel.de%22%2C%22521++.%24append.a%22%29%0Aend%0A%0A%23+-----650+-----%0A%23+-----+about+-----%0A%0Aset_array%28%22650+4%22%29%0Ado+list%28path%3A%22about%5B%5D%22%2C%22var%22%3A%22%24about%22%29%0A++copy_field%28%22%24about.prefLabel.de%22%2C%22650+4.%24append.a%22%29%0Aend%0A%0A%23+-----+653+-----%0A%23+-----+keywords+-----%0A%0Aset_array%28%22653++%22%29%0Ado+list%28path%3A%22keywords%5B%5D%22%2C%22var%22%3A%22%24keyword%22%29%0A++copy_field%28%22%24keyword%22%2C+%22653++.%24append.a%22%29%0Aend%0A%0A%23+-----+655+-----%0A%23+-----+learningResourceType+-----%0A%0Aset_array%28%22655+4%22%29%0Ado+list%28path%3A%22learninResourceType%5B%5D%22%2C%22var%22%3A%22%24lrt%22%29%0A++copy_field%28%22%24lrt.prefLabel.de%22%2C%22655+4.%24append.a%22%29%0Aend%0A%0A%23+-----+856+-----%0A%23+-----+trailer+-----%0A%0Aset_array%28%22856++%22%29%0Aif+exists%28%22trailer%22%29%0A++copy_field%28%22trailer.embedUrl%22%2C%22856++.%24append.u%22%29%0A++set_field%28%22856++.%24last.3%22%2C%22Trailer%22%29%0Aend%0A%0A%23+-----+mainEntityOfPage.id+----%0A%0Aset_array%28%2285640%22%29%0Acopy_field%28%22mainEntityOfPage%5B%5D.id%22%2C%2285640.%24append.u%22%29%0Acopy_field%28%22license.id%22%2C%2285640.%24last.r%22%29%0Aadd_field%28%2285640.%24last.z%22%2C%22kostenfrei%22%29%0A%0Aretain%28%22leader%22%2C%0A++%22%5B1234567890%5D%2A%22%29%0A&data=%7B%0A++++%22image%22%3A+%22https%3A//kicampus-public.s3.openhpicloud.de/courses/6qmhZYChy2ondx1rqzs1vh/7a7kyG8dWqkyHfKSoqL40Z/datengeschichten_unibi_logo_klein_0.jpg%22%2C%0A++++%22creator%22%3A+%5B%0A++++++++%7B%0A++++++++++++%22name%22%3A+%22Katharina+Wei\u00df%22%2C%0A++++++++++++%22type%22%3A+%22Person%22%0A++++++++%7D%2C%0A++++++++%7B%0A++++++++++++%22name%22%3A+%22Marko+Wenzel%22%2C%0A++++++++++++%22type%22%3A+%22Person%22%0A++++++++%7D%2C%0A++++++++%7B%0A++++++++++++%22name%22%3A+%22Marko+Wenzel+%22%2C%0A++++++++++++%22type%22%3A+%22Person%22%0A++++++++%7D%0A++++%5D%2C%0A++++%22about%22%3A+%5B%0A++++++++%7B%0A++++++++++++%22prefLabel%22%3A+%7B%0A++++++++++++++++%22de%22%3A+%22Studienbereich+Informatik%22%2C%0A++++++++++++++++%22fi%22%3A+%22tietojenk\u00e4sittelytiede%22%2C%0A++++++++++++++++%22uk%22%3A+%22\u041a\u043e\u043c\u043f%27\u044e\u0442\u0435\u0440\u043d\u0456+\u043d\u0430\u0443\u043a\u0438%22%2C%0A++++++++++++++++%22en%22%3A+%22Computer+Science%22%2C%0A++++++++++++++++%22fr%22%3A+%22Informatique%22%2C%0A++++++++++++++++%22da%22%3A+%22Datalogi%22%2C%0A++++++++++++++++%22es%22%3A+%22Ciencias+de+la+Computaci\u00f3n%22%2C%0A++++++++++++++++%22nl%22%3A+%22Informatica%22%0A++++++++++++%7D%2C%0A++++++++++++%22id%22%3A+%22https%3A//w3id.org/kim/hochschulfaechersystematik/n71%22%0A++++++++%7D%2C%0A++++++++%7B%0A++++++++++++%22prefLabel%22%3A+%7B%0A++++++++++++++++%22de%22%3A+%22Ingenieurwissenschaften%22%2C%0A++++++++++++++++%22fi%22%3A+%22tekniikka%22%2C%0A++++++++++++++++%22uk%22%3A+%22\u0406\u043d\u0436\u0435\u043d\u0435\u0440\u0456\u044f%22%2C%0A++++++++++++++++%22en%22%3A+%22Engineering+Sciences%22%2C%0A++++++++++++++++%22fr%22%3A+%22Ing\u00e9nierie%22%2C%0A++++++++++++++++%22da%22%3A+%22Ingeni\u00f8rvidenskab%22%2C%0A++++++++++++++++%22es%22%3A+%22Ingenier\u00eda%22%2C%0A++++++++++++++++%22nl%22%3A+%22Engineering%22%0A++++++++++++%7D%2C%0A++++++++++++%22id%22%3A+%22https%3A//w3id.org/kim/hochschulfaechersystematik/n8%22%0A++++++++%7D%0A++++%5D%2C%0A++++%22inLanguage%22%3A+%5B%0A++++++++%22de%22%0A++++%5D%2C%0A++++%22description%22%3A+%22Gesellschaftliche+Debatten+zu+Corona-Pandemie+und+Klimawandel+verdeutlichen%2C+wie+wichtig+die+adressatengerechte+und+zielgruppenspezifische+Kommunikation+von+Datenanalyseergebnissen+f\u00fcr+die+breite+\u00d6ffentlichkeit+und+politische+Entscheidungstr\u00e4ger%2Ainnen+ist.+Ziel+des+Kurses+ist+es%2C+Data+Storytelling+sowohl+auf+theoretischer+als+auch+auf+praktischer+Ebene+zu+vermitteln.\n%22%2C%0A++++%22isAccessibleForFree%22%3A+true%2C%0A++++%22type%22%3A+%5B%0A++++++++%22LearningResource%22%0A++++%5D%2C%0A++++%22mainEntityOfPage%22%3A+%5B%0A++++++++%7B%0A++++++++++++%22provider%22%3A+%7B%0A++++++++++++++++%22name%22%3A+%22KI+Campus%22%2C%0A++++++++++++++++%22id%22%3A+%22https%3A//oerworldmap.org/resource/urn%3Auuid%3Ab092c55e-038c-4634-8063-77f9aa7b7404%22%2C%0A++++++++++++++++%22type%22%3A+%22Service%22%0A++++++++++++%7D%2C%0A++++++++++++%22id%22%3A+%22https%3A//ki-campus.org/courses/Datenanalyse-unibi2021%22%0A++++++++%7D%0A++++%5D%2C%0A++++%22<EMAIL_ADDRESS>

Ahhh I now see what the problem here is, encode-marcxml still lacks the ability to generate the counted leader info. I did not review this properly, sorry.

We decided with @maipet and @dr0i that marcXML does not need to count but either use the provided leader info if the leader is provided as whole (even if the record itself changed) or set the Leader Pos 00-04 and 12-16 to zero if the leader is only provided in separated elements as it is done by decode-marc21.
For further info see:
https://github.com/metafacture/metafacture-core/issues/527#issuecomment-2076585889


Need to discuss POSSIBLE server-oriented features

I already have a growing list of capabilities/protections that an app like this could include, but which would require moving beyond simply a static file server into a more specifically tailored and integrated server.
This of course opens up a whole list of additional complexities/downsides, including cost, maintenance, security, governmental interference, etc. That means we should be very weary to do any such things, and only cross this bridge if we cand deeply and fully justify it, and have a plan for managing those complexities.
But in the interest of discussion, I want to list some of the ideas I am already contemplating, and invite others as well.

off-site/off-device backup: offer the option to either one-time or automatically upload the encrypted dataset from your device to the server. We would NOT include the decryption key itself, but would need to keep the other encryption params (algorithm, salt/iv, etc) necessary to reconstruct the key (provided the user remembers the passphrase). We'd also need some mechanism (like a hash challenge) and some unique identifier (email?) so that someone could prove, from a new device, that they are authorized to retrieve/decrypt that data. Complex stuff, but we could figure it out I think.
Also considered is your own export-backup that you have to store somewhere (like google drive, etc). This has its own (many) downsides though.

Similar to backup, offer optional "device sync" where you can one-time, or somewhat-automatically sync your data from one device to another. Could generate a QR code one one device to scan from the other, to streamline. All the same complexity.

Perhaps a way around some of the complexity of device sync (but with its own complexity) could be direct device sync via webrtc (data channels) so that the actual data never even touches our server. Still need server for the webrtc signaling negotiation, etc.

Optional 2-factor auth (like RSA 6 digit code kind, NOT through SMS) to further secure your login/encryption.

Optional biometric auth (in web terms, using Webauthn API with FIDO on the server) so user could unlock/decrypt with fingerprint, face ID, etc, instead of inputting their passphrase.

Hi @getify I was thinking about implementing bio metric authentication ( bio metric data as unique identifier ) on server so that someone could prove, from a new device, that they are authorized to retrieve/decrypt that data.
What is your thought on that, please let me know.

You could sync from device to device over WebRTC and skip it from storing on a server altogether.
Even better yet, just allow people to run their own servers instead of having a centralized one.


STM32 - USART - Non Blocking Read

Hello,
I've noticed that all of the USART drivers implement the embedded hal for read() which specifies that they should block if there is no pending data. For my current application I would be able to reduce logic complexity if I could poll these or only read the pending data rather than having to use separate tasks that may block on a read.
Would there be any room in the future to have some form of API to provide either a non-blocking read (just read out anything pending) or some way to check there is pending data (so can avoid a read if no data)?
In this context by blocking I mean both the traditional sense as well as a Future that stays pending until there is data available).

BufferedUart / RingbufferedUart do exactly that, .read() immediately returns the available data without having to wait for the buffer to fill up.

Hia,
What I'm referring to is these lines
ringbuffered.read
buffered.read
Where if there is no data pending, it blocks for some data.
I'm looking for a way to read only the pending without blocking for following data.

I think it would be possible to use poll_once for your use case.

I ran into a similar issue. We're transitioning from a sync implementation using the stm32-rs crates. We were able to hack a solution using block_on (I'm guessing poll_once would probably also work), so we didn't block execution while waiting for data. It seems like the correct way to do this with the embedded_io traits would be to have the various USART structs implement ReadReady. That way you could do something like:
let ready = rx.read_ready()?;
if ready {
    rx.read(&mut rx_buf)?;
}


[Bug]: MSSQL 2022-latest infinitely waiting for ready

Testcontainers version
3.9.0
Using the latest Testcontainers version?
 (Docker Inc.)
    Version:  v1.0.4
    Path:     C:\Program Files\Docker\cli-plugins\docker-feedback.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.1.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sbom.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.8.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 17
 Server Version: 26.1.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e377cd56a71523140ca6ae87e30244719194a521
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
 Kernel Version: <IP_ADDRESS>-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 15.44GiB
 Name: docker-desktop
 ID: d77e2642-01b8-499a-97ac-98ba9a94656a
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Labels:
  com.docker.desktop.address=npipe://\\.\pipe\docker_cli
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: daemon is not using the default seccomp profile

What happened?
We have been using Testcontainers.MSSQL for some time now without any issues.
However, while setting up a new colleague with his environment, the tests wouldn't start because they would infinitely wait on the containers to start.
After debugging, we attempted another version of the docker image, namely: 2022-CU13-ubuntu-22.04.
This one worked straight away.
Relevant log output
No response
Additional information
No response

This is a duplicate: https://github.com/testcontainers/testcontainers-dotnet/issues/1220. We already fixed it in the develop branch. The refered issue contains two workarounds. The next release will contain the fix.


Add Back Tags to Spans Sent from Serverless-Init

What does this PR do?
Add back tags to spans sent from Serverless-Init.
Motivation
Regression introduced in https://github.com/DataDog/datadog-agent/pull/30743
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

A fix that addressed a race condition when adding profile tags removed the addition of span tags.

/merge


Add getUserData() method.

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #391 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #391      +/-   ##
==========================================
+ Coverage   89.33%   89.33%   +<.01%
==========================================
  Files          54       54
  Lines        2597     2598       +1
  Branches      531      531
==========================================
+ Hits         2320     2321       +1
  Misses        266      266
  Partials       11       11

Impacted Files
Coverage Δ

packages/aws-amplify/src/Auth/index.ts
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


SAK-31408 Simplify progress reporting

Just put out a message every 10 seconds.

So, this PR is no longer necessary...
https://github.com/sakaiproject/sakai/pull/2910

As long as @ottenhoff doesn't object, yep.  But if folks would prefer the smaller fix that Sam proposed I'm fine with that too (and in that case, this PR could be ignored instead)

I definitely do not object! My fix was the fastest one available; this looks better.


samples: hello-world: extra slash in path

Please help with zephyr setup, looks like something misconfigured.
Project successfully compiles, but shows error on flash:
PS E:\eug\zephyrproject\zephyr\samples\hello_world> west build -b nucleo_f411re
-- west build: generating a build system
Including boilerplate (Zephyr base): E:/Eug/zephyrproject/zephyr/cmake/app/boilerplate.cmake
-- Zephyr version: 2.5.0-rc1 (E:/Eug/zephyrproject/zephyr)
-- Found Python3: C:/Python/python.exe (found suitable exact version "3.8.2") found components: Interpreter
-- Found west (found suitable version "0.8.0", minimum required is "0.7.1")
-- Board: nucleo_f411re
-- Found dtc: C:/ProgramData/chocolatey/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
-- Found toolchain: gnuarmemb (C:/Program Files (x86)/GNUARM)
-- Found BOARD.dts: E:/Eug/zephyrproject/zephyr/boards/arm/nucleo_f411re/nucleo_f411re.dts
-- Generated zephyr.dts: E:/Eug/zephyrproject/zephyr/samples/hello_world/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: E:/Eug/zephyrproject/zephyr/samples/hello_world/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: E:/Eug/zephyrproject/zephyr/samples/hello_world/build/zephyr/include/generated/device_extern.h
Parsing E:/Eug/zephyrproject/zephyr/Kconfig
Loaded configuration 'E:/Eug/zephyrproject/zephyr/boards/arm/nucleo_f411re/nucleo_f411re_defconfig'
Merged configuration 'E:/Eug/zephyrproject/zephyr/samples/hello_world/prj.conf'
Configuration saved to 'E:/Eug/zephyrproject/zephyr/samples/hello_world/build/zephyr/.config'
Kconfig header saved to 'E:/Eug/zephyrproject/zephyr/samples/hello_world/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- The ASM compiler identification is GNU
-- Found assembler: C:/Program Files (x86)/GNUARM/bin/arm-none-eabi-gcc.exe
CMake Deprecation Warning at E:/Eug/zephyrproject/modules/lib/civetweb/CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done
-- Generating done
-- Build files have been written to: E:/Eug/zephyrproject/zephyr/samples/hello_world/build
-- west build: building application
[127/132] Linking C executable zephyr\zephyr_prebuilt.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       14396 B       512 KB      2.75%
            SRAM:        4384 B       128 KB      3.34%
        IDT_LIST:         184 B         2 KB      8.98%
[132/132] Linking C executable zephyr\zephyr.elf
PS E:\eug\zephyrproject\zephyr\samples\hello_world> west flash
-- west flash: rebuilding
ninja: error: FindFirstFileExA(e/:/eug/zephyrproject/zephyr/misc): The filename, directory name, or volume label syntax is incorrect.

FATAL ERROR: re-build in E:\eug\zephyrproject\zephyr\samples\hello_world\build failed (no --build-dir given)
PS E:\eug\zephyrproject\zephyr\samples\hello_world> git rev-parse --short HEAD
30de4b5dd9
PS E:\eug\zephyrproject\zephyr\samples\hello_world> cmake --version
cmake version 3.19.3

CMake suite maintained and supported by Kitware (kitware.com/cmake).
PS E:\eug\zephyrproject\zephyr\samples\hello_world> arm-none-eabi-gcc --version
arm-none-eabi-gcc.exe (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103 (release)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
PS E:\eug\zephyrproject\zephyr\samples\hello_world> ls env:
TOOLCHAIN_DIR                  C:\Program Files (x86)\GNUARM
ZEPHYR_BASE                    E:/Eug/zephyrproject/zephyr
ZEPHYR_TOOLCHAIN_VARIANT       gnuarmemb

In file build/.ninja_deps all paths contain extra slash after drive letter:  e/:/eug/zephyrproject/zephyr/misc
Checked on another computer - no slash after drive letter.
Also: "CMake Deprecation Warning" not appeared earlier
System: Windows 10 x64
Any advice please?

Looks like magic.
Both machines have the same windows build, the same versions of GCC, cmake, west, ninja, I did clean zephyr install with upgrading all packets from requirements.txt, but no success:
ninja: error: FindFirstFileExA(e/:/eug/zephyrproject/zephyr/samples/hello_world/build/zephyr/include/generated): The filename, directory name, or volume label syntax is incorrect.
FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'E:\Eug\zephyrproject\zephyr\samples\hello_world\build'

Looks like magic.
Both machines have the same windows build, the same versions of GCC, cmake, west, ninja, I did clean zephyr install with upgrading all packets from requirements.txt, but no success:
ninja: error: FindFirstFileExA(e/:/eug/zephyrproject/zephyr/samples/hello_world/build/zephyr/include/generated): The filename, directory name, or volume label syntax is incorrect.
FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'E:\Eug\zephyrproject\zephyr\samples\hello_world\build'

Fixed by updating ninja from 1.10.0 to 1.10.2
This bug mentioned in ninja release notes.

Fixed by updating ninja from 1.10.0 to 1.10.2
This bug mentioned in ninja release notes.


PR: First write_bytes, local

Fixes (Partially) #1295
Tested with and without gzip.
Tests may have a more preferable location, and the couple of lower-level functions
may use some tests of their own.

Two test failures, on  (PYTHON=2.7 NUMPY=1.10.4 PANDAS=0.18.0 COVERAGE='true') only, appear completely unrelated:

dask/bytes/tests/test_s3.py::test_read_bytes_blocksize_on_large_data
dask/bag/tests/test_bag.py::test_from_s3

Hrm, Perhaps add storage_options={'anon': True} to the read_text call?

I'm surprised about the change, would this be related to the recent boto shift?

The error seems to be recurring in other unrelated pull requests, so probably it was a change in the upstream boto3 library.

Yes, agree that we should be specifying anon=True, since s3fs assumes False and no longer has None (try both) option. The question then is, why is one test failing and the others passing?

The s3 issue was fixed here: https://github.com/dask/dask/pull/1359.

@mrocklin : this passes now. We can talk some time about how much should go into this PR before considering its inclusion.

Will try to take a more thorough look this evening (though uncertainty is high.)
It would be reassuring to see that what is present here is sufficient to satisfy some of the user functions, the simplest of which is probably dask.bag.to_textfiles.

Hooking this up to db.to_textfiles and dd.to_csv would also connect this code to those test suites, which might be valuable in exposing issues.

OK, good idea to maintain consistency by using *.
Am I right in thinking that, if we aren't splitting files, write_files and write_bytes are the same thing? My thinking was, that once the local version is tested, versions for hdfs3 and s3fs (and whatever else) would be easy to adapt.
This work would be a direct replacement for those file-writers you mention?

I think it's reasonable to focus on write_bytes.  I can see use cases for write_files, particularly with dask.bag where partitions can themselves be larger-than-memory sequences (by default we don't do any large-file-splitting there).
I agree that starting with local versions is good.
Yes, this work would allow us to refactor and significantly reduce the complexity of those file-writers.  It wouldn't replace them (the APIs are convenient) but it should make them much smaller and, in the future, will extend them to S3/HDFS operation.  If possible it'd be nice to actually perform that refactor in this PR, just to ensure that the functionality presented here serves our application needs.

I made this pass by removing the bz2 tests is py2 - I don't know what was done before, but this seems reasonable.

Previously we were assuming that we were operating with files on disk and so just opening the files with bz2 directly.

@mrocklin , have I misses something, anything more you'd like for me to do on this? I assume the hook to hdfs3 should be in distributed and not here.

Taking a look

This looks good to me.  My recent comments are mostly cosmetic.

OK, I'm going to go ahead and merge this.
Some possible future work

[ ] Implement this in the distributed.hdfs module
[ ] More exhaustive test suite to make sure no regressions occur


feat: delete Jenkinsfile

What this PR does / why we need it:
删除仓库里的 Jenkinsfile
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):
Fixes #
Reference to #

Special notes for your reviewer:
/cc @hanxueluo @hicaistar

Release note:

NONE

/lgtm


Adoption Request: EDC IDS-Broker Extension

Adoption Request as known friend
General information
Hello,
we as sovity (Website | Github | Linkedin) are working on providing enterprise-ready EDC Connectors and dataspaces as SaaS.
This project, in its first version, can publish assets offered as IDS-resources to a central IDS-Broker, thus establishing initial EDC and IDS-Broker compatibility. We use the event framework of the EDC for this purpose.

Title
Description
Contact
Links

EDC IDS-Broker Extension
EDC connector extension that can register offered assets in form of IDS-resources to a central IDS-Broker.
<EMAIL_ADDRESS>link to repo

Adoption level
Next, please tell us what level of adoption you intend to provide. (pick only one)

[x] Reference a feature as "friend"
[ ] Incorporate a feature as core EDC component

FYI the IDS broker protocol and architecture have been completely re-worked in the next version of the IDS specifications. We will be implementing the new catalog protocol in EDC.

Are there already links or further info for this, which would be available already now?

The new protocol work has been ongoing in the IDS working group and IDS-G repository. We are currently developing planning the new IDS work in EDC.

Are there already links or further info for this, which would be available already now?

Please take a look at the new ids-specification repository in the IDSA org @tmberthold. Disclaimer: This is just a draft version in review process. As an IDSA member, feel free to provide your feedback.


Add more slang to Java: for-yield expression

Ideally there would be a for { ... } yield { ... } expression. 'for' is a keyword, so Expression.for(...).yield(...) (or short: for(...).yield(...)) does not work. Alternatively For.of(...).yield(...) could be used.
Similar to Property.forAll(...).suchThat(...).check(), the expression arguments are internally boxed to function parameters for further processing:
final R result = For.of(expr_1, ..., expr_n).yield((T1 name_1, ..., Tn name_n) -> retVal);

final R result = For.of(
    expr_1,
    ...,
    expr_n
).yield((T1 name_1, ..., Tn name_n) -> {
	...
})

interface For {

    static <T1, R> For1<T1, R> of(T1 expr1) { ... }
    static <T1, T2, R> For2<T1, T2, R> of(T1 expr1, T2 expr2) { ... }
    // etc.

    static class For1<T1, R> {
        public R yield(Function1<T1, R> f1) {
            // ...
        }
    }
    // etc.
}

Expressions sent to 'for' may be treated differently by type:

java.lang.Iterable<T> - iterate to get values
javaslang.algebra.Monad<T> - use map / flatMap to yield a value (is it possibly to express this internally?)
etc.
by default use value as is

Caveat: The type parameter <T> is not accessible due to type erasure...

like so http://docs.scala-lang.org/tutorials/FAQ/yield.html

That was quick ;-)

Yes :) Thanks for sharing

Duplicate to #68 , fixed with #1128


Replace "Non-existent user" with user friendly verbiage

When a user logs in, but their account doesn't exist in the Graph DB, instead of displaying "Non-existent user" in the menu....replace with a more user friendly experience.  Additionally, if possible, provide some mechanism in which we can track these instances so the user can be added the Graph DB.

trying this out?

or how about this?

@bjaworskiND "Would it be an option to show just the netID and then have an FAQ...."Why can't I see datasets and reports?"  The answer can then reflect either a permission thing or a missing account in the Graph DB????"

@jdosmann "jdosmann (GUEST)"

That would be all it says, I can link it to a page on aboudata.nd.edu


Add example for new Babel 7 TypeScript Integration

Babel 7 supports TypeScript without type checking, so basically it just strips all the types away and makes the code valid JS code. It still would be preferrable to do type checking with ts in a separate process during the build. It would ve nice if in the readme of this project there was an example on how to configure this correctly (if it is possible).

Does this plugin even work with Babel 7? webpack --watch doesn't work anymore when enabling this plugin.

I believe that create-react-app are using it - so could be worth ejecting one of their apps to get config.

I do use babel 7's typesceript transpilation and this is my settings:
import ForkTSCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
// ...
export default () => {
  return {
    module: {
      rules: [
        {
          test: /\.(ts|tsx)$/,
          use: [
            loader: 'babel-loader',
            options: {
              presets: [
                '@babel/preset-typescript',
              ]
            }
          ],
          exclude: /node_modules/,
        }
      ],
      // ... other rules
    },
    plugins: [
      new ForkTSCheckerWebpackPlugin({
        checkSyntacticErrors: true,
      }),
      // ... other plugins
    ]
  }
}

oops.. this was typescript problem.
typescript version: 3.4.1 is very slow.

:tada: This issue has been resolved in version 5.0.0-alpha.11 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature] support iceberg table column statistics

Fixes #issue
from https://github.com/StarRocks/starrocks/pull/32324
I will adapt to partition prune on iceberg table in the next pr.
What type of PR is this:

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


Higher dimensional noise functions

Functions such as perlin5 would be very welcome.

5th and 6th dimension noise functions are on my to-do list for this.

With type level integers it'd be quite easy to do an N dimensional implementation for perlin and simplex at least, probably all the cellular stuff too. They wouldn't be as efficient as the hardcoded ones but you could use specialization for that. Perhaps look in to using typenum or waiting to see what happens with the pi types RFC.

This should be merged with N-dimensional noise.


Add instructions for clarity

I added language to clarify location and meaning of values on screen for probability and points for green balloon. I also clarified time limit on trials.

hi @kazinka thanks! just to confirm -- are these instructions clarifications something that have already been cleared by the other ppl at the other sites? or do you think it should primarily be needed for the online-deployed version of the task?

They were not cleared by the other sites. I don't think they would negatively impact the local studies, but can also be kept for online-only use. I think it is helpful for online studies to be overly explicit since participants cannot ask an experimenter if they are unsure about something.

okay, gotcha! thanks! and right, i agree about being super explicit & clear for the online participants since they aren't being supervised. i just wanted to double check whether i needed to have the ppl doing the in-lab data collection to review them or something or if they've already seen these edits


Dependabot/npm and yarn/news cast explorer fe/angular/language service 17.2.0

@dependabot recreate

@dependabot recreate

@dependabot recreate

@dependabot recreate


[DRAFT] Add initial scaffolding for Phoenix spot market integration

Here's a first pass at what a Phoenix spot market integration into Drift might look like. This is very much a work in progress and requires a lot of additional testing/redesign. @crispheaney, please let me know if there's anything major that i'm missing
Still very new to the source code, so I have a decent amount of catching up to understand the full context of what needs to be changed.
Changes so far:

Upgraded anchor to 0.26.0
Refactor instances of Option<FulfillmentParams> to be FulfillmentParams. This makes possible integrations with other spot markets easier down the line.
Added Phoenix helper functions in controller/phoneix.rs
Implemented a draft version fulfill_spot_order_with_phoenix

TODOs:

[ ] Lots of tests!
[ ] Create a PhoenixFulfillmentParams struct to hold all of the optional accounts required
[ ] Create a PhoenixFulfillmentConfig Account as well as a instructions that generate/update this config

[ ] initialize_phoenix_fulfillment_config
[ ] update_phoenix_fulfillment_config_status

[ ] Plumb the Phoenix routing logic into each of the following instructions:

[ ] fill_spot_order
[ ] place_spot_order
[ ] place_and_take_spot_order
[ ] place_and_make_spot_order

Misc:

[ ] Figure out how fees work for in fulfill_spot_order_with_phoenix

Closing and migrating to #437


Create a solution for anon vipps agreements

Figure out how we should accommodate anonymous vipps agreements. They can't log in to min side, so how do they cancel / edit their agreements?

Also see https://github.com/stiftelsen-effekt/main-site/issues/451

Subtasks

[ ] Simplify uuid generation (the current hash code is unnecessary)
[ ] Read URL and find agreement code
[ ] Find donor from agreement URL code
[ ] Check if donor is anon
[ ] Create front-end for editing Vipps agreements anonymously without login


Spurious lintr message ?

Apologies in advance if this is the wrong place to raise this. I am making the assumption the issue is from how this extension is using lintr rather than with lintr itself.
Describe the bug
When developing a package the  lintr warns of "no visible bindings" if a function is defined in another file
To Reproduce

create an R package
define a function in 1 file
use that function in another file
lintr complains that there is "no visible binding" for that function

Do you want to fix by self? (We hope your help!)
No  (Well yes but it is likely to be multiple months before I get around to it sorry ! 😢 )
Settings
All settings are left as defaults as of  v2.1.0
Expected behavior
Not to raise the warning
Screenshots

Environment (please complete the following information):

OS: macOS Catalina
VSCode Version: 1.58.2
R Version: 4.1.0
vscode-R version: 2.1.0

object_usage_linter does not well for package functions and multi-file cases. Please disable it in your project or global .lintr at the moment.

Arr ok so you guys are running it per file. I guess there is no solution to this then. I'd rather avoid disabling object_usage_linter as it can help identfy areas where functions truely haven't been defined. Hmmm I can't think of anyway of resolving this :( feel free to close I guess !

Are you using the latest dev of lintr? I'm running the latest lintr and object_usage_linter seems to work correctly.

I'm using "2.0.1" apparently

Please try the latest development version via remotes::install_github("jimhester/lintr").

Installed the github version and restarted VScode,  still am getting the same warning messages :(   Are there any other meaningful diagnostics I could provide ?

Had the same issue (ton of "no visible binding" messages) - e.g. when using tags$div(...) from htmltools
Installing the most current dev-version devtools::install_github("r-lib/lintr") solved the issue for me (thank´s for the hint @renkun-ken 👏)
Seems version 3.0.0 is currently worked on and will hopefully be released soon 😀

I have this too with lintr 3.0.0 in VS Code. Calling lintr::lint_package() works just fine, and the LSP finds the object definitions in my R/ folder. However, lintr still throws object_usage_linter warnings for "no visible global function" and "no visible binding" for function calls and symbols, respectively. lintr doesn't seem to honor "NAMESPACE" either as imported names are not resolved.

sessionInfo()
R version 4.2.0 (2022-04-22)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Monterey 12.4

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods
[7] base

loaded via a namespace (and not attached):
 [1] ps_1.7.0        crayon_1.5.1    withr_2.5.0
 [4] rprojroot_2.0.3 R6_2.5.1        jsonlite_1.8.0
 [7] rlang_1.0.3     cli_3.3.0       lazyeval_0.2.2
[10] remotes_2.4.2   callr_3.7.0     rex_1.2.1
[13] xml2_1.3.3      cyclocomp_1.1.0 desc_1.4.1
[16] tools_4.2.0     lintr_3.0.0     compiler_4.2.0
[19] processx_3.6.0

Relevant settings.json configuration
{
  "[r]": {
        "editor.defaultFormatter": "REditorSupport.r"
    },
    "r.alwaysUseActiveTerminal": true,
    "r.bracketedPaste": true,
    "r.rmarkdown.enableCodeLens": true,
    "r.rterm.mac": "/usr/local/bin/radian",
    "r.sessionWatcher": true,
    "r.workspaceViewer.removeHiddenItems": true,
    "r.lsp.args": [ "--no-save", "--no-restore" ],
    "r.rpath.mac": "/usr/local/bin/R",
    "r.rterm.option": [
      "--no-save",
      "--no-restore",
      "--r-binary=/usr/local/bin/R"
    ]
}

Using reditorsupport.r version 2.5.2.

@gowerc @psanker Would you like to try https://github.com/REditorSupport/languageserver/pull/568 and see if it works for you?

Works for me!


ceph versions supported by ceph-csi

we need to add a matrix related to the minimum and maximum version of ceph supported by the ceph-csi driver.

Yep . I will update it along with the release update. Thanks

Similar to #421

Fixed in https://github.com/ceph/ceph-csi/pull/468


SNOW-647070: Installing Pandas and Snowflake separately

I installed snowpark and pandas separately. this code work in mac. However when I run the code in Amazon Linux 2 it fails.
import os
from tokenize import String
import pandas as pd
import json
from io import StringIO
from datetime import datetime
from botocore.exceptions import ClientError
from snowflake.snowpark import Session
from snowflake.snowpark.types import StructType, StructField, StringType, IntegerType
from snowflake.connector.pandas_tools import write_pandas
from snowflake.snowpark.functions import when_matched, when_not_matched
from snowflake.snowpark.functions import col, lit
connection_parameters = {
}
def write_to_snowflake(cdf):
session = Session.builder.configs(connection_parameters).create()
df=session.create_dataframe(cdf)
df.write.mode("overwrite").save_as_table("cdp_staging", table_type="temporary")
print("after stage")
session.close()
def stage():
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data)
write_to_snowflake(df)
stage()
At run time I get an error
"create_dataframe() function only accepts data as a list, tuple or a pandas DataFrame."
Does it need specific version of pandas? Thanks!
What version of Python are you using?
3.8
What operating system and processor architecture are you using?
Linux-4.14.287-215.504.amzn2.x86_64-x86_64-with-glibc2.2.5
What are the component versions in the environment (pip freeze)?
asn1crypto==1.5.1
boto3==1.24.53
botocore==1.27.53
certifi==2022.6.15
cffi==1.15.1
charset-normalizer==2.1.0
cloudpickle==2.0.0
cryptography==36.0.2
idna==3.3
jmespath==1.0.1
numpy==1.23.2
oscrypto==1.3.0
pandas==1.4.3
pycparser==2.21
pycryptodomex==3.15.0
PyJWT==2.4.0
pyOpenSSL==22.0.0
python-dateutil==2.8.2
pytz==2022.2.1
requests==2.28.1
s3transfer==0.6.0
six==1.16.0
snowflake-connector-python==2.7.11
snowflake-snowpark-python==0.8.0
typing_extensions==4.3.0
urllib3==1.26.11
What did you do?
Open your AWS Cloud9 Amazon EC2 environment.
Install Python 3.8 and pip3 by running the following commands:
$ sudo amazon-linux-extras install python3.8
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ python3.8 get-pip.py --user
Create a python folder by running the following command:
python3.8 -m pip install snowflake-snowpark-python -t python/ --upgrade
python3.8 -m pip install pandas -t python/ --upgrade
What did you expect to see?
Pandas and snowpark to work on Linux 2 as I need to run this code in AWS Lambda
Can you set logging to DEBUG and collect the logs?
Response
{
"errorMessage": "create_dataframe() function only accepts data as a list, tuple or a pandas DataFrame.",
"errorType": "TypeError",
"stackTrace": [
"  File "/var/lang/lib/python3.8/imp.py", line 234, in load_module\n    return load_source(name, filename, file)\n",
"  File "/var/lang/lib/python3.8/imp.py", line 171, in load_source\n    module = _load(spec)\n",
"  File "", line 702, in _load\n",
"  File "", line 671, in _load_unlocked\n",
"  File "", line 843, in exec_module\n",
"  File "", line 219, in _call_with_frames_removed\n",
"  File "/var/task/lambda_function.py", line 81, in \n    stage()\n",
"  File "/var/task/lambda_function.py", line 62, in stage\n    write_to_snowflake(df)\n",
"  File "/var/task/lambda_function.py", line 45, in write_to_snowflake\n    df=session.create_dataframe(cdf)\n",
"  File "/opt/python/snowflake/snowpark/session.py", line 1133, in create_dataframe\n    raise TypeError(\n"
]
}

I found the issue. It need pyarrow separately.  All good. thanks


Implemented RESAMPLE EVERY and RESAMPLE FOR for Continuous Queries.

Thanks! I'll make the merge and publish during the next couple of days.

@pootzko subtle poke in case it slipped your mind :). If you're busy no problem.

Hi,
no, you're right. :) It has been 3 almost weeks since your PR. I'll make the new build today in the evening, sorry for the wait.

Hey, to me, your test fails. This is what I get:
Test Name:	CreateContinuousQuery_WithResampleStatement_ShouldCreateContinuousQuery
Test FullName:	InfluxData.Net.Integration.InfluxDb.Tests.IntegrationContinuousQueries.CreateContinuousQuery_WithResampleStatement_ShouldCreateContinuousQuery
Test Source:	D:\projects\InfluxData.Net\InfluxData.Net.Tests\Integration\InfluxDb\Tests\IntegrationContinuousQueries.cs : line 60
Test Outcome:	Failed
Test Duration:	0:00:37,666

Result StackTrace:
at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
   at Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at InfluxData.Net.InfluxDb.ClientModules.CqClientModule.<CreateContinuousQueryAsync>d__3.MoveNext() in D:\projects\InfluxData.Net\InfluxData.Net.InfluxDb\ClientModules\CqClientModule.cs:line 27
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at InfluxData.Net.Integration.InfluxDb.Tests.IntegrationContinuousQueries.<CreateContinuousQuery_WithResampleStatement_ShouldCreateContinuousQuery>d__5.MoveNext() in D:\projects\InfluxData.Net\InfluxData.Net.Tests\Integration\InfluxDb\Tests\IntegrationContinuousQueries.cs:line 66
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
Result Message:	InfluxData.Net.Common.Infrastructure.InfluxDataApiException : InfluxData API responded with status code=BadRequest, response={"error":"error parsing query: found RESAMPLE, expected BEGIN at line 1, char 93"}

Which version of Influx are you using? I ran this on v0.9.6.

Hmm... That is probably due to the fact that the Resample statement wasn't present in InfluxDB 0.9.x, I'm using 0.11. I should probably make an effort to add 0.11 mode, but as InfluxData is close to releasing v1.0 of the entire TICK-stack I might as well focus my efforts on the 1.0 beta.
Would you prefer that I fork this project and fix it for v1.0 or that I attempt to contribute to this library (effectively trying to make it support v1.0 without breaking compatibility with previous versions)?

Alright, I thought so. :)
It has been on my mind that I should implement newer versions as well, but I was a bit lazy since I didn't need it for work. Now that 1.0 is coming out, it's probably a really good time to support that at least. Essentially, everything is mostly ready anyway. All the older versions (of for example parsers, formatters..) only need to inherit from newer ones and just override the breaking changes. The only thing left to figure out is how to setup the tests in a smart way so each version could be tested and it should be an easy ride from there.
I will have quite a bit of free time in the following two weeks so I'll play with it. If you want to help, you're more than welcome. Perhaps just make it a new feature with git flow, if it's not a problem? If it's easier for you, and if you want it, I could give you contributor access to the repo.

Sounds great! Indeed testing for older versions is kind of a pain,  but on the other hand, no features are added to 0.9 so no improvements are needed. As most of the versions before the latest release aren't even installable focussing on not explicitly breaking 0.9.x and supporting 1.0 sounds sensible.
I do work with git flow, so that's no problem at all. Do you have a list of things in 1.0 that need to be implemented (do you even want to build such a list?) or would you rather use add/fix features as we go?
Regards,

We could make a list, it could be useful.
In the future if someone really requires something specific for a specific (older) version, it could possibly be added, and the 0.9 lib in general I think should work with newer influx versions where API's didn't change.
I think we should first make sure everything we have in 0.9 works for 1.0, and after that start adding new stuff in. Two things I would like to take care of are #8 and batching support, other than that, I don't know, maybe add support for more API stuff, some real unit tests (instead of these "integration" ones) and whatever else. If you have any ideas, feel free to add them.

I managed to abstract away the tests to support multi-versioning. It was a bit tricky but works nicely now. I'll fix the remaining 4 InfluxDB test tomorrow and then see what's up with the Kapacitor tests and fix that as well. So hopefully I'll deploy all this in the next few days.


added T-rex runner game

added T-rex runner game (with additional functionalities)
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes:  #(455)

Type of change

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

Checklist:

[x] I have made this from my own
[x] I have taken help from some online resourses
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

ATTACH SCREEN-SHOTS

DEPLOYMENT LINK - https://rahulbawa777.github.io/T-Rex-Runner-game-/

@RAHULBAWA777 make it responsive

@RAHULBAWA777 make it responsive did u make it from ur own ? if not mention the resource

Yes made it of my own.... Just took the reference of basic game functionality from yt.... Rest all the work and pictures used are by me

I don't know how to make it responsive as it only works with pixels.... The
game won't work if I use rem Or em or something else....
On Tue, Apr 19, 2022, 10:37 AM VIDHI BHATT @.***> wrote:

@.**** commented on this pull request.
@RAHULBAWA777 https://github.com/RAHULBAWA777
—
Reply to this email directly, view it on GitHub
https://github.com/arpit456jain/Amazing-Js-Projects/pull/512#pullrequestreview-945062229,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV25R3FCYCRUIBG5HWN4X6TVFY5QPANCNFSM5TNZKD4A
.
You are receiving this because you were mentioned.Message ID:
@.***>


Presentation website adjustments

https://microprofile.io/resources/#presentation

[x] remove presentation section

[x] adjust link to home page presentation card (button)

Updated


Move to io.opentelemetry.semconv.v1 package

Related to #5, #2.

SemanticAttributes now lives in a package which doesn't include *.trace.*, which is accurate given that includes attributes used across signals.
ResourceAttributes lives in the same package as SemanticAttributes because the additional level to the package hierarchy serves no value.
The package includes v1 to give allow us to make breaking changes to the code generation logic as discussed in comment. We are still publishing an -alpha artifact, so we are allowed to make breaking changes to the code generation logic, but I figure its best to keep the package change churn to a minimum, so trying to get us close to the structure we are likely to use when we publish a stable artifact.
The downside of this set of changes is that the package change will be a breaking change vs. the existing io.opentelemetry:opentelemetry-semconv artifact. I think that's fine tho and we can publish deprecation warnings that point to the new classes in io.opentelemetry:opentelemetry-semconv before deleting.

The package includes v1 to give allow us to make breaking changes to the code generation logic as discussed in comment.

what do you think of being optimistic and not including the v1 in the package name, and only adding v2 in the future if needed?

The package includes v1 to give allow us to make breaking changes to the code generation logic as discussed in https://github.com/open-telemetry/semantic-conventions-java/issues/2#issuecomment-1699523236.

what do you think of being optimistic and not including the v1 in the package name, and only adding v2 in the future if needed?

I'm fine with that too. Was hoping this PR would spur that conversation 🙂


Architecture: Support running all archive methods through a SOCKS/HTTP proxy

Would be nice to have a PROXY=socks5h://<IP_ADDRESS>:1080 style option to route all traffic through a proxy while archiving.

I agree this would be nice, but it's tricky to implement consistently across all the archive methods.  For now I recommend running it inside docker and doing the proxying for the entire container.
These docs might help, although I cant confirm this type of setup works as I haven't tried it myself:

https://docs.docker.com/network/proxy/#configure-the-docker-client
https://medium.com/datadriveninvestor/how-to-transparently-use-a-proxy-with-any-application-docker-using-iptables-and-redsocks-b8301ddc4e1e

Ok, thank you! Appreciate you taking a look.
I will probably look into this if I give ArchiveBox another go.

doesn't work with environment inside docker
"Unable to detect page title"

Failed:TimeoutExpired Command 'curl' timed out after 60 seconds

Failed:TimeoutExpired Command 'wget' timed out after 60 seconds

Failed:TimeoutExpired Command 'google-chrome-unstable' timed out after 60 seconds

Failed:TimeoutExpired Command 'google-chrome-unstable' timed out after 60 seconds

Failed: Failed to find "content-location" URL header in Archive.org response.

Can you post the docker-compose.yml file you used to test this @issenn? I have gotten docker working through wireguard tunnels with no issues in the pasts, so I'm sure there is a way to do this.

I have the beginnings of this feature shown in the docker-compose.yml file: https://github.com/pirate/ArchiveBox/blob/master/docker-compose.yml
pwyb can expose a proxy archiver with wayback --proxy, which we can then pipe curl/wget/chrome/youtube-dl through.

I had this problem in my setup and write notes on SOCKS5 proxy.
https://gist.github.com/kai11/e91c6fad990c6490b2a4fe8c4defebfe

I agree this would be nice eventually, but it's tricky to implement consistently across all the archive methods. For now I recommend running it inside docker and doing the proxying for the entire container.
These docs might help, although I cant confirm this type of setup works as I haven't tried it myself:

https://docs.docker.com/network/proxy/#configure-the-docker-client
https://medium.com/datadriveninvestor/how-to-transparently-use-a-proxy-with-any-application-docker-using-iptables-and-redsocks-b8301ddc4e1e

Expect 1yr+ before I get around to implementing this natively, for now I recommend the docker approach if this is an absolute requirement.

Any news at this moment?

No changes planned to add SOCKS support into ArchiveBox anytime soon because the Docker solutions work well enough for now.
My favorite way to do this is using tailscale, where you can route all Docker traffic through any desired exit node with one line: https://tailscale.com/kb/1103/exit-nodes/#step-4-use-the-exit-node
You can use a docker-compose sidecar container that shares the networking stack with the ArchiveBox container similar to this wireguard example:
https://github.com/pirate/wireguard-docs?tab=readme-ov-file#example-client-container-setup
services:
    archivebox:
        ...
        network_mode: 'service:tailscale'
        depends_on:
          - tailscale

    tailscale:
        image: 'tailscale/tailscale:latest'
        environment:
          - TS_AUTHKEY="tskey-auth-xxxxxxxxx"
          - TS_EXTRA_ARGS="--exit-node=<exit-node-ip>"

For more info see: https://tailscale.com/kb/1282/docker/

@pirate How did you get this working with Tailscale?
I'm running into this Redditor's issue which is that if you assign the network_mode to the tailscale container, then all traffic goes through Tailscale. Consequently, my reverse proxy (Caddy) can no longer access the archivebox container and I can't bring up the ArchiveBox web UI

If you share your docker-compose with caddy I can show you, you just add network_mode onto the caddy container too so they all share one network stack. Incoming connections can still be handled by caddy even when all outbound traffic goes through Tailscale.

@pirate  I'm not running Caddy outside of Docker. But I am running Caddy as part of a separate docker-compose project because it needs to reverse-proxy many services besides ArchiveBox.  So it sounds like I need to use iptables.
Do you happen to have sample iptables rules I can use?
Thanks so much for your help.

In that case I recommend a named bridge network that they both attach to, it will be simpler than iptables. Run docker network create archivebox to create a named network, then attach both the archivebox container and the caddy container to that network. ChatGPT should be able to help generate the yaml for that to attach the containers, if that doesn't work I can maybe help write it for you.

That's actually what I have: a named bridge network.
But it seems that tailscale's iptables rules just mess everything up and I'm not too familiar with how to allow traffic for that bridged network:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ts-input   all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ts-forward  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain ts-forward (1 references)
target     prot opt source               destination
MARK       all  --  anywhere             anywhere             MARK xset 0x40000/0xff0000
ACCEPT     all  --  anywhere             anywhere             mark match 0x40000/0xff0000
DROP       all  --  <IP_ADDRESS>/10        anywhere
ACCEPT     all  --  anywhere             anywhere

Chain ts-input (1 references)
target     prot opt source               destination
ACCEPT     all  --  <IP_ADDRESS>        anywhere
RETURN     all  --  <IP_ADDRESS>/23      anywhere
DROP       all  --  <IP_ADDRESS>/10        anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     udp  --  anywhere             anywhere             udp dpt:34106

@pirate I figured it out. Given that I was using Tailscale in order to pass traffic through a Tailscale exit node, what I was missing was --exit-node-allow-lan-access
            - TS_EXTRA_ARGS=--exit-node=TS_EXIT_IP --exit-node-allow-lan-access

For everyone, here is my full service definition (where I use Jinja2 as templater; hence the {{ … }}):
    tailscale:
        image: 'tailscale/tailscale:latest'
        container_name: archivebox-tailscale
        # Should set hostname so that the reverse-proxy (e.g. Caddy) can find the archivebox container
        hostname: archivebox
        restart: unless-stopped
        cap_add:
            - net_admin
            - sys_module
        networks:
            # For ad-blocking during archiving, uncomment this section and pihole service section below
            - dns
            - caddy-archivebox
        dns:
            - <IP_ADDRESS>
        volumes:
            - /srv/archivebox/tailscale/state:/var/lib/tailscale
            - /dev/net/tun:/dev/net/tun
        environment:
            - TS_STATE_DIR=/var/lib/tailscale
            - TS_AUTHKEY={{ TS_AUTH_KEY_ARCHIVEBOX }}
            - TS_USERSPACE=false
            - TS_HOSTNAME=docker-archivebox
            - TS_EXTRA_ARGS=--exit-node={{ TS_EXIT_IP }} --exit-node-allow-lan-access
        #command: tailscaled

For TS_AUTH_KEY_ARCHIVEBOX, generate a reusable, ephemeral Auth Key (ephemeral, so machine is automatically cleaned up after logout or inactivity; reusable so that we don't have to get a new key it every time the container comes up)


⚠ Processors has degraded performance

In f66f423, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 96 ms

Resolved: Processors performance has improved in f699bb5.


Windows - Atom 1.0.11 OK - Atom 1.0.13 Not working

Hey,
Awesome Package :-)
Anyway, doesn't work on 1.0.13 as I am assuming that the native pty.js module would have to be rebuilt for IO.js 2.3.1 ... Ironically Atom says that it rebuilt it, but then it still doesn't work.
Thanks !!

@JohnMurga Thanks for letting me know. I really need to find a better way to handle the pty.js dependency but I don't have any ideas. I can rebuild for atom 1.0.13 but I think then the people who haven't updated will get an issue.

I suspect 1.0.12 is affected too, as that's the one where IO.js and Electron got the update

Please try updating the Terminal-Plus dependencies. If you are not familiar with this process you can uninstall and reinstall the package. Pty.js has been rebuilt and should work now.

Wow, that was fast :-)
Thanks !!
Will try in a few hours

Did this work for you?

Sorry ...
Yeah, works beautifully :+1:
Thanks !!


HBASE-28605 Add ErrorProne ban on Hadoop shaded thirdparty jars

This change results in this error on master at 3a3dd66e21.
[WARNING] Rule 2: de.skuzzle.enforcer.restrictimports.rule.RestrictImports failed with message:

Banned imports detected:
Reason: Use shaded version in hbase-thirdparty
        in file: org/apache/hadoop/hbase/backup/TestBackupDelete.java
                org.apache.hadoop.thirdparty.com.google.common.collect.Sets (Line: 34, Matched by: org.apache.hadoop.thirdparty.**)

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 52s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 49s
master passed

+1 :green_heart:
compile
6m 21s
master passed

-1 :x:
spotless
0m 48s
branch has 21 errors when running spotless:check, run spotless:apply to fix.

_ Patch Compile Tests _

-1 :x:
mvninstall
4m  8s
root in the patch failed.

-1 :x:
compile
5m 57s
root in the patch failed.

-0 :warning:
javac
5m 57s
root in the patch failed.

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
xml
0m  2s
The patch has no ill-formed XML file.

-1 :x:
hadoopcheck
2m 58s
The patch causes 10 errors with Hadoop v3.3.6.

-1 :x:
spotless
1m  5s
patch has 21 errors when running spotless:check, run spotless:apply to fix.

_ Other Tests _

+1 :green_heart:
asflicense
0m 17s
The patch does not generate ASF License warnings.

28m 47s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5918

Optional Tests
dupname asflicense javac hadoopcheck spotless xml compile

uname
Linux 0ba24a2fa8cf 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 6c84d3960f

Default Java
Eclipse Adoptium-11.0.17+8

spotless
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/artifact/yetus-general-check/output/branch-spotless.txt

mvninstall
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/artifact/yetus-general-check/output/patch-mvninstall-root.txt

compile
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/artifact/yetus-general-check/output/patch-compile-root.txt

javac
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/artifact/yetus-general-check/output/patch-compile-root.txt

hadoopcheck
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/artifact/yetus-general-check/output/patch-javac-3.3.6.txt

spotless
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/artifact/yetus-general-check/output/patch-spotless.txt

Max. process+thread count
82 (vs. ulimit of 30000)

modules
C: . U: .

 U: .

 U: .

 U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m  3s
master passed

+1 :green_heart:
compile
5m  4s
master passed

+1 :green_heart:
spotless
0m 42s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 37s
the patch passed

+1 :green_heart:
compile
4m 59s
the patch passed

+1 :green_heart:
javac
4m 59s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
xml
0m  1s
The patch has no ill-formed XML file.

+1 :green_heart:
hadoopcheck
5m  4s
Patch does not cause any errors with Hadoop 3.3.6.

+1 :green_heart:
spotless
0m 41s
patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 12s
The patch does not generate ASF License warnings.

29m  3s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5918

Optional Tests
dupname asflicense javac hadoopcheck spotless xml compile

uname
Linux 53f277e12a7c 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8a5337b3e4

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
77 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 32s
Docker mode activated.

-0 :warning:
yetus
0m  2s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 57s
master passed

+1 :green_heart:
compile
1m 59s
master passed

+1 :green_heart:
shadedjars
5m 13s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 56s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 50s
the patch passed

+1 :green_heart:
compile
1m 58s
the patch passed

+1 :green_heart:
javac
1m 58s
the patch passed

+1 :green_heart:
shadedjars
5m 13s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 53s
the patch passed

_ Other Tests _

-1 :x:
unit
340m 40s
root in the patch failed.

371m 32s

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5918

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux b7a5fbf3fa34 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8a5337b3e4

Default Java
Eclipse Adoptium-11.0.17+8

unit
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-root.txt

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/testReport/

Max. process+thread count
7885 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 13s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 30s
master passed

+1 :green_heart:
compile
1m 39s
master passed

+1 :green_heart:
shadedjars
5m 11s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 24s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 23s
the patch passed

+1 :green_heart:
compile
1m 37s
the patch passed

+1 :green_heart:
javac
1m 37s
the patch passed

+1 :green_heart:
shadedjars
5m  6s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 25s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
414m 15s
root in the patch passed.

442m 24s

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5918

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 328c2990e9a2 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8a5337b3e4

Default Java
Temurin-1.8.0_352-b08

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/testReport/

Max. process+thread count
9149 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5918/2/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


[sw, spiflash] Dramatically increase transfer rate

The spiflash utility hasn't been using any kind of flow control up until now. This PR adjusts the implementation to read the hash of each frame before writing the next frame rather than checking the hash after writing the next frame.
By my measurements this decreases the transfer time of large binaries, like Tock, by ~95%.
The new implementation will timeout after the same period of time the old implementation used to wait before reading the hash, 1 second. A short delay is inserted between reads since the FPGA seems to trip over itself if reads occur too quickly in succession.
Issues:

Doesn't work with Verilator, though spiflash doesn't work with Verilator at tip of master right now either. I wasn't able to figure out what's going on here; the hashes read back seem nonsensical. I'll file a second issue for this. I'm not sure how often spiflash is used on Verilator in reality or if most people just meminit the flash.
It's too fast. Now I don't have time to go grab a coffee between builds :(

The Verilator thing already has an associated bug #1606.

After #1620 is merged, the spiflash w/ verilator DPI works, even the first frame failed and resend though. :)

How is spiflash supposed to work with Verilator? It's not quite clear to me what the hash is supposed to be in this case:
write(frame[n]);
usleep(kLongEnoughToWrite);
hash = read();

Is hash associated with frame[n] or frame[n-1]? My intuition says the answer should be frame[n], but prior to this PR the semantics of this method for ftdi return the rx contents (hash) of frame[n-1] since Transfer doesn't wait before doing the read.

That's correct. As transfer and receive happen at the same time, the read hash is for the previous frame frame[n-1]. You need to take a look at the spidpi at hw/dv/dpi/spidpi/. That code stores the received data into a buffer and the spiflash reads from the buffer.

For Verilator there seem to be some sequencing issue in the DPI interface that garbles the first frame.  That explains why @eunchan sees a retry always on the first frame.  It would be nice to enhance the Verilator interface to support system resets from the host. This would make the interface consistent with FTDI (host reset with bootstrap pin high).


SecureRandom impl

I'm looking to create a SecureRandom using rdrand-util,  is this possible with the existing code? This would be used to set the default SecureRandom used by The Legion of the Bouncy Castle.
Specifically, BouncyCastle can use the FIPS-approved rdrand with calls to CryptoServicesRegistrar.setSecureRandom(SecureRandom) (described in 2.4.5 Setting a default SecureRandom). However rdrand-util is a Random. It's not clear how to use this project short of creating a SecureRandom provider, or a kernel module and configure the jvm's entropy source.

Java imposes restrictions on applications adding/removing/modifying providers and depending on your use case it may not be necessary to go down that fairly tedious route.
SecureRandom is an extension of Random with JCE Spi specific additions. If BouncyCastle merely uses it as a source of randomness as the documentation you linked indicates, a quick solution that comes to mind would be for you to create an extension of SecureRandom wrapping RdRandRandom overriding the SecureRandom specific seed and byte generation methods invoked by BouncyCastle to transparently pass through to RdRandRandom and provide this wrapper to BouncyCastle (alternatively simply override them all, there are only a handful).
If BouncyCastle invokes any provider specific methods on the SecureRandom api then things get more complicated. A review of BouncyCastle code would be required to get clarity on these. Testing your use cases with a wrapper as described above should highlight such an issue immediately.
Apart from the above, since you mention kernel module I'll assume you are deploying to a Unix environment in which case such an option is not needed. On Unix the jvm typically uses /dev/random as the entropy source, the Unix standard, and Intel defines ways for you to integrate rdrand there. Probably not recommended since this would affect the entire system as opposed to just your application.
If you are deploying to Linux you may want to check to see if the kernel version you are deploying to already integrates rdrand as one of the sources for /dev/random (I can't recall the specific kernel version they started integrating it in, note though that it happens to be one of many sources there and I'm not familiar with how they are doing this and it may not meet your security requirements).


Router Tree broken in angular 2.4.1

Router tree is not working for my routes demo app, nothing shows up.
It still works for the kitchen sink app.

@rajinder-yadav Can you provide the source of this app you're testing with? Do you inject the router into the route component?

It's just basic angular routing, nothing fancy. I've merged my demo app, you can pick it from:
https://github.com/rangle/augury-examples/

@rajinder-yadav Until we complete #829, the router still needs to be injected into the root component and called router, for augury to be able to parse it. Any chance you want to make this work? ;)

Talked with @stevenkampen, and looks like all we need to do is at code to do a simple check and then fallback if that fails.
I'll take a look at this issues.

@rajinder-yadav I think we should close this and track the improvement on #829

Closing as dup!


[Validation] Optional Nullable Fields

Laravel Version: 5.4.x
PHP Version: 7.1.2
Database Driver & Version: n/a

Description:
In my application I have an address form that includes address_one, town and postcode. In Laravel 5.3 I had the following validation rules in my form request class:
'address_one' => ['required_with:town,postcode', 'min:6', 'max:64'],
'town'        => ['min:3', 'max:32'],
'postcode'    => ['required_with:address_one,town', 'min:6', 'max:16'],

The aim of this set of validation was the following:

Not entering anything into any of the fields is valid
Entering just an address_one and a postcode is valid as the town field is not required
Entering just a town is invalid because the address_one and postcode are required when the town is present
Entering address_one and town is invalid because postcode is required with either of those fields
Entering town and postcode is invalid because address_one is required with either of those fields

Essentially, it should be possible to submit the form with nothing entered, address_one and postcode, or all three fields.
This has been working fine in Laravel 5.3 for a few months. I'm currently rewriting my application in 5.4 and came to add this yesterday, but the above validation no longer works.
I believe this is because of the nullable rule requirement for optional fields due to the ConvertEmptyStringsToNull middleware, but adding this to address_one and postcode causes them to not respect the required_with rule. If I don't add the nullable rule then address_one and postcode apply the min and max validation even when there is no value present.
Of course, this makes perfect sense - the framework is doing what it should with the rules it's been given... It's just not what I want and I think it's a slight regression 😄
It almost seems like we need a new nullable_without rule that would set the field to be nullable if the other fields were not present, or required_with should set the value to nullable if the fields that it checks are not present.
This feels like an edge case that has been missed... I've successfully got a workaround working using withValidator() and adding sometimes() rules, but it seems like that's quite messy and not as clean as the 5.3 version.
Steps To Reproduce:

Create a form with address_one, town, postcode
Add the above validation rules in a Form Request object
Submit the form and watch the rules work (un)expectedly.

ConvertEmptyStringsToNull is completely optional, you can drop it if you want and that will give you the same effect as in 5.3.

Note: ConvertEmptyStringsToNull middleware also breaks the 'sometimes' rule
eg if I submit an empty form field and my rule is eg
'sometimes|numeric'
or
'sometimes|min:3'
then the validation kicks in and rejects the field, ignoring the sometimes part

I've submitted a PR trying to get around this edge case, check https://github.com/laravel/framework/pull/18376

@themsaid It's optional, but it's highly desirable for me in the rest of the application because I want to store null in the database rather than empty strings. But I also want this ability to be able to mark a field as nullable depending on the presence (or not) of other fields in the submitted data.

Ok I think the PR that was just merged will handle this case for you, closing this issue but feel free to ping me if you have any other edge cases that the PR doesn't cover.

Brilliant... Thank you so much @themsaid 😄


File and line number in output

Hello,
I love Ray and I don't know what I would do without it at this point. My whole team uses it now. Anyways with the latest version of the plugin, and the latest version of the app on my mac the file and line number no longer show in the output. Now every output just shows autoload.php:105 from the vendor directory of the plugin.
Can you please take a look? Thank you!

Oh, I see the issue was already reported and a fix has been committed @ https://github.com/spatie/wordpress-ray/commit/bc7ca6bd383cb67b31fc4783df0f68734ad2d863
Thanks.


Provide a dynamic return type for getStorage on the entity type manager

We can use a dynamic return type on getStorage to do a proper type hint on known entity storages.

Since it's impossible to read the entity annotations and discern what entity storage class to return, we can use mapping in the parameters. This allows each project to customize custom entity storage definitions.
Something like:
	drupal:
		entityTypeStorageMapping:
			node: Drupal\node\NodeStorage
			taxonomy_term: Drupal\taxonomy\TermStorage
			user: Drupal\user\UserStorage


How to ignore a warning if I really need to.

there is  a violation if pep8, but I don't want to take care of it and I don't want to see the yellow dot anymore

This linter is just a dumb pipe passing data to/from the pycodestyle (formerly pep8) tool.
If you check the pycodestyle docs, you'll see that adding the comment #noqa to the end of the line ignores a specific line. You can also in the settings specify error codes to ignore globally.
If you have further questions, StackOverflow is probably a better fit for Q&A than the issue tracker... nothing wrong with asking questions, just that this issue tracker is probably better reserved for bugs & feature requests discussion.


A 404 error is returned if the file name has Chinese characters

Error occurred while migrating from hexo.
I won't write the file name with Chinese next time.

The file name will be the default url.
We always do not recommend you to use Chinese as the markdown name.
You can write the Chinese title in frontmatter of md.
---
title: 你好
---

In the future, valaxy will consider transpile Chinese names, but this will not be a priority.


Add a new building for frostwolf

https://www.hiveworkshop.com/threads/war-drummer-mammoth-mount-and-derivatives.327339/

https://www.hiveworkshop.com/threads/tauren-and-derivatives.308336/

https://www.hiveworkshop.com/threads/wolf-rider-leader-variative.334584/

https://www.hiveworkshop.com/threads/barracks-orc-alpha-and-derivatives.237578/


xpipe fails to launch when switching user

On Linux desktop (Kubuntu), installed xpipe on two workstations, both have same issue.
When logging into different user xpipe don't start up. Only works for user that was used during installation.

I think I see what goes wrong, some temporary files are not deleted / have the wrong permissions.
You should be able to fix that temporarily by cleaning /tmp or restarting. This will be fixed properly in the next release.

This is now fixed in 10.1. Note that this will only apply once the temp directory is clean, otherwise old files from the previous version might still break it


Use correct github link for amp-live-list.go file

After the server refactoring, all the .go files are now under the backend folder.

LGTM


Refactored controllers and services to use built in Slim DI container

Resolves JOINDIN-711

Can one of the admins verify this patch?

ok to test

It looks good to me, however with it being a fairly big change, @railto have you got a few minutes to give it a second set of eyes please?


How can I get attributes when using Value-Object?

Dear !
I'm trying to retrieve the attributes of my element when using Value-Object serializer.
How this can be done?
--
Example:
<competition code="XXXX">
  <yyy></yyy>
</competition>

$service = new Service();
$service->mapValueObject('{}Competition', Competition::class);
$parsedXml = $service->parse($xml)

$parsedXml->code // Undefined
$parsedXml->_code // Undefined
$parsedXml->attributes // Undefined

Thanks!

you can't.

Thank you @staabm.
This should be implemented in my opinion.

@RomainLanz I agree with you.
@evert and I already discussed this somewhere but I cannot find the issue right now.

The reason we're not doing this is that the value-object mapping depends on being able to map from xml to a PHP object and back. If attributes are in the mix, we no longer have a way to to know whether a php object property should be encoded  as an attribute, or as a sub-element.
So what would it look like if we had 'support' for this? Well, I think we would end up with the API we already have. We have support for complicated XML structures, because we provide all the functions that allow you to encode this. It's not as simple as the value-object mapping simply because we cannot predict your intention.
So we support this just fine, you just need to write your own serializer, which should be pretty easy. If it's not easy though, let me know... I'm interested in improving the api if we can find a good way to do so =)

Finally I have used SimpleXML base class to do the job.
I can easily go through my XML with class oriented syntax and retrieve attributes.

That's too bad, I think you misunderstood the earlier comments. It's entirely possible to get access to attributes, just not with the value-object mapper, which is really just intended for the simplest cases.
Anyway, glad you figured it out!

I completely understood your previous comment.

Maybe I have misused the package and I could have done my job by using it differently... the documentation didn't show me another and I didn't have the time to configure or search.
Anyway SimpleXML does perfectly the job and everything works fine now!

Fair enough! this library was probably overkill for you then anyway. It's good a good idea to go with the simplest tool first ;)


Add matt wolford

@mattrick04, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added Facebook share and tweet feature to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.

It felt pretty good.
The only problem I ran into was using git bash. I didn't know where it was putting the clone and therefore didn't know how to open the contributor's file.
I've only used git/github a couple of times, so it was a bit daunting, all the things you could do. Going through the tutorial for vs2017 was a must, and will probably be needed again a couple more times before I get the hang of it.


Process: Add master branch protection

Because we're using the github flow process (or at least, requiring pull requests so github alerts work properly) it was suggested that we add master branch protection.

@DominicGunn suggested this.  All done!  If anyone wants to change the way I did it, lemme know :)

@DominicGunn if this looks good - we'll close.

Looks good to me.