Run npm run doctor or wechaty run doctor(for docker user), paste output here
Expected behavior
Actual behavior
Steps to reproduce the behavior (and fixes, if any)
Full Output Logs
$ WECHATY_LOG=silly npm run ts-node mybot.ts

# or

$ WECHATY_LOG=silly node dist/mybot.js

Show Logs

### Paste the full output logs here with `WECHATY_LOG=silly` set
# PASTE FULL LOG OUTPUT AT HERE:

09:29:32 SILL Brolog WECHATY_LOG set level to silly
09:29:32 INFO Config registering process.on("unhandledRejection") for development/debug
09:29:35 SILL StateSwitch constructor(Wechaty, standby)
09:29:35 VERB Wechaty contructor()
09:29:35 VERB Profile constructor(null)
09:29:35 VERB Wechaty on(scan, function) registered
09:29:35 VERB Wechaty on(message, function) registered
09:29:35 SILL Wechaty version() form development environment is not availble: ENOENT: no such file or directory, stat '/Users/JSon/Projects/something/json_helper/node_modules/wechaty/dist/.git'
09:29:35 INFO Wechaty v0.10.22 initializing...
09:29:35 VERB Wechaty puppet: web
09:29:35 VERB Wechaty profile: undefined
09:29:35 VERB Wechaty uuid: ab7bce4c-f5e7-4048-acab-c2bd4984f0c8
09:29:35 SILL StateSwitch Wechaty:current() is standby
09:29:35 VERB StateSwitch Wechaty:target(ready) <- (standby)
09:29:35 VERB StateSwitch Wechaty:current(ready,false) <- (standby,true)
09:29:35 VERB Profile load() file: null
09:29:35 VERB Profile load() no file, NOOP
09:29:35 SILL StateSwitch constructor(Puppet, dead)
09:29:35 VERB Config puppetInstance(PuppetWeb)
09:29:35 VERB PuppetWeb init() with profile:null
09:29:35 VERB StateSwitch Puppet:target(live) <- (dead)
09:29:35 VERB StateSwitch Puppet:current(live,false) <- (dead,true)
09:29:35 VERB PuppetWeb initBridge()
09:29:35 SILL StateSwitch Puppet:target() is live
09:29:35 VERB PuppetWebBridge constructor()
09:29:35 VERB PuppetWebBridge init()
09:29:35 VERB PuppetWebBridge initBrowser()
09:29:35 VERB PUppetWebBridge initBrowser() version: HeadlessChrome/64.0.3240.0
09:29:35 VERB PuppetWebBridge init() initBrowser() done
09:29:35 VERB PuppetWebBridge initPage()
09:29:36 VERB Profile get(cookies)
09:29:36 VERB PuppetWebBridge cookieDomain(undefined)
09:29:36 SILL PuppetWebBridge cookieDomain() no cookie, return default https://wx.qq.com
09:29:36 VERB PuppetWebBridge initPage() before page.goto(url)
09:29:38 VERB PuppetWebBridge initPage() after page.goto(url)
09:29:38 VERB PuppetWebBridge init() initPage() done
09:29:38 VERB PuppetWebBridge readyAngular()
09:29:38 VERB PuppetWebBridge readyAngular() Promise.resolve()
09:29:38 VERB PuppetWebBridge inject()
09:29:38 SILL PuppetWebBridge inject() eval(Wechaty) return code[200] message[WechatyBro Inject Done]
09:29:38 VERB PuppetWebBridge proxyWechaty(init)
09:29:38 SILL PuppetWebEvent onLog(init() scanCode: null)
09:29:38 SILL PuppetWebEvent onLog(checkScan() - code change detected: from null to 0)
09:29:38 VERB PuppetWebEvent onScan(0)
09:29:38 SILL StateSwitch Puppet:target() is live
09:29:38 SILL PuppetWebEvent onDing(heartbeat@browser)
09:29:38 VERB Profile set(cookies, [object Object],[object Object],[object Object])
09:29:38 VERB Profile save() file: null
09:29:38 VERB Profile save() no file, NOOP

https://login.weixin.qq.com/qrcode/4d-d_27S2g==
[0] Scan QR Code in above url to login:
09:29:38 SILL PuppetWebEvent onLog(inited!.  ;-D)
09:29:56 SILL PuppetWebBridge inject() Wechaty.init() return code[200] message[WechatyBro Init Succ]
09:29:56 VERB PuppetWebBridge ding(inject() OK!)
09:29:56 VERB PuppetWebBridge proxyWechaty(ding , inject() OK!)
09:29:56 SILL PuppetWebEvent onLog(recv ding)
09:29:56 SILL PuppetWebBridge inject() ding success
09:29:56 VERB PuppetWeb initBridge() done
09:29:56 VERB PuppetWebBridge clickSwitchAccount()
09:29:56 SILL PuppetWebBridge clickSwitchAccount() button not found
09:29:56 VERB StateSwitch Puppet:current(live,true) <- (live,false)
09:29:56 VERB RxQueue constructor(type=throttle, time=300000)
09:29:56 VERB PuppetWeb init() done
09:30:11 SILL PuppetWebEvent onDing(heartbeat@browser)
09:30:22 SILL PuppetWebEvent onLog(checkScan() - code change detected: from 0 to 408)
09:30:22 VERB PuppetWebEvent onScan(408)
09:30:22 SILL StateSwitch Puppet:target() is live
09:30:22 VERB Profile set(cookies, [object Object],[object Object],[object Object])
09:30:22 VERB Profile save() file: null
09:30:22 VERB Profile save() no file, NOOP

https://login.weixin.qq.com/qrcode/YYtKaLIyzQ==
[408] Scan QR Code in above url to login:
09:30:26 SILL PuppetWebEvent onDing(heartbeat@browser)
09:30:41 SILL PuppetWebEvent onDing(heartbeat@browser)
09:30:56 SILL PuppetWebEvent onDing(heartbeat@browser)

Merge to #899


Add error on accessing state in render w/o observer

This feature should warn developers that they're using remx wrong. It should help to deal with the most popular bug when using remx: some React component is not updated because it's not an observer.
Remx will trigger console.error in DEV mode in cases like:
class extends React.Component {
  render() {
    // Oops, accessing getter is prohibited here, this component is not an observer
    return <Text>{store.getters.getSomething()}</Text>
  }
}

remx.connect(mapStateToProps)(class extends React.Component {
  render() {
    // Note that component itself is still not an observer when mapStateToProps is provided
    return <Text>{store.getters.getSomething()}</Text>
  }
})

This should resolve #29


[Outlook] (Mac) Note saveAsync fix build

Docs Build status updates of commit 3653dbf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/outlook/compare-outlook-add-in-support-in-outlook-for-mac.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Error message with Conda installation instructions

Attempted to install following the README (using mamba):
mamba create -n r2t -c bioconda python=3.10.8 read2tree

Which gives the following error message:
Encountered problems while solving:
  - nothing provides pyqt 4.* needed by ete3-3.0.0b35-py27_0

The issue is solved by including conda-forge channel.
mamba create -n r2t -c conda-forge -c bioconda python=3.10.8 read2tree

Thanks for the info.


Make a QuerySettings object in tsutils, and a method to parse settings from query string & user settings

this is done, not fully implemented everywhere, but done


MKOverlayRenderer setNeedsDisplayInMapRect:zoomScale:

Crashing frequently in 0.7.0
Thread 0 Crashed:
0   libdispatch.dylib                    0x39579af4 _os_object_retain_internal + 32
1   libdispatch.dylib                    0x3957ef8b dispatch_group_notify_f + 92
2   VectorKit                            0x367f9ee1 -[VKRasterOverlayTileSource invalidateRect:level:] + 146
3   VectorKit                            0x367fb15f -[VKRasterOverlay setNeedsDisplayInRect:level:] + 132
4   MapKit                               0x2fb11403 -[MKOverlayRenderer setNeedsDisplayInMapRect:zoomScale:] + 88
5   Navigator2                           0x0037192f __50-[MBXRasterTileRenderer canDrawMapRect:zoomScale:]_block_invoke (MBXRasterTileRenderer.m:236)
6   Navigator2                           0x0036dffb __46-[MBXRasterTileOverlay loadTileAtPath:result:]_block_invoke (MBXRasterTileOverlay.m:323)
7   Navigator2                           0x0036f87f __67-[MBXRasterTileOverlay asyncLoadURL:workerBlock:completionHandler:]_block_invoke (MBXRasterTileOverlay.m:673)
8   Foundation                           0x2f30dde9 __67+[NSURLConnection sendAsynchronousRequest:queue:completionHandler:]_block_invoke_2 + 106
9   Foundation                           0x2f23c64f -[NSBlockOperation main] + 128
10  Foundation                           0x2f22c875 -[__NSOperationInternal _start:] + 770
11  Foundation                           0x2f2d0745 __NSOQSchedule_f + 58
12  libdispatch.dylib                    0x39578d3f _dispatch_client_callout + 20
13  libdispatch.dylib                    0x3957b6c3 _dispatch_main_queue_callback_4CF + 276
14  CoreFoundation                       0x2e8c3681 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 6
15  CoreFoundation                       0x2e8c1f4d __CFRunLoopRun + 1306
16  CoreFoundation                       0x2e82c769 CFRunLoopRunSpecific + 522
17  CoreFoundation                       0x2e82c54b CFRunLoopRunInMode + 104
18  GraphicsServices                     0x337996d3 GSEventRunModal + 136
19  UIKit                                0x3118b891 UIApplicationMain + 1134
20  Navigator2                           0x000cf453 main (main.m:6)
21  libdyld.dylib                        0x3958dab7 start + 0

Hi @sunilvignesh,
I think it may be difficult for anyone to respond to this unless you can provide more details about what you were trying to do, what happened, and how that differed from what you were expecting to happen. Sample code from the view controller where you set up your map might be helpful.

Hmm... actually, @incanus, what about MBXRasterTileOverlayRenderer on threads 4 and 5?

@sunilvignesh Can you give any more info, like mapID, location, and gestures/API used when you see this? MKOverlayRenderer.setNeedsDisplayInMapRect:zoomScale: doesn't list any restrictions around what threads it can be called from, and further, your crashed Thread 0 here is the main thread, so I'm not sure what else we could be doing differently.
FWIW, though, I did encounter three other MapKit bugs when working on this feature...

@wsnook @incanus Sorry for being less verbose. I'm not able to reproduce this effectively. Based on issues reported it usually happens when tile is loading and you move out the view on slow networks. We have subclassed mapview which is a tile overlay delegate of itself. We've have long press gesture on the map and crashes happens on diffferent map ids. All updates are done on main thread.

We have subclassed mapview which is a tile overlay delegate of itself.

@sunilvignesh Well, one possibility is that your problem is the result of subclassing MKMapView. In Apple's MKMapView documentation, in the class description at the top of the page (click the "More..." link), it says they don't want you to do that:

Although you should not subclass the MKMapView class itself, you can get information about the map view’s behavior by providing a delegate object.

I encountered this crash too. It happens quite a lot in fact. Usually just after the mapView instantiation. I don't have any special subclass or complicated implementation.


problems about single tag

Dear jhy, I have a doubt about single tag issues:
for example, a html like this

I want to print all tag names:
public static void main(String[] args) throws Exception{
File input=new File("C:/test.html");
Document doc=Jsoup.parse(input,"gb2312");
Elements eles=doc.getAllElements();
for(Element ele:eles){
System.out.println(ele.tagName()+"	"+ele.ownText());
}
}
the result will be: (and it is right)
#root
html
head
body
ul
li
a
i
p
but if I only delete  in the html page, i.e.
and the result will be
#root
html
head
body
ul
li
a
i
i
p
i
why three " i " in the result..
Thank you..

That's because in the HTML spec, the formatting tags are re-applied to following tags if they're not closed . They are auto-created on other character elements as if it was higher in the tree.


FeatureModifiedException occurring often with multi-module project

Using https://github.ibm.com/was-svt/acme-ee
Most attempts to generate features result in two calls to the binary scanner and a FeatureModifiedException.
This especially does not make sense for the initial call to the binary scanner as there are no current features passed to the binary scanner. And on calls made afterwards, the current features were all determined by binary scanner from the initial call.
Below is some debug output from running mvn liberty:dev (including changes from https://github.com/OpenLiberty/ci.common/pull/361 - also confirmed this error occurs without these changes)
Initial generate features on startup
[DEBUG] Calling binary-app-scanner-<IP_ADDRESS>-SNAPSHOT.jar with the following inputs...
  binaryInputs: [C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m2\target\classes, C:\Projects\acme-ee-main\AcmeCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m1\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs20\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityPojoWSes\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityWeb\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS_CDI\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3MDB\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3\target\classes]
  targetJavaEE: ee7
  targetMicroP: null
  currentFeatures: []
  logLocation: C:\Projects\acme-ee-main\AcmeWebEjbEar\target
  logLevel: *=FINE
  locale: en_CA
[DEBUG] Recalling binary scanner with the following inputs...
  binaryInputs: [C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m2\target\classes, C:\Projects\acme-ee-main\AcmeCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m1\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs20\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityPojoWSes\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityWeb\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS_CDI\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3MDB\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3\target\classes]
  targetJavaEE: ee7
  targetMicroP: null
  currentFeatures: []
  logLocation: C:\Projects\acme-ee-main\AcmeWebEjbEar\target
  logLevel: *=FINE
  locale: en_CA
[DEBUG] FeatureModifiedException, modifiedSet containsAll userFeatures, pass modifiedSet on to generateFeatures
[DEBUG] User defined features:[]
[DEBUG] Features detected by binary scanner which are not in server.xml[ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
...
...
...
[DEBUG] Created file C:\Projects\acme-ee-main\AcmeWebEjbEar\src\main\liberty\config\configDropins\overrides\generated-features.xml
[INFO] Generated the following features: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]

Generate features after change to acme-ee-main\AcmeCommon\src\main\java\com\ibm\wssvt\acme\common\bean\StringConfigrable.java
FeatureModifiedException did not occur in this instance
[DEBUG] Calling binary-app-scanner-<IP_ADDRESS>-SNAPSHOT.jar with the following inputs...
  binaryInputs: [C:\Projects\acme-ee-main\AcmeCommon\target\classes]
  targetJavaEE: ee7
  targetMicroP: null
  currentFeatures: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
  logLocation: C:\Projects\acme-ee-main\AcmeWebEjbEar\target
  logLevel: *=FINE
  locale: en_CA
...
...
...
[DEBUG] Parsing the server file for features and includes: config\server.xml
[DEBUG] User defined features:null
[DEBUG] Features detected by binary scanner which are not in server.xml[ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
[DEBUG] Xml document we'll try to update after generate features doc=io.openliberty.tools.common.plugins.config.ServerConfigXmlDocument@63e7de46 file=C:\Projects\acme-ee-main\AcmeWebEjbEar\src\main\liberty\config\server.xml
...
...
...
[DEBUG] Created file C:\Projects\acme-ee-main\AcmeWebEjbEar\src\main\liberty\config\configDropins\overrides\generated-features.xml
[INFO] Generated the following features: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]

Generate features after change to acme-ee-main\AcmeAnnuityJAXRSCommon\src\main\java\com\ibm\wssvt\acme\annuity\common\business\jaxrs\MyJAXBResolver.java
[DEBUG] Calling binary-app-scanner-<IP_ADDRESS>-SNAPSHOT.jar with the following inputs...
  binaryInputs: [C:\Projects\acme-ee-main\AcmeAnnuityJAXRSCommon\target\classes]
  targetJavaEE: ee7
  targetMicroP: null
  currentFeatures: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
  logLocation: C:\Projects\acme-ee-main\AcmeWebEjbEar\target
  logLevel: *=FINE
  locale: en_CA
[DEBUG] Recalling binary scanner with the following inputs...
  binaryInputs: [C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m2\target\classes, C:\Projects\acme-ee-main\AcmeCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m1\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs20\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityPojoWSes\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityWeb\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS_CDI\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3MDB\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3\target\classes]
  targetJavaEE: ee7
  targetMicroP: null
  currentFeatures: []
  logLocation: C:\Projects\acme-ee-main\AcmeWebEjbEar\target
  logLevel: *=FINE
  locale: en_CA
[DEBUG] Parsing the server file for features and includes: config\server.xml
[DEBUG] FeatureModifiedException, modifiedSet containsAll userFeatures, pass modifiedSet on to generateFeatures
[DEBUG] Parsing the server file for features and includes: config\server.xml
[DEBUG] User defined features:null
[DEBUG] Features detected by binary scanner which are not in server.xml[ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
[DEBUG] Xml document we'll try to update after generate features doc=io.openliberty.tools.common.plugins.config.ServerConfigXmlDocument@617cafc6 file=C:\Projects\acme-ee-main\AcmeWebEjbEar\src\main\liberty\config\server.xml
...
...
...
[DEBUG] Created file C:\Projects\acme-ee-main\AcmeWebEjbEar\src\main\liberty\config\configDropins\overrides\generated-features.xml
[INFO] Generated the following features: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]

Generate features after change to acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs20\src\main\java\com\ibm\wssvt\acme\annuity\business\impl\jaxrs\AnnuityMgmtSvcJAXRS.java
[DEBUG] Calling binary-app-scanner-<IP_ADDRESS>-SNAPSHOT.jar with the following inputs...
  binaryInputs: [C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs20\target\classes]
  targetJavaEE: ee7
  targetMicroP: null
  currentFeatures: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
  logLocation: C:\Projects\acme-ee-main\AcmeWebEjbEar\target
  logLevel: *=FINE
  locale: en_CA
[DEBUG] Recalling binary scanner with the following inputs...
  binaryInputs: [C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m2\target\classes, C:\Projects\acme-ee-main\AcmeCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs11_m1\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSWSes_jaxrs20\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityJAXRSCommon\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityPojoWSes\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityWeb\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3JAXWS_CDI\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3MDB\target\classes, C:\Projects\acme-ee-main\AcmeAnnuityEJB3\target\classes]
  targetJavaEE: ee7
  targetMicroP: null
  currentFeatures: []
  logLocation: C:\Projects\acme-ee-main\AcmeWebEjbEar\target
  logLevel: *=FINE
  locale: en_CA
[DEBUG] Parsing the server file for features and includes: config\server.xml
[DEBUG] FeatureModifiedException, modifiedSet containsAll userFeatures, pass modifiedSet on to generateFeatures
[DEBUG] Parsing the server file for features and includes: config\server.xml
[DEBUG] User defined features:null
[DEBUG] Features detected by binary scanner which are not in server.xml[ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
[DEBUG] Xml document we'll try to update after generate features doc=io.openliberty.tools.common.plugins.config.ServerConfigXmlDocument@ba05f301 file=C:\Projects\acme-ee-main\AcmeWebEjbEar\src\main\liberty\config\server.xml
...
...
...
[DEBUG] Created file C:\Projects\acme-ee-main\AcmeWebEjbEar\src\main\liberty\config\configDropins\overrides\generated-features.xml
[INFO] Generated the following features: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]

Full debug output: debugOutput.txt

After further investigation, we do not need to call the binary scanner twice in the cases where we are already optimizing and we are not passing any user specified features. This is covered with https://github.com/OpenLiberty/ci.common/pull/362.
Then the binary scanner is returning a FeatureModifiedException because the app is using conflicting features:
FeatureModifiedException: com.ibm.websphere.binary.cmdline.exceptions.RequiredFeatureModifiedException: CWMIG12127W: The jpa-2.0 features are required by the application but conflicts with other features. The features were replaced with a different version to create a valid feature list. The application might need updates to run with the generated feature list.

Modified list returned from the binary scanner: [ejbLite-3.2, servlet-3.1, beanValidation-1.1, jndi-1.0, jaxws-2.2, jms-2.0, samlWeb-2.0, appSecurity-2.0, jaxrs-2.0, socialLogin-1.0, ejbRemote-3.2, jaxb-2.2, openidConnectServer-1.0, mdb-3.2, cdi-1.2, jpa-2.1]
Then, should we be still generating the feature list (using the modified list returned from the binary scanner) and displaying a warning to users that we detected jpa-2.0 in their application but had to modify it to jpa-2.1. Or should we be displaying an error with the above message?
The current behaviour is to generate the modified feature list and no warning or error is displayed to users.

Let's go with generating the modified feature list and displaying the warning. This is the case where user specified features have not been modified.


Error on using postcss

Environment
System:
OS: Windows 10 10.0.19044
CPU: (8) x64 Intel(R) Core(TM) i5-10300H CPU @ 2.50GHz
Memory: 690.30 MB / 15.78 GB
Binaries:
Node: 16.15.1 - C:\Program Files\nodejs\node.EXE
Yarn: 1.23.0-20220130.1630 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.11.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Spartan (44.19041.1266.0), Chromium (108.0.1462.76)
Internet Explorer: 11.0.19041.1566
Reproduction

Describe the bug
This bug happened in the first installation of "nuxt": "^2.15.8" project, also in my old projects after reinstalling the packages.
I tried several different ways such as upgrading nuxt to v2.16.0 or upgrading PostCSS to v8 and tried different configuration docs of postCss plugins, but it's still the same Error.
Additional context
No response
Logs
ValidationError: Invalid options object. PostCSS Loader has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'plugins'. These properties are valid:
   object { postcssOptions?, execute?, sourceMap?, implementation? }

please use schema in nuxt.config:
      postcssOptions: {
        plugins

Running into the same error, with the following (I assume correct) build property in my nuxt.config.ts
build: {
    postcss: {
      postcssOptions: {
        plugins: {
          'postcss-import': {},
          'postcss-each': {
            plugins: {
              beforeEach: [require('@tailwindcss/nesting')],
            },
          },
          tailwindcss: tailwindConfig,
          'postcss-custom-media': {},
          autoprefixer: {},
        },
      },
    },

    // @ts-ignore
    transpile: [
      '@thenightleague/shared',
      'tailwindcss/plugin',
      'lodash-es',
      'blaze-slider',
      'vee-validate/dist/rules',
    ],
  },

When upgrading to v2.16, you might have to "manually" upgrade postcss to version 8.

When upgrading to v2.16, you might have to "manually" upgrade postcss to version 8.

No I mean v2.16.0

When upgrading to v2.16, you might have to "manually" upgrade postcss to version 8.

I've tried with following configs
   "dependencies": {
    	"nuxt": "2.16.0",
	},
    "devDependencies": {
   		"postcss": "^8.4.5"
	}

config:
  build: {
    postcss: {
      postcssOptions: {
        plugins: {
          autoprefixer: {},
          'postcss-import': {}
        }
      }
    }
  }

@vahid-bagh3ri can you share your package.json as well as your nuxt.config.js files here?

@robinscholz
Yes For Sure but I removed unnecessary lines
Package.json:

Details
  "name": "untitle",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "nuxt start",
    "generate": "nuxt generate",
    "lint:js": "eslint --ext \".js,.vue\" --ignore-path .gitignore .",
    "lint:prettier": "prettier --check .",
    "lint": "yarn lint:js && yarn lint:prettier",
    "lintfix": "prettier --write --list-different . && yarn lint:js --fix"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.113.0",
    "@aws-sdk/lib-storage": "^3.113.0",
    "@nuxt/content": "^1.15.1",
    "@nuxtjs/axios": "^5.13.6",
    "@nuxtjs/composition-api": "^0.33.0",
    "@nuxtjs/i18n": "^7.2.0",
    "@nuxtjs/proxy": "^2.1.0",
    "@nuxtjs/pwa": "^3.3.5",
    "@tailwindcss/line-clamp": "^0.4.0",
    "@vueuse/components": "^9.2.0",
    "@vueuse/integrations": "^9.2.0",
    "aws-s3": "^2.0.5",
    "cookie-universal-nuxt": "^2.1.5",
    "core-js": "^3.23.1",
    "fuse.js": "^6.6.1",
    "gsap": "^3.10.4",
    "nuxt": "2.16.0",
    "qs": "^6.10.5",
    "ua-parser-js": "^1.0.2",
    "vee-validate": "^3.4.14",
    "vue": "^2.7.7",
    "vue-demi": "^0.13.1",
    "vue-server-renderer": "^2.7.7",
    "vue-template-compiler": "^2.7.7",
    "vuetify": "^2.6.1",
    "vuex": "3.6.2",
    "webpack": "^4.46.0"
  },
  "devDependencies": {
    "@babel/eslint-parser": "^7.16.3",
    "@mdi/js": "^6.5.95",
    "@nuxt/kit": "3.0.0-rc.13",
    "@nuxtjs/eslint-config": "^8.0.0",
    "@nuxtjs/eslint-module": "^3.0.2",
    "@nuxtjs/svg": "^0.4.0",
    "@nuxtjs/tailwindcss": "^5.0.0-4",
    "@nuxtjs/vuetify": "^1.12.3",
    "@vueuse/core": "^9.2.0",
    "@vueuse/nuxt": "^9.2.0",
    "autoprefixer": "^10.4.2",
    "eslint": "^8.4.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-nuxt": "^3.1.0",
    "eslint-plugin-vue": "^8.2.0",
    "postcss": "^8.4.5",
    "prettier": "^2.5.1"
  },
  "resolutions": {
    "@nuxt/kit": "3.0.0-rc.13"
  }
}

Nuxt.config.js:

Details
import fa from './locale/i18n/fa.js'

export default {
  // Global CSS: https://go.nuxtjs.dev/config-css
  css<EMAIL_ADDRESS><EMAIL_ADDRESS>  devServerHandlers: [],

// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
  buildModules: [
    // https://go.nuxtjs.dev/eslint
    '@nuxtjs/eslint-module',
    // https://github.com/nuxt-community/tailwindcss-module
    '@nuxtjs/tailwindcss',
    // https://github.com/nuxt-community/composition-api
    '@nuxtjs/composition-api/module',
  ],

  tailwindcss: {
    cssPath: '~/assets/css/tailwind.css',
    configPath: 'tailwind.config.js',
    exposeConfig: false,
    config: {},
    injectPosition: 0,
    viewer: true
  },

  // Build Configuration: https://go.nuxtjs.dev/config-build
  build: {
    postcss: {
      postcssOptions: {
        plugins: {
          autoprefixer: {},
          'postcss-import': {}
        }
      }
    },
    terser: {
      terserOptions: {
        compress: {
          drop_console: true
        }
      }
    },
    extend(config, { isDev, isClient }) {
      config.node = {
        fs: 'empty'
      }

      // ....
    }
  },
}

I suspect this is caused by the version of @nuxtjs/tailwindcss you are using. It likely is setting a property directly on build.postcss.plugins. Would you try entirely removing your plugins object in your nuxt.config, or moving it outside postcssOptions to see if that makes a difference?

I suspect this is caused by the version of @nuxtjs/tailwindcss you are using. It likely is setting a property directly on build.postcss.plugins. Would you try entirely removing your plugins object in your nuxt.config, or moving it outside postcssOptions to see if that makes a difference?

@danielroe
    postcss: {
      plugins: {
        autoprefixer: {},
        'postcss-import': {}
      }
    }

If you mean this, it doesn't make any difference.

@danielroe
I got the same result by installing  "@nuxtjs/tailwindcss": "6.1.3"

It might not be that module then. Would you provide a reproduction? 🙏

resolved in https://github.com/nuxt/nuxt/pull/18839

Sorry for late @danielroe
Reproduction:
https://stackblitz.com/edit/nuxt-starter-vsudyh


libtiff underlinking in 3.0x.y

Hello,
Tesseract-3.04.01 (and having briefly glanced at the code, likely so does 3.05.00) does not explicitly link libtesseract against libtiff even when the former references symbols from the latter. This results in the following error when one attempts to build tesseract using a linker that dislikes implicit linking, e.g. gold:
/bin/sh ../libtool  --tag=CXX   --mode=link x86_64-pc-linux-gnu-g++  -O2 -pipe -march=native -std=c++11 -lOpenCL -Wl,-O1 -Wl,--as-needed -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -O2 -pipe -march=native -o tesseract tesseract-tesseractmain.o libtesseract.la   -lrt -llept -lpthread
libtool: link: x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -std=c++11 -Wl,-O1 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -O2 -pipe -march=native -o .libs/tesseract tesseract-tesseractmain.o  -lOpenCL -Wl,--as-needed ./.libs/libtesseract.so -lrt -llept -lpthread
./.libs/libtesseract.so: error: undefined reference to 'TIFFFdOpen'
./.libs/libtesseract.so: error: undefined reference to 'TIFFGetFieldDefaulted'
./.libs/libtesseract.so: error: undefined reference to 'TIFFGetField'
./.libs/libtesseract.so: error: undefined reference to 'TIFFScanlineSize'
./.libs/libtesseract.so: error: undefined reference to 'TIFFReadRGBAImageOriented'
./.libs/libtesseract.so: error: undefined reference to 'TIFFReadScanline'
./.libs/libtesseract.so: error: undefined reference to 'TIFFClientOpen'
./.libs/libtesseract.so: error: undefined reference to 'TIFFReadDirectory'
./.libs/libtesseract.so: error: undefined reference to 'TIFFCleanup'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:591: tesseract] Error 1
make[2]: Leaving directory '/tmp/tesseract-3.04.01/api'
make[1]: *** [Makefile:480: all-recursive] Error 1
make[1]: Leaving directory '/tmp/tesseract-3.04.01'
make: *** [Makefile:389: all] Error 2
Manually adding -ltiff to the list of libraries in api/Makefile allows tesseract to build successfully, then again it is not a proper solution because e.g. the pkg-config file it installs still doesn't list that library.

Can you be more specific on how to manually add -ltiff to api/Makefile?  I'm running MacOS Sierra 10.12.3 and getting an error about linking the ltiff when compiling the 4.0 alpha version.
libtool: link: g++ -g -O2 -std=c++11 -o .libs/tesseract tesseract-tesseractmain.o -Wl,-bind_at_load  -L/usr/local/Cellar/icu4c/56.1/lib ./.libs/libtesseract.dylib -L/usr/local/Cellar/leptonica/1.74.1/lib -llept -ltiff
ld: library not found for -ltiff
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [tesseract] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

You may need to install libtiff. try the following (or equivalent command
for your os) before building tesseract
sudo apt-get install libtiff5-dev
ShreeDevi

भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com
On Tue, Feb 28, 2017 at 11:19 AM, idiosyncraticee<EMAIL_ADDRESS>wrote:

Can you be more specific on how to manually add -ltiff to api/Makefile?
I'm running MacOS Sierra 10.12.3 and getting an error about linking the
ltiff when compiling the 4.0 alpha version.
libtool: link: g++ -g -O2 -std=c++11 -o .libs/tesseract
tesseract-tesseractmain.o -Wl,-bind_at_load -L/usr/local/Cellar/icu4c/56.1/lib
./.libs/libtesseract.dylib -L/usr/local/Cellar/leptonica/1.74.1/lib
-llept -ltiff
ld: library not found for -ltiff
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: *** [tesseract] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/739#issuecomment-282948903,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_o2DBBGFvNuj0aVuQ62S8d6A51beiks5rg7VtgaJpZM4MNnC7
.

Thank you so much Shreeshrii!  That tip got me pointed in the right direction.  For anybody else that stumbles up this here is the config command that worked.  The second library path contains the libtiff libraries.
./configure CC=gcc CXX=g++ CPPFLAGS=-I/usr/local/Cellar/icu4c/56.1/include LDFLAGS="-L/usr/local/Cellar/icu4c/56.1/lib -L/usr/local/lib"

@idiosyncraticee  Glad you have solved your problem but for the record, that was completely unrelated to the issue at hand. Indeed, the command-line snippet you have posted suggests that libtiff underlinking has been fixed in the 4.0 branch - one can clearly see -ltiff there.

Tesseract does not reference any libtiff symbols. I don't understand this at all.
$ find  | xargs grep TiffFdOpen

Tesseract does not reference any libtiff symbols

You might want to read opencl/openclwrapper.cpp ...

Thanks @amitdo, I stand corrected. All that code is currently unused but you are correct, it is right there.

https://github.com/tesseract-ocr/tesseract/commit/9ec0c4fa9c983
This one was not backported to 3.05.

Per an issue I reported downstream to maintainers of the macOS Homebrew package manager's Core tap (and as specifically pointed out by this comment on it,) this issue also occurs under OS X/macOS 'El Capitan' v10.11.6.  As Homebrew's maintainers prefer to use only patches available upstream, can the priority of this issue's resolution be bumped up just a tad, please?

9ec0c4f

This one was not backported to 3.05.

All that code is currently unused but you are correct, it is right there.

@egorpugin @zdenop  Should it be added to the 3.05 for the timebeing i.e. till opencl is looked at.

@jbreiden

I stand corrected. All that code is currently unused but you are correct, it is right there.

Not exactly...
https://github.com/tesseract-ocr/tesseract/blob/40dc28026b61/api/baseapi.cpp#L1038
#ifdef USE_OPENCL
    if ( od.selectedDeviceIsOpenCL() ) {
      pix = (data) ?
          od.pixReadMemTiffCl(data, size, page) :
          od.pixReadTiffCl(filename, page);
    } else {

This issue is about 3.05. Should we remove the calls to these two functions in 3.05 as you have done in 4.00?

In general I think we may push needed changes to 3.05 branch and tag patch releases (3.05.01, 3.05.02, ...).

Looks like @zdenop is busy. Is he the only one who can push these changes and tag patch releases?

PR is welcomed.
BTW: At this stage of support of OpenCL I suggest to remove OpenCL from 3.05 and 4.0x

@mkszuba, @idiosyncraticee, @Shreeshrii, @jbreiden, @amitdo, @egorpugin, @zdenop:  If you don't mind my trying my hand at resolving this issue, what's the local procedure for submitting backport PRs, at least with respect to the Git/GitHub workflow?

BTW: At this stage of support of OpenCL I suggest to remove OpenCL from 3.05 and 4.0x

OpenCL worked for me (after I had spent some time on it and contributed several pull requests) at least until end of last year, both with 3.05 and with 4.0x. Depending on the graphic card, it can be a great gain. That is relevant for some OCR projects which would take years on a single CPU.
A test which I just have done with latest Tesseract code was not successful, but I estimate that it can be fixed again.

@mkszuba, @idiosyncraticee, @Shreeshrii, @jbreiden, @amitdo, @egorpugin, and/or @zdenop:

@mkszuba, @idiosyncraticee, @Shreeshrii, @jbreiden, @amitdo, @egorpugin, and/or @zdenop:  If you don't mind my trying my hand at resolving this issue, what's the local procedure for submitting backport PRs, at least with respect to the Git/GitHub workflow?  Do I just have to mention the commit from which the new one backports changes, or will I have to do something more complicated (like, say, use git cherry-pick or something…?)

…or would one of you guys rather handle this yourselves since you're more familiar with the codebase than I am?  Like I hinted at earlier in this thread, I'm just bumbling around trying to fix an issue downstream in Homebrew's Core tap that I referenced back then.

@RandomDSdevel, I don't think that you need this fix to get 3.05 running with Homebrew. The error message caused by the missing libtoolize on macOS is confusing, but it's only a cosmetic problem. And if you don't use OpenCL (--enable-opencl), building Tesseract should work. There are good reasons why OpenCL is disabled by default.

@stweil:  I already got the libtoolize issue fixed here upstream in #750, but that has turned out to be completely orthogonal to this one and is also just coincidentally waiting for said fix to be backported (from master, in its case.)  As for OpenCL, that's actually what I've been wanting to get working all along!  I believe my rationale for efforts in this space agrees, at least at some level, with the sentiment you expressed earlier:

Depending on the graphic card, it [(OpenCL)] can be a great gain. That is relevant for some OCR projects which would take years on a single CPU.

As such, I'll be ready to propagate the backport of 9ec0c4f from 4.0.x to 3.0.5 postulated earlier as the only change needed to resolve this issue here upstream to Homebrew as a downstream mirror of an official upstream patch if a new version of Tesseract is not tagged.  If a new version of Tesseract is tagged, then I would be perfectly happy with propagating that downstream to Homebrew instead of the patches containing the resolutions for this issue and, simultaneously but, again, orthogonally, #750.  Either way, all I currently wish to do is get Tesseract to build with --enable-opencl set by Homebrew (via the --with-opencl option to its build formula for Tesseract) independent of any further reworking of Tesseract's OpenCL support, such as that suggested by this comment, that is undertaken in the future.  The intermediate resolution of #750 was, for me, just a nice little side bonus in the meantime.

In case of OpenCL, "-ltiff" is added automatically by configure. So there is no need to add linking to libtiff because of OpenCL (if yes then there is other problem that should be fixed!)
I just checked compilation of 3.05 on openSUSE linux and it works without problem/modification. Linking to libtiff is done "automatically" (based on leptonica?):

libtool: link: ranlib .libs/libtesseract_api.a
libtool: link: ( cd ".libs" && rm -f "libtesseract_api.la" && ln -s "../libtesseract_api.la" "libtesseract_api.la" )
/bin/sh ../libtool  --tag=CXX   --mode=link g++  -g -O2 -std=c++11 -version-info 3:5 -no-undefined   -o libtesseract.la -rpath /usr/lib64  libtesseract_api.la ../ccmain/libtesseract_main.la ../textord/libtesseract_textord.la ../wordrec/libtesseract_wordrec.la ../classify/libtesseract_classify.la ../dict/libtesseract_dict.la ../ccstruct/libtesseract_ccstruct.la ../cutil/libtesseract_cutil.la ../viewer/libtesseract_viewer.la ../ccutil/libtesseract_ccutil.la ../opencl/libtesseract_opencl.la ../cube/libtesseract_cube.la ../neural_networks/runtime/libtesseract_neural.la -llept -lpthread
libtool: link: g++  -fPIC -DPIC -shared -nostdlib /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.8/crtbeginS.o  -Wl,--whole-archive ./.libs/libtesseract_api.a ../ccmain/.libs/libtesseract_main.a ../textord/.libs/libtesseract_textord.a ../wordrec/.libs/libtesseract_wordrec.a ../classify/.libs/libtesseract_classify.a ../dict/.libs/libtesseract_dict.a ../ccstruct/.libs/libtesseract_ccstruct.a ../cutil/.libs/libtesseract_cutil.a ../viewer/.libs/libtesseract_viewer.a ../ccutil/.libs/libtesseract_ccutil.a ../opencl/.libs/libtesseract_opencl.a ../cube/.libs/libtesseract_cube.a ../neural_networks/runtime/.libs/libtesseract_neural.a -Wl,--no-whole-archive  -Wl,-rpath -Wl,/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 /usr/lib64/liblept.so -lz -lpng -ljpeg -lgif -ltiff -lwebp -lopenjp2 -lpthread -L/usr/lib64/gcc/x86_64-suse-linux/4.8 -L/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.8/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib64/gcc/x86_64-suse-linux/4.8/crtendS.o /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/crtn.o  -O2   -Wl,-soname -Wl,libtesseract.so.3 -o .libs/libtesseract.so.3.0.5

So I guess there should be some other problem...

@mkszuba: Did you compile leptonica with libtiff support?

@zdenop Turns out my glance at the code was not accurate and the problem has indeed been 3.05.00. My bad, sorry,

@mkszuba:  Did the fix involve linking Tesseract with a copy of Leptonica linked with libtiff?

OK, so I communicated with @mkszuba via private e-mail to see if he would be willing to answer my previous comment, but he's looked at my downstream issue, and he has the impression that it's different enough from his that I should probably open a new one here upstream, so I think I'm going to do that if troubleshooting Homebrew/homebrew-core#10380 by trying to build Tesseract under Homebrew fails again (I suspect it will if the problem I'm having is distinct from the one addressed by this issue's preemptive resolution, but maybe I'll get lucky…)

Aaaaannnd…the build failed again, so the issue is as reproducible on my machine under Homebrew as I thought.  I'd better fork my issue off into a new one and stop derailing this one, then, because I'm starting to believe @mkszuba that it's not the same…

Per the GitHub issue mention notification above, I've now opened #786 to pursue Homebrew/homebrew-core#10380 further here upstream.


make into a web extension

thanks to the prompting of @birtles, we can make this extension more accessible for non chrome users: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension
free for anyone to pick up e.g. @dance2die if you wish

I haven't been using FireFox but sounds like a fun project.
Let me know if I can start as late as this Saturday.

Currently working on this.
The pop.html is not updating. that is where i am at now

yeah making the extensions work is hard. its an event system, make sure you are console.logging every step to understand how the messages are passed

I have been able to make it work on firefox, the problem I was having was passing the location variable from the content script to the popup.js, I was able to work around it by sending the variable to the background script first then to the popup.js.

Should I create a new repository for the firefox extension or just make a PR

make a PR! :) thank you for working on it!


Output rotation

I was looking into output rotation, but due to how trivial it is to implement with OpenGL, I don't really think there is a lot of value wlroots could add by "supporting" this directly; the library user can do it themselves.
Maybe there is a flag somewhere that we needs to be set, just so we know that an output is rotated, but until I know that we actually need that, I won't bother adding it.
On that note, I wrote another example program which supports output rotation, and is configurable with its command line options. It also renders something different, so that you can actually tell if the rotation is working.

Some of this code needs to be moved into wlr but I'm not sure exactly how much or how it should be done. Will be tinkering with this branch before merging.

TODO:

[ ] Configure GL so that output coordinates are [<0,0>,<width,height>)
[ ] Move shaders into separate files and use CMake to embed them in the executable
[ ] Try to handle transform in the DRM code before it reaches the compositor code

53dd622 looks much better, thanks!

Currently working on a module for matrix operations, will be using it to make quad rendering more cool.

Alright, I've made all of the changes I'd like to make, but I'm still not 100% happy with it (and some cleanup is necessary). I'm going to work on cleanup and stew on this for a bit, then get it merged probably later today.

The main goals of the rendering subsystem are to:

Individual wl_surfaces could have different renderers if we wanted them to for whatever reason
Eliminate or reduce use of GL calls in compositors
Not necessarily tied to Wayland surfaces, just a simple abstraction over GLES

As I worked on it, I was split between making this follow the same interface pattern in use everywhere else and making this a special thing. Clearly the interface pattern is the right choice, so I will also be refactoring this a bit towards that goal.

Sorry for hijacking your PR with a lot of unrelated work, I just didn't want to merge more sophisticated GL code without making a proper subsystem for it :)


Pr 119

This is from #119. I don't know how I broke that PR.

I think this can be closed now, as #129 has been merged

I'm going to close this as per @cousinitt and @guygastineau's suggestion.


Update Getting Started + README

[x] Getting Started: Basic API
[x] Getting Started: Low-level API
[x] README

Codecov Report

Merging #152 (e2ba648) into master (a8b917b) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #152      +/-   ##
==========================================
- Coverage   84.84%   84.82%   -0.03%
==========================================
  Files         131      131
  Lines        6796     6793       -3
==========================================
- Hits         5766     5762       -4
- Misses       1030     1031       +1

Impacted Files
Coverage Δ

elegy/model/model_base.py
83.47% <ø> (-0.95%)
:arrow_down:

elegy/model/model_core.py
85.00% <ø> (-0.72%)
:arrow_down:

elegy/generalized_module/elegy_module_test.py
100.00% <100.00%> (ø)

elegy/generalized_module/haiku_module_test.py
100.00% <100.00%> (ø)

elegy/generalized_module/linen_module_test.py
100.00% <100.00%> (ø)

elegy/model/model.py
96.47% <100.00%> (+0.01%)
:arrow_up:

elegy/module.py
95.32% <100.00%> (ø)

elegy/module_test.py
99.25% <100.00%> (+<0.01%)
:arrow_up:

elegy/nets/resnet_test.py
100.00% <100.00%> (ø)

elegy/generalized_module/generalized_module.py
66.15% <0.00%> (-1.54%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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


MissingKeyMapError

Hello,
I have just downloaded your examples.
When I try to run
examples/panel.html
I get the following error : Google Maps API error: MissingKeyMapError
I tried to change the key in some of the javascript file but did not solve the error.

Any resolution here?

This project is in an unmaintained state. I suggest you look at our Google Maps APIs Solutions for currently maintained store locator solutions.


download MCR 7.16 for Mlife

Dear developer,
I want to use the tool called 'MLife', but it is necessary to have MCR with version 7.16 for running without matlab. How can I get the MCR with version 7.16, because I did not find it on the matlab website.
Best Regards,

Dear @1Naruto1,
You can find the MCRInstaller that we previously supplied with the old archives of MCrunch, MLife, and MExtremes on my Google drive: https://drive.google.com/file/d/1PFvU27PxAsJ_IsgxWUHo1elCkfvNUwTq/view?usp=share_link.  I would also suggest reviewing the following topics on our forum:
https://forums.nrel.gov/t/mcrunch-compiled-version/2401
https://forums.nrel.gov/t/mcr-7-16-for-64bit-windows/2595
Best regards,

Dear @jjonkman,
Thanks for your kindness. :)


Should we be proactive about switching our chat to Gitter?

The problem is Slack doesn't have the "public link to join channel as guest" functionality that Hipchat had.
I think we are pretty happy in Coshx Slack at the moment, but it's not as transparent and open as our old Hipchat room used to be.
The logical solution is destroying our Slack channel and moving Rails School chat to https://gitter.im/rails-school/chat , which is completely public with zero friction to join. I only have a small amount of experience with Gitter, but it seems quite ideal for our use case. The downside is that rather than always having the channel open, as we do in Slack, many of us would probably depend on Gitter's email notifications to be summoned to a conversation.
We can totally wait and see on this issue. I am on the fence personally.
I would however like to update https://github.com/rails-school/school/blob/master/STARTING_A_LOCAL_SCHOOL.md#getting-help either pointing to Gitter or giving instructions how to request a Slack invite.
/cc @rails-school/owners

Moving to Gitter sounds start. Unless we can make our Slack room public - not sure about it.
Also you have a desktop application for Gitter.

Maybe we should try this first: https://wiredcraft.com/blog/using-slack-as-a-public-chat/

I don't have a lot of experience with gitter, but when I've checked it out, it felt like the conversations were async, which I think is going to be the case here (especially since most of us would just be using it for railsschool). For async communication, github issues work great. For real-time communication, there are the railsschool events themselves, which is probably the best place to sync up if you're creating a new school.
I'm on board with trying out gitter and seeing how are usage is over time.

On Jan 16, 2016, at 2:08 PM, Gabe Kopley<EMAIL_ADDRESS>wrote:
Maybe we should try this first: https://wiredcraft.com/blog/using-slack-as-a-public-chat/
—
Reply to this email directly or view it on GitHub.

For the time being, I have set up http://slackin.railsschool.org/ . I just need an API key from @btaitelb or @acadet that grants invites. You can get this API key https://api.slack.com/web and either slack it to me or replace my API key with it in /etc/init/slackin-railsschool.conf on runcible.


Colorize gem updates

closes https://github.com/bundler/bundler/issues/4334

There's this nice bit of code that already exists to colorize text: https://github.com/bundler/bundler/blob/master/lib/bundler/ui/shell.rb. Shouldn't we reuse that here?
The Bundler output is also theoretically supposed to be computer-parseable, which is why color can be disabled. So if this doesn't follow the same pattern, it might be considered a breaking change.

@seanlinsley i don't think i can use those shell methods for this specific task or maybe i could but will be uglier, i may create a helper in the shell ui to follow the pattern, something like:
 #.../ui/shell.rb
def add_color(str, color)
  @shell.set_color(str, color)
end

     #lib/bundler/source.rb

     def version_message(spec)
      message = "#{spec.name} #{spec.version}"

      if Bundler.locked_gems
        locked_spec = Bundler.locked_gems.specs.find {|s| s.name == spec.name }
        locked_spec_version = locked_spec.version if locked_spec
        if locked_spec_version && spec.version != locked_spec_version
          message += " (#{Bundler.ui.add_color("was #{locked_spec_version}", :green)})"
        end
      end

      message
    end

will update in a bit thanks!
@indirect @segiddins thoughts? :grin:

@bronzdoc yeah that seems good

👍🏻

@homu r+

:pushpin: Commit d5eeff6 has been approved by segiddins

:hourglass: Testing commit d5eeff6 with merge 91b5ba6...

:sunny: Test successful - status


Refactor ModuleFile::loadAllMembers into shorter functions for readab…

…ility.

ModuleFile::loadAllMembers included a 50-line for-loop body, almost all of which was error handling.
This PR pulls that out in to a few, separate smaller functions, intended to help readability.

@swift-ci Please smoke test

@swift-ci Please smoke test


Development: Add rules for PR names

Checklist
General

[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.

Motivation, Context and Description
In order to keep the PR titles unified guidelines were proposed in slack. This PR manifests those in the documentation by appending them to the already existing PR workflow page.
View the changed documentation using the link from the GitHub actions.
Review Progress
Code Review

[ ] Review 1
[ ] Review 2

@b-fein thanks for going through it all!


Update CI to test Node16

Update the CI builds to run Node 16 by default, update documentation references to Node 14 to Node 16, and update the @types/node version to Node 16 version.

@Mergifyio update

@aruniverse the problem ended up being with the pretest script because nyc was launching the whole npm run test as a separate process which caused the pretest copy with cpx was the part that failed. I assume because it wasn't getting the correct working directory that it needed, but I didn't confirm that suspicion.
FYI @MichaelBelousov I did change this around a bit. The copy test assets is already done during the build test and not in the test step anymore. If you don't want to do that let me know but we'll need to figure out a workaround to the issue I called out above.


array variable count errantly marked with "Simple use of array variable"

Problem
BashSupport incorrectly flags a warning in the following valid script
#!/usr/bin/env bash
declare -a ar=()
echo ${#ar[@]}

The variable ar from echo ${#ar[@]} has warning Simple use of array variable.  If the line is changed to quoted form, echo "${#ar[@]}", then the warning goes away.
Solution
${#ar[@]} is a parameter expansion that will expand to a single token integer.
While it would be understandable to mark echo ${ar[@]} with the same warning, because of an unexpected parameter expansion into multiple arguments, the count argument form, echo ${#ar[@]}, should not be marked as such.
Using pycharm 4.5.3 and bashsupport plugin 1.4.0_build181.

+1, example:
for ((j=0; j < ${#JOBS[@]}; j++)) do

@jtmoon79 @lwille
Thanks! I've fixed this for the next update and added testcases to check that ${ar[@]} triggers a warning, and that ${#ar[@]} does not trigger a warning.


[BUG]  Adapt to discord v13

Describe the bug
This bot currently uses discord.js v 12.5.3. adapt to the latest v13.0 . this will introduce certain features and code-breaking changes
To Reproduce
No response
Expected Behavior
No response
Screenshot/ Video
No response
Desktop (please complete the following information)
No response
Additional context
No response

closing this issue as it was resolved by previous pulls


jasper installing libraries error

Good day everyone, may i know what does this means?
pi@raspberrypi:~ $ sudo pip install --upgrade setuptools
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 290, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1097, in prepare_files
req_to_install, self.upgrade)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 194, in find_requirement
page = self.get_page(main_index_url, req)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in get_page
session=self.session,
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 694, in get_page
req, link, "connection error: %s" % exc, url,
TypeError: __str returned non-string (type Error)
Storing debug log for failure in /root/.pip/pip.log
pi@raspberrypi:~ $ sudo pip install -r jasper/client/requirements.txt
Downloading/unpacking APScheduler==3.0.1 (from -r jasper/client/requirements.txt (line 2))
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 290, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1178, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 194, in find_requirement
page = self.get_page(main_index_url, req)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in get_page
session=self.session,
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 694, in get_page
req, link, "connection error: %s" % exc, url,
TypeError: __str returned non-string (type Error)
Storing debug log for failure in /root/.pip/pip.log

Both the pip errors are throwing the same error.
 req, link, "connection error: %s" % exc, url,
If I was getting this error, I would try something like ping  www.google.com to confirm two things.

DNS is working
That the pi can get to the internet

HTH
Chrobi

Thanks @chrobione for the advises. ;)


lua-5.4 docs are all one giant document

I Installed lua-5.4 docs and while the search terms populate correctly, selecting a term just sends you to the top of the 4k-line document.
It also renders the entire document in the preview field as you type which can be a little laggy.
I'm on the latest (at time of writing):
https://github.com/luckasRanarison/nvim-devdocs/assets/8633/ea838a7d-9454-4820-998e-067df5c7d10e
LMK if I can provide more details. I love this plugin.

Thanks for giving my plugin a try :). It is actually a known issue #1,  I'm still making experiments vim.fn.search(), please keep waiting a little bit, I'll try to fix this asap.

I'm also thinking about using asynchronous functions to avoid blocking.

Thanks, and sorry for missing the existing issue.

It's fine. Concerning the lua docs and all the documentations in general I think it would be hard to always move directly to the section being searched. Here is a sample of the entries for the lua docs:

The path refers to the HTML class and id in the original HTML documentation but these are omitted when converting the HTML to markdown. The best we can do is to get the first part of the path which refers to the actual documentation entry. In the case of the lua docs, there's only one entry: index.

We can still use vim.fn.search() but it won't get it right every time.

Update: It's actually possible! And I'll track this issue with #17

Awesome, thanks!

With #21, jumping works for normal files now. But for the moment it doesn't work in the picker previewer and when rendering with custom cmd.

Would it be possible to split the single file doc sources into multiple files during transpilation based on the headers, or whatever you're using to populate telescope entries?
Jumping works great now but it still takes a long time to render via glow and the telescope previewer needs to rerender when changing entries even though the content doesn't change.
Thanks for making this by the way!

That's what I'm going to do, thanks for your interest in the project.

Closing this as completed see #42


[Event Request] Page 1132 - Cost Bdgt. per Center Matrix - OnAfterMATRIX_OnAfterGetRecord

Dear ALAppExtensions team,
through this issue we would like to request adding event publisher OnAfterMATRIX_OnAfterGetRecord in Page 1132 Cost Bdgt. per Center Matrix with the following signature:
[IntegrationEvent(false, false)]
local procedure OnAfterMATRIX_OnAfterGetRecord(var CostType: Record "Cost Type"; var MATRIX_CellData: array[12] of Decimal; ColumnID: Integer; RoundingFactor: Enum "Analysis Rounding Factor")
begin
end;

which would be called as follows in MATRIX_OnAfterGetRecord:
local procedure MATRIX_OnAfterGetRecord(ColumnID: Integer)
begin
    SetFilters(ColumnID);
    CalcFields("Budget Amount");
    MATRIX_CellData[ColumnID] := MatrixMgt.RoundAmount("Budget Amount", RoundingFactor);
    // >>>> New >>>>>>>>>>>>>>>>
    OnAfterMATRIX_OnAfterGetRecord(Rec, MATRIX_CellData, ColumnID, RoundingFactor);
    // <<<< New <<<<<<<<<<<<<<<<
end;

Thanks in advance!

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 48068.


Polling improvements: switch to faster host, accept error responses

Faster host
We use ipv4.icanhazip.com currently because that's the standard for other JS polling libraries. But we can probably get much faster. Here are some quick tests:
--- ipv4.icanhazip.com ping statistics ---
round-trip min/avg/max/stddev = 154.028/159.056/188.548/11.154 ms
159 ms average

--- google.com ping statistics ---
round-trip min/avg/max/stddev = 23.071/24.103/26.079/0.830 ms
24 ms average

--- twitter.com ping statistics ---
round-trip min/avg/max/stddev = 51.824/52.745/53.685/0.731 ms
52 ms average

--- akamai.com ping statistics ---
round-trip min/avg/max/stddev = 39.591/40.428/41.625/0.620 ms
40 ms average

Can anyone think of a host to try that might beat google?
Accept error responses
#20 introduced a subtle change that we should look into more: looking at response status. We should accept (i.e. count as "online") any response, as long as it comes from the server. a 404 and a 500 both mean that we contacted the server, and are just as good as a 200.

Hey, it seems the library has an issue in windows. It shows this url http://ipv4.icanhazip.com/  can't be accessed.

@Francomgarcia see https://github.com/chrisbolin/react-detect-offline/issues/41

nice, I'd extend it with customisable url so if I have i.e. api/status endpoint then I could use it

You’re in luck! Check out the polling.url prop
On Fri, Jun 21, 2019 at 5:08 AM Krzysztof Węgliński <
<EMAIL_ADDRESS>wrote:

nice, I'd extend it with customisable url so if I have i.e. api/status
endpoint then I could use it
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/chrisbolin/react-detect-offline/issues/37?email_source=notifications&email_token=AAVQ7IADJGWGGIJNSJMJX3DP3SZD5A5CNFSM4HCQRXIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYIFSJI#issuecomment-504387877,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVQ7IBWVSTSREHKS76O6SDP3SZD5ANCNFSM4HCQRXIA
.


Check-in mesos.proto file.

This ensures that protoc-calls are reproducible. Otherwise, different
developers might use different mesos.proto versions.

:+1:


Ability to override webpack config from backstage app

Expected Behavior
I would like to be able to override/extend the webpack config with extra plugins.
this way I can customize my build, and support older browsers if needed.
Current Behavior
there is no way to customize the webpack plugins.
Possible Solution
allow for a webpack.config.js file to be included in the root of a backstage app.
Steps to Reproduce

visit backstage on chrome 79

Context
due to personal reasons my backstage app must run on chrome 79.
chrome 79 does not support optional chaining, but I can't configure webpack to add the appropriate babel plugins to compile optional chaining in backwards compatible way.
plugin desired @babel/plugin-proposal-optional-chaining
Your Environment

NodeJS Version (v14): 14
Operating System and Version (e.g. Ubuntu 14.04): windows
Browser Information: chrome 79

how can i create the webpack.config.js to be able to debug the fronend ?


DataFrame object returned by dask_bigquery.read_gbq isn't an instance of dask.dataframe.DataFrame

The object returned by dask_biguery.read_gbq isn't an instance of dask.dataframe.DataFrame:
In [17]: import dask

In [18]: import dask_bigquery

In [19]: ddf = dask_bigquery.read_gbq(project_id, dataset_id, table_id)

In [20]: isinstance(ddf, dask.dataframe.DataFrame)
Out[20]: False

This is an issue for code that relies on isinstance to be able to differentiate between Pandas and Dask dataframes - for example dask_sql will fail to create a table from such a dataframe because it tries to process it as a Pandas dataframe due to dask_sql.input_utils.dask.DaskInputPlugin.is_correct_input producing a false negative and dask_sql.input_utils.pandaslike.PandasLikeInputPlugin.is_correct_input producing a false positive:
In [23]: import dask_sql

In [24]: context = dask_sql.Context()

In [25]: context.create_table("data", ddf)

TypeError: Trying to convert dd.Scalar<monoton..., dtype=bool> to a boolean value. Because Dask objects are lazily evaluated, they cannot be converted to a boolean value or used in boolean conditions like if statements. Try calling .compute() to force computation prior to converting to a boolean value or using in a conditional statement.

Recreating it by converting to delayed and back into a dataframe seems to fix that:
In [21]: recreated_ddf = dask.dataframe.from_delayed(ddf.to_delayed())

In [22]: isinstance(recreated_ddf, dask.dataframe.DataFrame)
Out[22]: True

And allows for dask_sql to create a table from it properly:
In [26]: context.create_table("data", recreated_ddf)

In [27]:

Could you try this with main? I am reasonable certain that we merged a PR last week that should address this

@phofl Yup, works correctly with main.

I'll close this one then, we will release later this week


feat: Allow to reference a local yaml settings file

Fixes #
Description
Allow a reference to a local settings file for Karpenter global settings with --settings-file. Settings file should be a yaml file formatted like
batchMaxDuration: 10s
batchIdleDuration: 1s
aws:
  clusterName: karpenter-cluster
  clusterEndpoint: https://....gr7.us-west-2.eks.amazonaws.com
  defaultInstanceProfile: KarpenterNodeInstanceProfile-karpenter-cluster

How was this change tested?
make run
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

33 of 61 (54.1%)  changed or added relevant lines in 7 files are covered.
17 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.3%) to 73.879%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/operator/options/options.go
0
1
0.0%

pkg/operator/settingsstore/settingsstore.go
12
13
92.31%

pkg/operator/settingsstore/fake/settings.go
0
3
0.0%

pkg/apis/config/settings/settings.go
8
12
66.67%

pkg/apis/config/constructor.go
9
15
60.0%

pkg/operator/operator.go
0
6
0.0%

pkg/apis/config/registration.go
4
11
36.36%

Files with Coverage Reduction
New Missed Lines
%

pkg/apis/config/registration.go
1
41.18%

pkg/test/environment.go
6
73.91%

pkg/controllers/provisioning/scheduling/topology.go
10
84.71%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
4859

Relevant Lines:
6577

💛  - Coveralls


past crawl logs missing some wasGeneratedBy lines

For crawls up to and including 2019-01-07, about 2/3 of URL queries do not have an accompanying wasGeneratedBy.
For example, URLs from portal.torcherbaria.org in the 2019-01-07 crawl log (hash://sha256/a7a5e7c6a4b21bdf67f48d6bea85f438b8133f674027b04625dfadec3ff985f6):
...
<http://portal.torcherbaria.org/portal/content/dwca/TAC_DwC-A.zip> <http://purl.org/dc/elements/1.1/format> "application/dwca" .
<http://portal.torcherbaria.org/portal/content/dwca/TAC_DwC-A.zip> <http://purl.org/pav/hasVersion> <hash://sha256/e961b979c14f4275918c7e9280b899d3a141b9129edbabe6d243f1aa6f96d524> .
<hash://sha256/72a78747b822a861abd4bb4e1af1e250a2521c6f070c60308eb0a9d18fafdf00> <http://www.w3.org/ns/prov#generatedAtTime> "2018-08-31T18:38:43.091Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<hash://sha256/72a78747b822a861abd4bb4e1af1e250a2521c6f070c60308eb0a9d18fafdf00> <http://www.w3.org/ns/prov#hadMember> <6ade07ee-25bf-49c8-ae19-f7c225f70422> .
...

Crawl logs up to 2019-01-07 have fewer wasGeneratedBy than  hasVersion statements:
$ preston get hash://sha256/a7a5e7c6a4b21bdf67f48d6bea85f438b8133f674027b04625dfadec3ff985f6 | grep "wasGeneratedBy" | wc -l
30602
$ preston get hash://sha256/a7a5e7c6a4b21bdf67f48d6bea85f438b8133f674027b04625dfadec3ff985f6 | grep "hasVersion" | wc -l
101155

while all crawl logs afterward (2019-02-04 and later) have equal numbers:
$ preston get hash://sha256/af0bb2c89571a30815d4488e72dede84a2ffc102bb87961f06884509fd5d1dae | grep "wasGeneratedBy" | wc -l
56924
$ preston get hash://sha256/af0bb2c89571a30815d4488e72dede84a2ffc102bb87961f06884509fd5d1dae | grep "hasVersion" | wc -l
56924

Maybe we can retroactively generate the missing wasGeneratedBy statements (or, even better, qualifiedGenerations) and add them to the Preston log using preston reprocess?

From what I can tell, all versions generated after 2019-01-06 in 2019-01-07 crawl log hash://sha256/a7a5e7c6a4b21bdf67f48d6bea85f438b8133f674027b04625dfadec3ff985f6 have wasGeneratedBy statements.
I ran sparql query:
SELECT ?count {
{
  SELECT (COUNT(*) as ?count)
  WHERE {
    ?s <http://www.w3.org/ns/prov#generatedAtTime> ?date .
    FILTER NOT EXISTS { ?s <http://www.w3.org/ns/prov#wasGeneratedBy> ?crawl . }
    FILTER (?date > "2019-01-06T10:20:13Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>)
}
}

UNION
{
SELECT (COUNT(*) as ?count)
WHERE {
  ?s <http://www.w3.org/ns/prov#generatedAtTime> ?date .
  FILTER EXISTS { ?s <http://www.w3.org/ns/prov#wasGeneratedBy> ?crawl . }
  FILTER (?date > "2019-01-06T10:20:13Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>)
}
}
}

and found:
----------------------------------------------------------
| count | desc                                           |
==========================================================
| 0     | "generations without wasGeneratedBy statement" |
| 30602 | "generations with wasGeneratedBy statement"    |
----------------------------------------------------------

Given the that all the previous version of known URLs were captured prior to 2019-02 and that only generations (aka downloads) in the current crawl will have a wasGeneratedBy statement, I would expect the number of wasGeneratedBy statement to be lower than the version (i.e. previousVersion / hasVersion) statements.
@mielliott Please confirm that this is not a bug, but expected behavior.

btw - I used https://jena.apache.org tools tdbload tdbquery,  sparql to run these queries from the command line. The tdb* tools are using an indexed logs (so, first index, then query), whereas the sparql commandline tools allows for running a query on a nquad file (e.g., ./sparql --data=.../somelog.nq --query=noWasGenerated.sparql).

@jhpoelen I agree. Closing.


PR: Disable fallback entries on automatic completions

Description of Changes
This PR disables fallback completions if they are not requested explicitly, i.e., Via Ctrl+Return or Tab. However, they are kept if they are the only completion available.

[x] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[x] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #10540
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:
@andfoy

@goanpeca, pinging you again for a manual review here. Thanks!

Oops I forgot!

@goanpeca, please review @andfoy's work and test it locally to see if it's working as expected.

Yep working as expected :-) !


Property paths

Hi, I'd like to ask the following:
I have this database
 @prefix o: <http://ontology.com/> .

 o:Game o:hasName o:Name .
 o:Name o:hasValue "Yu-Gi-Oh!" .

I want to query
{
  Game {
    name
  }
}

to get
...
"data": {
  "Game_GET": [
    {
      "name": "Yu-Gi-Oh!"
    }
  ]
}
...

But now, the schema I have is:
type __Context {
  Game:     _@href(iri: "http://ontology.com/Game")
  Name:     _@href(iri: "http://ontology.com/Name")
  hasName:  _@href(iri: "http://ontology.com/hasName")
  hasValue: _@href(iri: "http://ontology.com/hasValue")
}

type Game @service(id: "ontology") {
  hasName: Name @service(id: "ontology")
}

type Name @service(id: "ontology") {
  hasValue: String @service(id: "ontology")
}

I would have to query
{
  Game {
    hasName {
      hasValue
    }
  }
}

to get
...
"data": {
  "Game_GET": [
    {
      "hasName": {
        "hasValue": "Yu-Gi-Oh!"
      }
    }
  ]
}
...

My question is, how to define the schema.graphql so that it make the first GraphQL query possible? Meaning how to chain "hasName"and "hasValue" so it would be reduced to only "name".
I tried
type __Context {
  Game:     _@href(iri: "http://ontology.com/Game")
  name:     _@href(iri: "http://ontology.com/hasName" / "http://ontology.com/hasValue")
}
type Game @service(id: "ontology") {
  name: String @service(id: "ontology")
}

but no luck.
Thanks for your help

Hi,
A couple of things (all the RDF is in Turtle (TTL) notation):

The database you have doesn't really look right for what you're trying to do:

@prefix o: <http://ontology.com/> .

o:game1 a o:Game ;
    o:hasName o:name1 .

o:name1 a o:Name ;
    o:hasValue "Yu-Gi-Oh!" .

This would probably be better; it deals with specific instances of Name and Game, and would allow you to extend this further, e.g.:
o:game2 a o:Game ;
      o:hasName o:name2.
o:name2 a o:Name ;
     o:hasValue "Chess" .

You pretty much specified things at a Class rather than an Instance level in your file, I would expect to see this sort of thing as part of an ontology (this one mixes OWL and RDFS):
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix o: <http://ontology/> .

o:Game rdf:type owl:Class .

o:Name rdf:type owl:Class .

o:hasName rdf:type owl:ObjectProperty ;
	rdfs:domain o:Game ;
	rdfs:range o:Name .

o:hasValue rdf:type owl:DatatypeProperty ;
	rdfs:domain o:Name ;
	rdfs:range xsd:string .

This states that:
o:Game is an owl:Class
o:Name is a owl:Class
o:hasName is an owl:ObjectProperty i.e. it refers to another class
o:hasName is a property of o:Game
o:hasName has a target of o:Name
o:hasValue is an owl:DatatypeProperty i.e. it refers to a literal value
o:hasValue is a property of o:Name
o:hasValue has a target of type string
You don't need to define an ontology like this to run your code, this is just an example that could be inferred from it.

The mapping .graphql file should probably look like this:

type __Context {
  Game:     _@href(iri: "http://ontology.com/Game")
  Name:     _@href(iri: "http://ontology.com/Name")
  name:     _@href(iri: "http://ontology.com/hasName")
  value:    _@href(iri: "http://ontology.com/hasValue")
}

type Game @service(id: "ont-local") {
  name: Name @service(id: "ont-local")
}

type Name @service(id: "ont-local") {
  value: String @service(id: "ont-local")
}

This would allow you to specify different "shorthand" property names, although there's not currently any support for property paths like you suggested for o:hasName / o:hasValue - it's something we should add to our list of TODO items.

I think your query should look something like:

{
  Game_GET {
    name {
      value
    }
  }
}

This will give you:
{
  "extensions": {},
  "data": {
    "@context": {
      "_type": "@type",
      "name": "http://ontology.com/hasName",
      "Game_GET": "http://hypergraphql.org/query/Game_GET",
      "_id": "@id",
      "value": "http://ontology.com/hasValue"
    },
    "Game_GET": [
      {
        "name": {
          "value": "Yu-Gi-Oh!"
        }
      }
    ]
  },
  "errors": []
}

Which is close to, but maybe not quite exactly, what you were looking for.
I'm hoping to get chance to spend more time on HyperGraphQL in the coming months, and there's certainly a lot of work to be done.
I'm quite interested in the idea of a complete rewrite of the engine into Scala or Kotlin.
Many thanks for your interest, and I hope I've been able to help a little.

@pc3356 For the sake of simplifying my question, I intentionally made the example source data like that. In my real database, the data are nested even more than that, so I thought property paths could help flatten the structure of the query output.
Thanks for the extensive answer, it proves to me that you and I are on the same page. I needed to know if this property paths feature was in dev. Now that I'm certain, I too might take a look and come up with a PR myself. I hope everybody can see property paths coming soon.


Note release time increases incrementally when wrapped in PolySynth

I very new to dev so if someone answers this can they please bear that in mind.  I've been experimenting with toneJs API with mostly great success.  with tone.synth I've been using triggerAttackRelease(key-to-notes object).  When trying to wrap each synth in a PolySynth, the duration (so I suppose release) gets longer on each keypress.  here are a couple snippets of code to show you what I mean:
var synthOne = new Tone.PolySynth(Tone.Synth, {
oscillator: {
type: "sine",
detune: 0,
volume: 0,
},
envelope: {
attack: 0,
decay: 100,
sustain: 1,
release: 0.001,
},
})
.connect(dist)
.connect(eq)
.connect(merge, 0, 0)
.connect(filter);
////////////////////////

@dmquinn did you resolve your issue? maybe you could post the solution so anyone else coming across this issue can find it

Hi tambien, thanks for your response.  I haven't resolved the issue but the reason I closed it was I became dubious about calling it a 'bug' (as I'm I believe it is more likely there's just logic I haven't fully grasped) and didn't want to spam the page with irrelevant stuff.  If you think this is worth addressing on the issues page I can reopen it?  Let me know what you think.  Thanks!

Hey there. I have resolved the issue (somewhat).  As I said before, I'm not very experienced in development so fair warning, my explanation maybe won't seem all that concrete.
It seems like the means of accessing key values is different when dealing with polySynth than with regular (mono)Synths, i.e. when using eventListeners to alter values like volume and oscillator type in the oscillator object, or ADSR values in the envelope object.
Before, I was accessing these values as follows: synthOne.envelope.release = oscOneRelease; - where oscOneRelease corresponds to a range slider.  But getting rid of the ".envelope" seems to have fixed the issue of note release value increasing. So now it reads: synthOne.envelope.release = oscOneRelease;
How or why this works I'm not sure but if anyone is having a similar issue, at least there's one place to look.


DO NOT MERGE

Signed-off-by: Yoni Bettan<EMAIL_ADDRESS>

UT passed.

Codecov Report

Merging #39 (5d87b5d) into main (6d700b4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #39   +/-   ##
=======================================
  Coverage   46.78%   46.78%
=======================================
  Files          17       17
  Lines         823      823
=======================================
  Hits          385      385
  Misses        399      399
  Partials       39       39

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Combine the install generator and app generator

Let's do the basics in one fell swoop. The important thing here being not forcing into anything. Leaving other gems out of this, and keeping our utility classes behind the curtain.
So, install will:

Add the config file
(We're ditching the settings file, but will provide a simpler way to get at Rails' secrets.)
Add the skip generators option, unless told not to

After looking through this, there wasn't much that would help generically. So I killed the app generator and will rewrite the useful pieces in more appropriate settings (we have issues already for those). The only thing I kept was an option to tell the install generator to add that config block that skips Rails generating all the helper files when using a rails generator.
Additionally, I'm thinking that the options we have ATM in the Cambium configuration are going to quickly become obsolete. I want to keep the config around for a bit though, because I think we'll find some benefit from it before v2.0 is ready.


Test function arguments are missing type information

Describe the bug
Test functions are missing their type information when using @chromaui/test-archiver
To Reproduce
Steps to reproduce the behavior:

import @chromaui/test-archiver

Screenshots
Missing Type Info
When using @chromaui/test-archiver, the test loses type information for page.

Expected Behavior
When using @playwright/test the test function understands the correct type for page.

Workaround
The only workaround I've come up with is to import the type annotation myself.
import { test } from '@chromaui/test-archiver'
import { PlaywrightTestArgs } from '@playwright/test/types/test'
test('e2e', async ({ page }: PlaywrightTestArgs) => {
  await page.goto('http://localhost:3000')
})

@sourcec0de Thanks for reporting! We'll take a look this week.

@sourcec0de We are looking into this and have a resolution that will go out soon. We will keep you updated.

@sourcec0de we've added typing for the test import, you can check it out by upgrading this package to 0.0.26. Have a great weekend!


Nami wallet balance not displaying correct amount

I sent an amount of ada to a nami wallet. On the cexplorer it shows the transaction went through but the nami wallet balance has not changed to reflect the correct balance.

Fixed the issue. I went to settings >> general settings and then clicked Refresh Balance!

I sent an amount of ada to a nami wallet. On the cexplorer it shows the transaction went through but the nami wallet balance has not changed to reflect the correct balance.

Has your issue been escalated by a support member already?


⚠ Spryr has degraded performance

In 3239b3a, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3970 ms

Resolved: Spryr performance has improved in 02d3003 after 7 minutes.


wasmtime: remove unneeded dependencies

Description of changes
wasmtime: remove unneeded dependencies
Also, add ereslibre as a maintainer
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I built this on all the appointed platforms, and made sure that providing RUSTY_V8_ARCHIVE is no longer necessary.
I am happy being active maintaining wasmtime for the time being, so if that's good I added myself as a maintainer as well.


About link points to old org

Current Behavior
The link in the "About" section of the repo page still points to the doc site for the old org.

Expected Behavior
The link should be pointing to https://buildsec.github.io/ssf

Fixed


Something error with local stub introduction

Local Stub introduction has some error as following
package com.foo;
public class BarServiceStub implements BarService {
    private final BarService barService;

    // The real remote proxy object is passed in through the constructor
    public (BarService barService) {
        this.barService = barService;
    }

    public String sayHello(String name) {
        // The following code is executed on the client. You can do local ThreadLocal caching on the client side, or verify parameters, etc.
        try {
            return barService.sayHello(name);
        } catch (Exception e) {
            // You can return the mock data.
            return "MockData";
        }
    }
}

the constructor's signature should be
public BarServiceStub(BarService barService)

and

<dubbo:service interface="com.foo.BarService" stub="true" />
<dubbo:service interface="com.foo.BarService" stub="com.foo.BarServiceStub" />

dubbo:service should be dubbo:reference

Local Stub introduction has some error as following
package com.foo;
public class BarServiceStub implements BarService {
    private final BarService barService;

    // The real remote proxy object is passed in through the constructor
    public (BarService barService) {
        this.barService = barService;
    }

    public String sayHello(String name) {
        // The following code is executed on the client. You can do local ThreadLocal caching on the client side, or verify parameters, etc.
        try {
            return barService.sayHello(name);
        } catch (Exception e) {
            // You can return the mock data.
            return "MockData";
        }
    }
}

the constructor's signature should be
public BarServiceStub(BarService barService)

and

<dubbo:service interface="com.foo.BarService" stub="true" />
<dubbo:service interface="com.foo.BarService" stub="com.foo.BarServiceStub" />

dubbo:service should be dubbo:reference

Modify the following:
package com.foo;
public class BarServiceStub implements BarService {
    private final BarService barService;

    // The real remote proxy object is passed in through the constructor
    public BarServiceStub(BarService barService){
        this.barService = barService;
    }

    public String sayHello(String name) {
        // The following code is executed on the client. You can do local ThreadLocal caching on the client side, or verify parameters, etc.
        try {
            return barService.sayHello(name);
        } catch (Exception e) {
            // You can return the mock data.
            return "MockData";
        }
    }
}

right?

@caojiele and the dubbo:service should be dubbo:reference

@caojiele yes


Fix column width recalculation

What kind of change does this PR introduce? (check one with "x")

[x ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
Problem: When reducing the size of the browser window, the rightmost column(s) are sometime not visible. Resizing the window larger and smaller causes the columns to be recalculated. The user may have to repeat this several times until the columns are correct.
Probably cause: When calculating the column widths, it is always based on the total width of all columns:
additionWidthPerColumn = remainingWidth / columnsToResize.length;
Columns with minWidth or maxWidth are set to their defined value:
column.width = column.minWidth;
column.width = column.maxWidth;
Only columns without minWidth or maxWidth are recalculated:
newSize = (column.width || defaultColWidth) + additionWidthPerColumn;
…
column.width = newSize;
What is the new behavior?
To fix this, the total width to be portioned out should only be used for columns can be resized (i.e. have a recalculated newSize).
Does this PR introduce a breaking change? (check one with "x")

[ ] Yes
[x ] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

This pr doesn't fix blank issue after resize


Upgrade to govuk design system formbuilder v2.0.0

Context
Upgrades from the author @peteryates for his govuk_design_system_formbuilder.
Supersedes #2991

Just noticed that my branch references the final beta and not the full 2.0.0 release 🤦🏽♂

Closing to re-raise as I had to rebase


"fa_build" appears to be not thread-safe

Given the same input models (with parameter "-s" and "-t"), the executable "fa_build" produces the files "forward.fam" and "backward.fam" that change every time the command is invocated.
The only way to make "fa_build" generate the same ".fam" files is to set the optional parameter '-n' to  1, i.e. set the number of thread to 1 (== no multi-threading).
Any other setting (li.e. leaving number of thread not specified or setting -n to a number > 1) appears to produce different ".fam" files.
Since in the training pipeline "fa_build" is used with the -n parameter unspecified, this implies that  the models generates by two invocations of "mmt create" on the same data differ.
This issue has been verified on both v0.13 and v0.14-alpha releases.

Hi @cattoni !
Can you and @nicolabertoldi work on this? It's low priority because this bug does not lower the quality significantly.
Davide

fastalign is actually thread-safe, in the sense it produces always and exactly the same alignments, although the binary models estimated during training differ.
No further investigation was done to understand why the binary models differ, because this difference does not impact on the performance.


Optimize HTTPHdr conversion of HTTP/2 to HTTP/1.1

Avoid memcpy & parse for setting URL
Avoid unnecessary MIMEField search by calling field_delete(const char *name, int name_length)

[approve ci autest]

Running Test http2:......F. Failed

I'll dig this failure.

The failure comes from treating the path. url_print() add /, so / needs to be removed.
Prior to this PR, url_parse() removed it.
DEBUG: <URL.cc:1607 (url_describe)> (http)     PATH: "huge_resp_hdrs", PATH_LEN: 14,

vs
DEBUG: <URL.cc:1607 (url_describe)> (http)     PATH: "/huge_resp_hdrs", PATH_LEN: 15,


Replace types string with str.

Based on this comment: https://github.com/GoogleCloudPlatform/google-cloud-python/pull/2485#discussion_r83267163
For rtypes, used the command:
ag -l 'rtype: string' | xargs sed -i .bak 's/rtype: string/rtype: str/g'

For types, used the command:
ag -l 'type ([^:]+): string' | \
    xargs gsed -r -i.bak -e 's/type ([^:]+): string/type \1: str/g'

Note: -r for gsed (GNU sed) is needed for group matching.

😆

Thanks. For reviewing. I just added some commits for boolean -> bool, too, based on https://github.com/GoogleCloudPlatform/google-cloud-python/pull/2485#discussion_r83269516

Thanks. For reviewing. I just added some commits for boolean -> bool, too

GAH! Next time, please "heads up new code" first, then push to the PR. (Since review already finished.) Preference: send two PRs.

@tswast bool stuff looks good too. Ping me (or @jonparrott) when Travis is green?

Works for me. (Two PRs next time and pinging for Travis)


Gh 271

Update DNS Policy to have health check spec, as follows:
healthCheck:
    expectedResponses:
    - 200
    - 201
    additionalHeaders:
    - name: header
      value: content
    endpoint: /healthz
    failureThreshold: 5
    port: 443
    protocol: https

These values are used in connection with a gateway and it's relevant DNS Records to create Health Check CRs.
The health check CRs are read by the health check controller and queuers are created for each of these which will queue a probe check of the endpoint every 60 seconds.
This probe check will update the status of the health check CR with the result of the probe.
Verification
Create a cluster and follow the walkthrough as far as deploying a workload to the spoke cluster.
Edit the DNS Policy:
kubectl edit dnspolicy prod-web -n multi-cluster-gateways

Update the DNS policy spec with the following:
healthCheck:
    additionalHeaders:
    - name: additional
      value: headers
    endpoint: /
    failureThreshold: 5
    port: 443
    protocol: https

With no expectedResponses defined, the controller will default to expecting either 200 or 201.
Wait for 60 seconds and see that the status of the health check CR is unhealthy:
kubectl get dnshealthcheckprobes -A
NAMESPACE                NAME               HEALTHY   LAST CHECKED
multi-cluster-gateways   <IP_ADDRESS>-api   false     53s

Edit the DNS Policy and add the following to the health check spec:
    expectedResponses:
    - 104

N.B. 104 is required due to the complications of curling the docker container from within the docker container - hopefully we can discover a better solution to this allowing us to use 200
Wait for the probe to execute (upto 60 seconds) and see the status of the health check is healthy:
kubectl get dnshealthcheckprobes -A
NAMESPACE                NAME               HEALTHY   LAST CHECKED
multi-cluster-gateways   <IP_ADDRESS>-api   true      3s

Now, delete the health check spec of the DNS Policy, then see that  no health check probes exist:
kubectl get dnshealthcheckprobes -A
No resources found

ping @mikenairn

/lgtm
/approve


scrcpy + gnirehtet @ the same time?

Hey,
Sorry maybe this isn't the right place for this,
but how would I use scrcpy and gnirehtet at the same time?
Because I live in China now, gnirehtet is more of a godsend than you might realise,
but I'd really like to be able to use it from my computer screen.

Any help would be greatly appreciated.
Thanks!

and it seems like you can't run two things like this at the same time.

Why not?
Btw, on the scrcpy screenshot in the README, you could see the "key" in the status bar: it's gnirehtet running ;-)

Oh... you're right.
I tried it again today and it's working.
Maybe the first time I already had an instance running or something,
it told me something like, “only one instance at a time allowed.”
No problem then.
Oh another thing I'd like to ask while I'm here.
KDE Connect on both my computer and phone can't see each other,
while I'm sharing a connection through gnirehtet.
Is there any easy way around this?

KDE Connect on both my computer and phone can't see each other,
while I'm sharing a connection through gnirehtet.
Is there any easy way around this?

That's expected, the device and the computer are not on the same network. There is no easy way around this AFAIK.

KDE Connect on both my computer and phone can't see each other,
while I'm sharing a connection through gnirehtet.
Is there any easy way around this?

That's expected, the device and the computer are not on the same network. There is no easy way around this AFAIK.

Hmm... that's disappointing.
It seems kind of silly that KDE Connect can't just recognise that I'm physically plugged in
and handle all the data transfer like that, the same way scrcpy does.
Ah well.  I have my computer's VPN working seamlessly on my phone.  Can't complain.


Add more example pieces

Is your feature request related to a problem? Please describe.
It is not particularly easy to figure out how to implement some specific logic. For example, I want to implement a shape bomb (when swapping with any piece, match all pieces of the same shape), but I'm not sure what the best practice is to use this plugin to achieve this.
Describe the solution you'd like
I hope to add more example pieces to demonstrate some common use cases, such as shape bombs, row bombs and column bombs.
Describe alternatives you've considered
Users to implement this on their own?  I'm sure I could do this with some logic, I'm just not sure if it's the best/logical fit for this repository.
Additional context
This may also be related to #1. In addition, I'm sorry that I raised so many issues. I just think this project is very good, and I hope it can develop better:)

Hi @univeous I was just dropping by to let you know that I have released a new version.
There is more documentation but it is still in process. I have added a demo scene so you can see how you can create a board and even add special pieces.
I hope to improve it over time to make it more enjoyable for the end user because in this refactor I have solved many bugs that existed when the board consumed many pieces in a short space of time.
Now it is much easier to add pieces with 100% customizable behavior.